Commit dca2770b by Marek Polacek Committed by Marek Polacek

re PR testsuite/89110 (r268343 breaks several tests in c++2a)

	PR testsuite/89110
	* g++.dg/other/nontype-1.C: Expect error in all modes.
	* g++.dg/parse/crash13.C: Likewise.
	* g++.dg/parse/error36.C: Likewise.
	* g++.dg/template/error29.C: Likewise.

From-SVN: r268376
parent 2365cf72
2019-01-29 Marek Polacek <polacek@redhat.com>
PR testsuite/89110
* g++.dg/other/nontype-1.C: Expect error in all modes.
* g++.dg/parse/crash13.C: Likewise.
* g++.dg/parse/error36.C: Likewise.
* g++.dg/template/error29.C: Likewise.
2019-01-29 Thomas Koenig <tkoenig@gcc.gnu.org> 2019-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/57048 PR fortran/57048
......
template <class Op> template <class Op>
bool asfun(Op f, bool asfun(Op f,
Op::first_argument_type a, // { dg-error "not a type" "" { target c++17_down } } Op::first_argument_type a, // { dg-error "not a type" }
Op::second_argument_type b) // { dg-error "not a type" "" { target c++17_down } } Op::second_argument_type b) // { dg-error "not a type" }
{ {
return Op(a, b); return Op(a, b);
} }
...@@ -12,11 +12,11 @@ struct A ...@@ -12,11 +12,11 @@ struct A
}; };
template <typename T> template <typename T>
void func(A<T>::B* ) // { dg-error "variable|template|expression" "" { target c++17_down } } void func(A<T>::B* ) // { dg-error "variable|template|expression" }
{ {
} }
int main() int main()
{ {
func<void>(0); // { dg-error "not declared|expression|;" "" { target c++17_down } } func<void>(0); // { dg-error "not declared|expression|;" }
} }
...@@ -25,7 +25,7 @@ template <class T> struct B ...@@ -25,7 +25,7 @@ template <class T> struct B
// PR c++/40738 // PR c++/40738
template <class T> template <class T>
void g(const A<T>::type &t); // { dg-error "typename" "" { target c++17_down } } void g(const A<T>::type &t); // { dg-error "typename" }
// PR c++/18451 // PR c++/18451
template <class T> A<T>::B A<T>::b; // { dg-error "typename" "" { target c++17_down } } template <class T> A<T>::B A<T>::b; // { dg-error "typename" "" { target c++17_down } }
// PR c++/33209 // PR c++/33209
template<typename T> void foo(int, T::x); // { dg-error "T::x" "" { target c++17_down } } template<typename T> void foo(int, T::x); // { dg-error "T::x" }
template<template<typename> class T> void foo2(int, T<int>::x); // { dg-error "T<int>::x" "" { target c++17_down } } template<template<typename> class T> void foo2(int, T<int>::x); // { dg-error "T<int>::x" }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment