This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, ARM] PR target/66541
- From: Christian Bruel <christian dot bruel at st dot com>
- To: <ramana dot radhakrishnan at foss dot arm dot com>, <Kyrylo dot Tkachov at arm dot com>, <james dot greenhalgh at arm dot com>
- Cc: <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 16 Jun 2015 14:35:59 +0200
- Subject: [PATCH, ARM] PR target/66541
- Authentication-results: sourceware.org; auth=none
Hi,
This fixes the torture/pr52429.c regression due to
arm_set_current_function that needs to handle
DECL_FUNCTION_SPECIFIC_TARGET when set to target_option_default_node.
Catch up with x86 and rs6000 backends.
no regression with arm-none-eabi. Manual cc1 tests of failing cases (no
pthreads.a with this configuration).
No new added tests since the failure is exhibited with regressions
tests for arm-cortex-linux-gnueabi ongoing for those requiring -lpthreads
OK for trunk ?
Many Thanks
Christian
2015-06-15 Christian Bruel <christian.bruel@st.com>
PR target/66541
* config/arm/arm.c (arm_set_current_function): Handle
explicit default options.
Index: gcc/config/arm/arm.c
===================================================================
--- gcc/config/arm/arm.c (revision 224512)
+++ gcc/config/arm/arm.c (working copy)
@@ -29353,9 +29365,9 @@
arm_previous_fndecl = fndecl;
if (old_tree == new_tree)
- ;
+ return;
- else if (new_tree)
+ else if (new_tree && new_tree != target_option_default_node)
{
cl_target_option_restore (&global_options,
TREE_TARGET_OPTION (new_tree));
@@ -29367,7 +29379,7 @@
= 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;