--- /dev/null
+/* Test for proper handling of # in object-like macros.
+ From Linux kernel. */
+/* { dg-do preprocess } */
+
+#define FIXUP .section ".fixup",#alloc,#execinstr
+
+FIXUP
+
+/* { dg-bogus "not followed by" "object-like #" { target *-*-* } 3 } */
--- /dev/null
+/* Test for erroneously thinking comments are token-pastes.
+ From XFree86 4.0. */
+/* { dg-do preprocess } */
+/* { dg-options "-traditional" } */
+
+#ifndef foo
+#define foo /**/
+#endif
+
+#ifndef foo
+#define foo /* as nothing */
+#endif
+
+/* { dg-bogus "(start|end) of macro" "/**/ at end" { target *-*-* } 7 } */
+/* { dg-bogus "(start|end) of macro" "comment at end" { target *-*-* } 11 } */
--- /dev/null
+#if 2048 < (16 * (40) + 192)
+#error /* { dg-bogus "error" "with paren" } */
+#endif
+
+#if 2048 < (16 * 40 + 192)
+#error /* { dg-bogus "error" "without paren" } */
+#endif