|
From: | Paul Eggert |
Subject: | Re: [Emacs-diffs] master bc78ff2 2/2: Use 0 for Qnil |
Date: | Wed, 07 Jan 2015 23:05:31 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
YAMAMOTO Mitsuharu wrote:
With the above macros, XUNTAG (a, type) is expanded to: ((void *) ((char *) (0) - (type) + (intptr_t) XLI (a))) It is relative to the NULL pointer and clang seems to treat its dereference as an undefined behavior.
Thanks for diagnosing that. This is arguably a bug in clang, but it's easy enough to work around as you suggest. I reproduced the problem with Fedora 21 x86-64 (clang 3.5.0) and installed the attached patch, which fixed it for me.
0001-Port-Qnil-0-XUNTAG-to-clang.patch
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |