]> granicus.if.org Git - clang/commit
Recognize when the named return value optimization applies in a
authorDouglas Gregor <dgregor@apple.com>
Sat, 15 May 2010 00:13:29 +0000 (00:13 +0000)
committerDouglas Gregor <dgregor@apple.com>
Sat, 15 May 2010 00:13:29 +0000 (00:13 +0000)
commit3c9034cb7ff1d6c1e4ecd1b44c98f553df013c7c
tree51a260b4bf4837766cfd3d2f06de837b8ffc08df
parent67d438d39a1cc37c372a2684dc354f58d0169bb1
Recognize when the named return value optimization applies in a
"return" statement and mark the corresponding CXXConstructExpr as
elidable. Teach CodeGen that eliding a temporary is different from
eliding an object construction.

This is just a baby step toward NRVO.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103849 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGExprCXX.cpp
lib/Frontend/PCHReaderStmt.cpp
lib/Frontend/PCHWriterStmt.cpp
lib/Sema/SemaExprCXX.cpp
lib/Sema/SemaInit.cpp
lib/Sema/SemaInit.h
lib/Sema/SemaObjCProperty.cpp
lib/Sema/SemaStmt.cpp