Clean up trivial default constructors now.
hasTrivialDefaultConstructor() really really means it now. Also implement a fun standards bug regarding aggregates. Doug, if you'd like, I can un-implement that bug if you think it is truly a defect. The bug is that non-special-member constructors are never considered user-provided, so the following is an aggregate: struct foo { foo(int); }; It's kind of bad, but the solution isn't obvious - should struct foo { foo (int) = delete; }; be an aggregate or not? Lastly, add a missing initialization to FunctionDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131101 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/Decl.h 1 addition, 0 deletionsinclude/clang/AST/Decl.h
- include/clang/AST/DeclCXX.h 10 additions, 5 deletionsinclude/clang/AST/DeclCXX.h
- lib/AST/DeclCXX.cpp 39 additions, 18 deletionslib/AST/DeclCXX.cpp
- lib/Sema/SemaDeclCXX.cpp 3 additions, 3 deletionslib/Sema/SemaDeclCXX.cpp
- lib/Sema/SemaLookup.cpp 3 additions, 3 deletionslib/Sema/SemaLookup.cpp
- lib/Serialization/ASTReaderDecl.cpp 1 addition, 0 deletionslib/Serialization/ASTReaderDecl.cpp
- lib/Serialization/ASTWriter.cpp 1 addition, 0 deletionslib/Serialization/ASTWriter.cpp
- test/SemaCXX/aggregate-initialization.cpp 3 additions, 1 deletiontest/SemaCXX/aggregate-initialization.cpp
Loading
Please register or sign in to comment