summaryrefslogtreecommitdiffstats
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c43
1 files changed, 15 insertions, 28 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index d191b286bb3..3b926dfb305 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -4665,35 +4665,31 @@ emit_barrier (void)
return barrier;
}
-/* Make an insn of code NOTE
- with data-fields specified by FILE and LINE
- and add it to the end of the doubly-linked list,
- but only if line-numbers are desired for debugging info. */
+/* Make line numbering NOTE insn for LOCATION add it to the end
+ of the doubly-linked list, but only if line-numbers are desired for
+ debugging info and it doesn't match the previous one. */
rtx
-emit_line_note (const char *file, int line)
+emit_line_note (location_t location)
{
rtx note;
-
- if (line < 0)
- abort ();
-
- set_file_and_line_for_stmt (file, line);
-
- if (file && last_location.file && !strcmp (file, last_location.file)
- && line == last_location.line)
+
+ set_file_and_line_for_stmt (location);
+
+ if (location.file && last_location.file
+ && !strcmp (location.file, last_location.file)
+ && location.line == last_location.line)
return NULL_RTX;
- last_location.file = file;
- last_location.line = line;
-
+ last_location = location;
+
if (no_line_numbers)
{
cur_insn_uid++;
return NULL_RTX;
}
- note = emit_note (line);
- NOTE_SOURCE_FILE (note) = file;
+ note = emit_note (location.line);
+ NOTE_SOURCE_FILE (note) = location.file;
return note;
}
@@ -4739,17 +4735,8 @@ emit_note (int note_no)
return note;
}
-/* Emit a NOTE, and don't omit it even if LINE is the previous note. */
-
-rtx
-emit_line_note_force (const char *file, int line)
-{
- last_location.line = -1;
- return emit_line_note (file, line);
-}
-
/* Cause next statement to emit a line note even if the line number
- has not changed. This is used at the beginning of a function. */
+ has not changed. */
void
force_next_line_note (void)
OpenPOWER on IntegriCloud