freebsd-src/include
Conrad Meyer 215332ffe7 cdefs: Add __deprecated(message) function attribute macro
The legacy version of GCC4 currently in base does not support the
parameterized form of this function attribute, as recent introduced in
stdlib.h (r355747).

As we have done for other function attributes with similar compatibility
problems, add a version-compatibile definition in sys/cdefs.h.  Note that
Clang defines itself to be GCC 4, so one must check for __clang__ in
addition to __GNUC__ version.  On legacy GCC 4, the macro expands to just
the __deprecated__ attribute; on modern GCC or Clang, the macro expands to
the parameterized variant with the message.

Ignoring legacy or unsupported compilers, the macro is also beneficial in
that it is a bit more ergonomic than the full
__attribute__((__deprecated__())) boilerplate.

Reported by:	CI (but not tinderbox); imp and others
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D22817
2019-12-14 21:52:49 +00:00
..
arpa SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
gssapi Add META_MODE support. 2015-06-13 19:20:56 +00:00
protocols Use a private definition of osockaddr rather then relying on type 2019-01-18 21:30:06 +00:00
rpc include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
rpcsvc Increase YPMAXRECORD to 16M to be compatible with Linux. 2019-08-12 20:27:33 +00:00
xlocale include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
_ctype.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
a.out.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
ar.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
assert.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
bitstring.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
complex.h msun: add ld80/ld128 powl, cpow, cpowf, cpowl from openbsd 2018-07-15 00:23:10 +00:00
cpio.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
ctype.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
db.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
dirent.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
dlfcn.h Revert r343093 until I can address the issues raised by kib@. 2019-01-17 16:50:50 +00:00
elf-hints.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
elf.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
err.h Avoid implicit gcc nonnull attribute in vwarnx(). 2018-01-28 19:37:30 +00:00
fmtmsg.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
fnmatch.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
fstab.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
fts.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
ftw.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
getopt.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
glob.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
grp.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
gssapi.h
hesiod.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
iconv.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
ieeefp.h People porting FreeBSD to new architectures ought not have to 2011-10-21 06:41:46 +00:00
ifaddrs.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
inttypes.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
iso646.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
kenv.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
langinfo.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
libgen.h Remove basename_r(3). 2017-12-08 22:06:18 +00:00
limits.h Reduce NL_ARGMAX to 4096 to match Linux. 2018-10-04 21:55:58 +00:00
link.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
locale.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
Makefile pkgbase: Add TAG for evdev and veriexec headers 2019-09-05 14:14:47 +00:00
Makefile.depend new depends 2015-06-16 23:37:19 +00:00
malloc.h
malloc_np.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
memory.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
mk-osreldate.sh Move to using newvers -c instead of VARS_ONLY=1 2019-05-23 17:19:05 +00:00
monetary.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
mpool.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
mqueue.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
ndbm.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
netconfig.h netconfig.h: sync with upstream. 2017-11-27 17:18:31 +00:00
netdb.h Fix mismatch from r342379. 2018-12-23 20:51:13 +00:00
nl_types.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
nlist.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
nss.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
nsswitch.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
paths.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
printf.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
proc_service.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
pthread.h POSIX compliance improvements in the pthread(3) functions. 2018-08-18 01:05:38 +00:00
pthread_np.h Add pthread_get_name_np(3). 2018-08-17 18:34:07 +00:00
pwd.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
ranlib.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
readpassphrase.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
regex.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
res_update.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
resolv.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
runetype.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
search.h Improve typing of POSIX search tree functions. 2016-10-13 18:25:40 +00:00
semaphore.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
setjmp.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
signal.h Add sigsetop extensions commonly found in musl libc and glibc 2019-12-12 01:41:55 +00:00
spawn.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
stab.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
stdalign.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
stdbool.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
stddef.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
stdio.h Make snprintf(3) and vscanf(3) definitions available under appropriate 2019-09-09 11:15:14 +00:00
stdlib.h cdefs: Add __deprecated(message) function attribute macro 2019-12-14 21:52:49 +00:00
stdnoreturn.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
string.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
stringlist.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
strings.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
sysexits.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
tar.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
termios.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
tgmath.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
time.h Correctly check for C++17 and higher when declaring timespec_get() 2019-12-09 19:17:56 +00:00
timeconv.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
timers.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
ttyent.h Improve missing tty handling in init(8). This removes a check that did 2018-02-27 10:54:15 +00:00
uchar.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
ulimit.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
unistd.h Add an entry for copy_file_range(2) to unistd.h. 2019-07-25 06:10:44 +00:00
unwind.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
utime.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
utmpx.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
uuid.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
varargs.h We don't support gcc < 4.2.1, so varargs.h now is just #error 2018-02-12 14:48:14 +00:00
wchar.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
wctype.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
wordexp.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
xlocale.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00