From 889f49a74600be43c0d6d4ee283e19391c41794b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20M=C3=BCller?= Date: Tue, 11 Jun 2024 15:42:58 +0200 Subject: [PATCH] Fix create new `target_machine` for every program --- src/compiler/crystal/compiler.cr | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compiler/crystal/compiler.cr b/src/compiler/crystal/compiler.cr index 12c19ef8c12a..eec190e85eeb 100644 --- a/src/compiler/crystal/compiler.cr +++ b/src/compiler/crystal/compiler.cr @@ -254,7 +254,7 @@ module Crystal program.compiler = self program.filename = sources.first.filename program.codegen_target = codegen_target - program.target_machine = target_machine + program.target_machine = create_target_machine program.flags << "release" if release? program.flags << "debug" unless debug.none? program.flags << "static" if static? @@ -662,6 +662,10 @@ module Crystal end getter(target_machine : LLVM::TargetMachine) do + create_target_machine + end + + def create_target_machine @codegen_target.to_target_machine(@mcpu || "", @mattr || "", @optimization_mode, @mcmodel) rescue ex : ArgumentError stderr.print colorize("Error: ").red.bold