Symbol management in header files

Joseph Myers joseph@codesourcery.com
Tue Oct 18 15:57:00 GMT 2016


On Tue, 18 Oct 2016, Florian Weimer wrote:

> However, TS 18661-1 added “iszero” to <math.h>, and this causes some build
> failures.  Apparently, the main problem here is that it is a macro, which
> means it is not subject to scoping (which helps C++ in particular to cope with
> definitions of nextup/nextdown/fsub/canonincalize).

I think some build failures are inevitable with new features in headers; 
applications that use _GNU_SOURCE simply need to be updated, just as 
applications that defined their own getline function but didn't define 
_GNU_SOURCE needed updating when getline was added to POSIX and so to the 
default glibc API, and just as applications routinely need updating when 
new GCC versions add new diagnostics or increase the default C and C++ 
standards used.

-- 
Joseph S. Myers
joseph@codesourcery.com


More information about the Libc-alpha mailing list