+2000-07-17 Zack Weinberg <zack@wolery.cumb.org>
+
+ * gcc.dg/cpp/syshdr.c: New test.
+ * gcc.dg/cpp/syshdr1.h, gcc.dg/cpp/syshdr2.h: New files.
+
2000-07-17 Neil Booth <neilb@earthling.net>
* gcc.dg/cpp/cmdlne-dM.c: New test.
--- /dev/null
+/* Test for proper suppression of warnings in system headers,
+ and only in system headers. */
+/* FRAGILITY WARNING: The only way we have to distinguish the good error
+ from the bad error is that the good error is on line 4 and the bad is
+ on line 5 (of their respective files). dg.exp doesn't have any way to
+ condition error matchers on the file they're in. */
+
+/* { dg-do preprocess } */
+/* { dg-error "include_next" "good error" { target *-*-* } 4 } */
+
+#include "syshdr1.h" /* { dg-error "" "In file included from:" } */
+#include "syshdr2.h"
--- /dev/null
+/* This file would generate an error because of #include_next, but the
+ #pragma marks it a system header, so the error is suppressed. */
+
+#pragma GCC system_header
+#include_next <stdio.h>