When compiling with -fconcepts,
cp_parser_template_declaration_after_export calls
cp_parser_template_introduction and that preparses qualified-ids not
preceded by typename in such a way that, when we get to
cp_parser_parse_and_diagnose_invalid_type_name and then
cp_parser_diagnose_invalid_type_name, the nested name specifier no
longer carries the previous template-dependent context, so we don't
stand a chance to suggest the use of 'typename' any more. Thus,
tolerate in the testcase the poorer error messages we get.
for gcc/testsuite/ChangeLog
PR c++/84789
* g++.dg/template/pr84789.C: Adjust for testing with
-fconcepts too.
From-SVN: r258915
2018-03-28 Alexandre Oliva <aoliva@redhat.com>
+ PR c++/84789
+ * g++.dg/template/pr84789.C: Adjust for testing with
+ -fconcepts too.
+
PR c++/84973
* g++.dg/template/pr84973.C: New.
* g++.dg/template/pr84973-2.C: New.
template<typename T> struct C : B<T>
{
- B<T>::A::I::I i; // { dg-error "typename" }
+ B<T>::A::I::I i; // { dg-error "not a class type|does not name a type|typename" }
};