workaround for llvm bug

See #393 for details
This commit is contained in:
Andrew Kelley
2017-06-19 14:36:33 -04:00
parent 799c699101
commit c9fc8bd802
46 changed files with 479 additions and 846 deletions

View File

@@ -438,6 +438,7 @@ static LLVMValueRef fn_llvm_value(CodeGen *g, FnTableEntry *fn_table_entry) {
}
addLLVMFnAttr(fn_table_entry->llvm_value, "nounwind");
addLLVMFnAttr(fn_table_entry->llvm_value, "nobuiltin");
if (g->build_mode == BuildModeDebug && fn_table_entry->fn_inline != FnInlineAlways) {
ZigLLVMAddFunctionAttr(fn_table_entry->llvm_value, "no-frame-pointer-elim", "true");
ZigLLVMAddFunctionAttr(fn_table_entry->llvm_value, "no-frame-pointer-elim-non-leaf", nullptr);