Commit df69b598 by Ian Lance Taylor

compiler: Provide location for initialization function.

From-SVN: r195259
parent 6b514c53
...@@ -438,15 +438,15 @@ Gogo::initialization_function_decl() ...@@ -438,15 +438,15 @@ Gogo::initialization_function_decl()
// The tedious details of building your own function. There doesn't // The tedious details of building your own function. There doesn't
// seem to be a helper function for this. // seem to be a helper function for this.
std::string name = this->package_name() + ".init"; std::string name = this->package_name() + ".init";
tree fndecl = build_decl(BUILTINS_LOCATION, FUNCTION_DECL, tree fndecl = build_decl(this->package_->location().gcc_location(),
get_identifier_from_string(name), FUNCTION_DECL, get_identifier_from_string(name),
build_function_type(void_type_node, build_function_type(void_type_node,
void_list_node)); void_list_node));
const std::string& asm_name(this->get_init_fn_name()); const std::string& asm_name(this->get_init_fn_name());
SET_DECL_ASSEMBLER_NAME(fndecl, get_identifier_from_string(asm_name)); SET_DECL_ASSEMBLER_NAME(fndecl, get_identifier_from_string(asm_name));
tree resdecl = build_decl(BUILTINS_LOCATION, RESULT_DECL, NULL_TREE, tree resdecl = build_decl(this->package_->location().gcc_location(),
void_type_node); RESULT_DECL, NULL_TREE, void_type_node);
DECL_ARTIFICIAL(resdecl) = 1; DECL_ARTIFICIAL(resdecl) = 1;
DECL_CONTEXT(resdecl) = fndecl; DECL_CONTEXT(resdecl) = fndecl;
DECL_RESULT(fndecl) = resdecl; DECL_RESULT(fndecl) = resdecl;
...@@ -481,7 +481,8 @@ Gogo::write_initialization_function(tree fndecl, tree init_stmt_list) ...@@ -481,7 +481,8 @@ Gogo::write_initialization_function(tree fndecl, tree init_stmt_list)
push_struct_function(fndecl); push_struct_function(fndecl);
else else
push_cfun(DECL_STRUCT_FUNCTION(fndecl)); push_cfun(DECL_STRUCT_FUNCTION(fndecl));
cfun->function_end_locus = BUILTINS_LOCATION; cfun->function_start_locus = this->package_->location().gcc_location();
cfun->function_end_locus = cfun->function_start_locus;
gimplify_function_tree(fndecl); gimplify_function_tree(fndecl);
...@@ -1118,6 +1119,7 @@ Named_object::get_tree(Gogo* gogo, Named_object* function) ...@@ -1118,6 +1119,7 @@ Named_object::get_tree(Gogo* gogo, Named_object* function)
else else
push_cfun(DECL_STRUCT_FUNCTION(decl)); push_cfun(DECL_STRUCT_FUNCTION(decl));
cfun->function_start_locus = func->location().gcc_location();
cfun->function_end_locus = cfun->function_end_locus =
func->block()->end_location().gcc_location(); func->block()->end_location().gcc_location();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment