http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58944
--- Comment #6 from tmsriram at gcc dot gnu.org <tmsriram at gcc dot gnu.org> --- Author: tmsriram Date: Tue Dec 3 03:14:09 2013 New Revision: 205616 URL: http://gcc.gnu.org/viewcvs?rev=205616&root=gcc&view=rev Log: This patch fixes PR 58944 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58944 ix86_valid_target_attribute_tree in config/i386/i386.c was refactored to not depend on global_options structure and to be able to use any gcc_options structure. One clean way to fix this is by having target_option_default_node save all the default target options which can be restored to any gcc_options structure. The root cause of the above bugs was that ix86_arch_string and ix86_tune_string was not saved in target_option_deault_node. This patch saves all the target options used in i386.opt which are either obtained from the command-line or set to some default. Testing: Patch tested for bootstrap on all default languages(also obj-c++ and ada) on x86_64 and regression testsuite checked for parity with RUNTESTFLAGS -m32 and m64. Added: trunk/gcc/testsuite/gcc.target/i386/pr58944.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/i386.opt trunk/gcc/testsuite/ChangeLog