aboutsummaryrefslogtreecommitdiffstats
path: root/test/regression/Results/alignas
Commit message (Collapse)AuthorAgeFilesLines
* Attach _Alignas to names and refactor _Alignas checks (#133)Bernhard Schommer2018-09-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor common code of alignas. Instead of working on attributes the function now works directly on the type since the check always performed an extraction of attributes from a type. Bug 23393 * Attach _Alignas to the name. Bug 23393 * Attach "aligned" attributes to names So that __attribute((aligned(N))) remains consistent with _Alignas(N). gcc and clang apply "aligned" attributes to names, with a special case for typedefs: typedef __attribute((aligned(16))) int int_al_16; int_al_16 * p; __attribute((aligned(16))) int * q; For gcc, p is naturally-aligned pointer to 16-aligned int and q is 16-aligned pointer to naturally-aligned int. For CompCert with this commit, both p and q are 16-aligned pointers to naturally-aligned int. * Resurrect the alignment test involving typedef The test was removed because it involved an _Alignas in a typedef, which is no longer supported. However the same effect can be achieved with an "aligned" attribute, which is still supported in typedef.
* Remove the `_Alignas(expr)` construct (#125)Xavier Leroy2018-06-071-9/+9
| | | | The `_Alignas(expr)` construct is not C11, only `_Alignas(type)` is.
* Add a type system for CompCert C and type-checking constructor functions.Xavier Leroy2014-12-311-2/+2
| | | | | Use these constructor functions in C2C to rely less on the types produced by the unverified elaborator.
* Revised treatment of _Alignas, for better compatibility with GCC and Clang, ↵xleroy2013-11-061-0/+9
and to avoid wasting global variable space by inflating their sizeof needlessly. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2362 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e