From 58e0f0d345d1759d4af965b1592869f0583cb6eb Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Wed, 7 Apr 2010 16:20:08 +0000 Subject: [PATCH] re PR objc++/23716 (obj-c++.dg/comp-types-10.mm ICE with the GNU runtime) fix PR23716 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-07 Iain Sandoe PR objc++/23716 * obj-c++.dg/comp-types-10.mm: Remove XFAIL. From-SVN: r158076 --- gcc/objc/ChangeLog | 6 ++++++ gcc/objc/objc-act.c | 8 +++++++- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/obj-c++.dg/comp-types-10.mm | 1 - 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 35fed822796..472d4aa7ac6 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,9 @@ +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-02-18 Iain Sandoe Mike Stump diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 10cc9bce306..7e3a2d86115 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -2391,11 +2391,17 @@ build_module_initializer_routine (void) 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, diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 32c64b329e3..a074ef23d7c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-04-07 Iain Sandoe + + PR objc++/23716 + * obj-c++.dg/comp-types-10.mm: Remove XFAIL. + 2010-04-07 Jason Merrill * g++.dg/template/dr408.C: New. diff --git a/gcc/testsuite/obj-c++.dg/comp-types-10.mm b/gcc/testsuite/obj-c++.dg/comp-types-10.mm index b4da5ddd643..c7f0cb635c7 100644 --- a/gcc/testsuite/obj-c++.dg/comp-types-10.mm +++ b/gcc/testsuite/obj-c++.dg/comp-types-10.mm @@ -1,6 +1,5 @@ /* Yet another mysterious gimplifier crasher. */ /* { dg-do compile } */ -/* { dg-xfail-if "PR23716" { ! *-*-darwin* } { "*" } { "" } } */ /* { dg-prune-output ".*internal compiler error.*" } */ /* { dg-options "-O3" } */