* doc/cppopts.texi: Enhance -Wtrigraphs documentation
authorNeil Booth <neil@daikokuya.co.uk>
Sun, 4 May 2003 21:45:08 +0000 (21:45 +0000)
committerNeil Booth <neil@gcc.gnu.org>
Sun, 4 May 2003 21:45:08 +0000 (21:45 +0000)
From-SVN: r66462

gcc/ChangeLog
gcc/doc/cppopts.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/cpp/Wtrigraphs-2.c

index 4830beadad96ee1e4ea298e66a21ebe8dea91366..bcd20e3e765d78e136a701d1acde4b76456d3f6b 100644 (file)
@@ -1,3 +1,12 @@
+2003-05-04  Neil Booth  <neil@daikokuya.co.uk>
+
+       * cppinit.c (cpp_create_reader, post_options): Warn about
+       trigraphs unless explicity set or -trigraphs.
+       * cpplex.c (warn_in_comment): New.
+       (_cpp_process_line_notes): Better handling of -Wtrigraphs.
+       (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
+       * doc/cppopts.texi, doc/cpp.texi: Update.
+
 2003-05-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
 
        * Makefile.in (LIBGCOV): Add _gcov_merge_add.
index 490905a065c59e6976c0fff8c50a240aa92efbc4..46f2226722e4dcf395ff57d5a00d781886ea49e9 100644 (file)
@@ -87,12 +87,16 @@ comment, or whenever a backslash-newline appears in a @samp{//} comment.
 @item -Wtrigraphs
 @opindex Wtrigraphs
 @anchor{Wtrigraphs}
-Warn if any trigraphs that may change the meaning of a program are
-encountered.  This option is in effect unless trigraphs are turned on,
-and is implied by @option{-Wall}.  With the exception of a trigraph
-that would form an escaped newline, warnings are not given for
-trigraphs within comments as they do not affect the meaning of the
-program.
+Most trigraphs in comments cannot affect the meaning of the program.
+However, a trigraph that would form an escaped newline (@samp{??/} at
+the end of a line) can, by changing where the comment begins or ends.
+Therefore, only trigraphs that would form escaped newlines produce
+warnings inside a comment.
+
+This option is implied by @option{-Wall}.  If @option{-Wall} is not
+given, this option is still enabled unless trigraphs are enabled.  To
+get trigraph conversion without warnings, but get the other
+@option{-Wall} warnings, use @samp{-trigraphs -Wall -Wno-trigraphs}.
 
 @item -Wtraditional
 @opindex Wtraditional
index 1b79f249de9ba24e36935e3974b5961dd086f2fd..56fb9fcd378673055ac00b78632cb7dd3ef7e8c7 100644 (file)
@@ -1,3 +1,8 @@
+2003-05-04  Neil Booth  <neil@daikokuya.co.uk>
+
+       * gcc.dg/cpp/Wtrigraphs.c: Update.
+       * gcc.dg/cpp/Wtrigraphs-2.c: New tests.
+
 2003-05-03  Geoffrey Keating  <geoffk@apple.com>
 
        * gcc.dg/ppc-fsel-1.c: New test.
index d1e822660bc81bfafa56c4c50c2c567279ef8c2b..43bf134842aea34d98af78f7b68b3ac66bf34205 100644 (file)
@@ -1,14 +1,14 @@
 /* { dg-do preprocess } */
 /* { dg-options "-std=c99 -Wtrigraphs -fno-show-column" } */
 
-/* Test we don't double warn for trigraphs immediately after preceding
-   text.  Source Neil Booth.  4 May 2003.  */
+/* Test warnings for trigraphs in comments, with trigraphs enabled.
+   Neil Booth.  4 May 2003.  */
 
-/* { dg-bogus "ignored" } Test ??< ??= a few ??/ random things in
+/* { dg-bogus "converted" } Test ??< ??= a few ??/ random things in
    { dg-warning "converted" } some ??/
-   { dg-bogus "ignored" } ??< comments.  */
+   { dg-bogus "converted" } ??< comments.  */
 
-// { dg-bogus "ignored" } More ??/ comment ??> tests.
+// { dg-bogus "converted" } More ??/ comment ??> tests.
 
 // { dg-warning "converted" } Another ??/
    Test
@@ -16,5 +16,5 @@
 // { dg-warning "converted" } And another with space after ??/  
    the escape
 
-// { dg-bogus "ignored" } A tricky one ??/\
+// { dg-bogus "converted" } A tricky one ??/\