Commit 6a6b1628 by Neil Booth Committed by Neil Booth

cppinit.c (cpp_reader_init): Remove handling of warn_paste command line options.

        * 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
parent fb6a7b08
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.
(main): Allocate a pending directive set of these. Use it.
Merge handling of -D and -U. Update handling of pending
......
......@@ -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"))
......
......@@ -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;
......
......@@ -379,7 +379,8 @@ 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),
......@@ -389,7 +390,9 @@ paste_tokens (pfile, lhs, rhs)
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. */
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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment