From e493f96b95161fcc8a4e3bfcc6edda400216d3f8 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 10 Feb 2017 21:58:31 +0100 Subject: [PATCH] re PR c++/79457 (Segmentation fault in templated decltype evaluation) PR c++/79457 * g++.dg/cpp0x/pr79457.C: New test. From-SVN: r245344 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/cpp0x/pr79457.C | 24 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp0x/pr79457.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a143d7c4443..7a5abd8a333 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-02-10 Jakub Jelinek + + PR c++/79457 + * g++.dg/cpp0x/pr79457.C: New test. + 2017-02-10 Segher Boessenkool * 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 00000000000..937e0e00726 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/pr79457.C @@ -0,0 +1,24 @@ +// PR c++/79457 +// { dg-do compile { target c++11 } } + +template +class Foo +{ +private: + T& goo; + template + using S = decltype (goo[R ()]); + +public: + Foo (T& goo) : goo {goo} {} + + template + S boo () {} +}; + +int +main () +{ + int bar[] = {1, 2, 3}; + Foo foo {bar}; +}