components/stdcxx/patches/002-cstdint.patch
author Stefan Teleman <stefan.teleman@oracle.com>
Thu, 14 Jul 2011 11:26:11 -0700
changeset 402 94ae4d75524c
permissions -rw-r--r--
7064836 stdcxx to Userland

--- stdcxx-4.2.1/include/tr1/cstdint	2008-04-24 20:23:49.000000000 -0400
+++ stdcxx-4.2.1/include/tr1/cstdint	2009-03-28 01:54:56.000000000 -0400
@@ -1,359 +1,68 @@
 // -*- C++ -*-
-/***************************************************************************
+/**
+ * CDDL HEADER START
  *
- * cstdint - definition of integer types [tr.c99.cstdint]
- *
- * $Id: cstdint 590052 2007-10-30 12:44:14Z faridz $
- *
- ***************************************************************************
- *
- * Licensed to the Apache Software  Foundation (ASF) under one or more
- * contributor  license agreements.  See  the NOTICE  file distributed
- * with  this  work  for  additional information  regarding  copyright
- * ownership.   The ASF  licenses this  file to  you under  the Apache
- * License, Version  2.0 (the  "License"); you may  not use  this file
- * except in  compliance with the License.   You may obtain  a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the  License is distributed on an  "AS IS" BASIS,
- * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY  KIND, either  express or
- * implied.   See  the License  for  the  specific language  governing
- * permissions and limitations under the License.
- *
- * Copyright 2006 Rogue Wave Software.
- * 
- **************************************************************************/
-
-#ifndef _RWSTD_TR1_CSTDINT_INCLUDED
-#define _RWSTD_TR1_CSTDINT_INCLUDED
-
-
-#include <rw/_defs.h>
-
-
-_RWSTD_NAMESPACE (std) {
-
-_RWSTD_NAMESPACE (tr1) {
-
-#ifndef _RWSTD_BNO_TWOS_COMPLEMENT
-#  define _RWSTD_T_MIN(tmax)   (-(tmax) - 1)
-#else
-#  define _RWSTD_T_MIN(tmax)   -(tmax)
-#endif
-
-
-/*** int8_t ***************************************************************/
-
-#ifdef _RWSTD_INT8_T
-
-// optional exact width types
-typedef _RWSTD_INT8_T       int8_t;
-typedef _RWSTD_UINT8_T      uint8_t;
-
-#  define INT8_MAX          127
-#  define UINT8_MAX         255U
-#  define INT_LEAST8_MAX    INT8_MAX
-#  define UINT_LEAST8_MAX   UINT8_MAX
-#  define INT_FAST8_MAX     INT8_MAX
-#  define UINT_FAST8_MAX    UINT8_MAX
-
-#elif defined (_RWSTD_INT16_T)
-
-#  define INT_LEAST8_MAX    32767
-#  define UINT_LEAST8_MAX   65535U
-#  define INT_FAST8_MAX     32767
-#  define UINT_FAST8_MAX    65535U
-
-#elif defined (_RWSTD_INT32_T)
-
-#  if 4 == _RWSTD_INT_SIZE
-#    define INT_LEAST8_MAX    _RWSTD_INT_MAX
-#    define UINT_LEAST8_MAX   _RWSTD_UINT_MAX
-#    define INT_FAST8_MAX     _RWSTD_INT_MAX
-#    define UINT_FAST8_MAX    _RWSTD_UINT_MAX
-#  elif 4 == _RWSTD_LONG_SIZE
-#    define INT_LEAST8_MAX    _RWSTD_LONG_MAX
-#    define UINT_LEAST8_MAX   _RWSTD_ULONG_MAX
-#    define INT_FAST8_MAX     _RWSTD_LONG_MAX
-#    define UINT_FAST8_MAX    _RWSTD_ULONG_MAX
-#  endif
-
-#elif defined (_RWSTD_INT64_T)
-
-#  if 8 == _RWSTD_LONG_SIZE
-#    define INT_LEAST8_MAX    _RWSTD_LONG_MAX
-#    define UINT_LEAST8_MAX   _RWSTD_ULONG_MAX
-#    define INT_FAST8_MAX     _RWSTD_LONG_MAX
-#    define UINT_FAST8_MAX    _RWSTD_ULONG_MAX
-#  elif 8 == _RWSTD_LLONG_SIZE
-#    define INT_LEAST8_MAX    _RWSTD_LLONG_MAX
-#    define UINT_LEAST8_MAX   _RWSTD_ULLONG_MAX
-#    define INT_FAST8_MAX     _RWSTD_LLONG_MAX
-#    define UINT_FAST8_MAX    _RWSTD_ULLONG_MAX
-#  endif
-
-#else   // fallback on int
-
-#  define INT_LEAST8_MAX    _RWSTD_INT_MAX
-#  define UINT_LEAST8_MAX   _RWSTD_UINT_MAX
-#  define INT_FAST8_MAX     _RWSTD_INT_MAX
-#  define UINT_FAST8_MAX    _RWSTD_UINT_MAX
-
-#endif   // _RWSTD_INT{8,16,32,64}_T
-
-
-/*** int16_t **************************************************************/
-
-#ifdef _RWSTD_INT16_T
-
-// optional exact width types
-typedef _RWSTD_INT16_T       int16_t;
-typedef _RWSTD_UINT16_T      uint16_t;
-
-#  define INT16_MAX          32767
-#  define UINT16_MAX         65535U
-
-#  define INT_LEAST16_MAX    INT16_MAX
-#  define UINT_LEAST16_MAX   UINT16_MAX
-#  define INT_FAST16_MAX     INT16_MAX
-#  define UINT_FAST16_MAX    UINT16_MAX
-
-#elif defined (_RWSTD_INT32_T)
-
-#  if 4 == _RWSTD_INT_SIZE
-#    define INT_LEAST16_MAX    _RWSTD_INT_MAX
-#    define UINT_LEAST16_MAX   _RWSTD_UINT_MAX
-#    define INT_FAST16_MAX     _RWSTD_INT_MAX
-#    define UINT_FAST16_MAX    _RWSTD_UINT_MAX
-#  elif 4 == _RWSTD_LONG_SIZE
-#    define INT_LEAST16_MAX    _RWSTD_LONG_MAX
-#    define UINT_LEAST16_MAX   _RWSTD_ULONG_MAX
-#    define INT_FAST16_MAX     _RWSTD_LONG_MAX
-#    define UINT_FAST16_MAX    _RWSTD_ULONG_MAX
-#  endif
-
-#elif defined (_RWSTD_INT64_T)
-
-#  if 8 == _RWSTD_LONG_SIZE
-#    define INT_LEAST16_MAX    _RWSTD_LONG_MAX
-#    define UINT_LEAST16_MAX   _RWSTD_ULONG_MAX
-#    define INT_FAST16_MAX     _RWSTD_LONG_MAX
-#    define UINT_FAST16_MAX    _RWSTD_ULONG_MAX
-#  elif 8 == _RWSTD_LLONG_SIZE
-#    define INT_LEAST16_MAX    _RWSTD_LLONG_MAX
-#    define UINT_LEAST16_MAX   _RWSTD_ULLONG_MAX
-#    define INT_FAST16_MAX     _RWSTD_LLONG_MAX
-#    define UINT_FAST16_MAX    _RWSTD_ULLONG_MAX
-#  endif
-
-#else   // fallback on int
-
-#  define INT_LEAST16_MAX    _RWSTD_INT_MAX
-#  define UINT_LEAST16_MAX   _RWSTD_UINT_MAX
-#  define INT_FAST16_MAX     _RWSTD_INT_MAX
-#  define UINT_FAST16_MAX    _RWSTD_UINT_MAX
-
-#endif   // _RWSTD_INT{16,32,64}_T
-
-
-/*** int32_t **************************************************************/
-
-#ifdef _RWSTD_INT32_T
-
-// optional exact width types
-typedef _RWSTD_INT32_T       int32_t;
-typedef _RWSTD_UINT32_T      uint32_t;
-
-#  if 4 == _RWSTD_INT_SIZE
-#    define INT32_MAX          _RWSTD_INT_MAX
-#    define UINT32_MAX         _RWSTD_UINT_MAX
-#  elif 4 == _RWSTD_LONG_SIZE
-#    define INT32_MAX          _RWSTD_LONG_MAX
-#    define UINT32_MAX         _RWSTD_LONG_MAX
-#  endif
-
-#  define INT_LEAST32_MAX      INT32_MAX
-#  define UINT_LEAST32_MAX     UINT32_MAX
-#  define INT_FAST32_MAX       INT32_MAX
-#  define UINT_FAST32_MAX      UINT32_MAX
-
-#elif defined (_RWSTD_INT64_T)
-
-#  if 8 == _RWSTD_LONG_SIZE
-#    define INT_LEAST32_MAX    _RWSTD_LONG_MAX
-#    define UINT_LEAST32_MAX   _RWSTD_ULONG_MAX
-#    define INT_FAST32_MAX     _RWSTD_LONG_MAX
-#    define UINT_FAST32_MAX    _RWSTD_ULONG_MAX
-#  elif 8 == _RWSTD_LLONG_SIZE
-#    define INT_LEAST32_MAX    _RWSTD_LLONG_MAX
-#    define UINT_LEAST32_MAX   _RWSTD_ULLONG_MAX
-#    define INT_FAST32_MAX     _RWSTD_LLONG_MAX
-#    define UINT_FAST32_MAX    _RWSTD_ULLONG_MAX
-#  endif
-
-#else   // fallback on int
-
-#  define INT32_MAX          _RWSTD_INT_MAX
-#  define UINT32_MAX         _RWSTD_UINT_MAX
-#  define INT_LEAST32_MAX    _RWSTD_INT_MAX
-#  define UINT_LEAST32_MAX   _RWSTD_UINT_MAX
-#  define INT_FAST32_MAX     _RWSTD_INT_MAX
-#  define UINT_FAST32_MAX    _RWSTD_UINT_MAX
-
-#endif   // _RWSTD_INT{32,64}_T
-
-
-/*** int64_t **************************************************************/
-
-#ifdef _RWSTD_INT64_T
-
-// optional exact width types
-typedef _RWSTD_INT64_T   int64_t;
-typedef _RWSTD_UINT64_T  uint64_t;
-
-// 7.18.2.5 of C99 requires that intmax_t be at least 64-bits wide
-typedef _RWSTD_INT64_T   intmax_t;
-typedef _RWSTD_UINT64_T  uintmax_t;
-
-#  if 8 == _RWSTD_LONG_SIZE
-#    define INT64_MAX          _RWSTD_LONG_MAX
-#    define UINT64_MAX         _RWSTD_ULONG_MAX
-#  elif 8 == _RWSTD_LLONG_SIZE
-#    define INT64_MAX          _RWSTD_LLONG_MAX
-#    define UINT64_MAX         _RWSTD_ULLONG_MAX
-#  endif
-
-#  define INT_LEAST64_MAX    INT64_MAX
-#  define UINT_LEAST64_MAX   UINT64_MAX
-#  define INT_FAST64_MAX     INT64_MAX
-#  define UINT_FAST64_MAX    UINT64_MAX
-
-#elif defined (_RWSTD_LONG_LONG)      // fallback on long long
-
-// this possibly violates 7.18.2.5 of C99 which requires that intmax_t
-// be at least 64-bits wide
-typedef _RWSTD_LONG_LONG             intmax_t;
-typedef unsigned _RWSTD_LONG_LONG    uintmax_t;
-
-#else   // fallback on long
-
-// this likely violates 7.18.2.5 of C99 which requires that intmax_t
-// be at least 64-bits wide
-typedef long           intmax_t;
-typedef unsigned long  uintmax_t;
-
-#endif   // _RWSTD_INT{64,32,16}_T
-
-/*** intptr_t *************************************************************/
-
-#if 8 == _RWSTD_PTR_SIZE
-
-typedef _RWSTD_INT64_T    intptr_t;
-typedef _RWSTD_UINT64_T   uintptr_t;
-
-#  define INTPTR_MAX      INT64_MAX
-#  define UINTPTR_MAX     UINT64_MAX
-
-#elif 4 == _RWSTD_PTR_SIZE
-
-typedef _RWSTD_INT32_T    intptr_t;
-typedef _RWSTD_UINT32_T   uintptr_t;
-
-#  define INTPTR_MAX      INT32_MAX
-#  define UINTPTR_MAX     UINT32_MAX
-
-#elif 2 == _RWSTD_PTR_SIZE
-
-typedef _RWSTD_INT16_T    intptr_t;
-typedef _RWSTD_UINT16_T   uintptr_t;
-
-#  define INTPTR_MAX      INT16_MAX
-#  define UINTPTR_MAX     UINT16_MAX
-
-#else   // fallback on long
-
-typedef long              intptr_t;
-typedef unsigned long     uintptr_t;
-
-#  define INTPTR_MAX      _RWSTD_LONG_MAX
-#  define UINTPTR_MAX     _RWSTD_LONG_MAX
-
-#endif   // {8,16,32,64} == _RWSTD_PTR_SIZE
-
-/*** least and fast types *************************************************/
-
-typedef _RWSTD_INT_LEAST8_T       int_least8_t;
-typedef _RWSTD_UINT_LEAST8_T      uint_least8_t;
-typedef _RWSTD_INT_LEAST8_T       int_fast8_t;
-typedef _RWSTD_UINT_LEAST8_T      uint_fast8_t;
-
-typedef _RWSTD_INT_LEAST16_T      int_least16_t;
-typedef _RWSTD_UINT_LEAST16_T     uint_least16_t;
-typedef _RWSTD_INT_LEAST16_T      int_fast16_t;
-typedef _RWSTD_UINT_LEAST16_T     uint_fast16_t;
-
-typedef _RWSTD_INT_LEAST32_T      int_least32_t;
-typedef _RWSTD_UINT_LEAST32_T     uint_least32_t;
-typedef _RWSTD_INT_LEAST32_T      int_fast32_t;
-typedef _RWSTD_UINT_LEAST32_T     uint_fast32_t;
-
-#ifdef _RWSTD_INT_LEAST64_T
-
-typedef _RWSTD_INT_LEAST64_T      int_least64_t;
-typedef _RWSTD_UINT_LEAST64_T     uint_least64_t;
-typedef _RWSTD_INT_LEAST64_T      int_fast64_t;
-typedef _RWSTD_UINT_LEAST64_T     uint_fast64_t;
-
-#endif   // _RWSTD_INT_LEAST64_T
-
-#ifdef _RWSTD_INT_LEAST128_T
-
-typedef _RWSTD_INT_LEAST128_T     int_least128_t;
-typedef _RWSTD_UINT_LEAST128_T    uint_least128_t;
-typedef _RWSTD_INT_LEAST128_T     int_fast128_t;
-typedef _RWSTD_UINT_LEAST128_T    uint_fast128_t;
-
-#endif   // _RWSTD_INT_LEAST128_T
-
-/*** other constants ******************************************************/
-
-#define PTRDIFF_MIN         _RWSTD_PTRDIFF_MIN
-#define PTRDIFF_MAX         _RWSTD_PTRDIFF_MAX
-
-#define SIZE_MAX            _RWSTD_SIZE_MAX
-
-#define WCHAR_MIN           _RWSTD_WCHAR_MIN
-#define WCHAR_MAX           _RWSTD_WCHAR_MAX
-
-#define WINT_MIN            _RWSTD_WINT_MIN
-#define WINT_MAX            _RWSTD_WINT_MAX
-
-#define SIG_ATOMIC_MIN      _RWSTD_SIG_ATOMIC_MIN
-#define SIG_ATOMIC_MAX      _RWSTD_SIG_ATOMIC_MAX
-
-/*** computed _MIN constants **********************************************/
-
-#define INT8_MIN            _RWSTD_T_MIN (INT8_MAX)
-#define INT16_MIN           _RWSTD_T_MIN (INT16_MAX)
-#define INT32_MIN           _RWSTD_T_MIN (INT32_MAX)
-#define INT64_MIN           _RWSTD_T_MIN (INT64_MAX)
-
-#define INT_LEAST8_MIN      _RWSTD_T_MIN (INT_LEAST8_MAX)
-#define INT_LEAST16_MIN     _RWSTD_T_MIN (INT_LEAST16_MAX)
-#define INT_LEAST32_MIN     _RWSTD_T_MIN (INT_LEAST32_MAX)
-#define INT_LEAST64_MIN     _RWSTD_T_MIN (INT_LEAST64_MAX)
-
-#define INT_FAST8_MIN       _RWSTD_T_MIN (INT_FAST8_MAX)
-#define INT_FAST16_MIN      _RWSTD_T_MIN (INT_FAST16_MAX)
-#define INT_FAST32_MIN      _RWSTD_T_MIN (INT_FAST32_MAX)
-#define INT_FAST64_MIN      _RWSTD_T_MIN (INT_FAST64_MAX)
-
-}   // namespace tr1
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ *
+ * ident "@(#)cstdint.2.diff 1.1     09/08/21 SMI"
+ */
+
+#ifndef _STDINT_H
+
+#include <stdint.h>
+
+namespace std {
+    namespace tr1 {
+        using ::int8_t;
+        using ::int16_t;
+        using ::int32_t;
+        using ::int64_t;
+        using ::uint8_t;
+        using ::uint16_t;
+        using ::uint32_t;
+        using ::uint64_t;
+        using ::int_fast8_t;
+        using ::int_fast16_t;
+        using ::int_fast32_t;
+        using ::int_fast64_t;
+        using ::int_least8_t;
+        using ::int_least16_t;
+        using ::int_least32_t;
+        using ::int_least64_t;
+        using ::intmax_t;
+        using ::intptr_t;
+        using ::uint_fast8_t;
+        using ::uint_fast16_t;
+        using ::uint_fast32_t;
+        using ::uint_fast64_t;
+        using ::uint_least8_t;
+        using ::uint_least16_t;
+        using ::uint_least32_t;
+        using ::uint_least64_t;
+        using ::uintmax_t;
+        using ::uintptr_t;
+    }
+}
 
-}   // namespace std
 
+#endif /* _STDINT_H */
 
-#endif   // _RWSTD_TR1_CSTDINT_INCLUDED