From: Richard Henderson Date: Thu, 5 Jan 2006 21:06:47 +0000 (-0800) Subject: * c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA. X-Git-Tag: releases/gcc-4.2.0~5016 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b9b58168de84c04122c4c5686c939a7794d6cb01;p=thirdparty%2Fgcc.git * c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA. From-SVN: r109388 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 632e4b38e39c..99809f0d4fa2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2006-01-05 Richard Henderson + + * c-parser.c (c_parser_objc_methodprotolist): Handle CPP_PRAGMA. + 2006-01-05 Carlos O'Donell * c-typeck.c: Update copyright date. diff --git a/gcc/c-parser.c b/gcc/c-parser.c index eff5b8323479..91a9d299ca0e 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 14c4d7928a24..0c3010dcf306 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 . */ +/* { 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