From: manu Date: Thu, 15 Mar 2007 22:24:42 +0000 (+0000) Subject: 2007-03-15 Manuel Lopez-Ibanez X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa5093160ec85f949b1c175b7f4b43b4fc2ec3e1;p=thirdparty%2Fgcc.git 2007-03-15 Manuel Lopez-Ibanez PR c++/24924 * c-opts.c (c_common_post_options): Handle C++ post-processing here. Set also -pedantic-errors by default for the preprocessor unless -fpermissive is given. cp/ * decl.c (cxx_init_decl_processing): Move command-line options processing to c-opts.c. testsuite/ * g++.dg/cpp/pedantic-errors.C: New. * g++.dg/cpp/permissive.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122961 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 760143ef04fc..9dfece9fa612 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-03-15 Manuel Lopez-Ibanez + + PR c++/24924 + * c-opts.c (c_common_post_options): Handle C++ post-processing here. + Set also -pedantic-errors by default for the preprocessor unless + -fpermissive is given. + 2007-03-15 Richard Guenther PR middle-end/29719 diff --git a/gcc/c-opts.c b/gcc/c-opts.c index bddbaad9d7f6..b3878ea1b55f 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -1077,6 +1077,23 @@ c_common_post_options (const char **pfilename) if (warn_overlength_strings == -1 || c_dialect_cxx ()) warn_overlength_strings = 0; + /* Adjust various flags for C++ based on command-line settings. */ + if (c_dialect_cxx ()) + { + if (!flag_permissive) + { + flag_pedantic_errors = 1; + cpp_opts->pedantic_errors = 1; + } + if (!flag_no_inline) + { + flag_inline_trees = 1; + flag_no_inline = 1; + } + if (flag_inline_functions) + flag_inline_trees = 2; + } + /* Special format checking options don't work without -Wformat; warn if they are used. */ if (!warn_format) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index dcb9655a37a6..f48aa6bd091f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2007-03-15 Manuel Lopez-Ibanez + + PR c++/24924 + * decl.c (cxx_init_decl_processing): Move command-line options + processing to c-opts.c. + 2007-03-15 Douglas Gregor * ptree.c (cxx_print_type): Use formatting markup for integers diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 14d20cec2271..eefbba30c5d2 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -3143,17 +3143,6 @@ cxx_init_decl_processing (void) current_lang_name = NULL_TREE; - /* Adjust various flags based on command-line settings. */ - if (!flag_permissive) - flag_pedantic_errors = 1; - if (!flag_no_inline) - { - flag_inline_trees = 1; - flag_no_inline = 1; - } - if (flag_inline_functions) - flag_inline_trees = 2; - /* Force minimum function alignment if using the least significant bit of function pointers to store the virtual bit. */ if (TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_pfn diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 94b5cf2d3907..3a043c1c21aa 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2007-03-15 Manuel Lopez-Ibanez + + PR c++/24924 + * g++.dg/cpp/pedantic-errors.C: New. + * g++.dg/cpp/permissive.C: New. + 2007-03-15 Richard Sandiford * g++.dg/opt/mmx1.C: Only use the PIC options for fpic targets. diff --git a/gcc/testsuite/g++.dg/cpp/pedantic-errors.C b/gcc/testsuite/g++.dg/cpp/pedantic-errors.C new file mode 100644 index 000000000000..45382b4b9d34 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp/pedantic-errors.C @@ -0,0 +1,5 @@ +/* { dg-do preprocess } */ +/* { dg-options "-std=c++98" } */ + +#if 1 +#endif 1 /* { dg-error "error: extra tokens at end of #endif directive" } */ diff --git a/gcc/testsuite/g++.dg/cpp/permissive.C b/gcc/testsuite/g++.dg/cpp/permissive.C new file mode 100644 index 000000000000..cca1a5d4e5f0 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp/permissive.C @@ -0,0 +1,5 @@ +/* { dg-do preprocess } */ +/* { dg-options "-std=c++98 -fpermissive" } */ + +#if 1 +#endif 1 /* { dg-warning "warning: extra tokens at end of #endif directive" } */