cppexp.c (lex): Use %.*s to print non-NUL-terminated string.
* cppexp.c (lex): Use %.*s to print non-NUL-terminated string. Make error message friendlier. From-SVN: r33829
This commit is contained in:
parent
fa5572714e
commit
e43a157747
@ -1,5 +1,8 @@
|
||||
2000-05-10 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* cppexp.c (lex): Use %.*s to print non-NUL-terminated string.
|
||||
Make error message friendlier.
|
||||
|
||||
* cpphash.h (struct hashnode): Use struct hack for name
|
||||
member.
|
||||
* cpphash.c (struct hashdummy): New.
|
||||
|
@ -466,8 +466,8 @@ lex (pfile, skip_evaluation)
|
||||
&& tok_start[1] == toktab->operator[1])
|
||||
break;
|
||||
if (toktab->token == ERROR)
|
||||
cpp_error (pfile, "'%s' not allowed in operand of #if",
|
||||
tok_start);
|
||||
cpp_error (pfile, "'%.*s' is not allowed in #if expressions",
|
||||
(int) (tok_end - tok_start), tok_start);
|
||||
op.op = toktab->token;
|
||||
return op;
|
||||
}
|
||||
|
8
gcc/testsuite/gcc.dg/cpp-if4.c
Normal file
8
gcc/testsuite/gcc.dg/cpp-if4.c
Normal file
@ -0,0 +1,8 @@
|
||||
/* Regression test for proper error message. The token name isn't
|
||||
NUL terminated, so we would print garbage after it. */
|
||||
/* { dg-do compile } */
|
||||
|
||||
#if 1 += 2 /* { dg-error "'\\+=' is not allowed" "+= in if" } */
|
||||
syntax_error
|
||||
#endif
|
||||
int foo;
|
Loading…
x
Reference in New Issue
Block a user