+2007-10-08 Geoffrey Keating <geoffk@apple.com>
+
+ * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Register
+ '#pragma mark' to be executed at preprocessing time.
+
2007-10-08 Ollie Wild <aaw@google.com>
* varasm.c (compare_constant): Removed call to
#define DARWIN_REGISTER_TARGET_PRAGMAS() \
do { \
- c_register_pragma (0, "mark", darwin_pragma_ignore); \
+ cpp_register_pragma (parse_in, NULL, "mark", \
+ darwin_pragma_ignore, false); \
c_register_pragma (0, "options", darwin_pragma_options); \
c_register_pragma (0, "segment", darwin_pragma_ignore); \
c_register_pragma (0, "unused", darwin_pragma_unused); \
+2007-10-08 Geoffrey Keating <geoffk@apple.com>
+
+ * gcc.dg/pragma-darwin-2.c: New.
+
2007-10-08 Richard Guenther <rguenther@suse.de>
PR middle-end/33693
--- /dev/null
+/* Darwin (Mac OS X) pragma exercises. */
+
+/* { dg-do compile { target *-*-darwin* } } */
+
+/* The mark pragma is valid at any point in the program. Fortunately
+ the compiler only needs to ignore it. It's also followed only
+ by pp-tokens, not necessarily real C tokens. */
+
+void foo(void)
+{
+ if (1) {
+ ;
+ }
+ else if (1) {
+ ;
+ }
+#pragma mark "last case" "hi"
+ else if (1) {
+ ;
+ }
+}
+
+#pragma mark 802.11x 1_2_3
+#pragma mark •••• marker ••••