mirror of git://sourceware.org/git/glibc.git
Work around the clang limitation wrt inline function and attribute
definition, where it does not allow to 'add' new attribute if a
function is already defined:
clang on x86_64 fails to build s_fabsf128.c with:
../sysdeps/ieee754/float128/../ldbl-128/s_fabsl.c:32:1: error: attribute declaration must precede definition [-Werror,-Wignored-attributes]
32 | libm_alias_ldouble (__fabs, fabs)
| ^
../sysdeps/generic/libm-alias-ldouble.h:63:38: note: expanded from macro 'libm_alias_ldouble'
63 | #define libm_alias_ldouble(from, to) libm_alias_ldouble_r (from, to, )
| ^
../sysdeps/ieee754/float128/float128_private.h:133:43: note: expanded from macro 'libm_alias_ldouble_r'
133 | #define libm_alias_ldouble_r(from, to, r) libm_alias_float128_r (from, to, r)
| ^
../sysdeps/ieee754/float128/s_fabsf128.c:5:3: note: expanded from macro 'libm_alias_float128_r'
5 | static_weak_alias (from ## f128 ## r, to ## f128 ## r); \
| ^
./../include/libc-symbols.h:166:46: note: expanded from macro 'static_weak_alias'
166 | # define static_weak_alias(name, aliasname) weak_alias (name, aliasname)
| ^
./../include/libc-symbols.h:154:38: note: expanded from macro 'weak_alias'
154 | # define weak_alias(name, aliasname) _weak_alias (name, aliasname)
| ^
./../include/libc-symbols.h:156:52: note: expanded from macro '_weak_alias'
156 | extern __typeof (name) aliasname __attribute__ ((weak, alias (#name))) \
| ^
../include/math.h:134:1: note: previous definition is here
134 | fabsf128 (_Float128 x)
If compiler does not support __USE_EXTERN_INLINES we need to route
fabsf128 call to an internal symbol.
|
||
|---|---|---|
| .. | ||
| arpa | ||
| bits | ||
| gnu | ||
| net | ||
| netinet | ||
| programs | ||
| protocols | ||
| rpc | ||
| rpcsvc | ||
| sys | ||
| aio.h | ||
| aliases.h | ||
| alloc_buffer.h | ||
| alloca.h | ||
| allocate_once.h | ||
| ar.h | ||
| argp-fmtstream.h | ||
| argp.h | ||
| argz.h | ||
| array_length.h | ||
| assert.h | ||
| atomic.h | ||
| atomic_wide_counter.h | ||
| byteswap.h | ||
| clone_internal.h | ||
| complex.h | ||
| cpio.h | ||
| ctype.h | ||
| des.h | ||
| dirent.h | ||
| dlfcn.h | ||
| dso_handle.h | ||
| elf.h | ||
| endian.h | ||
| envz.h | ||
| err.h | ||
| errno.h | ||
| error.h | ||
| execinfo.h | ||
| fcntl.h | ||
| features-time64.h | ||
| features.h | ||
| fenv.h | ||
| file_change_detection.h | ||
| filename.h | ||
| float.h | ||
| fmtmsg.h | ||
| fnmatch.h | ||
| fpu_control.h | ||
| fstab.h | ||
| fts.h | ||
| ftw.h | ||
| gconv.h | ||
| getopt.h | ||
| getopt_int.h | ||
| glob.h | ||
| gmp.h | ||
| gnu-versions.h | ||
| grp-merge.h | ||
| grp.h | ||
| gshadow.h | ||
| iconv.h | ||
| idx.h | ||
| ifaddrs.h | ||
| ifreq.h | ||
| ifunc-impl-list.h | ||
| inline-hashtab.h | ||
| intprops-internal.h | ||
| intprops.h | ||
| inttypes.h | ||
| langinfo.h | ||
| lastlog.h | ||
| libc-diag.h | ||
| libc-internal.h | ||
| libc-misc.h | ||
| libc-pointer-arith.h | ||
| libc-symbols.h | ||
| libgen.h | ||
| libintl.h | ||
| limits.h | ||
| link.h | ||
| list.h | ||
| list_t.h | ||
| locale.h | ||
| loop_unroll.h | ||
| malloc.h | ||
| math-narrow-eval.h | ||
| math.h | ||
| mcheck.h | ||
| memory.h | ||
| mntent.h | ||
| monetary.h | ||
| mqueue.h | ||
| netdb.h | ||
| netgroup.h | ||
| nl_types.h | ||
| nss.h | ||
| nss_dns.h | ||
| nss_files.h | ||
| nsswitch.h | ||
| obstack.h | ||
| plural-exp.h | ||
| poll.h | ||
| printf.h | ||
| printf_buffer.h | ||
| pthread.h | ||
| pty.h | ||
| pwd.h | ||
| random-bits.h | ||
| re_comp.h | ||
| regex.h | ||
| regexp.h | ||
| register-atfork.h | ||
| resolv.h | ||
| rounding-mode.h | ||
| rtld-malloc.h | ||
| sched.h | ||
| scratch_buffer.h | ||
| search.h | ||
| set-freeres.h | ||
| setjmp.h | ||
| sgtty.h | ||
| shadow.h | ||
| shlib-compat.h | ||
| shm-directory.h | ||
| signal.h | ||
| spawn.h | ||
| stab.h | ||
| stackinfo.h | ||
| stap-probe.h | ||
| stdbit.h | ||
| stdc-predef.h | ||
| stdint.h | ||
| stdio.h | ||
| stdio_ext.h | ||
| stdlib.h | ||
| string.h | ||
| strings.h | ||
| struct___timeb64.h | ||
| struct___timespec64.h | ||
| struct___timeval64.h | ||
| stubs-prologue.h | ||
| syscall.h | ||
| sysexits.h | ||
| syslog.h | ||
| tar.h | ||
| termios.h | ||
| tgmath.h | ||
| time.h | ||
| ttyent.h | ||
| uchar.h | ||
| ucontext.h | ||
| ulimit.h | ||
| unistd.h | ||
| unistd_ext.h | ||
| utime.h | ||
| utmp.h | ||
| values.h | ||
| verify.h | ||
| wait.h | ||
| wchar.h | ||
| wctype.h | ||
| wordexp.h | ||