aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-02-10 21:58:31 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-02-10 21:58:31 +0100
commite493f96b95161fcc8a4e3bfcc6edda400216d3f8 (patch)
treee8a2214029cf43dbde59f774d4470bbe15e01587 /gcc
parent6a2cc46b799d01c8abbc98c70b1bacca9fd7bc2d (diff)
downloadgcc-e493f96b95161fcc8a4e3bfcc6edda400216d3f8.zip
gcc-e493f96b95161fcc8a4e3bfcc6edda400216d3f8.tar.gz
gcc-e493f96b95161fcc8a4e3bfcc6edda400216d3f8.tar.bz2
re PR c++/79457 (Segmentation fault in templated decltype evaluation)
PR c++/79457 * g++.dg/cpp0x/pr79457.C: New test. From-SVN: r245344
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr79457.C24
2 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a143d7c..7a5abd8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/79457
+ * g++.dg/cpp0x/pr79457.C: New test.
+
2017-02-10 Segher Boessenkool <segher@kernel.crashing.org>
* gcc.target/powerpc/fold-vec-mult-longlong.c: Don't do the
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr79457.C b/gcc/testsuite/g++.dg/cpp0x/pr79457.C
new file mode 100644
index 0000000..937e0e0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/pr79457.C
@@ -0,0 +1,24 @@
+// PR c++/79457
+// { dg-do compile { target c++11 } }
+
+template <typename T>
+class Foo
+{
+private:
+ T& goo;
+ template <typename R>
+ using S = decltype (goo[R ()]);
+
+public:
+ Foo (T& goo) : goo {goo} {}
+
+ template <typename R>
+ S<R> boo () {}
+};
+
+int
+main ()
+{
+ int bar[] = {1, 2, 3};
+ Foo<decltype (bar)> foo {bar};
+}