diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2018-03-28 05:05:30 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2018-03-28 05:05:30 +0000 |
commit | 5b1a758d26d594569fbf2ca1381fa27ec416fd23 (patch) | |
tree | b37b418daaf072e4aa5e740063b5d02ebab312f9 /gcc | |
parent | 977bc3ee11383e76acde2835ab4e2070904cf0bb (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/pr84789.C | 2 |
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" } }; |