cppinit.c (cpp_reader_init): Remove handling of warn_paste command line options.
authorNeil Booth <neilb@earthling.net>
Mon, 27 Nov 2000 19:08:36 +0000 (19:08 +0000)
committerNeil Booth <neil@gcc.gnu.org>
Mon, 27 Nov 2000 19:08:36 +0000 (19:08 +0000)
        * cppinit.c (cpp_reader_init): Remove handling of warn_paste
        command line options.
        (cpp_handle_option): Similarly.
        * cpplib.h (struct cpp_options): Remove warn_paste.
        * cppmacro.c (paste_tokens): Apart from assembler, make
        unpasteable token warning mandatory.

From-SVN: r37804

gcc/ChangeLog
gcc/cppinit.c
gcc/cpplib.h
gcc/cppmacro.c

index 15b16a28d36e45c9c76a5596e692c3a3cfa42062..904bc6be12962dd7a34f2c00bfc3d55b927cdb9c 100644 (file)
@@ -1,3 +1,12 @@
+2000-11-27  Neil Booth  <neilb@earthling.net>
+
+        * cppinit.c (cpp_reader_init): Remove handling of warn_paste   
+        command line options.
+        (cpp_handle_option): Similarly.
+        * cpplib.h (struct cpp_options): Remove warn_paste.
+        * cppmacro.c (paste_tokens): Apart from assembler, make
+        unpasteable token warning mandatory.
+
 2000-11-27  Neil Booth  <neilb@earthling.net>
 
         * tradcpp.c (enum pending_dir_t, struct pending_dir): New.
index e0b7c4e28ad3ba97026f7cd39f2010eaa00f9271..daa8a87840dcae20c9440a884697c024ca1e480b 100644 (file)
@@ -536,7 +536,6 @@ cpp_reader_init (pfile, lang)
     }
 
   CPP_OPTION (pfile, warn_import) = 1;
-  CPP_OPTION (pfile, warn_paste) = 1;
   CPP_OPTION (pfile, discard_comments) = 1;
   CPP_OPTION (pfile, show_column) = 1;
   CPP_OPTION (pfile, tabstop) = 8;
@@ -972,10 +971,6 @@ cpp_start_read (pfile, fname)
   if (CPP_OPTION (pfile, cplusplus))
     CPP_OPTION (pfile, warn_traditional) = 0;
 
-  /* Do not warn about invalid token pasting if -lang-asm.  */
-  if (CPP_OPTION (pfile, lang) == CLK_ASM)
-    CPP_OPTION (pfile, warn_paste) = 0;
-
   /* Set this if it hasn't been set already. */
   if (CPP_OPTION (pfile, user_label_prefix) == NULL)
     CPP_OPTION (pfile, user_label_prefix) = USER_LABEL_PREFIX;
@@ -1690,8 +1685,6 @@ cpp_handle_option (pfile, argc, argv)
            CPP_OPTION (pfile, warn_undef) = 1;
          else if (!strcmp (argv[i], "-Wimport"))
            CPP_OPTION (pfile, warn_import) = 1;
-         else if (!strcmp (argv[i], "-Wpaste"))
-           CPP_OPTION (pfile, warn_paste) = 1;
          else if (!strcmp (argv[i], "-Werror"))
            CPP_OPTION (pfile, warnings_are_errors) = 1;
          else if (!strcmp (argv[i], "-Wsystem-headers"))
@@ -1708,8 +1701,6 @@ cpp_handle_option (pfile, argc, argv)
            CPP_OPTION (pfile, warn_undef) = 0;
          else if (!strcmp (argv[i], "-Wno-import"))
            CPP_OPTION (pfile, warn_import) = 0;
-         else if (!strcmp (argv[i], "-Wno-paste"))
-           CPP_OPTION (pfile, warn_paste) = 0;
          else if (!strcmp (argv[i], "-Wno-error"))
            CPP_OPTION (pfile, warnings_are_errors) = 0;
          else if (!strcmp (argv[i], "-Wno-system-headers"))
index 18ad1cd29b2609a804834cea6054712446c21813..b75e9ac19aa461332b5b6396a9d59b39b97ba489 100644 (file)
@@ -367,10 +367,6 @@ struct cpp_options
      traditional C.  */
   unsigned char warn_traditional;
 
-  /* Nonzero means warn if ## is applied to two tokens that cannot be
-     pasted together.  */
-  unsigned char warn_paste;
-
   /* Nonzero means turn warnings into errors.  */
   unsigned char warnings_are_errors;
 
index af520ef036e93572de41ebaaab5b46c881ef7e06..f9291bcdc40d6759a678a78827f68e1153ced7a1 100644 (file)
@@ -379,17 +379,20 @@ paste_tokens (pfile, lhs, rhs)
   
   if (type == CPP_EOF)
     {
-      if (CPP_OPTION (pfile, warn_paste))
+      /* Mandatory warning for all apart from assembler.  */
+      if (CPP_OPTION (pfile, lang) != CLK_ASM)
        cpp_warning (pfile,
         "pasting \"%s\" and \"%s\" does not give a valid preprocessing token",
                     cpp_token_as_text (pfile, lhs),
                     cpp_token_as_text (pfile, rhs));
 
       /* The standard states that behaviour is undefined.  By the
-        principle of least surpise, we step back before the RHS, and
-        mark it to prevent macro expansion.  Tests in the testsuite
-        rely on clearing PREV_WHITE here, though you could argue we
-        should actually set it.  */
+         principle of least surpise, we step back before the RHS, and
+         mark it to prevent macro expansion.  Tests in the testsuite
+         rely on clearing PREV_WHITE here, though you could argue we
+         should actually set it.  Assembler can have '.' in labels and
+         so requires that we don't insert spaces there.  Maybe we should
+        change this to put out a space unless it's assembler.  */
       rhs->flags &= ~PREV_WHITE;
       rhs->flags |= NO_EXPAND;
       return 1;