diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2017-10-15 22:29:59 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2017-10-15 22:29:59 +0000 |
commit | 4dcfe21f161fead78fe7f7e31ecf6f67586399ec (patch) | |
tree | e711a96b83ac3cf89fc65ecfe4646e865d58045b /gcc | |
parent | c53c148c9155c1c26bf35b2763bf34d2ae26bc4b (diff) | |
download | gcc-4dcfe21f161fead78fe7f7e31ecf6f67586399ec.zip gcc-4dcfe21f161fead78fe7f7e31ecf6f67586399ec.tar.gz gcc-4dcfe21f161fead78fe7f7e31ecf6f67586399ec.tar.bz2 |
re PR c++/54090 (internal compiler error: in unify, at cp/pt.c:15731)
2017-10-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54090
* g++.dg/template/crash128.C: New.
From-SVN: r253772
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/crash128.C | 19 |
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d843626..ff99cba 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-10-15 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/54090 + * g++.dg/template/crash128.C: New. + 2017-10-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/82372 diff --git a/gcc/testsuite/g++.dg/template/crash128.C b/gcc/testsuite/g++.dg/template/crash128.C new file mode 100644 index 0000000..2682e3d --- /dev/null +++ b/gcc/testsuite/g++.dg/template/crash128.C @@ -0,0 +1,19 @@ +// PR c++/54090 + +template <int n> +struct X { + + template <int N, bool = (n >= N), typename T = void> struct Y; + + template <int N, typename T> + struct Y<N, true, T> {}; + + static const int M = n / 2; + + template <typename T> + struct Y<X::M, true, T> {}; +}; + +void foo() { + X<10>::Y<10/2> y; +} |