PR35039: Materialize temporary objects before wrapping them in an
authorRichard Smith <richard-llvm@metafoo.co.uk>
Sat, 28 Oct 2017 18:59:51 +0000 (18:59 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Sat, 28 Oct 2017 18:59:51 +0000 (18:59 +0000)
commit72db8883892de0fdee5d50b46edee0be0ef97c3e
tree6fa3f2a2cb1be28b6723866772fa4bd10d0e9b8e
parentb04917315716baeefddf56ebba200a9dd7cc236c
PR35039: Materialize temporary objects before wrapping them in an
OpaqueValueExpr in a GNU binary conditional expression.

It's not meaningful for a non-materialized temporary object to be used as a
common subexpression of multiple expressions.

llvm-svn: 316836
clang/lib/Sema/SemaExpr.cpp
clang/test/Analysis/temp-obj-dtors-cfg-output.cpp
clang/test/CodeGenCXX/cxx1z-copy-omission.cpp