This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, ARM] PR target/66541


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;
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]