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] Fix __ATOMIC_HLE* defines (PR target/53194)


Hi!

On Wed, May 02, 2012 at 07:37:15PM +0400, Kirill Yukhin wrote:
> > Otherwise, this looks good.

> Thanks, I've applied inputs!
> 
> Comitted to MT: http://gcc.gnu.org/ml/gcc-cvs/2012-05/msg00047.html

As I mentioned in http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00730.html
this doesn't really work.  Fixed thusly, bootstrapped/regtested on
x86_64-linux and i686-linux, ok for trunk?

2012-05-03  Jakub Jelinek  <jakub@redhat.com>

	PR target/53194
	* config/i386/i386-c.c (ix86_target_macros_internal): Don't
	define __ATOMIC_HLE_* macros here.
	(ix86_target_macros): But here, using cpp_define_formatted.

--- gcc/config/i386/i386-c.c.jj	2012-05-03 08:35:52.000000000 +0200
+++ gcc/config/i386/i386-c.c	2012-05-03 09:02:45.139388086 +0200
@@ -54,7 +54,6 @@ ix86_target_macros_internal (HOST_WIDE_I
   size_t tune_len = strlen (ix86_tune_string);
   int last_arch_char = ix86_arch_string[arch_len - 1];
   int last_tune_char = ix86_tune_string[tune_len - 1];
-  char hle_macro[64];
 
   /* Built-ins based on -march=.  */
   switch (arch)
@@ -294,12 +293,6 @@ ix86_target_macros_internal (HOST_WIDE_I
     def_or_undef (parse_in, "__SSE_MATH__");
   if ((fpmath & FPMATH_SSE) && (isa_flag & OPTION_MASK_ISA_SSE2))
     def_or_undef (parse_in, "__SSE2_MATH__");
-
-  sprintf (hle_macro, "__ATOMIC_HLE_ACQUIRE=%d", IX86_HLE_ACQUIRE);
-  def_or_undef (parse_in, hle_macro);
-
-  sprintf (hle_macro, "__ATOMIC_HLE_RELEASE=%d", IX86_HLE_RELEASE);
-  def_or_undef (parse_in, hle_macro);
 }
 
 
@@ -403,6 +396,9 @@ ix86_target_macros (void)
       builtin_define_std ("i386");
     }
 
+  cpp_define_formatted (parse_in, "__ATOMIC_HLE_ACQUIRE=%d", IX86_HLE_ACQUIRE);
+  cpp_define_formatted (parse_in, "__ATOMIC_HLE_RELEASE=%d", IX86_HLE_RELEASE);
+
   ix86_target_macros_internal (ix86_isa_flags,
 			       ix86_arch,
 			       ix86_tune,


	Jakub


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