comparison libatomic/libatomic_i.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Copyright (C) 2012-2017 Free Software Foundation, Inc. 1 /* Copyright (C) 2012-2018 Free Software Foundation, Inc.
2 Contributed by Richard Henderson <rth@redhat.com>. 2 Contributed by Richard Henderson <rth@redhat.com>.
3 3
4 This file is part of the GNU Atomic Library (libatomic). 4 This file is part of the GNU Atomic Library (libatomic).
5 5
6 Libatomic is free software; you can redistribute it and/or modify it 6 Libatomic is free software; you can redistribute it and/or modify it
238 # define EXPORT_ALIAS(X) /* exported symbol in non-alternate file */ 238 # define EXPORT_ALIAS(X) /* exported symbol in non-alternate file */
239 #elif defined(N) && IFUNC_NCOND(N) 239 #elif defined(N) && IFUNC_NCOND(N)
240 # if IFUNC_NCOND(N) == 1 240 # if IFUNC_NCOND(N) == 1
241 # define GEN_SELECTOR(X) \ 241 # define GEN_SELECTOR(X) \
242 extern typeof(C2(libat_,X)) C3(libat_,X,_i1) HIDDEN; \ 242 extern typeof(C2(libat_,X)) C3(libat_,X,_i1) HIDDEN; \
243 static typeof(C2(libat_,X)) * C2(select_,X) (void) \ 243 static typeof(C2(libat_,X)) * C2(select_,X) (IFUNC_RESOLVER_ARGS) \
244 { \ 244 { \
245 if (IFUNC_COND_1) \ 245 if (IFUNC_COND_1) \
246 return C3(libat_,X,_i1); \ 246 return C3(libat_,X,_i1); \
247 return C2(libat_,X); \ 247 return C2(libat_,X); \
248 } 248 }
249 # elif IFUNC_NCOND(N) == 2 249 # elif IFUNC_NCOND(N) == 2
250 # define GEN_SELECTOR(X) \ 250 # define GEN_SELECTOR(X) \
251 extern typeof(C2(libat_,X)) C3(libat_,X,_i1) HIDDEN; \ 251 extern typeof(C2(libat_,X)) C3(libat_,X,_i1) HIDDEN; \
252 extern typeof(C2(libat_,X)) C3(libat_,X,_i2) HIDDEN; \ 252 extern typeof(C2(libat_,X)) C3(libat_,X,_i2) HIDDEN; \
253 static typeof(C2(libat_,X)) * C2(select_,X) (void) \ 253 static typeof(C2(libat_,X)) * C2(select_,X) (IFUNC_RESOLVER_ARGS) \
254 { \ 254 { \
255 if (IFUNC_COND_1) \ 255 if (IFUNC_COND_1) \
256 return C3(libat_,X,_i1); \ 256 return C3(libat_,X,_i1); \
257 if (IFUNC_COND_2) \ 257 if (IFUNC_COND_2) \
258 return C3(libat_,X,_i2); \ 258 return C3(libat_,X,_i2); \
261 # elif IFUNC_NCOND(N) == 3 261 # elif IFUNC_NCOND(N) == 3
262 # define GEN_SELECTOR(X) \ 262 # define GEN_SELECTOR(X) \
263 extern typeof(C2(libat_,X)) C3(libat_,X,_i1) HIDDEN; \ 263 extern typeof(C2(libat_,X)) C3(libat_,X,_i1) HIDDEN; \
264 extern typeof(C2(libat_,X)) C3(libat_,X,_i2) HIDDEN; \ 264 extern typeof(C2(libat_,X)) C3(libat_,X,_i2) HIDDEN; \
265 extern typeof(C2(libat_,X)) C3(libat_,X,_i3) HIDDEN; \ 265 extern typeof(C2(libat_,X)) C3(libat_,X,_i3) HIDDEN; \
266 static typeof(C2(libat_,X)) * C2(select_,X) (void) \ 266 static typeof(C2(libat_,X)) * C2(select_,X) (IFUNC_RESOLVER_ARGS) \
267 { \ 267 { \
268 if (IFUNC_COND_1) \ 268 if (IFUNC_COND_1) \
269 return C3(libat_,X,_i1); \ 269 return C3(libat_,X,_i1); \
270 if (IFUNC_COND_2) \ 270 if (IFUNC_COND_2) \
271 return C3(libat_,X,_i2); \ 271 return C3(libat_,X,_i2); \