aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2020-10-20 12:25:11 +0100
committergingerBill <bill@gingerbill.org>2020-10-20 12:25:11 +0100
commit0be6ddc7e2149a1f6b8fbc08ecf2674926c11785 (patch)
treead23bdf871991e4272b60f6dba387f3c34d8ec33 /src/main.cpp
parentb1bdd95f19f5e472200954dd7c312a3fd48ae84d (diff)
Add `-microarch:<string>` (e.g. `-microarch:native`)
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main.cpp b/src/main.cpp
index b15518d6e..64da5b5b4 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -583,8 +583,9 @@ enum BuildFlagKind {
BuildFlag_UseLLVMApi,
BuildFlag_IgnoreUnknownAttributes,
BuildFlag_ExtraLinkerFlags,
- BuildFlag_DisallowDo,
+ BuildFlag_Microarch,
+ BuildFlag_DisallowDo,
BuildFlag_DefaultToNilAllocator,
BuildFlag_Compact,
@@ -681,9 +682,10 @@ bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_Vet, str_lit("vet"), BuildFlagParam_None);
add_flag(&build_flags, BuildFlag_UseLLVMApi, str_lit("llvm-api"), BuildFlagParam_None);
add_flag(&build_flags, BuildFlag_IgnoreUnknownAttributes, str_lit("ignore-unknown-attributes"), BuildFlagParam_None);
- add_flag(&build_flags, BuildFlag_ExtraLinkerFlags, str_lit("extra-linker-flags"), BuildFlagParam_String);
- add_flag(&build_flags, BuildFlag_DisallowDo, str_lit("disallow-do"), BuildFlagParam_None);
+ add_flag(&build_flags, BuildFlag_ExtraLinkerFlags, str_lit("extra-linker-flags"), BuildFlagParam_String);
+ add_flag(&build_flags, BuildFlag_Microarch, str_lit("microarch"), BuildFlagParam_String);
+ add_flag(&build_flags, BuildFlag_DisallowDo, str_lit("disallow-do"), BuildFlagParam_None);
add_flag(&build_flags, BuildFlag_DefaultToNilAllocator, str_lit("default-to-nil-allocator"), BuildFlagParam_None);
add_flag(&build_flags, BuildFlag_Compact, str_lit("compact"), BuildFlagParam_None);
@@ -1109,6 +1111,12 @@ bool parse_build_flags(Array<String> args) {
build_context.extra_linker_flags = value.value_string;
break;
+ case BuildFlag_Microarch:
+ GB_ASSERT(value.kind == ExactValue_String);
+ build_context.microarch = value.value_string;
+ string_to_lower(&build_context.microarch);
+ break;
+
case BuildFlag_DisallowDo:
build_context.disallow_do = true;
break;