Handle temporaries in default arguments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73462 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/default-arg-temps.cpp b/test/CodeGenCXX/default-arg-temps.cpp
new file mode 100644
index 0000000..2dcf773
--- /dev/null
+++ b/test/CodeGenCXX/default-arg-temps.cpp
@@ -0,0 +1,15 @@
+// RUN: clang-cc -emit-llvm %s -o %t -triple=x86_64-apple-darwin9 &&
+
+struct T {
+ T();
+ ~T();
+};
+
+void f(const T& t = T());
+
+void g() {
+ // RUN: grep "call void @_ZN1TC1Ev" %t | count 2 &&
+ // RUN: grep "call void @_ZN1TD1Ev" %t | count 2
+ f();
+ f();
+}