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
buffer.

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

        Jakub

Reply via email to