aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2011-05-09 23:24:01 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2011-05-09 23:24:01 +0000
commit0410e66d03a02577d65cd6a9337775c8f4c8e119 (patch)
tree3767360e2993cb118b30090084c712dbb7f7d962
parent65dbe23923efe97ac7edaa04fccacdb722a4a400 (diff)
downloadgcc-0410e66d03a02577d65cd6a9337775c8f4c8e119.zip
gcc-0410e66d03a02577d65cd6a9337775c8f4c8e119.tar.gz
gcc-0410e66d03a02577d65cd6a9337775c8f4c8e119.tar.bz2
re PR c++/48522 ([C++0x] decltype((object)) with templated classes crashes g++ 4.5.1.)
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/48522 * g++.dg/cpp0x/pr48522.C: New. From-SVN: r173598
-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);
+}