libstdc++: compatibility.h Source File

libstdc++

x86_64-pc-linux-gnu/bits/compatibility.h
Go to the documentation of this file.
1// Compatibility symbols for previous versions -*- C++ -*-
2
3// Copyright (C) 2005-2026 Free Software Foundation, Inc.
4//
5// This file is part of the GNU ISO C++ Library. This library is free
6// software; you can redistribute it and/or modify it under the
7// terms of the GNU General Public License as published by the
8// Free Software Foundation; either version 3, or (at your option)
9// any later version.
10
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// Under Section 7 of GPL version 3, you are granted additional
17// permissions described in the GCC Runtime Library Exception, version
18// 3.1, as published by the Free Software Foundation.
19
20// You should have received a copy of the GNU General Public License and
21// a copy of the GCC Runtime Library Exception along with this program;
22// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
23// <http://www.gnu.org/licenses/>.
24
25/** @file bits/compatibility.h
26 * This is an internal header file, included by other library sources.
27 * You should not attempt to use it directly.
28 */
29
30// Switch for symbol version macro.
31#ifndef _GLIBCXX_APPLY_SYMVER
32#error must define _GLIBCXX_APPLY_SYMVER before including __FILE__
33#endif
34
35/* gcc-3.4.4
36_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv
37_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv
38 */
39namespace
40{
41_GLIBCXX_APPLY_SYMVER(_ZNSt21istreambuf_iteratorXXIcSt11char_traitsIcEEppEv,
42 _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv)
43
44#ifdef _GLIBCXX_USE_WCHAR_T
45_GLIBCXX_APPLY_SYMVER(_ZNSt21istreambuf_iteratorXXIwSt11char_traitsIwEEppEv,
46 _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv)
47#endif
48} // anonymous namespace
49
50/* gcc-4.0.0
51_ZNSs4_Rep26_M_set_length_and_sharableEj
52_ZNSs7_M_copyEPcPKcj
53_ZNSs7_M_moveEPcPKcj
54_ZNSs9_M_assignEPcjc
55_ZNKSs11_M_disjunctEPKc
56_ZNKSs15_M_check_lengthEjjPKc
57_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj
58_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj
59_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj
60_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw
61_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw
62_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc
63
64_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv
65_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv
66_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv
67_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv
68_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv
69_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv
70
71_ZNSi6ignoreEi
72_ZNSi6ignoreEv
73_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi
74_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv
75
76_ZNSt11char_traitsIcE2eqERKcS2_
77_ZNSt11char_traitsIwE2eqERKwS2_
78 */
79namespace
80{
81_GLIBCXX_APPLY_SYMVER(_ZNSt11char_traitsIcE4eqXXERKcS2_,
82 _ZNSt11char_traitsIcE2eqERKcS2_)
83
84#ifdef _GLIBCXX_SIZE_T_IS_UINT
85_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_copyXXEPcPKcj,
86 _ZNSs7_M_copyEPcPKcj)
87#else
88_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_copyXXEPcPKcm,
89 _ZNSs7_M_copyEPcPKcm)
90#endif
91
92#ifdef _GLIBCXX_SIZE_T_IS_UINT
93_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_moveXXEPcPKcj,
94 _ZNSs7_M_moveEPcPKcj)
95#else
96_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_moveXXEPcPKcm,
97 _ZNSs7_M_moveEPcPKcm)
98#endif
99
100#ifdef _GLIBCXX_SIZE_T_IS_UINT
101_GLIBCXX_APPLY_SYMVER(_ZNSs11_M_assignXXEPcjc,
102 _ZNSs9_M_assignEPcjc)
103#else
104_GLIBCXX_APPLY_SYMVER(_ZNSs11_M_assignXXEPcmc,
105 _ZNSs9_M_assignEPcmc)
106#endif
107
108_GLIBCXX_APPLY_SYMVER(_ZNKSs13_M_disjunctXXEPKc,
109 _ZNKSs11_M_disjunctEPKc)
110
111#ifdef _GLIBCXX_SIZE_T_IS_UINT
112_GLIBCXX_APPLY_SYMVER(_ZNKSs17_M_check_lengthXXEjjPKc,
113 _ZNKSs15_M_check_lengthEjjPKc)
114#else
115_GLIBCXX_APPLY_SYMVER(_ZNKSs17_M_check_lengthXXEmmPKc,
116 _ZNKSs15_M_check_lengthEmmPKc)
117#endif
118
119#ifdef _GLIBCXX_SIZE_T_IS_UINT
120 _GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep28_M_set_length_and_sharableXXEj,
121 _ZNSs4_Rep26_M_set_length_and_sharableEj)
122#else
123 _GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep28_M_set_length_and_sharableXXEm,
124 _ZNSs4_Rep26_M_set_length_and_sharableEm)
125#endif
126
127_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEv, _ZNSi6ignoreEv)
128
129#ifdef _GLIBCXX_PTRDIFF_T_IS_INT
130_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEi, _ZNSi6ignoreEi)
131#else
132_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEl, _ZNSi6ignoreEl)
133#endif
134
135_GLIBCXX_APPLY_SYMVER(_ZNKSt15basic_fstreamXXIcSt11char_traitsIcEE7is_openEv,
136 _ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv)
137
138_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ifstreamXXIcSt11char_traitsIcEE7is_openEv,
139 _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv)
140
141_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ofstreamXXIcSt11char_traitsIcEE7is_openEv,
142 _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv)
143
144 // Support for wchar_t.
145#ifdef _GLIBCXX_USE_WCHAR_T
146_GLIBCXX_APPLY_SYMVER(_ZNSt11char_traitsIwE4eqXXERKwS2_,
147 _ZNSt11char_traitsIwE2eqERKwS2_)
148
149#ifdef _GLIBCXX_SIZE_T_IS_UINT
150_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_copyXXEPwPKwj,
151 _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj)
152#else
153 _GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_copyXXEPwPKwm,
154 _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm)
155#endif
156
157#ifdef _GLIBCXX_SIZE_T_IS_UINT
158_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_moveXXEPwPKwj,
159 _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj)
160#else
161_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_moveXXEPwPKwm,
162 _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm)
163#endif
164
165#ifdef _GLIBCXX_SIZE_T_IS_UINT
166_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE11_M_assignXXEPwjw,
167 _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw)
168#else
169_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE11_M_assignXXEPwmw,
170 _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw)
171#endif
172
173_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE13_M_disjunctXXEPKw,
174 _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw)
175
176#ifdef _GLIBCXX_SIZE_T_IS_UINT
177_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE17_M_check_lengthXXEjjPKc,
178 _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc)
179#else
180_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE17_M_check_lengthXXEmmPKc,
181 _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc)
182#endif
183
184#ifdef _GLIBCXX_SIZE_T_IS_UINT
185_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep28_M_set_length_and_sharableXXEj,
186 _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj)
187#else
188_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep28_M_set_length_and_sharableXXEm,
189 _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm)
190#endif
191
192_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEv,
193 _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv)
194
195#ifdef _GLIBCXX_PTRDIFF_T_IS_INT
196_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEi,
197 _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi)
198#else
199_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEl,
200 _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl)
201#endif
202
203_GLIBCXX_APPLY_SYMVER(_ZNKSt15basic_fstreamXXIwSt11char_traitsIwEE7is_openEv,
204 _ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv)
205
206_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ifstreamXXIwSt11char_traitsIwEE7is_openEv,
207 _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv)
208
209_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ofstreamXXIwSt11char_traitsIwEE7is_openEv,
210 _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv)
211#endif
212 } // anonymous namespace
213