aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr48522.C24
2 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8279c69..67799ec 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
+ PR c++/48522
+ * g++.dg/cpp0x/pr48522.C: New.
+
+2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
+
PR c++/48735
* g++.dg/cpp0x/sfinae21.C: New.
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr48522.C b/gcc/testsuite/g++.dg/cpp0x/pr48522.C
new file mode 100644
index 0000000..1543d8a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/pr48522.C
@@ -0,0 +1,24 @@
+// { dg-options "-std=c++0x" }
+
+template <typename T>
+struct Handle
+{
+ Handle(T& t);
+};
+
+template<class T>
+struct Class {
+ struct Struct {} data;
+ void f();
+ void g();
+};
+
+template<class T>
+void Class<T>::f() {
+ Handle< decltype((data)) > handle(data);
+}
+
+template<class T>
+void Class<T>::g() {
+ Handle< decltype((data)) > handle(data);
+}