diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2015-08-04 11:05:02 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2015-08-04 11:05:02 +0000 |
commit | 01003b83810cbaff81d9a7c00947afa725cbbe9a (patch) | |
tree | eb47864f1a3193dda6b5d0fd90f32ccecb4c7625 | |
parent | 91d0e8dec9e589701e681ec4357e054fd658c2bb (diff) | |
download | gcc-01003b83810cbaff81d9a7c00947afa725cbbe9a.zip gcc-01003b83810cbaff81d9a7c00947afa725cbbe9a.tar.gz gcc-01003b83810cbaff81d9a7c00947afa725cbbe9a.tar.bz2 |
re PR c++/66427 (The compiler rejects too complex variable templates)
2015-08-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/66427
* g++.dg/cpp1y/var-templ34.C: New.
From-SVN: r226568
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp1y/var-templ34.C | 20 |
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 37b4168..fb22e07 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-08-04 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/66427 + * g++.dg/cpp1y/var-templ34.C: New. + 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * gcc.target/aarch64/pragma_cpp_predefs_1.c: New test. diff --git a/gcc/testsuite/g++.dg/cpp1y/var-templ34.C b/gcc/testsuite/g++.dg/cpp1y/var-templ34.C new file mode 100644 index 0000000..0c39dd9 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1y/var-templ34.C @@ -0,0 +1,20 @@ +// PR c++/66427 +// { dg-do compile { target c++14 } } + +template<typename T> +struct complex {}; + +struct plus {}; +struct multiplies {}; + +template<typename T, typename Op> +constexpr T identity_element; + +template<> +constexpr int identity_element<int, plus> = 0; + +template<typename T> +constexpr complex<T> identity_element<complex<T>, plus> = { + identity_element<T, plus>, + identity_element<T, plus> +}; |