diff -Nrcpad gcc-4.5.0/gcc/objc/ChangeLog gcc-4.5.1/gcc/objc/ChangeLog *** gcc-4.5.0/gcc/objc/ChangeLog Wed Apr 14 09:22:22 2010 --- gcc-4.5.1/gcc/objc/ChangeLog Sat Jul 31 09:26:27 2010 *************** *** 1,3 **** --- 1,31 ---- + 2010-07-31 Release Manager + + * GCC 4.5.1 released. + + 2010-06-10 Iain Sandoe + + Backport from mainline: + PR objc/35996 + * objc-act.c (objc_init): Warn that -fobjc-gc is ignored for + -fgnu-runtime and set flag_objc_gc to zero. + + 2010-06-10 Iain Sandoe + + Backport from mainline: + 2010-04-30 Iain Sandoe + PR objc++/32052 + * objc-act.c (encode_aggregate_within): Encode structure tags + with template args for ObjC++. + + 2010-06-07 Iain Sandoe + + Backport from mainline: + 2010-04-07 Iain Sandoe + + PR objc++/23716 + * objc-act.c (build_module_initializer_routine): Make the argument + to objc_start_function NULL_TREE when compiling ObjC++. + 2010-04-14 Release Manager * GCC 4.5.0 released. diff -Nrcpad gcc-4.5.0/gcc/objc/objc-act.c gcc-4.5.1/gcc/objc/objc-act.c *** gcc-4.5.0/gcc/objc/objc-act.c Fri Feb 19 19:06:38 2010 --- gcc-4.5.1/gcc/objc/objc-act.c Thu Jun 10 13:03:20 2010 *************** objc_init (void) *** 545,550 **** --- 545,557 ---- structure-returning methods. */ default_constant_string_class_name = "NXConstantString"; flag_typed_selectors = 1; + /* GNU runtime does not need the compiler to change code + in order to do GC. */ + if (flag_objc_gc) + { + warning_at (0, 0, "%<-fobjc-gc%> is ignored for %<-fgnu-runtime%>"); + flag_objc_gc=0; + } } init_objc (); *************** build_module_initializer_routine (void) *** 2391,2401 **** objc_push_parm (build_decl (input_location, PARM_DECL, NULL_TREE, void_type_node)); objc_start_function (get_identifier (TAG_GNUINIT), build_function_type (void_type_node, OBJC_VOID_AT_END), NULL_TREE, objc_get_parm_info (0)); ! body = c_begin_compound_stmt (true); add_stmt (build_function_call (input_location, --- 2398,2414 ---- objc_push_parm (build_decl (input_location, PARM_DECL, NULL_TREE, void_type_node)); + #ifdef OBJCPLUS + objc_start_function (get_identifier (TAG_GNUINIT), + build_function_type (void_type_node, + OBJC_VOID_AT_END), + NULL_TREE, NULL_TREE); + #else objc_start_function (get_identifier (TAG_GNUINIT), build_function_type (void_type_node, OBJC_VOID_AT_END), NULL_TREE, objc_get_parm_info (0)); ! #endif body = c_begin_compound_stmt (true); add_stmt (build_function_call (input_location, *************** encode_aggregate_within (tree type, int *** 8114,8128 **** /* Encode the struct/union tag name, or '?' if a tag was not provided. Typedef aliases do not qualify. */ - if (name && TREE_CODE (name) == IDENTIFIER_NODE #ifdef OBJCPLUS /* Did this struct have a tag? */ ! && !TYPE_WAS_ANONYMOUS (type) ! #endif ! ) obstack_grow (&util_obstack, IDENTIFIER_POINTER (name), strlen (IDENTIFIER_POINTER (name))); else obstack_1grow (&util_obstack, '?'); --- 8127,8147 ---- /* Encode the struct/union tag name, or '?' if a tag was not provided. Typedef aliases do not qualify. */ #ifdef OBJCPLUS + /* For compatibility with the NeXT runtime, ObjC++ encodes template + args as a composite struct tag name. */ + if (name && TREE_CODE (name) == IDENTIFIER_NODE /* Did this struct have a tag? */ ! && !TYPE_WAS_ANONYMOUS (type)) ! obstack_grow (&util_obstack, ! decl_as_string (type, TFF_DECL_SPECIFIERS | TFF_UNQUALIFIED_NAME), ! strlen (decl_as_string (type, TFF_DECL_SPECIFIERS | TFF_UNQUALIFIED_NAME))); ! #else ! if (name && TREE_CODE (name) == IDENTIFIER_NODE) obstack_grow (&util_obstack, IDENTIFIER_POINTER (name), strlen (IDENTIFIER_POINTER (name))); + #endif else obstack_1grow (&util_obstack, '?'); diff -Nrcpad gcc-4.5.0/gcc/objcp/ChangeLog gcc-4.5.1/gcc/objcp/ChangeLog *** gcc-4.5.0/gcc/objcp/ChangeLog Wed Apr 14 09:22:32 2010 --- gcc-4.5.1/gcc/objcp/ChangeLog Sat Jul 31 09:26:37 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-07-31 Release Manager + + * GCC 4.5.1 released. + 2010-04-14 Release Manager * GCC 4.5.0 released. diff -Nrcpad gcc-4.5.0/libobjc/ChangeLog gcc-4.5.1/libobjc/ChangeLog *** gcc-4.5.0/libobjc/ChangeLog Wed Apr 14 09:19:34 2010 --- gcc-4.5.1/libobjc/ChangeLog Sat Jul 31 09:23:47 2010 *************** *** 1,3 **** --- 1,7 ---- + 2010-07-31 Release Manager + + * GCC 4.5.1 released. + 2010-04-14 Release Manager * GCC 4.5.0 released.