aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2006-01-05 13:06:47 -0800
committerRichard Henderson <rth@gcc.gnu.org>2006-01-05 13:06:47 -0800
commitb9b58168de84c04122c4c5686c939a7794d6cb01 (patch)
tree6958c989792a6d8aa787334e7df27e2397ad1119 /gcc
parent068e6bb3f17ed3bcd09863ecb54f7ee0739d8c74 (diff)
downloadgcc-b9b58168de84c04122c4c5686c939a7794d6cb01.zip
gcc-b9b58168de84c04122c4c5686c939a7794d6cb01.tar.gz
gcc-b9b58168de84c04122c4c5686c939a7794d6cb01.tar.bz2
* c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA.
From-SVN: r109388
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/c-parser.c3
-rw-r--r--gcc/testsuite/objc.dg/pragma-1.m26
3 files changed, 12 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 632e4b3..99809f0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2006-01-05 Richard Henderson <rth@redhat.com>
+
+ * c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA.
+
2006-01-05 Carlos O'Donell <carlos@codesourcery.com>
* c-typeck.c: Update copyright date.
diff --git a/gcc/c-parser.c b/gcc/c-parser.c
index eff5b83..91a9d29 100644
--- a/gcc/c-parser.c
+++ b/gcc/c-parser.c
@@ -5866,6 +5866,9 @@ c_parser_objc_methodprotolist (c_parser *parser)
case CPP_MINUS:
c_parser_objc_methodproto (parser);
break;
+ case CPP_PRAGMA:
+ c_parser_pragma (parser, pragma_external);
+ break;
case CPP_EOF:
return;
default:
diff --git a/gcc/testsuite/objc.dg/pragma-1.m b/gcc/testsuite/objc.dg/pragma-1.m
index 14c4d79..0c3010d 100644
--- a/gcc/testsuite/objc.dg/pragma-1.m
+++ b/gcc/testsuite/objc.dg/pragma-1.m
@@ -1,23 +1,7 @@
-/* It is OK to use #pragma inside @implementation body. This test checks that. */
-/* Ziemowit Laski <zlaski@apple.com>. */
+/* { dg-do compile { target *-*-darwin* } } */
+/* ??? Is there a better pragma that is handled for all targets, not
+ handled by the preprocessor, that would be better for testing here? */
-@interface A
-{
- int p;
-}
-+(int) foo;
--(int) bar;
-@end
-
-@implementation A
-#pragma mark -
-#pragma mark init / dealloc
-+ (int)foo {
- return 1;
-}
-#pragma mark -
-#pragma mark Private Functions
-- (int)bar {
- return 2;
-}
+@interface a {}
+#pragma mark --- Output ---
@end