On Thu, Apr 12, 2012 at 01:37:24PM +0400, Kirill Yukhin wrote:
> Folks,
> Here is patch with removed implied atomic ACQUIRE/RELEASE. Could you
> please have a look?

+  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);                                          

This doesn't belong to ix86_target_macros_internal, but to
ix86_target_macros.  It is defined unconditionally, so you don't want to
undef and define it again on each target pragma, and furthermore
cpp_undef with __ATOMIC_HLE_ACQUIRE=something wouldn't work (for
undef you'd need __ATOMIC_HLE_ACQUIRE).  And in ix86_target_macros
you should be able to use cpp_define_formatted and avoid the temporary

As for the rest of the patch, I'd like Richard to chime in...


Reply via email to