aboutsummaryrefslogtreecommitdiffstats
path: root/driver/Frontend.ml
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2018-02-16 13:12:20 +0100
committerBernhard Schommer <bernhardschommer@gmail.com>2018-02-16 16:29:38 +0100
commit1099583341e3a218accf80391202a7e5390f54cc (patch)
treeea108305f673f6d8d65fdf4693116260133ff67e /driver/Frontend.ml
parent455b3384f85a23923001741d6b04deb88e997fd2 (diff)
downloadcompcert-kvx-1099583341e3a218accf80391202a7e5390f54cc.tar.gz
compcert-kvx-1099583341e3a218accf80391202a7e5390f54cc.zip
Move struct passing/return style to Machine.
Since the used configuration for passing and returning values struct values is pretty much static it can be hardwired into the machine settings.
Diffstat (limited to 'driver/Frontend.ml')
-rw-r--r--driver/Frontend.ml6
1 files changed, 5 insertions, 1 deletions
diff --git a/driver/Frontend.ml b/driver/Frontend.ml
index 2bc4f844..209e72e9 100644
--- a/driver/Frontend.ml
+++ b/driver/Frontend.ml
@@ -65,7 +65,9 @@ let init () =
Machine.config:=
begin match Configuration.arch with
| "powerpc" -> if Configuration.gnu_toolchain
- then Machine.ppc_32_bigendian
+ then if Configuration.abi = "linux"
+ then Machine.ppc_32_linux_bigendian
+ else Machine.ppc_32_bigendian
else Machine.ppc_32_diab_bigendian
| "arm" -> if Configuration.is_big_endian
then Machine.arm_bigendian
@@ -75,6 +77,8 @@ let init () =
else
if Configuration.abi = "macosx"
then Machine.x86_32_macosx
+ else if Configuration.system = "bsd"
+ then Machine.x86_32_bsd
else Machine.x86_32
| "riscV" -> if Configuration.model = "64"
then Machine.rv64