107 lines
3.9 KiB
C
107 lines
3.9 KiB
C
/***************************************************************************
|
|
*
|
|
* _config-acc.h - HP aC++ configuration definitions
|
|
*
|
|
* This is an internal header file used to implement the C++ Standard
|
|
* Library. It should never be #included directly by a program.
|
|
*
|
|
* $Id: _config-acc.h 650742 2008-04-23 04:55:38Z sebor $
|
|
*
|
|
***************************************************************************
|
|
*
|
|
* 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 1994-2008 Rogue Wave Software, Inc.
|
|
*
|
|
**************************************************************************/
|
|
|
|
// _REENTRANT is defined by the -mt compiler option
|
|
|
|
// accommodate aCC 1.xx (HP-UX 10.xx), aCC 3.xx (HP-UX 11/PA-RISC)
|
|
// and aCC 5.xx (HP-UX 11/IA64)
|
|
#define _RWSTD_HP_aCC_MAJOR (__HP_aCC / 10000)
|
|
#define _RWSTD_HP_aCC_MINOR (__HP_aCC % 10000)
|
|
|
|
// new C++ libc headers supported
|
|
#undef _RWSTD_NO_NEW_HEADER
|
|
|
|
#ifndef _RWSTD_NO_PURE_C_HEADERS
|
|
// disable for now
|
|
# define _RWSTD_NO_PURE_C_HEADERS
|
|
#endif // _RWSTD_NO_PURE_C_HEADERS
|
|
|
|
// deprecated C++ libc headers don't introduce names into namespace std
|
|
#ifndef _RWSTD_NO_DEPRECATED_LIBC_IN_STD
|
|
# define _RWSTD_NO_DEPRECATED_LIBC_IN_STD
|
|
#endif
|
|
|
|
// deprecated C++ libc headers aren't used
|
|
#define _RWSTD_NO_DEPRECATED_C_HEADERS
|
|
|
|
// prevents Error (future) 553: Expected type arguments to follow
|
|
// class template name.
|
|
#define _RWSTD_REDUNDANT_TMPL_PARAMS
|
|
|
|
#if (_RWSTD_HP_aCC_MINOR < 3300) && !defined (_RWSTD_NO_MBSTATE_T)
|
|
// mbstate_t definition is guarded in _mbstate_t.h and is available
|
|
// only if _INCLUDE__STDC_A1_SOURCE is defined (i.e., with -AA)
|
|
# define _RWSTD_NO_MBSTATE_T
|
|
#endif
|
|
|
|
#if defined (_HP_NAMESPACE_STD) || defined (_NAMESPACE_STD)
|
|
# undef _RWSTD_NO_RUNTIME_IN_STD
|
|
# undef _RWSTD_NO_STD_BAD_TYPEID
|
|
# undef _RWSTD_NO_STD_TYPE_INFO
|
|
#endif
|
|
|
|
#ifndef _RWSTD_NO_BAD_ALLOC_WHAT
|
|
// avoid the following ld errors:
|
|
// Unsatisfied symbol "Class tables [Vtable] dependent on
|
|
// key function: "bad_alloc::what() const"" in file [*.o]
|
|
// Unsatisfied symbol "typeid<bad_alloc>" in file [*.o]
|
|
# define _RWSTD_NO_BAD_ALLOC_WHAT
|
|
#endif // _RWSTD_NO_BAD_ALLOC_WHAT
|
|
|
|
#if __HP_aCC < 60000
|
|
# ifndef _RWSTD_NO_EXTERN_TEMPLATE
|
|
# ifndef _RWSTD_NO_STRING_NPOS_TYPE
|
|
// define the type of basic_string::npos to be size_t
|
|
// instead of basic_string::size_type to work around
|
|
// an HP aCC extern template bug #333 (only the HP
|
|
// front end has this bug; HP aCC 6.0 which uses the
|
|
// EDG front end works fine
|
|
# define _RWSTD_NO_STRING_NPOS_TYPE
|
|
# endif // _RWSTD_NO_STRING_NPOS_TYPE
|
|
# endif // _RWSTD_NO_EXTERN_TEMPLATE
|
|
#endif // aCC < 6.0
|
|
|
|
#ifdef __HPACC_NOEH
|
|
// disable exceptions when the macro __HPACC_NOEH
|
|
// is #defined by the compiler, e.g., when the
|
|
// +noeh option is used
|
|
# ifndef _RWSTD_NO_EXCEPTIONS
|
|
# define _RWSTD_NO_EXCEPTIONS
|
|
# endif // _RWSTD_NO_EXCEPTIONS
|
|
#endif // __HPACC_NOEH
|
|
|
|
#if 6 <= _RWSTD_HP_aCC_MAJOR
|
|
// aCC 6 attribute((noreturn)) to indicate that a function
|
|
// doesn't return (it may exit by throwing an exception)
|
|
# define _RWSTD_ATTRIBUTE_NORETURN __attribute__ ((noreturn))
|
|
#endif // aCC >= 6
|
|
|