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]

[v3] Avoid _T in ext/type_traits.h


Hi,

committed to mainline (privately reported build problems on some targets)

Paolo.

/////////////////
2006-10-01  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/type_traits.h: Avoid _T, badname for some targets;
	also avoid plain T.
Index: include/ext/type_traits.h
===================================================================
--- include/ext/type_traits.h	(revision 117345)
+++ include/ext/type_traits.h	(working copy)
@@ -13,10 +13,10 @@
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 // General Public License for more details.
 
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING.  If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING.  If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
 
 // As a special exception, you may use this file as part of a free
 // software library without restriction.  Specifically, if other files
@@ -62,11 +62,11 @@
 
 
   // Given an integral builtin type, return the corresponding unsigned type.
-  template<typename _T>
+  template<typename _Tp>
     struct __add_unsigned
     { 
     private:
-      typedef __enable_if<std::__is_integer<_T>::__value, _T> __if_type;
+      typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
       
     public:
       typedef typename __if_type::__type __type; 
@@ -105,11 +105,11 @@
 
 
   // Given an integral builtin type, return the corresponding signed type.
-  template<typename _T>
+  template<typename _Tp>
     struct __remove_unsigned
     { 
     private:
-      typedef __enable_if<std::__is_integer<_T>::__value, _T> __if_type;
+      typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
       
     public:
       typedef typename __if_type::__type __type; 
@@ -149,14 +149,15 @@
 
   // Compile time constants for builtin types.
   // Sadly std::numeric_limits member functions cannot be used for this.
-#define __glibcxx_signed(T) ((T)(-1) < 0)
-#define __glibcxx_digits(T) (sizeof(T) * __CHAR_BIT__ - __glibcxx_signed(T))
+#define __glibcxx_signed(_Tp) ((_Tp)(-1) < 0)
+#define __glibcxx_digits(_Tp) \
+  (sizeof(_Tp) * __CHAR_BIT__ - __glibcxx_signed(_Tp))
 
-#define __glibcxx_min(T) \
-  (__glibcxx_signed(T) ? (T)1 << __glibcxx_digits(T) : (T)0)
+#define __glibcxx_min(_Tp) \
+  (__glibcxx_signed(_Tp) ? (_Tp)1 << __glibcxx_digits(_Tp) : (_Tp)0)
 
-#define __glibcxx_max(T) \
-  (__glibcxx_signed(T) ? ((T)1 << __glibcxx_digits(T)) - 1 : ~(T)0)
+#define __glibcxx_max(_Tp) \
+  (__glibcxx_signed(_Tp) ? ((_Tp)1 << __glibcxx_digits(_Tp)) - 1 : ~(_Tp)0)
 
   template<typename _Value>
     struct __numeric_traits_integer
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 117346)
+++ ChangeLog	(working copy)
@@ -1,5 +1,10 @@
 2006-10-01  Paolo Carlini  <pcarlini@suse.de>
 
+	* include/ext/type_traits.h: Avoid _T, badname for some targets;
+	also avoid plain T.
+
+2006-10-01  Paolo Carlini  <pcarlini@suse.de>
+
 	* config/io/basic_file_stdio.cc: As an extension, and
 	consistently with C facilities, allow for in|out|app and
 	in|out|app|binary openmodes.

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