aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Machine.mli
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2014-12-30 17:10:43 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2014-12-30 17:10:43 +0100
commit3b8a094dafdeea5499239adadaf24d2b8bdb1f76 (patch)
treef43cb88aa5e8f0d80a11af889b59163e07dac894 /cparser/Machine.mli
parent2d32afc5daf16c75d1a34f2716c34ae2e1efcce4 (diff)
downloadcompcert-kvx-3b8a094dafdeea5499239adadaf24d2b8bdb1f76.tar.gz
compcert-kvx-3b8a094dafdeea5499239adadaf24d2b8bdb1f76.zip
PR#6: fix handling of wchar_t and assignments from wide string literals.
- cparser/Machine indicates whether wchar_t is signed or not (it is signed int in Linux and BSD, but unsigned short in Win32) - The type of a wide string literal is "wchar_t *" if the typedef "wchar_t" exists in the environment (e.g. after #include <stddef.h>). Only if wchar_t is not defined do we use the default from Machine. - Permit initialization of any integer array from a wide string literal, not just an array of wchar_t.
Diffstat (limited to 'cparser/Machine.mli')
-rw-r--r--cparser/Machine.mli2
1 files changed, 2 insertions, 0 deletions
diff --git a/cparser/Machine.mli b/cparser/Machine.mli
index 0381bfce..b544711f 100644
--- a/cparser/Machine.mli
+++ b/cparser/Machine.mli
@@ -29,6 +29,7 @@ type t = {
sizeof_void: int option;
sizeof_fun: int option;
sizeof_wchar: int;
+ wchar_signed: bool;
sizeof_size_t: int;
sizeof_ptrdiff_t: int;
alignof_ptr: int;
@@ -51,6 +52,7 @@ val i32lpll64 : t
val il32pll64 : t
val x86_32 : t
val x86_64 : t
+val win32 : t
val win64 : t
val ppc_32_bigendian : t
val arm_littleendian : t