support module level assembly

closes #256
This commit is contained in:
Andrew Kelley
2017-04-04 19:47:22 -04:00
parent d97285eb65
commit 0edc2b19fe
6 changed files with 65 additions and 2 deletions

View File

@@ -73,6 +73,8 @@ CodeGen *codegen_create(Buf *root_source_dir, const ZigTarget *target) {
g->is_test_build = false;
g->want_h_file = true;
buf_resize(&g->global_asm, 0);
// reserve index 0 to indicate no error
g->error_decls.append(nullptr);
@@ -3725,6 +3727,10 @@ static void do_code_gen(CodeGen *g) {
}
assert(!g->errors.length);
if (buf_len(&g->global_asm) != 0) {
LLVMSetModuleInlineAsm(g->module, buf_ptr(&g->global_asm));
}
ZigLLVMDIBuilderFinalize(g->dbuilder);
if (g->verbose) {