Skip to content
Closed
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion src/compiler/crystal/compiler.cr
Original file line number Diff line number Diff line change
Expand Up @@ -258,13 +258,18 @@ module Crystal
@optimization_mode.o3? && @single_module
end

def single_module_compilation?
Comment thread
ysbaddaden marked this conversation as resolved.
Outdated
@single_module || @cross_compile || !@emit_targets.none?
end
Comment thread
ysbaddaden marked this conversation as resolved.

private def new_program(sources)
@program = program = Program.new
program.compiler = self
program.filename = sources.first.filename
program.codegen_target = codegen_target
program.target_machine = create_target_machine
program.flags << "release" if release?
program.flags << "single_module" if single_module_compilation?
program.flags << "debug" unless debug.none?
program.flags << "static" if static?
program.flags.concat @flags
Expand Down Expand Up @@ -323,7 +328,7 @@ module Crystal
private def codegen(program, node : ASTNode, sources, output_filename)
llvm_modules = @progress_tracker.stage("Codegen (crystal)") do
program.codegen node, debug: debug, frame_pointers: frame_pointers,
single_module: @single_module || @cross_compile || !@emit_targets.none?
single_module: single_module_compilation?
end

output_dir = CacheDir.instance.directory_for(sources)
Expand Down