glibc/include
Paul E. Murphy 86005fdbf4 ldbl-128ibm-compat: workaround GCC 9 C++ PR90731
GCC 9 has a bug (PR90731) whereby __typeof does not correctly copy
exception specifiers[1].  Surprisingly, this can be quieted by declaring
"#pragma system_header", or if the headers are installed in a system
directory.

Work around this by using the pragma for any gcc version between
9.0 and 9.2 to ensure tests continue to compile.

[1] Example error from g++ 9.2.1:

In file included from ../include/sys/cdefs.h:3,
                 from ../include/features.h:465,
                 from ../bits/libc-header-start.h:33,
                 from ../math/math.h:27,
                 from ../include/math.h:7,
                 from test-math-isinff.cc:21:
../libio/bits/stdio-ldbl.h:25:20: error: declaration of ‘int sprintf(char*, const char*, ...)’ has a different exception specifier
   25 | __LDBL_REDIR_DECL (sprintf)
      |                    ^~~~~~~
../misc/sys/cdefs.h:461:26: note: in definition of macro ‘__LDBL_REDIR_DECL’
  461 |   extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128"));
      |                          ^~~~
In file included from ../include/stdio.h:5,
                 from test-math-isinff.cc:22:
../libio/stdio.h:334:12: note: from previous declaration ‘int sprintf(char*, const char*, ...) throw ()’
  334 | extern int sprintf (char *__restrict __s,
      |            ^~~~~~~

Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
2020-04-30 08:52:08 -05:00
..
arpa
bits
gnu
net
netinet
programs Use 2020 as copyright year. 2020-04-27 10:34:52 -04:00
protocols
rpc
rpcsvc
sys Linux: Remove <sys/sysctl.h> and the sysctl function 2020-04-15 17:17:32 +02:00
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
byteswap.h
complex.h
cpio.h
crypt.h
ctype.h
des.h
dirent.h
dlfcn.h
dso_handle.h
elf.h
endian.h
envz.h
err.h ldbl-128ibm-compat: PLT redirects for using ldbl redirects internally 2020-03-25 14:34:23 -05:00
errno.h
error.h
execinfo.h
fcntl.h
features.h
fenv.h
file_change_detection.h Move implementation of <file_change_detection.h> into a C file 2020-02-18 13:44:48 +01:00
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
ifaddrs.h
ifreq.h
ifunc-impl-list.h
inline-hashtab.h ld.so: Do not export free/calloc/malloc/realloc functions [BZ #25486] 2020-02-15 11:01:23 +01:00
intprops.h
inttypes.h
langinfo.h
lastlog.h
libc-diag.h
libc-internal.h csu: Use ELF constructor instead of _init in libc.so 2020-02-25 14:58:52 +01:00
libc-pointer-arith.h
libc-symbols.h ldbl-128ibm-compat: PLT redirects for using ldbl redirects internally 2020-03-25 14:34:23 -05:00
libgen.h
libintl.h
limits.h
link.h
list.h
list_t.h
locale.h
loop_unroll.h
malloc.h ld.so: Do not export free/calloc/malloc/realloc functions [BZ #25486] 2020-02-15 11:01:23 +01:00
math-narrow-eval.h
math.h ldbl-128ibm-compat: Redirect long double functions to f128/ieee128 functions 2020-02-28 08:20:02 -06:00
mcheck.h
memory.h
mntent.h
monetary.h ldbl-128ibm-compat: workaround GCC 9 C++ PR90731 2020-04-30 08:52:08 -05:00
mqueue.h y2038: linux: Provide __mq_timedreceive_time64 implementation 2020-04-06 23:05:11 +02:00
netdb.h nss_nis: Use NSS_DECLARE_MODULE_FUNCTIONS 2020-02-25 16:15:09 +01:00
netgroup.h
nl_types.h
nss.h
nsswitch.h
obstack.h
plural-exp.h
poll.h
printf.h ldbl-128ibm-compat: workaround GCC 9 C++ PR90731 2020-04-30 08:52:08 -05:00
pthread.h
pty.h
pwd.h
random-bits.h
re_comp.h
regex.h
regexp.h
resolv.h
rounding-mode.h
rtld-malloc.h ld.so: Do not export free/calloc/malloc/realloc functions [BZ #25486] 2020-02-15 11:01:23 +01:00
sched.h Add hidden prototypes for __sched_getparam, __sched_getscheduler 2020-02-20 08:57:01 +01:00
scratch_buffer.h
search.h
set-hooks.h
setjmp.h
sgtty.h
shadow.h
shlib-compat.h
signal.h
spawn.h
stab.h
stackinfo.h
stap-probe.h
stdc-predef.h
stdint.h
stdio.h ldbl-128ibm-compat: workaround GCC 9 C++ PR90731 2020-04-30 08:52:08 -05:00
stdio_ext.h
stdlib.h ldbl-128ibm-compat: workaround GCC 9 C++ PR90731 2020-04-30 08:52:08 -05:00
string.h
strings.h
struct___timespec64.h y2038: include: Move struct __timespec64 definition to a separate file 2020-04-06 23:05:11 +02:00
stubs-prologue.h
syscall.h
sysexits.h
syslog.h
tar.h
termios.h
tgmath.h
time.h y2038: include: Move struct __timespec64 definition to a separate file 2020-04-06 23:05:11 +02:00
ttyent.h
uchar.h
ucontext.h
ulimit.h
unistd.h
utime.h
utmp.h
values.h
verify.h
wait.h
wchar.h ldbl-128ibm-compat: workaround GCC 9 C++ PR90731 2020-04-30 08:52:08 -05:00
wctype.h
wordexp.h