summaryrefslogtreecommitdiff
path: root/gcc/c-parse.in
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-27 15:35:32 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-27 15:35:32 +0000
commit67adb6656b6c4b099da78cf3fc589221987a0e95 (patch)
treed3c5037533f309391a712eddb6cd19814f12e2f1 /gcc/c-parse.in
parent9e1355c837d137a059d0f839181b8034bf374ba0 (diff)
downloadgcc-67adb6656b6c4b099da78cf3fc589221987a0e95.tar.gz
* c-parse.in (string): For -Wtraditional, warn about string
concatenation only once per line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35290 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-parse.in')
-rw-r--r--gcc/c-parse.in17
1 files changed, 14 insertions, 3 deletions
diff --git a/gcc/c-parse.in b/gcc/c-parse.in
index 87dfcebc810..b516ddf5232 100644
--- a/gcc/c-parse.in
+++ b/gcc/c-parse.in
@@ -733,10 +733,21 @@ end ifobjc
string:
STRING
| string STRING
- { $$ = chainon ($1, $2);
+ {
+ifc
+ static int last_lineno = 0;
+ static const char *last_input_filename = 0;
+end ifc
+ $$ = chainon ($1, $2);
ifc
- if (warn_traditional && !in_system_header)
- warning ("Use of ANSI string concatenation");
+ if (warn_traditional && !in_system_header
+ && (lineno != last_lineno || !last_input_filename ||
+ strcmp (last_input_filename, input_filename)))
+ {
+ warning ("traditional C rejects string concatenation");
+ last_lineno = lineno;
+ last_input_filename = input_filename;
+ }
end ifc
}
;