]> granicus.if.org Git - clang/commit
DR616, and part of P0135R1: member access (or pointer-to-member access) on a
authorRichard Smith <richard-llvm@metafoo.co.uk>
Sat, 3 Dec 2016 01:14:32 +0000 (01:14 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Sat, 3 Dec 2016 01:14:32 +0000 (01:14 +0000)
commitea344c8140e731b361ec0e2b264c1f486b383025
tree0a788ea9cce74e9fea8d948c9104873b3ee6d9bc
parent431cab408b396f55b773d8896951c9f718558403
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
18 files changed:
include/clang/AST/Expr.h
include/clang/Sema/Sema.h
lib/Analysis/ThreadSafety.cpp
lib/Analysis/ThreadSafetyCommon.cpp
lib/Sema/SemaExpr.cpp
lib/Sema/SemaExprCXX.cpp
lib/Sema/SemaExprMember.cpp
lib/Sema/SemaInit.cpp
test/Analysis/temp-obj-dtors-cfg-output.cpp
test/CXX/drs/dr4xx.cpp
test/CXX/drs/dr6xx.cpp
test/CXX/expr/expr.const/p2-0x.cpp
test/CodeGenCXX/compound-literals.cpp
test/SemaCXX/constexpr-value-init.cpp
test/SemaCXX/expression-traits.cpp
test/SemaObjC/assign-rvalue-message.m
unittests/ASTMatchers/ASTMatchersNodeTest.cpp
www/cxx_dr_status.html