bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#22522: Commit b88e9cded7ae3756e3a2ec4a23e8df352a0239f9 breaks emacs


From: Ken Brown
Subject: bug#22522: Commit b88e9cded7ae3756e3a2ec4a23e8df352a0239f9 breaks emacs dumping for me
Date: Tue, 2 Feb 2016 17:08:25 -0500
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1

On 2/2/2016 3:25 PM, Ken Brown wrote:
On 2/2/2016 9:20 AM, Wolfgang Jenkner wrote:
On Mon, Feb 01 2016, Ken Brown wrote:

../../master/src/alloc.c: In function ‘lisp_align_malloc’:
../../master/src/alloc.c:1247:7: warning: implicit declaration of
function ‘hybrid_aligned_alloc’ [-Wimplicit-function-declaration]

Before Paul's 7fdc3cf, src/alloc.c used to contain a declaration for
aligned_alloc(), which a preprocessor definition turned into
a declaration for hybrid_aligned_alloc().  The preprocessor definition
was redundant as it is contained in src/conf_post.h as well, but the
declaration has to be supplied by some other include file.

(For FreeBSD, stdlib.h, which alloc.c includes, supplies the
declaration, guarded by #if __ISO_C_VISIBLE >= 2011 || __cplusplus >=
201103L, which is true by default, at least on FreeBSD 10).

Cygwin's stdlib.h also has the declaration with the same guard.  But for
some reason, alloc.c is still not getting the declaration.  I'll have to
figure out what's going on.

OK, here's what's happening. config.h defines _GNU_SOURCE. The following excerpt from /usr/include/sys/cdefs.h then causes __ISO_C_VISIBLE to be defined as 1999, thereby hiding the declaration of aligned_alloc:

#ifdef _GNU_SOURCE
[...]
#define _XOPEN_SOURCE           700
[...]
#endif
[...]
#if _XOPEN_SOURCE - 0 >= 700
[...]
#define _POSIX_C_SOURCE         200809
[...]
#endif
[...]
#if _POSIX_C_SOURCE >= 200809
[...]
#define __ISO_C_VISIBLE         1999
[...]
#endif /* _POSIX_C_SOURCE */

Paul, I can ask on the Cygwin list whether this should be changed to be more in line with other platforms. In the meantime, what's the best way to deal with this?

Ken





reply via email to

[Prev in Thread] Current Thread [Next in Thread]