diff options
author | Branko Cibej <branko.cibej@hermes.si> | 2000-09-26 00:54:04 +0200 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2000-09-25 22:54:04 +0000 |
commit | 317639a81c1c666ab67014d458da7cb57a554a92 (patch) | |
tree | 7fc11a6b7a593988efb1e370c5443cd4e490aeb4 /gcc/cpplex.c | |
parent | 1c6d33efb4d9725b537e72c7b18efeeb638c55bc (diff) | |
download | gcc-317639a81c1c666ab67014d458da7cb57a554a92.zip gcc-317639a81c1c666ab67014d458da7cb57a554a92.tar.gz gcc-317639a81c1c666ab67014d458da7cb57a554a92.tar.bz2 |
flags.h: Declare warning flag warn_system_headers.
2000-09-25 Branko Cibej <branko.cibej@hermes.si>
* flags.h: Declare warning flag warn_system_headers.
* toplev.c: Define it.
(W_options): Add option -Wsystem-headers.
* diagnostic.c (count_error): Test warn_system_headers.
* invoke.texi: Add description for -Wsystem-headers.
* cpplib.h (cpp_options): New member warn_system_headers.
* cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
CPP_IN_SYSTEM_HEADER.
* cpplib.c (do_import, do_pragma_once): Likewise.
* cpperror.c (_cpp_begin_message): Test warn_system_headers
and CPP_IN_SYSTEM_HEADER.
* cppinit.c (handle_option): Recognize -Wsystem_headers.
(print_help): Describe -Wsystem_headers.
* cpplex.c (lex_line): Reorganize condition so that warnings
about C++ comments in system headers can be enabled. Remove
label do_line_comment.
From-SVN: r36636
Diffstat (limited to 'gcc/cpplex.c')
-rw-r--r-- | gcc/cpplex.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/gcc/cpplex.c b/gcc/cpplex.c index 0c31560..47dcdbc 100644 --- a/gcc/cpplex.c +++ b/gcc/cpplex.c @@ -1209,10 +1209,24 @@ lex_token (pfile, result) irrespective of conformance mode, because lots of broken systems do that and trying to clean it up in fixincludes is a nightmare. */ - if (!CPP_IN_SYSTEM_HEADER (pfile) - && CPP_OPTION (pfile, c89) && CPP_PEDANTIC (pfile) - && !buffer->warned_cplusplus_comments) + if (CPP_OPTION (pfile, cplusplus_comments) + || CPP_IN_SYSTEM_HEADER (pfile)) { + if (CPP_OPTION (pfile, c89) && CPP_PEDANTIC (pfile) + && ! buffer->warned_cplusplus_comments) + { + cpp_pedwarn (pfile, + "C++ style comments are not allowed in ISO C89"); + cpp_pedwarn (pfile, + "(this will be reported only once per input file)"); + buffer->warned_cplusplus_comments = 1; + } + comment_start = buffer->cur; + + /* Skip_line_comment updates buffer->read_ahead. */ + if (skip_line_comment (pfile)) + cpp_warning_with_line (pfile, result->line, result->col, + "multi-line comment"); cpp_pedwarn (pfile, "C++ style comments are not allowed in ISO C89"); cpp_pedwarn (pfile, |