From 4815c03caa08ecca6bdca85885506e850f9869b1 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 27 Apr 2016 17:34:53 -0700 Subject: better parameter codegen * ability to take address of a parameter (closes #97) * debug symbols work for parameters --- src/analyze.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/analyze.cpp') diff --git a/src/analyze.cpp b/src/analyze.cpp index 5be9e10392..cdb1e11a69 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -1081,6 +1081,10 @@ static void resolve_function_proto(CodeGen *g, AstNode *node, FnTableEntry *fn_t if (!fn_table_entry->is_extern) { LLVMAddFunctionAttr(fn_table_entry->fn_value, LLVMNoUnwindAttribute); } + if (!g->is_release_build) { + ZigLLVMAddFunctionAttr(fn_table_entry->fn_value, "no-frame-pointer-elim", "true"); + ZigLLVMAddFunctionAttr(fn_table_entry->fn_value, "no-frame-pointer-elim-non-leaf", nullptr); + } if (fn_table_entry->fn_def_node) { // Add debug info. @@ -3369,7 +3373,6 @@ static VariableTableEntry *add_local_var(CodeGen *g, AstNode *source_node, Impor } variable_entry->is_const = is_const; - variable_entry->is_ptr = true; variable_entry->decl_node = source_node; variable_entry->val_node = val_node; -- cgit v1.2.3