aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2006-01-06 08:41:44 +0000
committerJakub Jelinek <jakub@redhat.com>2006-01-06 08:41:44 +0000
commitca93945f297de76774958761e969139d53a7dd57 (patch)
tree0aaf4c4f8e058f24e1a3b4eee2876426109b2662
parent6a526d87e1ee18cfd9142fd7b35005b7771d8056 (diff)
svn merge -r109387:109388 svn+ssh://gcc.gnu.org/svn/gcc/trunk
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_1-branch@109410 138bc75d-0d04-0410-961f-82ee72b054a4
-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 aeb3bcc0fc5..af92ee59bd1 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-04 Jakub Jelinek <jakub@redhat.com>
* config/i386/pmm_malloc.h (posix_memalign): If __cplusplus,
diff --git a/gcc/c-parser.c b/gcc/c-parser.c
index a43e17095c9..57a07bb7026 100644
--- a/gcc/c-parser.c
+++ b/gcc/c-parser.c
@@ -5932,6 +5932,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 14c4d7928a2..0c3010dcf30 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