diff options
Diffstat (limited to 'gcc/testsuite/g++.dg')
-rw-r--r-- | gcc/testsuite/g++.dg/concepts/pr67595.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp1y/var-templ64.C | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gcc/testsuite/g++.dg/concepts/pr67595.C b/gcc/testsuite/g++.dg/concepts/pr67595.C index 7199e0517d4..029ec7a1186 100644 --- a/gcc/testsuite/g++.dg/concepts/pr67595.C +++ b/gcc/testsuite/g++.dg/concepts/pr67595.C @@ -9,6 +9,6 @@ template <class X> bool input_iterator{weak_input_iterator<X>}; // { dg-warning template <class X> bool forward_iterator{input_iterator<X>}; template <class X> bool bidirectional_iterator{forward_iterator<X>}; template <class X> -concept bool random_access_iterator{bidirectional_iterator<X>}; +concept bool random_access_iterator{bidirectional_iterator<X>}; // { dg-error "constant" } void fn1(random_access_iterator); int main() { fn1(0); } // { dg-error "" } diff --git a/gcc/testsuite/g++.dg/cpp1y/var-templ64.C b/gcc/testsuite/g++.dg/cpp1y/var-templ64.C new file mode 100644 index 00000000000..4e2b43b1d07 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1y/var-templ64.C @@ -0,0 +1,14 @@ +// { dg-do compile { target c++14 } } + +template <class T> T var = T(); + +template <class T> +void f() +{ + constexpr T i = var<T>; // { dg-error "19:var" } +} + +int main() +{ + f<int>(); +} |