From 499b568fe12465d6d18be42bccfa3adc6fd14d9f Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Mon, 22 Dec 2003 19:00:12 +0000 Subject: [PATCH] re PR c++/12479 ([3.4 only] System header should not cause -pedantic to error about "extra `;'") PR c++/12479 * parser.c (cp_parser_declaration_seq_opt): Only issue "extra ;" pedwarn when not in a system header. PR c++/12479 * g++.dg/parse/semicolon1.C: New test. * g++.dg/parse/semicolon1.h: Likewise. From-SVN: r74940 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/parser.c | 2 +- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/g++.dg/parse/semicolon1.C | 4 ++++ gcc/testsuite/g++.dg/parse/semicolon1.h | 2 ++ 5 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/g++.dg/parse/semicolon1.C create mode 100644 gcc/testsuite/g++.dg/parse/semicolon1.h diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d667193871e..05b58a873df 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2003-12-22 Mark Mitchell + + PR c++/12479 + * parser.c (cp_parser_declaration_seq_opt): Only issue "extra ;" + pedwarn when not in a system header. + 2003-12-21 Mark Mitchell * cp-tree.h (cp_tree_index): Remove CPTI_RECORD_TYPE, diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 12c883e7bf2..eae46cf81ea 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -6128,7 +6128,7 @@ cp_parser_declaration_seq_opt (cp_parser* parser) { /* A declaration consisting of a single semicolon is invalid. Allow it unless we're being pedantic. */ - if (pedantic) + if (pedantic && !in_system_header) pedwarn ("extra `;'"); cp_lexer_consume_token (parser->lexer); continue; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3d9d88a8989..0eb74176a22 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2003-12-22 Mark Mitchell + + PR c++/12479 + * g++.dg/parse/semicolon1.C: New test. + * g++.dg/parse/semicolon1.h: Likewise. + 2003-12-22 Andrew Pinski PR c/9163 diff --git a/gcc/testsuite/g++.dg/parse/semicolon1.C b/gcc/testsuite/g++.dg/parse/semicolon1.C new file mode 100644 index 00000000000..22c1e86e2cf --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/semicolon1.C @@ -0,0 +1,4 @@ +// PR c++/12479 +// { dg-options "-pedantic" } + +#include "semicolon1.h" diff --git a/gcc/testsuite/g++.dg/parse/semicolon1.h b/gcc/testsuite/g++.dg/parse/semicolon1.h new file mode 100644 index 00000000000..0487fc7838c --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/semicolon1.h @@ -0,0 +1,2 @@ +#pragma GCC system_header +; -- 2.30.2