From a30688ef2a136c5a127c706880e8389b9b32e5be Mon Sep 17 00:00:00 2001 From: Koakuma Date: Sun, 27 Mar 2022 08:20:15 +0700 Subject: [PATCH] stage2: sparcv9: Add some initial checks in codegen --- src/arch/sparcv9/CodeGen.zig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/arch/sparcv9/CodeGen.zig b/src/arch/sparcv9/CodeGen.zig index db5811dfda..5d9be85d13 100644 --- a/src/arch/sparcv9/CodeGen.zig +++ b/src/arch/sparcv9/CodeGen.zig @@ -1,6 +1,7 @@ //! SPARCv9 codegen. //! This lowers AIR into MIR. const std = @import("std"); +const assert = std.debug.assert; const builtin = @import("builtin"); const link = @import("../../link.zig"); const Module = @import("../../Module.zig"); @@ -8,6 +9,7 @@ const Air = @import("../../Air.zig"); const Mir = @import("Mir.zig"); const Emit = @import("Emit.zig"); const Liveness = @import("../../Liveness.zig"); +const build_options = @import("build_options"); const GenerateSymbolError = @import("../../codegen.zig").GenerateSymbolError; const FnResult = @import("../../codegen.zig").FnResult; @@ -35,5 +37,11 @@ pub fn generate( _ = code; _ = debug_output; + if (build_options.skip_non_native and builtin.cpu.arch != bin_file.options.target.cpu.arch) { + @panic("Attempted to compile for architecture that was disabled by build configuration"); + } + + assert(module_fn.owner_decl.has_tv); + @panic("TODO implement SPARCv9 codegen"); }