(do_line): Add pedantic warnings for out of range line
authorJim Wilson <wilson@gcc.gnu.org>
Wed, 6 Jan 1993 02:45:34 +0000 (18:45 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Wed, 6 Jan 1993 02:45:34 +0000 (18:45 -0800)
numbers, and non-space characters after the filename.

From-SVN: r3104

gcc/cccp.c

index adfdb8178f14d88fb41186ba0eec40a6347b7c7a..3731a1eec50b3393c8f5daee33d3100221a8bb32 100644 (file)
@@ -5693,6 +5693,10 @@ do_line (buf, limit, op, keyword)
      we must store a line number now that is one less.  */
   new_lineno = atoi (bp) - 1;
 
+  /* NEW_LINENO is one less than the actual line number here.  */
+  if (pedantic && new_lineno < 0)
+    pedwarn ("line number out of range in `#line' command");
+
   /* skip over the line number.  */
   while (isdigit (*bp))
     bp++;
@@ -5726,6 +5730,8 @@ do_line (buf, limit, op, keyword)
     bp++;
     SKIP_WHITE_SPACE (bp);
     if (*bp) {
+      if (pedantic)
+       pedwarn ("garbage at end of `#line' command");
       if (*bp == '1')
        file_change = enter_file;
       else if (*bp == '2')