/*************************************************************************** * * _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" 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