Commit 23391b1e authored by zack's avatar zack
Browse files

* cpphash.c (collect_funlike_expansion): Make "# is not

	followed by a macro argument name" a pedwarn, not an error.
	Preserve the # in the output.  Suppress the warning if lang_asm.

	* gcc.dg/dg.exp: Scan .S files as well as .c files.
	* gcc.dg/20000510-1.S: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33841 138bc75d-0d04-0410-961f-82ee72b054a4
parent 75bc0e15
2000-05-11 Zack Weinberg <zack@wolery.cumb.org>
* cpphash.c (collect_funlike_expansion): Make "# is not
followed by a macro argument name" a pedwarn, not an error.
Preserve the # in the output. Suppress the warning if lang_asm.
Thu May 11 01:19:31 2000 Jeffrey A Law (law@cygnus.com)
 
* configure.in (hppa*64*-*-hpux11*): New target for PA64 support.
......
......@@ -639,7 +639,22 @@ collect_funlike_expansion (pfile, list, arglist, replacement)
default:
norm:
if (last_token == STRIZE)
cpp_error (pfile, "# is not followed by a macro argument name");
{
/* This is a mandatory diagnostic (6.10.3.2 para 1), but
in assembly language # may have some other
significance we don't know about, so suppress the
warning. */
if (! CPP_OPTION (pfile, lang_asm))
cpp_pedwarn (pfile,
"# is not followed by a macro argument name");
if (TOK_PREV_WHITE (list, i))
CPP_ADJUST_WRITTEN (pfile, -1);
if (TOK_PREV_WHITE (list, i-1))
CPP_PUTC (pfile, ' ');
CPP_PUTC (pfile, '#');
if (TOK_PREV_WHITE (list, i))
CPP_PUTC (pfile, ' ');
}
CPP_PUTS (pfile, tok, len);
last_token = NORM;
}
......
2000-05-11 Zack Weinberg <zack@wolery.cumb.org>
* gcc.dg/dg.exp: Scan .S files as well as .c files.
* gcc.dg/20000510-1.S: New.
2000-05-08 Catherine Moore <clm@cygnus.com>
* gcc.dg/unused-3.c: New.
......
/* Regression test - in assembly language, # may have some significance
other than 'stringize macro argument' and therefore must be preserved
in the output, and should not be warned about. */
/* { dg-do preprocess } */
#define foo() mov r0, #5 /* { dg-bogus "not followed" "spurious warning" } */
entry:
foo()
/*
{ dg-final { if ![file exists 20000510-1.i] { return } } }
{ dg-final { set tmp [grep 20000510-1.i # line] } }
{ dg-final { if {[string length $tmp] > 0} \{ } }
{ dg-final { pass "20000510-1.S: # preservation" } }
{ dg-final { \} else \{ } }
{ dg-final { fail "20000510-1.S: # preservation" } }
{ dg-final { \} } }
*/
......@@ -63,7 +63,8 @@ if ![info exists DEFAULT_CFLAGS] then {
dg-init
# Main loop.
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.c]] "" $DEFAULT_CFLAGS
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
"" $DEFAULT_CFLAGS
# All done.
dg-finish
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