From: Christian Bruel Date: Fri, 19 Jun 2015 06:58:22 +0000 (+0200) Subject: re PR target/66541 (r224314 causes ICE in gcc.dg/torture/pr52429.c) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a19d9c69e41c29ee153e5adb5817b9bacadaa8b4;p=gcc.git re PR target/66541 (r224314 causes ICE in gcc.dg/torture/pr52429.c) PR target/66541 PR target/52144 * config/arm/arm.c (arm_set_current_function): Handle explicit default options. From-SVN: r224638 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 25628faad67..28494ffebaa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-06-19 Christian Bruel + + PR target/66541 + PR target/52144 + * config/arm/arm.c (arm_set_current_function): Handle + explicit default options. + 2015-06-18 Uros Bizjak * config/i386/i386.md (*movsicc_noc_zext): New insn. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index d794fc0eb80..e79a36939d0 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -29351,9 +29351,9 @@ arm_set_current_function (tree fndecl) arm_previous_fndecl = fndecl; if (old_tree == new_tree) - ; + return; - else if (new_tree) + if (new_tree && new_tree != target_option_default_node) { cl_target_option_restore (&global_options, TREE_TARGET_OPTION (new_tree)); @@ -29365,7 +29365,7 @@ arm_set_current_function (tree fndecl) = save_target_globals_default_opts (); } - else if (old_tree) + else if (old_tree && old_tree != target_option_default_node) { new_tree = target_option_current_node;