summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/genoutput.c13
2 files changed, 17 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2fb84649bac..8377d279989 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-02-22 Jakub Jelinek <jakub@redhat.com>
+
+ * genoutput.c (process_template): Strip trailing whitespace in @
+ templates and issue a warning if there was any.
+
2004-02-21 Christopher Faylor <cgf@redhat.com>
* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
diff --git a/gcc/genoutput.c b/gcc/genoutput.c
index 9e27b276d0c..44bc412d488 100644
--- a/gcc/genoutput.c
+++ b/gcc/genoutput.c
@@ -682,11 +682,22 @@ process_template (struct data *d, const char *template)
for (i = 0, cp = &template[1]; *cp; )
{
+ const char *ep, *sp;
+
while (ISSPACE (*cp))
cp++;
printf (" \"");
- while (!IS_VSPACE (*cp) && *cp != '\0')
+
+ for (ep = sp = cp; !IS_VSPACE (*ep) && *ep != '\0'; ++ep)
+ if (!ISSPACE (*ep))
+ sp = ep + 1;
+
+ if (sp != ep)
+ message_with_line (d->lineno,
+ "trailing whitespace in output template");
+
+ while (cp < sp)
{
putchar (*cp);
cp++;