commit 3227aec848bfe13d7a592eb887824e23e018aba9 (tree)
parent 48c7e6c48b81e6e0423b3e4aea238402189eecb7
Author: Andrew Kelley <andrew@ziglang.org>
Date: Wed, 22 Jan 2020 17:35:57 -0500
fix not respecting sub-arch feature
Diffstat:
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/lib/std/target.zig b/lib/std/target.zig
@@ -181,7 +181,7 @@ pub const Target = union(enum) {
};
}
- pub fn subArchFeature(arch: Arch) ?u8 {
+ pub fn subArchFeature(arch: Arch) ?Cpu.Feature.Set.Index {
return switch (arch) {
.arm, .armeb, .thumb, .thumbeb => |arm32| switch (arm32) {
.v8_5a => @enumToInt(arm.Feature.armv8_5_a),
@@ -295,8 +295,6 @@ pub const Target = union(enum) {
return error.UnknownCpuFeature;
}
}
-
- set.populateDependencies(all_features);
return set;
}
diff --git a/src-self-hosted/stage1.zig b/src-self-hosted/stage1.zig
@@ -790,7 +790,11 @@ fn stage2ParseCpuFeatures(
};
} else cpu.features;
+ if (arch.subArchFeature()) |index| {
+ set.addFeature(index);
+ }
set.populateDependencies(arch.allFeaturesList());
+
return Stage2CpuFeatures.createFromCpuFeatures(std.heap.c_allocator, arch, .{
.cpu = cpu,
.features = set,
diff --git a/src/codegen.cpp b/src/codegen.cpp
@@ -10679,6 +10679,7 @@ CodeGen *create_child_codegen(CodeGen *parent_gen, Buf *root_src_path, OutType o
child_gen->verbose_llvm_ir = parent_gen->verbose_llvm_ir;
child_gen->verbose_cimport = parent_gen->verbose_cimport;
child_gen->verbose_cc = parent_gen->verbose_cc;
+ child_gen->verbose_llvm_cpu_features = parent_gen->verbose_llvm_cpu_features;
child_gen->llvm_argv = parent_gen->llvm_argv;
child_gen->dynamic_linker_path = parent_gen->dynamic_linker_path;