OSDN Git Service

* c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Jan 2006 21:06:47 +0000 (21:06 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Jan 2006 21:06:47 +0000 (21:06 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109388 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-parser.c
gcc/testsuite/objc.dg/pragma-1.m

index 632e4b3..99809f0 100644 (file)
@@ -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.
index eff5b83..91a9d29 100644 (file)
@@ -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:
index 14c4d79..0c3010d 100644 (file)
@@ -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