===================================================================
@@ -1,5 +1,17 @@
2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+ Merge from 'apple/trunk' branch on FSF servers.
+ * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
+ following Objective-C change:
+
+ 2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4301047
+ * c-parse.in (objc_quals): Build objc qualifier list same way
+ as gcc-3.3
+
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
Merge from 'apple/trunk' branch on FSF servers.
* c-parser.c (c_parser_typeof_specifier): Adapted to new parser
the following Objective-C change:
===================================================================
@@ -1,4 +1,9 @@
2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/proto-qual-1.m: Adjust test for GNU runtime to match
+ bugfix.
+
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
===================================================================
@@ -44,20 +44,10 @@ static void scan_initial(const char *pattern) {
int main(void) {
meth = [proto descriptionForInstanceMethod: @selector(address:with:)];
-#ifndef __NEXT_RUNTIME__
- scan_initial("O@%u@%u:%uRN@%uo^^S%u");
-#else
- /* The NEXT runtime tries to be compatible with gcc-3.3 */
scan_initial("O@%u@%u:%uNR@%uo^^S%u");
-#endif
CHECK_IF(offs3 == offs2 + aligned_sizeof(id) && totsize == offs3 + aligned_sizeof(unsigned));
meth = [proto descriptionForClassMethod: @selector(retainArgument:with:)];
-#ifndef __NEXT_RUNTIME__
- scan_initial("Vv%u@%u:%uoO@%un^*%u");
-#else
- /* The NEXT runtime tries to be compatible with gcc-3.3 */
scan_initial("Vv%u@%u:%uOo@%un^*%u");
-#endif
CHECK_IF(offs3 == offs2 + aligned_sizeof(id) && totsize == offs3 + aligned_sizeof(char **));
return 0;
}
===================================================================
@@ -7228,7 +7228,7 @@ c_parser_objc_type_name (c_parser *parser)
|| token->keyword == RID_BYREF
|| token->keyword == RID_ONEWAY))
{
- quals = chainon (quals, build_tree_list (NULL_TREE, token->value));
+ quals = chainon (build_tree_list (NULL_TREE, token->value), quals);
c_parser_consume_token (parser);
}
else