When value-initializing a class with no user-defined constructors but
with a non-trivial default constructor, zero-initialize the storage and then call the default constructor. Fixes PR5800. llvm-svn: 91548
Showing
- clang/include/clang/AST/ExprCXX.h 13 additions, 4 deletionsclang/include/clang/AST/ExprCXX.h
- clang/lib/AST/ExprCXX.cpp 15 additions, 11 deletionsclang/lib/AST/ExprCXX.cpp
- clang/lib/CodeGen/CGCXX.cpp 2 additions, 1 deletionclang/lib/CodeGen/CGCXX.cpp
- clang/lib/CodeGen/CGExprAgg.cpp 5 additions, 0 deletionsclang/lib/CodeGen/CGExprAgg.cpp
- clang/lib/Frontend/PCHReaderStmt.cpp 1 addition, 0 deletionsclang/lib/Frontend/PCHReaderStmt.cpp
- clang/lib/Frontend/PCHWriterStmt.cpp 1 addition, 0 deletionsclang/lib/Frontend/PCHWriterStmt.cpp
- clang/lib/Sema/Sema.h 4 additions, 2 deletionsclang/lib/Sema/Sema.h
- clang/lib/Sema/SemaDeclCXX.cpp 7 additions, 5 deletionsclang/lib/Sema/SemaDeclCXX.cpp
- clang/lib/Sema/SemaInit.cpp 34 additions, 10 deletionsclang/lib/Sema/SemaInit.cpp
- clang/test/CodeGenCXX/value-init.cpp 25 additions, 0 deletionsclang/test/CodeGenCXX/value-init.cpp
- clang/test/SemaCXX/dcl_init_aggr.cpp 5 additions, 4 deletionsclang/test/SemaCXX/dcl_init_aggr.cpp
Loading
Please register or sign in to comment