Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
_config-acc.h
Go to the documentation of this file.
1
32// _REENTRANT is defined by the -mt compiler option
33
34// accommodate aCC 1.xx (HP-UX 10.xx), aCC 3.xx (HP-UX 11/PA-RISC)
35// and aCC 5.xx (HP-UX 11/IA64)
36#define _RWSTD_HP_aCC_MAJOR (__HP_aCC / 10000)
37#define _RWSTD_HP_aCC_MINOR (__HP_aCC % 10000)
38
39// new C++ libc headers supported
40#undef _RWSTD_NO_NEW_HEADER
41
42#ifndef _RWSTD_NO_PURE_C_HEADERS
43 // disable for now
44# define _RWSTD_NO_PURE_C_HEADERS
45#endif // _RWSTD_NO_PURE_C_HEADERS
46
47// deprecated C++ libc headers don't introduce names into namespace std
48#ifndef _RWSTD_NO_DEPRECATED_LIBC_IN_STD
49# define _RWSTD_NO_DEPRECATED_LIBC_IN_STD
50#endif
51
52// deprecated C++ libc headers aren't used
53#define _RWSTD_NO_DEPRECATED_C_HEADERS
54
55// prevents Error (future) 553: Expected type arguments to follow
56// class template name.
57#define _RWSTD_REDUNDANT_TMPL_PARAMS
58
59#if (_RWSTD_HP_aCC_MINOR < 3300) && !defined (_RWSTD_NO_MBSTATE_T)
60 // mbstate_t definition is guarded in _mbstate_t.h and is available
61 // only if _INCLUDE__STDC_A1_SOURCE is defined (i.e., with -AA)
62# define _RWSTD_NO_MBSTATE_T
63#endif
64
65#if defined (_HP_NAMESPACE_STD) || defined (_NAMESPACE_STD)
66# undef _RWSTD_NO_RUNTIME_IN_STD
67# undef _RWSTD_NO_STD_BAD_TYPEID
68# undef _RWSTD_NO_STD_TYPE_INFO
69#endif
70
71#ifndef _RWSTD_NO_BAD_ALLOC_WHAT
72 // avoid the following ld errors:
73 // Unsatisfied symbol "Class tables [Vtable] dependent on
74 // key function: "bad_alloc::what() const"" in file [*.o]
75 // Unsatisfied symbol "typeid<bad_alloc>" in file [*.o]
76# define _RWSTD_NO_BAD_ALLOC_WHAT
77#endif // _RWSTD_NO_BAD_ALLOC_WHAT
78
79#if __HP_aCC < 60000
80# ifndef _RWSTD_NO_EXTERN_TEMPLATE
81# ifndef _RWSTD_NO_STRING_NPOS_TYPE
82 // define the type of basic_string::npos to be size_t
83 // instead of basic_string::size_type to work around
84 // an HP aCC extern template bug #333 (only the HP
85 // front end has this bug; HP aCC 6.0 which uses the
86 // EDG front end works fine
87# define _RWSTD_NO_STRING_NPOS_TYPE
88# endif // _RWSTD_NO_STRING_NPOS_TYPE
89# endif // _RWSTD_NO_EXTERN_TEMPLATE
90#endif // aCC < 6.0
91
92#ifdef __HPACC_NOEH
93 // disable exceptions when the macro __HPACC_NOEH
94 // is #defined by the compiler, e.g., when the
95 // +noeh option is used
96# ifndef _RWSTD_NO_EXCEPTIONS
97# define _RWSTD_NO_EXCEPTIONS
98# endif // _RWSTD_NO_EXCEPTIONS
99#endif // __HPACC_NOEH
100
101#if 6 <= _RWSTD_HP_aCC_MAJOR
102 // aCC 6 attribute((noreturn)) to indicate that a function
103 // doesn't return (it may exit by throwing an exception)
104# define _RWSTD_ATTRIBUTE_NORETURN __attribute__ ((noreturn))
105#endif // aCC >= 6
106
107
108#if 60000 <= __HP_aCC
109# define _RWSTD_TT_ALIGN_OF(T) __alignof__(T)
110# define _RWSTD_TT_MAX_ALIGNMENT 128
111# define _RWSTD_TT_ALIGNED_POD(N) \
112 struct { unsigned char _C_align __attribute__ ((aligned ((N)))); }
113#endif // __HP_aCC >= 6.00
114
115