zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit fc55814faa8970cc373b7bbf8479c3bc3934fb44 (tree)
parent 6eecc4af99e2affc44d153e5f127200f2adf4642
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Thu, 12 Aug 2021 10:43:24 -0700

compiler-rt: do not depend on `usingnamespace`

The idea is to depend on this language feature as little as possible
with the hopes that it can be adjusted to be less of an anti-pattern.
This also helps self-hosted, which does not yet implement
`usingnamespace`, get closer to being able to build compiler-rt.

Diffstat:
Mlib/std/special/compiler_rt.zig | 4++--
Mlib/std/target/aarch64.zig | 5++++-
Mlib/std/target/amdgpu.zig | 5++++-
Mlib/std/target/arm.zig | 5++++-
Mlib/std/target/avr.zig | 5++++-
Mlib/std/target/bpf.zig | 5++++-
Mlib/std/target/hexagon.zig | 5++++-
Mlib/std/target/mips.zig | 5++++-
Mlib/std/target/msp430.zig | 5++++-
Mlib/std/target/nvptx.zig | 5++++-
Mlib/std/target/powerpc.zig | 5++++-
Mlib/std/target/riscv.zig | 5++++-
Mlib/std/target/sparc.zig | 5++++-
Mlib/std/target/spirv.zig | 5++++-
Mlib/std/target/systemz.zig | 5++++-
Mlib/std/target/ve.zig | 5++++-
Mlib/std/target/wasm.zig | 5++++-
Mlib/std/target/x86.zig | 7+++++--
Mtools/update_cpu_features.zig | 5++++-
19 files changed, 75 insertions(+), 21 deletions(-)

diff --git a/lib/std/special/compiler_rt.zig b/lib/std/special/compiler_rt.zig @@ -595,9 +595,9 @@ comptime { @export(__muloti4, .{ .name = "__muloti4", .linkage = linkage }); const __mulodi4 = @import("compiler_rt/mulodi4.zig").__mulodi4; @export(__mulodi4, .{ .name = "__mulodi4", .linkage = linkage }); -} -pub usingnamespace @import("compiler_rt/atomics.zig"); + _ = @import("compiler_rt/atomics.zig"); +} // Avoid dragging in the runtime safety mechanisms into this .o file, // unless we're trying to test this file. diff --git a/lib/std/target/aarch64.zig b/lib/std/target/aarch64.zig @@ -171,7 +171,10 @@ pub const Feature = enum { zcz_gp, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { @setEvalBranchQuota(2000); diff --git a/lib/std/target/amdgpu.zig b/lib/std/target/amdgpu.zig @@ -120,7 +120,10 @@ pub const Feature = enum { xnack_support, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/arm.zig b/lib/std/target/arm.zig @@ -179,7 +179,10 @@ pub const Feature = enum { zcz, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { @setEvalBranchQuota(10000); diff --git a/lib/std/target/avr.zig b/lib/std/target/avr.zig @@ -41,7 +41,10 @@ pub const Feature = enum { xmegau, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/bpf.zig b/lib/std/target/bpf.zig @@ -10,7 +10,10 @@ pub const Feature = enum { dwarfris, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/hexagon.zig b/lib/std/target/hexagon.zig @@ -38,7 +38,10 @@ pub const Feature = enum { zreg, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/mips.zig b/lib/std/target/mips.zig @@ -59,7 +59,10 @@ pub const Feature = enum { xgot, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/msp430.zig b/lib/std/target/msp430.zig @@ -11,7 +11,10 @@ pub const Feature = enum { hwmultf5, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/nvptx.zig b/lib/std/target/nvptx.zig @@ -35,7 +35,10 @@ pub const Feature = enum { sm_80, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/powerpc.zig b/lib/std/target/powerpc.zig @@ -72,7 +72,10 @@ pub const Feature = enum { vsx, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/riscv.zig b/lib/std/target/riscv.zig @@ -64,7 +64,10 @@ pub const Feature = enum { save_restore, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/sparc.zig b/lib/std/target/sparc.zig @@ -26,7 +26,10 @@ pub const Feature = enum { vis3, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/spirv.zig b/lib/std/target/spirv.zig @@ -294,7 +294,10 @@ pub const Feature = enum { LongConstantCompositeINTEL, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { @setEvalBranchQuota(2000); diff --git a/lib/std/target/systemz.zig b/lib/std/target/systemz.zig @@ -43,7 +43,10 @@ pub const Feature = enum { vector_packed_decimal_enhancement, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/ve.zig b/lib/std/target/ve.zig @@ -8,7 +8,10 @@ pub const Feature = enum { vpu, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/wasm.zig b/lib/std/target/wasm.zig @@ -18,7 +18,10 @@ pub const Feature = enum { unimplemented_simd128, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; diff --git a/lib/std/target/x86.zig b/lib/std/target/x86.zig @@ -147,7 +147,10 @@ pub const Feature = enum { xsaves, }; -pub usingnamespace CpuFeature.feature_set_fns(Feature); +pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; +pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; +pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; +pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; pub const all_features = blk: { const len = @typeInfo(Feature).Enum.fields.len; @@ -2240,8 +2243,8 @@ pub const cpu = struct { .features = featureSet(&[_]Feature{ .cx8, .slow_unaligned_mem_16, - .vzeroupper, .soft_float, + .vzeroupper, }), }; pub const nehalem = CpuModel{ diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig @@ -1066,7 +1066,10 @@ fn processOneTarget(job: Job) anyerror!void { try w.writeAll( \\}; \\ - \\pub usingnamespace CpuFeature.feature_set_fns(Feature); + \\pub const featureSet = CpuFeature.feature_set_fns(Feature).featureSet; + \\pub const featureSetHas = CpuFeature.feature_set_fns(Feature).featureSetHas; + \\pub const featureSetHasAny = CpuFeature.feature_set_fns(Feature).featureSetHasAny; + \\pub const featureSetHasAll = CpuFeature.feature_set_fns(Feature).featureSetHasAll; \\ \\pub const all_features = blk: { \\