On Tue, 18 Oct 2016, Florian Weimer wrote: > However, TS 18661-1 added “iszero” to , 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