aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Machine.ml
diff options
context:
space:
mode:
Diffstat (limited to 'cparser/Machine.ml')
-rw-r--r--cparser/Machine.ml10
1 files changed, 8 insertions, 2 deletions
diff --git a/cparser/Machine.ml b/cparser/Machine.ml
index ac34fa5f..193d83c4 100644
--- a/cparser/Machine.ml
+++ b/cparser/Machine.ml
@@ -18,6 +18,7 @@
type struct_passing_style =
| SP_ref_callee (* by reference, callee takes copy *)
| SP_ref_caller (* by reference, caller takes copy *)
+ | SP_value32_ref_callee (* by value if <= 32 bits, by ref_callee otherwise *)
| SP_split_args (* by value, as a sequence of ints *)
type struct_return_style =
@@ -268,8 +269,13 @@ let mppa_k1c =
bigendian = false;
bitfields_msb_first = false; (* TO CHECK *)
supports_unaligned_accesses = true;
- struct_passing_style = SP_split_args;
- struct_return_style = SR_int1248 }
+ struct_passing_style = SP_value32_ref_callee;
+ struct_return_style = SR_int1to4 }
+
+let aarch64 =
+ { i32lpll64 with name = "aarch64";
+ struct_passing_style = SP_ref_callee; (* Wrong *)
+ struct_return_style = SR_ref } (* Wrong *)
(* Add GCC extensions re: sizeof and alignof *)