DR616, and part of P0135R1: member access (or pointer-to-member access) on a
temporary produces an xvalue, not a prvalue. Support this by materializing the temporary prior to performing the member access. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288563 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/Expr.h 5 additions, 0 deletionsinclude/clang/AST/Expr.h
- include/clang/Sema/Sema.h 5 additions, 0 deletionsinclude/clang/Sema/Sema.h
- lib/Analysis/ThreadSafety.cpp 1 addition, 1 deletionlib/Analysis/ThreadSafety.cpp
- lib/Analysis/ThreadSafetyCommon.cpp 3 additions, 0 deletionslib/Analysis/ThreadSafetyCommon.cpp
- lib/Sema/SemaExpr.cpp 3 additions, 3 deletionslib/Sema/SemaExpr.cpp
- lib/Sema/SemaExprCXX.cpp 7 additions, 4 deletionslib/Sema/SemaExprCXX.cpp
- lib/Sema/SemaExprMember.cpp 9 additions, 0 deletionslib/Sema/SemaExprMember.cpp
- lib/Sema/SemaInit.cpp 21 additions, 9 deletionslib/Sema/SemaInit.cpp
- test/Analysis/temp-obj-dtors-cfg-output.cpp 3 additions, 3 deletionstest/Analysis/temp-obj-dtors-cfg-output.cpp
- test/CXX/drs/dr4xx.cpp 1 addition, 1 deletiontest/CXX/drs/dr4xx.cpp
- test/CXX/drs/dr6xx.cpp 13 additions, 7 deletionstest/CXX/drs/dr6xx.cpp
- test/CXX/expr/expr.const/p2-0x.cpp 3 additions, 3 deletionstest/CXX/expr/expr.const/p2-0x.cpp
- test/CodeGenCXX/compound-literals.cpp 15 additions, 5 deletionstest/CodeGenCXX/compound-literals.cpp
- test/SemaCXX/constexpr-value-init.cpp 1 addition, 1 deletiontest/SemaCXX/constexpr-value-init.cpp
- test/SemaCXX/expression-traits.cpp 1 addition, 1 deletiontest/SemaCXX/expression-traits.cpp
- test/SemaObjC/assign-rvalue-message.m 3 additions, 2 deletionstest/SemaObjC/assign-rvalue-message.m
- unittests/ASTMatchers/ASTMatchersNodeTest.cpp 1 addition, 1 deletionunittests/ASTMatchers/ASTMatchersNodeTest.cpp
- www/cxx_dr_status.html 4 additions, 4 deletionswww/cxx_dr_status.html
Loading
Please register or sign in to comment