aboutsummaryrefslogtreecommitdiffstats
path: root/cparser
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2015-07-07 17:50:55 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2015-07-07 17:50:55 +0200
commita28cb16aeb266fd41c0ce2ddbe0a0d8d2cbf20de (patch)
treedb93813fea34db3acecd7d628bd09ebdc81a5180 /cparser
parent437ac77449d759469ab4d5c8e0f37b80c0ad6e31 (diff)
downloadcompcert-kvx-a28cb16aeb266fd41c0ce2ddbe0a0d8d2cbf20de.tar.gz
compcert-kvx-a28cb16aeb266fd41c0ce2ddbe0a0d8d2cbf20de.zip
Diab defines w_char to be unsigned short.
Diffstat (limited to 'cparser')
-rw-r--r--cparser/Cutil.ml3
-rw-r--r--cparser/Machine.ml4
-rw-r--r--cparser/Machine.mli1
3 files changed, 7 insertions, 1 deletions
diff --git a/cparser/Cutil.ml b/cparser/Cutil.ml
index 221bd7cc..a3c05c34 100644
--- a/cparser/Cutil.ml
+++ b/cparser/Cutil.ml
@@ -721,7 +721,8 @@ let type_of_member env fld =
let find_matching_unsigned_ikind sz =
assert (sz > 0);
- if sz = !config.sizeof_int then IUInt
+ if sz = !config.sizeof_short then IUShort
+ else if sz = !config.sizeof_int then IUInt
else if sz = !config.sizeof_long then IULong
else if sz = !config.sizeof_longlong then IULongLong
else assert false
diff --git a/cparser/Machine.ml b/cparser/Machine.ml
index bd6489fd..7a12c649 100644
--- a/cparser/Machine.ml
+++ b/cparser/Machine.ml
@@ -170,6 +170,10 @@ let ppc_32_bigendian =
bitfields_msb_first = true;
supports_unaligned_accesses = true }
+let ppc_32_diab_bigendian =
+ { ppc_32_bigendian with sizeof_wchar = 2; wchar_signed = false }
+
+
let arm_littleendian =
{ ilp32ll64 with name = "arm" }
diff --git a/cparser/Machine.mli b/cparser/Machine.mli
index fb7321f9..277ac3fb 100644
--- a/cparser/Machine.mli
+++ b/cparser/Machine.mli
@@ -62,6 +62,7 @@ val x86_64 : t
val win32 : t
val win64 : t
val ppc_32_bigendian : t
+val ppc_32_diab_bigendian : t
val arm_littleendian : t
val gcc_extensions : t -> t