Commit 9ae130f8 by Jan Hubicka Committed by Jan Hubicka

cfglayout.c (locator_file): Break out from ....

	* cfglayout.c (locator_file): Break out from ....
	(insn_file): ... here.
	(locator_line): Break out from ....
	(insn_line): ... here.
	* rtl.h (locator_file, locator_line): Declare.
	(final_start_function): Set proper line/file info.

From-SVN: r69359
parent e07d4821
Mon Jul 14 23:14:28 CEST 2003 Jan Hubicka <jh@suse.cz>
* cfglayout.c (locator_file): Break out from ....
(insn_file): ... here.
(locator_line): Break out from ....
(insn_line): ... here.
* rtl.h (locator_file, locator_line): Declare.
(final_start_function): Set proper line/file info.
2003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net> 2003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
* c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
......
...@@ -435,13 +435,12 @@ insn_scope (rtx insn) ...@@ -435,13 +435,12 @@ insn_scope (rtx insn)
return VARRAY_TREE (block_locators_blocks, min); return VARRAY_TREE (block_locators_blocks, min);
} }
/* Return line number of the statement that produced this insn. */ /* Return line number of the statement specified by the locator. */
int int
insn_line (rtx insn) locator_line (int loc)
{ {
int max = VARRAY_ACTIVE_SIZE (line_locators_locs); int max = VARRAY_ACTIVE_SIZE (line_locators_locs);
int min = 0; int min = 0;
int loc = INSN_LOCATOR (insn);
if (!max || !loc) if (!max || !loc)
return 0; return 0;
...@@ -463,13 +462,19 @@ insn_line (rtx insn) ...@@ -463,13 +462,19 @@ insn_line (rtx insn)
return VARRAY_INT (line_locators_lines, min); return VARRAY_INT (line_locators_lines, min);
} }
/* Return source file of the statement that produced this insn. */ /* Return line number of the statement that produced this insn. */
int
insn_line (rtx insn)
{
return locator_line (INSN_LOCATOR (insn));
}
/* Return source file of the statement specified by LOC. */
const char * const char *
insn_file (rtx insn) locator_file (int loc)
{ {
int max = VARRAY_ACTIVE_SIZE (file_locators_locs); int max = VARRAY_ACTIVE_SIZE (file_locators_locs);
int min = 0; int min = 0;
int loc = INSN_LOCATOR (insn);
if (!max || !loc) if (!max || !loc)
return NULL; return NULL;
...@@ -491,6 +496,13 @@ insn_file (rtx insn) ...@@ -491,6 +496,13 @@ insn_file (rtx insn)
return VARRAY_CHAR_PTR (file_locators_files, min); return VARRAY_CHAR_PTR (file_locators_files, min);
} }
/* Return source file of the statement that produced this insn. */
const char *
insn_file (rtx insn)
{
return locator_file (INSN_LOCATOR (insn));
}
/* Rebuild all the NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes based /* Rebuild all the NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes based
on the scope tree and the newly reordered instructions. */ on the scope tree and the newly reordered instructions. */
......
...@@ -1349,8 +1349,9 @@ final_start_function (rtx first ATTRIBUTE_UNUSED, FILE *file, ...@@ -1349,8 +1349,9 @@ final_start_function (rtx first ATTRIBUTE_UNUSED, FILE *file,
} }
#endif #endif
last_linenum = 0; last_filename = locator_file (prologue_locator);
last_filename = 0; last_linenum = locator_line (prologue_locator);
high_block_linenum = high_function_linenum = last_linenum; high_block_linenum = high_function_linenum = last_linenum;
(*debug_hooks->begin_prologue) (last_linenum, last_filename); (*debug_hooks->begin_prologue) (last_linenum, last_filename);
......
...@@ -1544,6 +1544,8 @@ extern rtx prev_cc0_setter (rtx); ...@@ -1544,6 +1544,8 @@ extern rtx prev_cc0_setter (rtx);
extern tree choose_inner_scope (tree, tree); extern tree choose_inner_scope (tree, tree);
extern int insn_line (rtx); extern int insn_line (rtx);
extern const char * insn_file (rtx); extern const char * insn_file (rtx);
extern int locator_line (int);
extern const char * locator_file (int);
extern int prologue_locator, epilogue_locator; extern int prologue_locator, epilogue_locator;
/* In jump.c */ /* In jump.c */
......
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