diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-04-20 19:55:24 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-04-20 19:55:24 -0400 |
commit | 957a1c32939d1e25e76c87ad5323f05be825bc11 (patch) | |
tree | 198a96479afb96182b45b3be127c4890eba9ec25 | |
parent | 5720c7e75b4c01567bf0b0fee33ea6663c4bb44c (diff) | |
download | gcc-957a1c32939d1e25e76c87ad5323f05be825bc11.zip gcc-957a1c32939d1e25e76c87ad5323f05be825bc11.tar.gz gcc-957a1c32939d1e25e76c87ad5323f05be825bc11.tar.bz2 |
(typespec): Made <SomeProtocol> equivalent to (id <SomeProtocol>).
(non_empty_protocolrefs): New nonterminal.
From-SVN: r11858
-rw-r--r-- | gcc/c-parse.in | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/c-parse.in b/gcc/c-parse.in index 41fb8aa..a5223cd 100644 --- a/gcc/c-parse.in +++ b/gcc/c-parse.in @@ -224,7 +224,8 @@ ifobjc %type <ttype> keywordexpr keywordarglist keywordarg %type <ttype> myparms myparm optparmlist reservedwords objcselectorexpr %type <ttype> selectorarg keywordnamelist keywordname objcencodeexpr -%type <ttype> objc_string protocolrefs identifier_list objcprotocolexpr +%type <ttype> objc_string non_empty_protocolrefs protocolrefs identifier_list objcprotocolexpr + %type <ttype> CLASSNAME OBJC_STRING OBJECTNAME end ifobjc @@ -1041,6 +1042,11 @@ ifobjc { $$ = get_static_reference ($1, $2); } | OBJECTNAME protocolrefs { $$ = get_object_reference ($2); } + +/* Make "<SomeProtocol>" equivalent to "id <SomeProtocol>" + - nisse@lysator.liu.se */ + | non_empty_protocolrefs + { $$ = get_object_reference ($1); } end ifobjc | TYPEOF '(' expr ')' { $$ = TREE_TYPE ($3); } @@ -2440,7 +2446,11 @@ protocolrefs: { $$ = NULL_TREE; } - | ARITHCOMPARE identifier_list ARITHCOMPARE + | non_empty_protocolrefs + ; + +non_empty_protocolrefs: + ARITHCOMPARE identifier_list ARITHCOMPARE { if ($1 == LT_EXPR && $3 == GT_EXPR) $$ = $2; |