diff options
| author | gingerBill <bill@gingerbill.org> | 2020-04-10 19:52:17 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2020-04-10 19:52:17 +0100 |
| commit | 62dc99dbefa4dece8948672c295745f572d2978a (patch) | |
| tree | 45e5bce72540765bc21fb2c33875c92cc338c0c5 /src | |
| parent | b925ad592766c4c0cba0a63aeac8b6503580309b (diff) | |
Begin to make the -llvm-api more general
Diffstat (limited to 'src')
| -rw-r--r-- | src/build_settings.cpp | 11 | ||||
| -rw-r--r-- | src/llvm_backend.cpp | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp index 8cb40cadc..d9d810ea4 100644 --- a/src/build_settings.cpp +++ b/src/build_settings.cpp @@ -65,6 +65,7 @@ struct TargetMetrics { isize word_size; isize max_align; String target_triplet; + String target_data_layout; }; @@ -148,14 +149,15 @@ gb_global TargetMetrics target_windows_386 = { TargetArch_386, 4, 8, - str_lit("i686-pc-windows"), + str_lit("i386-pc-windows-msvc"), }; gb_global TargetMetrics target_windows_amd64 = { TargetOs_windows, TargetArch_amd64, 8, 16, - str_lit("x86_64-pc-windows-gnu"), + str_lit("x86_64-pc-windows-msvc"), + str_lit("e-m:w-i64:64-f80:128-n8:16:32:64-S128"), }; gb_global TargetMetrics target_linux_386 = { @@ -163,7 +165,8 @@ gb_global TargetMetrics target_linux_386 = { TargetArch_386, 4, 8, - str_lit("i686-pc-linux-gnu"), + str_lit("i386-pc-linux-gnu"), + }; gb_global TargetMetrics target_linux_amd64 = { TargetOs_linux, @@ -171,6 +174,7 @@ gb_global TargetMetrics target_linux_amd64 = { 8, 16, str_lit("x86_64-pc-linux-gnu"), + str_lit("e-m:w-i64:64-f80:128-n8:16:32:64-S128"), }; gb_global TargetMetrics target_darwin_amd64 = { @@ -179,6 +183,7 @@ gb_global TargetMetrics target_darwin_amd64 = { 8, 16, str_lit("x86_64-apple-darwin"), + str_lit("e-m:o-i64:64-f80:128-n8:16:32:64-S128"), }; gb_global TargetMetrics target_essence_amd64 = { diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 22ae6f601..50f6bde73 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -10985,8 +10985,8 @@ void lb_generate_code(lbGenerator *gen) { LLVMInitializeNativeTarget(); - char const *target_triple = "x86_64-pc-windows-msvc"; - char const *target_data_layout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"; + char const *target_triple = alloc_cstring(heap_allocator(), build_context.metrics.target_triplet); + char const *target_data_layout = alloc_cstring(heap_allocator(), build_context.metrics.target_data_layout); LLVMSetTarget(mod, target_triple); LLVMTargetRef target = {}; |