summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/temporaries.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-12-24 18:51:59 +0000
committerDouglas Gregor <dgregor@apple.com>2009-12-24 18:51:59 +0000
commit363b151ff77e1ce3ecd1d2e13a2a35aa09b55c47 (patch)
tree914f612f4f116cb2dd7dc8462b89fee04f8e678f /clang/test/CodeGenCXX/temporaries.cpp
parent5c13090bd46c61af3d8caee342eb9143ae609297 (diff)
downloadbcm5719-llvm-363b151ff77e1ce3ecd1d2e13a2a35aa09b55c47.tar.gz
bcm5719-llvm-363b151ff77e1ce3ecd1d2e13a2a35aa09b55c47.zip
When transforming CXXExprWithTemporaries and CXXBindTemporaryExpr
expressions (e.g., for template instantiation), just transform the subexpressions and return those, since the temporary-related nodes will be implicitly regenerated. Fixes PR5867, but I said that before... llvm-svn: 92135
Diffstat (limited to 'clang/test/CodeGenCXX/temporaries.cpp')
-rw-r--r--clang/test/CodeGenCXX/temporaries.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/temporaries.cpp b/clang/test/CodeGenCXX/temporaries.cpp
index 3fd7cfec786..611781886b3 100644
--- a/clang/test/CodeGenCXX/temporaries.cpp
+++ b/clang/test/CodeGenCXX/temporaries.cpp
@@ -234,4 +234,18 @@ namespace PR5867 {
// CHECK-NEXT: ret void
(f)(S(), 0);
}
+
+ // CHECK: define linkonce_odr void @_ZN6PR58672g2IiEEvT_
+ template<typename T>
+ void g2(T) {
+ // CHECK: call void @_ZN6PR58671SC1Ev
+ // CHECK-NEXT: call void @_ZN6PR58671fENS_1SEi
+ // CHECK-NEXT: call void @_ZN6PR58671SD1Ev
+ // CHECK-NEXT: ret void
+ (f)(S(), 0);
+ }
+
+ void h() {
+ g2(17);
+ }
}
OpenPOWER on IntegriCloud