aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2018-03-28 05:05:30 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2018-03-28 05:05:30 +0000
commit5b1a758d26d594569fbf2ca1381fa27ec416fd23 (patch)
treeb37b418daaf072e4aa5e740063b5d02ebab312f9 /gcc
parent977bc3ee11383e76acde2835ab4e2070904cf0bb (diff)
downloadgcc-5b1a758d26d594569fbf2ca1381fa27ec416fd23.zip
gcc-5b1a758d26d594569fbf2ca1381fa27ec416fd23.tar.gz
gcc-5b1a758d26d594569fbf2ca1381fa27ec416fd23.tar.bz2
[PR c++/84789] adjust testcase for -fconcepts
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/g++.dg/template/pr84789.C2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 252854e..0fea418 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,9 @@
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.
diff --git a/gcc/testsuite/g++.dg/template/pr84789.C b/gcc/testsuite/g++.dg/template/pr84789.C
index bc1567f..63b9832 100644
--- a/gcc/testsuite/g++.dg/template/pr84789.C
+++ b/gcc/testsuite/g++.dg/template/pr84789.C
@@ -9,5 +9,5 @@ template<typename> struct B : A {};
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" }
};