fix cut & paste error in cp/parser and add testscases in case of fture error.
gcc/cp: parser.c (cp_parser_objc_method_tail_params_opt): Peek new token after finding ellipsis, before checking for attributes. testsuite: * objc.dg/attributes/method-attribute-3.m: New. * obj-c++.dg/attributes/method-attribute-3.mm: New. From-SVN: r165109
This commit is contained in:
parent
feab35499e
commit
4e4edb3b3a
5 changed files with 59 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2010-10-07 Iain Sandoe <iains@gcc.gnu.org>
|
||||
|
||||
parser.c (cp_parser_objc_method_tail_params_opt): Peek new token after
|
||||
finding ellipsis, before checking for attributes.
|
||||
|
||||
2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
|
||||
|
||||
Merge from apple/trunk branch on FSF servers.
|
||||
|
|
|
@ -21568,6 +21568,7 @@ cp_parser_objc_method_tail_params_opt (cp_parser* parser, bool *ellipsisp,
|
|||
{
|
||||
cp_lexer_consume_token (parser->lexer); /* Eat '...'. */
|
||||
*ellipsisp = true;
|
||||
token = cp_lexer_peek_token (parser->lexer);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2010-10-07 Iain Sandoe <iains@gcc.gnu.org>
|
||||
|
||||
* objc.dg/attributes/method-attribute-3.m: New.
|
||||
* obj-c++.dg/attributes/method-attribute-3.mm: New.
|
||||
|
||||
2010-10-07 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
PR fortran/45916
|
||||
|
|
24
gcc/testsuite/obj-c++.dg/attributes/method-attribute-3.mm
Normal file
24
gcc/testsuite/obj-c++.dg/attributes/method-attribute-3.mm
Normal file
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
|
||||
#include "../../objc-obj-c++-shared/Object1.h"
|
||||
|
||||
@interface obj : Object {
|
||||
@public
|
||||
int var;
|
||||
}
|
||||
- (int) vargsn: (int) count, ... __attribute__((deprecated)); /* { dg-warning " method attributes are not available in this version of the compiler" } */
|
||||
@end
|
||||
|
||||
@implementation obj
|
||||
- (int) vargsn: (int) count, ...
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@end
|
||||
|
||||
int foo (void)
|
||||
{
|
||||
obj *p = [obj new];
|
||||
|
||||
return [p vargsn:0];
|
||||
}
|
24
gcc/testsuite/objc.dg/attributes/method-attribute-3.m
Normal file
24
gcc/testsuite/objc.dg/attributes/method-attribute-3.m
Normal file
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
|
||||
#include "../../objc-obj-c++-shared/Object1.h"
|
||||
|
||||
@interface obj : Object {
|
||||
@public
|
||||
int var;
|
||||
}
|
||||
- (int) vargsn: (int) count, ... __attribute__((deprecated)); /* { dg-warning " method attributes are not available in this version of the compiler" } */
|
||||
@end
|
||||
|
||||
@implementation obj
|
||||
- (int) vargsn: (int) count, ...
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@end
|
||||
|
||||
int foo (void)
|
||||
{
|
||||
obj *p = [obj new];
|
||||
|
||||
return [p vargsn:0];
|
||||
}
|
Loading…
Add table
Reference in a new issue