(output_line_command): Output the `4' flag only if cplusplus.
authorRichard Stallman <rms@gnu.org>
Wed, 13 Oct 1993 21:52:31 +0000 (21:52 +0000)
committerRichard Stallman <rms@gnu.org>
Wed, 13 Oct 1993 21:52:31 +0000 (21:52 +0000)
(do_line): Handle the `4' flag.

From-SVN: r5781

gcc/cccp.c

index 3648b92..aec4c79 100644 (file)
@@ -5961,6 +5961,8 @@ do_line (buf, limit, op, keyword)
        file_change = leave_file;
       else if (*bp == '3')
        ip->system_header_p = 1;
+      else if (*bp == '4')
+       ip->system_header_p = 2;
       else {
        error ("invalid format `#line' command");
        return 0;
@@ -5973,6 +5975,11 @@ do_line (buf, limit, op, keyword)
        bp++;
        SKIP_WHITE_SPACE (bp);
       }
+      if (*bp == '4') {
+       ip->system_header_p = 2;
+       bp++;
+       SKIP_WHITE_SPACE (bp);
+      }
       if (*bp) {
        error ("invalid format `#line' command");
        return 0;
@@ -7108,7 +7115,7 @@ output_line_command (ip, op, conditional, file_change)
     *line_end++ = '3';
   }
   /* Tell cc1plus if following text should be treated as C.  */
-  if (ip->system_header_p == 2) {
+  if (ip->system_header_p == 2 && cplusplus) {
     *line_end++ = ' ';
     *line_end++ = '4';
   }