summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplate.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-04-18 07:40:54 +0000
committerDouglas Gregor <dgregor@apple.com>2010-04-18 07:40:54 +0000
commitc9cd64eee393798c413ba20392c09c78c2a90ad5 (patch)
treec891b19abaef4bfd903053d9fe815cb88932455d /clang/lib/Sema/SemaTemplate.cpp
parent554a39889b6d80e109dc33d1e4b7cb12e7caee4b (diff)
downloadbcm5719-llvm-c9cd64eee393798c413ba20392c09c78c2a90ad5.tar.gz
bcm5719-llvm-c9cd64eee393798c413ba20392c09c78c2a90ad5.zip
In C++98/03, when binding a reference to an rvalue of
reference-compatible type, the implementation is permitted to make a copy of the rvalue (or many such copies, even). However, even though we don't make that copy, we are required to check for the presence of a suitable copy constructor. With this change, we do. Note that in C++0x we are not allowed to make these copies, so we test both dialects separately. Also note the FIXME in one of the C++03 tests, where we are not instantiating default function arguments for the copy constructor we pick (but do not call). The fix is obvious; eliminating the infinite recursion it causes is not. Will address that next. llvm-svn: 101704
Diffstat (limited to 'clang/lib/Sema/SemaTemplate.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud