From 131376b348ad127ca9aeb5497f304e4ae1ec1856 Mon Sep 17 00:00:00 2001 From: Nicola Pero Date: Sun, 17 Oct 2010 22:34:39 +0000 Subject: [PATCH] In gcc/cp/: 2010-10-17 Nicola Pero In gcc/cp/: 2010-10-17 Nicola Pero Merge from apple/trunk branch on FSF servers. 2006-04-19 Fariborz Jahanian Radar 4516785 * parser.c (cp_parser_simple_type_specifier): Don't lookup for objc object types if type is scope qualified. In gcc/testsuite/: 2010-10-17 Nicola Pero Merge from 'apple/trunk' branch on FSF servers. 2006-04-19 Fariborz Jahanian Radar 4516785 * obj-c++.dg/method-namespace-2.mm: New. From-SVN: r165602 --- gcc/cp/ChangeLog | 10 ++++++++++ gcc/cp/parser.c | 2 +- gcc/testsuite/ChangeLog | 9 +++++++++ gcc/testsuite/obj-c++.dg/method-namespace-2.mm | 25 +++++++++++++++++++++++++ 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/obj-c++.dg/method-namespace-2.mm diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index fc26e00..9073ccb 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,6 +1,16 @@ 2010-10-17 Nicola Pero Merge from apple/trunk branch on FSF servers. + + 2006-04-19 Fariborz Jahanian + + Radar 4516785 + * parser.c (cp_parser_simple_type_specifier): Don't lookup for + objc object types if type is scope qualified. + +2010-10-17 Nicola Pero + + Merge from apple/trunk branch on FSF servers. 2006-03-27 Fariborz Jahanian diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 670337e..cfc3ddd 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -12753,7 +12753,7 @@ cp_parser_simple_type_specifier (cp_parser* parser, /* As a last-ditch effort, see if TYPE is an Objective-C type. If it is, then the '<'...'>' enclose protocol names rather than template arguments, and so everything is fine. */ - if (c_dialect_objc () + if (c_dialect_objc () && !parser->scope && (objc_is_id (type) || objc_is_class_name (type))) { tree protos = cp_parser_objc_protocol_refs_opt (parser); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index dfdaa82..57a1092 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,6 +1,15 @@ 2010-10-17 Nicola Pero Merge from 'apple/trunk' branch on FSF servers. + + 2006-04-19 Fariborz Jahanian + + Radar 4516785 + * obj-c++.dg/method-namespace-2.mm: New. + +2010-10-17 Nicola Pero + + Merge from 'apple/trunk' branch on FSF servers. 2006-03-27 Fariborz Jahanian diff --git a/gcc/testsuite/obj-c++.dg/method-namespace-2.mm b/gcc/testsuite/obj-c++.dg/method-namespace-2.mm new file mode 100644 index 0000000..3e1c9d1 --- /dev/null +++ b/gcc/testsuite/obj-c++.dg/method-namespace-2.mm @@ -0,0 +1,25 @@ +/* Test that qualified type is resolved to its proper type. */ +/* { dg-do compile } */ + +@interface Object +{ + int I[100]; +} +@end + +namespace HC +{ + +struct Object +{ + void test(); +}; + +} // namespace HC + +int main() +{ + HC::Object* object; + object->test(); // Must compile with no error + return 0; +} -- 2.7.4