diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-02-26 10:41:07 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-02-26 10:41:07 +0000 |
commit | 2570ddd61b1c98b62c8d97fce862654535696844 (patch) | |
tree | e9a652b115045a3b2c4ade69ec3cc3fdad429b54 /cfrontend/Initializers.v | |
parent | 65cc3738e7436e46f70c0508638a71fbb49c50a8 (diff) | |
download | compcert-2570ddd61b1c98b62c8d97fce862654535696844.tar.gz compcert-2570ddd61b1c98b62c8d97fce862654535696844.zip |
- Support for _Alignof(ty) operator from ISO C 2011
and __alignof__(ty), __alignof__(expr) from GCC.
- Resurrected __builtin_memcpy_aligned, useful for files generated
by Scade KCG 6.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1827 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cfrontend/Initializers.v')
-rw-r--r-- | cfrontend/Initializers.v | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/cfrontend/Initializers.v b/cfrontend/Initializers.v index 9690ba8d..b4e39848 100644 --- a/cfrontend/Initializers.v +++ b/cfrontend/Initializers.v @@ -80,6 +80,8 @@ Fixpoint constval (a: expr) : res val := do v1 <- constval r; do_cast v1 (typeof r) ty | Esizeof ty1 ty => OK (Vint (Int.repr (sizeof ty1))) + | Ealignof ty1 ty => + OK (Vint (Int.repr (alignof ty1))) | Econdition r1 r2 r3 ty => do v1 <- constval r1; do v2 <- constval r2; |