diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1cfd802494201bad0141db088be47d0e3abc5b97..0f4aecde07586ff25ae81a6b3c4e4618d605e6a2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* tradcpp.c (output_line_command): Mark system headers as such in
+	`line' commands.
+
 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
 
 	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Sparc has .file/.loc
diff --git a/gcc/tradcpp.c b/gcc/tradcpp.c
index 1117748fb1abff2b7f2262b05ffb5eeadbcec264..5b23e5c1e98c9a57a702f895c7b8179b82fb5902 100644
--- a/gcc/tradcpp.c
+++ b/gcc/tradcpp.c
@@ -3535,6 +3535,8 @@ output_line_command (ip, op, conditional, file_change)
   sprintf (line_cmd_buf, "# %d \"%s\"", ip->lineno, ip->fname);
   if (file_change != same_file)
     strcat (line_cmd_buf, file_change == enter_file ? " 1" : " 2");
+  if (system_include_depth > 0)
+    strcat (line_cmd_buf, " 3");
   len = strlen (line_cmd_buf);
   line_cmd_buf[len++] = '\n';
   check_expand (op, len + 1);