Patchwork [v3] libstdc++/46914

login
register
mail settings
Submitter Paolo Carlini
Date Feb. 1, 2011, 6:18 p.m.
Message ID <4D484E8F.6040309@oracle.com>
Download mbox | patch
Permalink /patch/81346/
State New
Headers show

Comments

Paolo Carlini - Feb. 1, 2011, 6:18 p.m.
Hi,

tested x86_64-linux multilib (with --with-arch-32=i486), committed
mainline and 4_5-branch (very slightly tweaked).

Paolo.

////////////////////
2011-02-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/46914
	* include/bits/atomic_0.h (_ATOMIC_STORE_, _ATOMIC_MODIFY_,
	_ATOMIC_CMPEXCHNG_): Rename __v -> __w, and __m -> __n, to
	avoid name conflicts.

Patch

Index: include/bits/atomic_0.h
===================================================================
--- include/bits/atomic_0.h	(revision 169491)
+++ include/bits/atomic_0.h	(working copy)
@@ -1,6 +1,6 @@ 
 // -*- C++ -*- header.
 
-// Copyright (C) 2008, 2009, 2010
+// Copyright (C) 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -68,41 +68,41 @@ 
     atomic_flag_clear_explicit(__g, __x);		       		   \
     __r; })
 
-#define _ATOMIC_STORE_(__a, __m, __x)					   \
+#define _ATOMIC_STORE_(__a, __n, __x)					   \
   ({typedef __typeof__(_ATOMIC_MEMBER_) __i_type;                          \
     __i_type* __p = &_ATOMIC_MEMBER_;	   				   \
-    __typeof__(__m) __v = (__m);			       		   \
+    __typeof__(__n) __w = (__n);			       		   \
     __atomic_flag_base* __g = __atomic_flag_for_address(__p);	  	   \
     __atomic_flag_wait_explicit(__g, __x);				   \
-    *__p = __v;								   \
+    *__p = __w;								   \
     atomic_flag_clear_explicit(__g, __x);		       		   \
-    __v; })
+    __w; })
 
-#define _ATOMIC_MODIFY_(__a, __o, __m, __x)				   \
+#define _ATOMIC_MODIFY_(__a, __o, __n, __x)				   \
   ({typedef __typeof__(_ATOMIC_MEMBER_) __i_type;                          \
     __i_type* __p = &_ATOMIC_MEMBER_;	   				   \
-    __typeof__(__m) __v = (__m);			       		   \
+    __typeof__(__n) __w = (__n);			       		   \
     __atomic_flag_base* __g = __atomic_flag_for_address(__p);	  	   \
     __atomic_flag_wait_explicit(__g, __x);				   \
     __i_type __r = *__p;		       				   \
-    *__p __o __v;					       		   \
+    *__p __o __w;					       		   \
     atomic_flag_clear_explicit(__g, __x);		       		   \
     __r; })
 
-#define _ATOMIC_CMPEXCHNG_(__a, __e, __m, __x)				   \
+#define _ATOMIC_CMPEXCHNG_(__a, __e, __n, __x)				   \
   ({typedef __typeof__(_ATOMIC_MEMBER_) __i_type;                          \
     __i_type* __p = &_ATOMIC_MEMBER_;	   				   \
     __typeof__(__e) __q = (__e);			       		   \
-    __typeof__(__m) __v = (__m);			       		   \
+    __typeof__(__n) __w = (__n);			       		   \
     bool __r;						       		   \
     __atomic_flag_base* __g = __atomic_flag_for_address(__p);	   	   \
     __atomic_flag_wait_explicit(__g, __x);				   \
     __i_type __t = *__p;		       				   \
     if (*__q == __t) 							   \
-    {                                                                      \
-      *__p = (__i_type)__v;						\
-      __r = true;                                                          \
-    }									   \
+      {									   \
+	*__p = (__i_type)__w;						   \
+	__r = true;							   \
+      }									   \
     else { *__q = __t; __r = false; }		       			   \
     atomic_flag_clear_explicit(__g, __x);		       		   \
     __r; })