]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/libstdc++-v3/contrib/libstdc++-v3-4.1.0/docs/html/17_intro/BADNAMES
update
[l4.git] / l4 / pkg / libstdc++-v3 / contrib / libstdc++-v3-4.1.0 / docs / html / 17_intro / BADNAMES
1
2 This is the list of names "reserved to the implementation" that
3 have been claimed by certain compilers and system headers of interest,
4 and should not be used in the library.  It will grow, of course.
5 We generally are interested in names that are not all-caps, except
6 for those like "_T"
7
8 For Solarix:
9 _B
10 _C
11 _L
12 _N
13 _P
14 _S
15 _U
16 _X
17 _E1
18 ..
19 _E24
20
21 Irix adds:
22 _A
23 _G
24
25 MS adds:
26 _T
27
28 BSD adds:
29 __used
30 __unused
31 __inline
32 _Complex
33 __istype
34 __maskrune
35 __tolower
36 __toupper
37 __wchar_t
38 __wint_t
39 _res
40 _res_ext
41 __tg_*
42
43 For GCC:
44
45   [Note that this list is out of date.  It applies to the old
46   name-mangling; in G++ 3.0 and higher a different name-mangling is
47   used.  In addition, many of the bugs relating to G++ interpreting
48   these names as operators have been fixed.]
49
50   The full set of __* identifiers (combined from gcc/cp/lex.c and
51   gcc/cplus-dem.c) that are either old or new, but are definitely 
52   recognized by the demangler, is:
53
54 __aa
55 __aad
56 __ad
57 __addr
58 __adv
59 __aer
60 __als
61 __alshift
62 __amd
63 __ami
64 __aml
65 __amu
66 __aor
67 __apl
68 __array
69 __ars
70 __arshift
71 __as
72 __bit_and
73 __bit_ior
74 __bit_not
75 __bit_xor
76 __call
77 __cl
78 __cm
79 __cn
80 __co
81 __component
82 __compound
83 __cond
84 __convert
85 __delete
86 __dl
87 __dv
88 __eq
89 __er
90 __ge
91 __gt
92 __indirect
93 __le
94 __ls
95 __lt
96 __max
97 __md
98 __method_call
99 __mi
100 __min
101 __minus
102 __ml
103 __mm
104 __mn
105 __mult
106 __mx
107 __ne
108 __negate
109 __new
110 __nop
111 __nt
112 __nw
113 __oo
114 __op
115 __or
116 __pl
117 __plus
118 __postdecrement
119 __postincrement
120 __pp
121 __pt
122 __rf
123 __rm
124 __rs
125 __sz
126 __trunc_div
127 __trunc_mod
128 __truth_andif
129 __truth_not
130 __truth_orif
131 __vc
132 __vd
133 __vn
134
135 SGI badnames:
136 __builtin_alloca
137 __builtin_fsqrt
138 __builtin_sqrt
139 __builtin_fabs
140 __builtin_dabs
141 __builtin_cast_f2i
142 __builtin_cast_i2f
143 __builtin_cast_d2ll
144 __builtin_cast_ll2d
145 __builtin_copy_dhi2i
146 __builtin_copy_i2dhi
147 __builtin_copy_dlo2i
148 __builtin_copy_i2dlo
149 __add_and_fetch
150 __sub_and_fetch
151 __or_and_fetch
152 __xor_and_fetch
153 __and_and_fetch
154 __nand_and_fetch
155 __mpy_and_fetch
156 __min_and_fetch
157 __max_and_fetch
158 __fetch_and_add
159 __fetch_and_sub
160 __fetch_and_or
161 __fetch_and_xor
162 __fetch_and_and
163 __fetch_and_nand
164 __fetch_and_mpy
165 __fetch_and_min
166 __fetch_and_max
167 __lock_test_and_set
168 __lock_release
169 __lock_acquire
170 __compare_and_swap
171 __synchronize
172 __high_multiply
173 __unix
174 __sgi
175 __linux__
176 __i386__
177 __i486__
178 __cplusplus
179 __embedded_cplusplus
180 // long double conversion members mangled as __opr
181 // http://gcc.gnu.org/ml/libstdc++/1999-q4/msg00060.html
182 _opr