mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 07:08:48 +00:00
Begin to make the -llvm-api more general
This commit is contained in:
@@ -65,6 +65,7 @@ struct TargetMetrics {
|
|||||||
isize word_size;
|
isize word_size;
|
||||||
isize max_align;
|
isize max_align;
|
||||||
String target_triplet;
|
String target_triplet;
|
||||||
|
String target_data_layout;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -148,14 +149,15 @@ gb_global TargetMetrics target_windows_386 = {
|
|||||||
TargetArch_386,
|
TargetArch_386,
|
||||||
4,
|
4,
|
||||||
8,
|
8,
|
||||||
str_lit("i686-pc-windows"),
|
str_lit("i386-pc-windows-msvc"),
|
||||||
};
|
};
|
||||||
gb_global TargetMetrics target_windows_amd64 = {
|
gb_global TargetMetrics target_windows_amd64 = {
|
||||||
TargetOs_windows,
|
TargetOs_windows,
|
||||||
TargetArch_amd64,
|
TargetArch_amd64,
|
||||||
8,
|
8,
|
||||||
16,
|
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 = {
|
gb_global TargetMetrics target_linux_386 = {
|
||||||
@@ -163,7 +165,8 @@ gb_global TargetMetrics target_linux_386 = {
|
|||||||
TargetArch_386,
|
TargetArch_386,
|
||||||
4,
|
4,
|
||||||
8,
|
8,
|
||||||
str_lit("i686-pc-linux-gnu"),
|
str_lit("i386-pc-linux-gnu"),
|
||||||
|
|
||||||
};
|
};
|
||||||
gb_global TargetMetrics target_linux_amd64 = {
|
gb_global TargetMetrics target_linux_amd64 = {
|
||||||
TargetOs_linux,
|
TargetOs_linux,
|
||||||
@@ -171,6 +174,7 @@ gb_global TargetMetrics target_linux_amd64 = {
|
|||||||
8,
|
8,
|
||||||
16,
|
16,
|
||||||
str_lit("x86_64-pc-linux-gnu"),
|
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 = {
|
gb_global TargetMetrics target_darwin_amd64 = {
|
||||||
@@ -179,6 +183,7 @@ gb_global TargetMetrics target_darwin_amd64 = {
|
|||||||
8,
|
8,
|
||||||
16,
|
16,
|
||||||
str_lit("x86_64-apple-darwin"),
|
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 = {
|
gb_global TargetMetrics target_essence_amd64 = {
|
||||||
|
|||||||
@@ -10985,8 +10985,8 @@ void lb_generate_code(lbGenerator *gen) {
|
|||||||
LLVMInitializeNativeTarget();
|
LLVMInitializeNativeTarget();
|
||||||
|
|
||||||
|
|
||||||
char const *target_triple = "x86_64-pc-windows-msvc";
|
char const *target_triple = alloc_cstring(heap_allocator(), build_context.metrics.target_triplet);
|
||||||
char const *target_data_layout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128";
|
char const *target_data_layout = alloc_cstring(heap_allocator(), build_context.metrics.target_data_layout);
|
||||||
LLVMSetTarget(mod, target_triple);
|
LLVMSetTarget(mod, target_triple);
|
||||||
|
|
||||||
LLVMTargetRef target = {};
|
LLVMTargetRef target = {};
|
||||||
|
|||||||
Reference in New Issue
Block a user