about summary refs log tree commit diff
path: root/CONFORMANCE
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2016-11-14 08:34:59 -0500
committerZack Weinberg <zackw@panix.com>2016-11-14 08:34:59 -0500
commit809b72df6c90303aa3622a28f2837ec6c518290d (patch)
treeb3c7546831817355514ffd37d522acc43f6899b2 /CONFORMANCE
parent14f95a420313ee745b80fe71a0fe6f61b46b327c (diff)
downloadglibc-809b72df6c90303aa3622a28f2837ec6c518290d.tar.gz
glibc-809b72df6c90303aa3622a28f2837ec6c518290d.tar.xz
glibc-809b72df6c90303aa3622a28f2837ec6c518290d.zip
[BZ #19239] Issue deprecation warnings on macro expansion.
By using __glibc_macro_warning instead of __attribute_deprecated__,
we get the deprecation warnings whenever the macros are expanded,
not just when they compile to a function call.  This is important
for unintentional uses like the test case in #19239 (C++ var(value)
initialization syntax, with a variable named "major").  It's also
simpler, because __REDIRECT is no longer required.

	* misc/sys/sysmacros.h (__SYSMACROS_DM, __SYSMACROS_DM1): New macros.
	(__SYSMACROS_DEPRECATION_MSG, __SYSMACROS_FST_DECL_TEMPL)
	(__SYSMACROS_FST_IMPL_TEMPL): Delete.
	(major, minor, makedev): Use __SYSMACROS_DM in definition, instead
	of redirected function names.

	* misc/sys/cdefs.h (__glibc_macro_warning): Activate for clang >= 3.5
	as well.  Document that MESSAGE must be a single string literal.
Diffstat (limited to 'CONFORMANCE')
0 files changed, 0 insertions, 0 deletions