all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Herbert J. Skuhra" <herbert@mailbox.org>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: emacs-devel@gnu.org
Subject: Re: USE_LSB_TAG not supported on this platform
Date: Tue, 09 Feb 2016 12:12:02 +0100	[thread overview]
Message-ID: <8660xy3zp9.wl-herbert@mailbox.org> (raw)
In-Reply-To: <56B93C71.6060602@cs.ucla.edu>

On Tue, 09 Feb 2016 02:10:09 +0100,
Paul Eggert <eggert@cs.ucla.edu> wrote:
> 
> On 02/08/2016 03:01 PM, Herbert J. Skuhra wrote:
> > GCC 5 works but clang still fails. If I add
> > 
> > #define alignas _Alignas
> > 
> > to src/lisp.h the build succeeds.
> 
> Thanks, could you explain why that "#define" is helpful? On my
> platform (Fedora 23 x86-64, clang 3.7.0) clang's <stdalign.h>, which
> is in /usr/lib/clang/3.7.0/include/stdalign.h, contains this:
> 
> #ifndef __cplusplus
> #define alignas _Alignas
> #define alignof _Alignof
> #endif
> 
> and src/lisp.h includes <stdalign.h> before using or checking alignas,
> so there should be no need to add "#define alignas _Alignas" to
> lisp.h.

Checking for working stdalign.h fails with clang:

configure:28312: clang -c -g3 -O2    conftest.c >&5
conftest.c:309:30: error: 'test_double' declared as an array with a negative size
            char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1];
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
conftest.c:307:31: note: expanded from macro 'ao'
            # define ao(type) offsetof (struct { char a; type b; }, b)
                              ^
/usr/include/stddef.h:65:32: note: expanded from macro 'offsetof'
#define offsetof(type, member)  __offsetof(type, member)
                                ^
/usr/include/sys/cdefs.h:476:34: note: expanded from macro '__offsetof'
#define __offsetof(type, field)  __builtin_offsetof(type, field)
                                 ^
1 error generated.

If I modify the configure script as follows

--- configure.bak       2016-02-09 12:47:41.800783000 +0100
+++ configure   2016-02-09 12:48:06.230442000 +0100
@@ -28113,7 +28113,7 @@
 if ac_fn_c_try_compile "$LINENO"; then :
   gl_cv_header_working_stdalign_h=yes
 else
-  gl_cv_header_working_stdalign_h=no
+  gl_cv_header_working_stdalign_h=yes
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi

the build succeeds.

> Is there a file src/stdalign.h in your build directory?

Yes, lib/stdalign.h.
(Not after modifying configure.)

> If so, why is it there, and why does it not define alignas?

Sorry, I couldn't figure it out yet. 

> Are you building with clang++?

No.

--
Herbert



  reply	other threads:[~2016-02-09 11:12 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-04  8:32 USE_LSB_TAG not supported on this platform C. Baxter
2016-02-04 13:24 ` Stefan Monnier
2016-02-04 15:51 ` Paul Eggert
2016-02-04 22:29 ` Herbert J. Skuhra
2016-02-05  1:22   ` Paul Eggert
2016-02-05  9:45     ` Colin Baxter
2016-02-06 10:55     ` Herbert J. Skuhra
2016-02-06 16:04       ` Herbert J. Skuhra
2016-02-07 15:11         ` Wolfgang Jenkner
2016-02-07 19:14           ` Herbert J. Skuhra
2016-02-07 21:35           ` Herbert J. Skuhra
2016-02-08 19:45             ` Paul Eggert
2016-02-08 20:14               ` Eli Zaretskii
2016-02-09  8:39                 ` Paul Eggert
2016-02-09 16:59                   ` Eli Zaretskii
2016-02-09 17:37                     ` Paul Eggert
2016-02-09 18:02                       ` Eli Zaretskii
2016-02-10 19:29                         ` Colin Baxter
2016-02-08 23:01               ` Herbert J. Skuhra
2016-02-09  1:10                 ` Paul Eggert
2016-02-09 11:12                   ` Herbert J. Skuhra [this message]
2016-02-09 23:37                     ` Paul Eggert
2016-02-09 15:53         ` Wolfgang Jenkner
2016-02-09 23:33         ` Paul Eggert
2016-02-06 20:34       ` Paul Eggert
2016-02-07 16:52         ` Herbert J. Skuhra
2016-02-07 21:34           ` Paul Eggert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8660xy3zp9.wl-herbert@mailbox.org \
    --to=herbert@mailbox.org \
    --cc=eggert@cs.ucla.edu \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.