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>
* c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
......
......@@ -435,13 +435,12 @@ insn_scope (rtx insn)
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
insn_line (rtx insn)
locator_line (int loc)
{
int max = VARRAY_ACTIVE_SIZE (line_locators_locs);
int min = 0;
int loc = INSN_LOCATOR (insn);
if (!max || !loc)
return 0;
......@@ -463,13 +462,19 @@ insn_line (rtx insn)
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 *
insn_file (rtx insn)
locator_file (int loc)
{
int max = VARRAY_ACTIVE_SIZE (file_locators_locs);
int min = 0;
int loc = INSN_LOCATOR (insn);
if (!max || !loc)
return NULL;
......@@ -491,6 +496,13 @@ insn_file (rtx insn)
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
on the scope tree and the newly reordered instructions. */
......
......@@ -1349,8 +1349,9 @@ final_start_function (rtx first ATTRIBUTE_UNUSED, FILE *file,
}
#endif
last_linenum = 0;
last_filename = 0;
last_filename = locator_file (prologue_locator);
last_linenum = locator_line (prologue_locator);
high_block_linenum = high_function_linenum = last_linenum;
(*debug_hooks->begin_prologue) (last_linenum, last_filename);
......
......@@ -1544,6 +1544,8 @@ extern rtx prev_cc0_setter (rtx);
extern tree choose_inner_scope (tree, tree);
extern int insn_line (rtx);
extern const char * insn_file (rtx);
extern int locator_line (int);
extern const char * locator_file (int);
extern int prologue_locator, epilogue_locator;
/* 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