------- Comment #11 from developer at sandoe-acoustics dot co dot uk 2010-03-27 11:59 ------- It seems that objc_start_function is expecting a TREE in the objcpp case - so the error marked node is indeed unexpected.
I've tried this on i686-darwin and i32-linux - but there are obviously a lot of affected platforms out there - would some of you like to try this? Index: gcc/objc/objc-act.c =================================================================== --- gcc/objc/objc-act.c (revision 157761) +++ gcc/objc/objc-act.c (working copy) @@ -2391,11 +2398,17 @@ 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, -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23716