From 0dd6a144c80984ac914740f973934231f64fd458 Mon Sep 17 00:00:00 2001 From: Geoffrey Keating Date: Mon, 8 Oct 2007 18:33:08 +0000 Subject: darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Register '#pragma mark' to be executed at preprocessing time. * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Register '#pragma mark' to be executed at preprocessing time. From-SVN: r129134 --- gcc/ChangeLog | 5 +++++ gcc/config/darwin.h | 3 ++- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/pragma-darwin-2.c | 24 ++++++++++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/pragma-darwin-2.c (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e0c2628..9ccde30 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-10-08 Geoffrey Keating + + * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Register + '#pragma mark' to be executed at preprocessing time. + 2007-10-08 Ollie Wild * varasm.c (compare_constant): Removed call to diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index e135191..d4c7ce5 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -892,7 +892,8 @@ enum machopic_addr_class { #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); \ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f7fd6dd..d4d0ad9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2007-10-08 Geoffrey Keating + + * gcc.dg/pragma-darwin-2.c: New. + 2007-10-08 Richard Guenther PR middle-end/33693 diff --git a/gcc/testsuite/gcc.dg/pragma-darwin-2.c b/gcc/testsuite/gcc.dg/pragma-darwin-2.c new file mode 100644 index 0000000..4bbecef0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pragma-darwin-2.c @@ -0,0 +1,24 @@ +/* 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 •••• -- cgit v1.1