components/stdcxx/patches/017-cstdlib.patch
changeset 402 94ae4d75524c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/stdcxx/patches/017-cstdlib.patch	Thu Jul 14 11:26:11 2011 -0700
@@ -0,0 +1,288 @@
+--- stdcxx-4.2.1/include/ansi/cstdlib	2008-04-24 20:23:56.000000000 -0400
++++ stdcxx-4.2.1/include/ansi/cstdlib	2009-03-12 16:35:36.000000000 -0400
+@@ -1,263 +1,34 @@
+ // -*- C++ -*-
+-/***************************************************************************
++/**
++ * CDDL HEADER START
+  *
+- * cstdlib - C++ Standard library interface to the ANSI C header stdlib.h
++ * 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.
+  *
+- * $Id: cstdlib 550991 2007-06-26 23:58:07Z sebor $
++ * 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]
+  *
+- * 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
++ * CDDL HEADER END
+  *
+- * 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 2009 Sun Microsystems, Inc.  All rights reserved.
++ * Use is subject to license terms.
+  *
+- * Copyright 1994-2006 Rogue Wave Software.
+- * 
+- **************************************************************************/
+-
+-#include <rw/_defs.h>
+-
+-#ifndef _RWSTD_NO_PURE_C_HEADERS
+-#  include <ansi/_cstdlib.h>
+-#else
+-
+-#ifndef _RWSTD_NO_DEPRECATED_C_HEADERS
+-
+-#ifndef _RWSTD_NAMESPACE_STD_OPEN
+-#define _RWSTD_NAMESPACE_STD_OPEN 15
+-
+-_RWSTD_NAMESPACE (std) { 
+-
+-#endif   // _RWSTD_NAMESPACE_STD_OPEN
+-
+-
+-#include _RWSTD_ANSI_C_STDLIB_H
+-
+-#ifndef _RWSTD_CSTDLIB_INCLUDED
+-#define _RWSTD_CSTDLIB_INCLUDED
+-
+-
+-#ifdef _RWSTD_NO_ABS_LONG
+-
+-inline long abs (long __x)
+-{
+-    return __x < 0L ? -__x : __x;
+-}
+-
+-#endif   // _RWSTD_NO_ABS_LONG
+-
+-#ifdef _RWSTD_NO_DIV_LONG
+-#  ifndef _RWSTD_NO_LDIV
+-
+-inline ldiv_t div (long __x, long __y)
+-{
+-    return ldiv (__x, __y);
+-}
+-
+-#  endif   // _RWSTD_NO_LDIV
+-#endif   // _RWSTD_NO_DIV_LONG
+-
+-
+-#endif   // _RWSTD_CSTDLIB_INCLUDED
+-
+-
+-#if _RWSTD_NAMESPACE_STD_OPEN == 15
+-#  undef _RWSTD_NAMESPACE_STD_OPEN
+-
+-}   // namespace std
+-
+-#endif   // _RWSTD_NAMESPACE_STD_OPEN == 15
+-
+-#else   // if defined (_RWSTD_NO_DEPRECATED_C_HEADERS)
+-
+-#ifndef _RWSTD_CSTDLIB_INCLUDED
+-#define _RWSTD_CSTDLIB_INCLUDED
+-
+-#include _RWSTD_ANSI_C_STDLIB_H
+-
+-#undef ldiv
+-
+-#if !defined (_RWSTD_NO_NAMESPACE) && !defined (_RWSTD_NO_HONOR_STD) && \
+-    !defined (_RWSTD_NO_USING_LIBC_IN_STD)
+-
+-namespace std {
+-
+-
+-#ifdef _RWSTD_NO_ABS_UINT
+-
+-inline unsigned abs (unsigned __x)
+-{
+-    return __x;
+-}
+-
+-#endif   // _RWSTD_NO_ABS_UINT
+-
+-#ifdef _RWSTD_NO_ABS_LONG
+-
+-inline long abs (long __x)
+-{
+-    return __x < 0L ? -__x : __x;
+-}
+-
+-#endif   // _RWSTD_NO_ABS_LONG
+-
+-#ifdef _RWSTD_NO_ABS_ULONG
+-
+-inline unsigned long abs (unsigned long __x)
+-{
+-    return __x;
+-}
+-
+-#endif   // _RWSTD_NO_ABS_ULONG
+-
+-#ifdef _RWSTD_LONG_LONG
+-#  ifdef _RWSTD_NO_ABS_LLONG
+-
+-inline _RWSTD_LONG_LONG abs (_RWSTD_LONG_LONG __x)
+-{
+-    return __x < (_RWSTD_LONG_LONG)0 ? -__x : __x;
+-}
+-
+-#  endif   // _RWSTD_NO_ABS_LLONG
+-
+-#  ifdef _RWSTD_NO_ABS_ULLONG
+-
+-inline unsigned _RWSTD_LONG_LONG abs (unsigned _RWSTD_LONG_LONG __x)
+-{
+-    return __x;
+-}
+-
+-#  endif   // _RWSTD_NO_ABS_ULLONG
+-#endif   // _RWSTD_LONG_LONG
+-
+-#ifdef _RWSTD_NO_DIV_LONG
+-#  ifndef _RWSTD_NO_LDIV
+-
+-    inline ldiv_t div (long __x, long __y)
+-    {
+-        return ldiv (__x, __y);
+-    }
+-
+-#  endif   // _RWSTD_NO_LDIV
+-#endif   // _RWSTD_NO_DIV_LONG
+-
+-#ifndef _RWSTD_NO_EXTERN_C_COMPATIBILITY
+-#  ifndef _RWSTD_NO_EXTERN_C_OVERLOAD
+-
+-    extern "C" {
+-        typedef int (*__rw_compar_t)(const void*, const void*);
+-    }
+-
+-    extern "C++" {
+-
+-    // 25.4, p3
+-    inline void*
+-    bsearch (const void *__key, const void *__base, size_t __n, size_t __size,
+-             int (*__cmp)(const void*, const void*))
+-    {
+-        return ::bsearch (__key, __base, __n, __size,
+-                          _RWSTD_REINTERPRET_CAST (__rw_compar_t, __cmp));
+-    }
+-
+-    // 25.4, p4
+-    inline void
+-    qsort (void *__base, size_t __n, size_t __size,
+-           int (*__cmp)(const void*, const void*))
+-    {
+-        return ::qsort (__base, __n, __size,
+-                        _RWSTD_REINTERPRET_CAST (__rw_compar_t, __cmp));
+-    }
+-
+-    }   // extern "C++"
+-
+-#  endif   // _RWSTD_NO_EXTERN_C_OVERLOAD
+-#endif   // _RWSTD_NO_EXTERN_C_COMPATIBILITY
+-    
+-    // using statements must come after the overloads.
+-    // working around MSVC6 PR# 27677
+-    using ::size_t;
+-    using ::div_t;
+-
+-#ifndef _RWSTD_NO_LDIV
+-    using ::ldiv_t;
+-#endif   // _RWSTD_NO_LDIV
+-
+-    using ::abort;
+-
+-#if    defined (_RWSTD_NO_ABS) && defined (_RWSTD_NO_ABS_INT) \
+-    || defined (__HP_aCC) \
+-    && defined (_MATH_INCLUDED) && !defined (__MATH_INCLUDED)
+-
+-// hacking around an HP aCC quirk when using system headers
+-// in /usr/include without the compiler's wrappers (i.e.,
+-// when -I/usr/include is on the command line)
+-
+-}   // namespace std
+-
+-extern "C" {
+-
+-inline int abs (int __x)
+-{
+-    return __x < 0 ? -__x : __x;
+-}
+-
+-}   // extern "C"
+-
+-namespace std {
+-
+-#endif   // _RWSTD_NO_ABS && _RWSTD_NO_ABS_INT ...
+-
+-    using ::abs;
+-
+-    using ::atexit;
+-    using ::atof;
+-    using ::atoi;
+-    using ::atol;
+-    using ::bsearch;
+-    using ::calloc;
+-    using ::div;
+-    using ::exit;
+-    using ::free;
+-    using ::getenv;
+-    using ::labs;
+-    using ::ldiv;
+-    using ::malloc;
+-    using ::mblen;
+-    using ::mbstowcs;
+-
+-#ifndef _RWSTD_NO_MBTOWC
+-    using ::mbtowc;
+-#endif   // _RWSTD_NO_MBTOWC
+-
+-    using ::qsort;
+-    using ::rand;
+-    using ::realloc;
+-    using ::srand;
+-    using ::strtod;
+-    using ::strtol;
+-    using ::strtoul;
+-    using ::system;
+-    using ::wcstombs;
+-    using ::wctomb;
+-
+-}   // namespace std
++ * ident "@(#)cstdlib.17.diff 1.1     09/08/21 SMI"
++ */
+ 
+-#endif   // !_RWSTD_NO_NAMESPACE && !_RWSTD_NO_HONOR_STD && !_RWSTD_NO_USING_LIBC_IN_STD
++#ifndef _STDLIB_H
+ 
+-#endif   // _RWSTD_CSTDLIB_INCLUDED
++#include <stdlib.h>
+ 
+-#endif   // _RWSTD_NO_DEPRECATED_C_HEADERS
++#endif /* _STDLIB_H */
+ 
+-#endif   // _RWSTD_NO_PURE_C_HEADERS