stdalign: port better to MSVC and to Sun C 5.11
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 1 Nov 2011 05:37:30 +0000 (22:37 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 1 Nov 2011 05:37:30 +0000 (22:37 -0700)
commit4e647944bd613bb7b419779881b5f3cb053f2869
tree29bda522598315d596c44f9b130ccfe559ce3336
parentfeb744a1162b0fce57ffd075c083d825bf3994f5
stdalign: port better to MSVC and to Sun C 5.11

I think these problems were reported by Bruno Haible, in email
that I've unfortunately misplaced.
* doc/posix-headers/stdalign.texi (stdalign.h): Document more
shortcomings of MSVC and of Sun C 5.11.
* lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
around __declspec arg.
* modules/stdalign-tests (Files): Add tests/macros.h.
* tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
Include macros.h, for ASSERT.
(DECLARE_ALIGNED): Remove.
(TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
to catch bug), and to 1 if not (simplifies the rest of the code).
(CHECK_STATIC): Always declare the alignment test vars; that's simpler.
(CHECK_AUTO): Remove.
(CHECK_ALIGNED): Check only the alignment of the static vars,
since auto var alignment isn't supported by Sun C 5.11.
(CHECK_TYPES): Remove.  All uses replaced by inline code, so that
ASSERT failures are easier to diagnose.
ChangeLog
doc/posix-headers/stdalign.texi
lib/stdalign.in.h
modules/stdalign-tests
tests/test-stdalign.c