diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-06-06 07:32:25 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-06-06 07:32:25 +0000 |
commit | 0e7ae55771156a293f2eeb2beaf7bd69b037a148 (patch) | |
tree | fc8f51ea70b82f892ac226dafb7defa86a52c93b /gcc/final.c | |
parent | b037180f5ffceaf61c343ff30255163bdf053015 (diff) | |
download | gcc-0e7ae55771156a293f2eeb2beaf7bd69b037a148.tar.gz |
* rtl.h (insn_location): Declare.
* cfgcleanup.c (try_forward_edges): Compare the locus of locations
with UNKNOWN_LOCATION.
* emit-rtl.c (insn_location): New function.
* final.c (notice_source_line): Check that the instruction has a
location before retrieving it and use insn_location.
* modulo-sched.c (loop_single_full_bb_p): Likewise.
* print-rtl.c (print_rtx): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211305 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/final.c b/gcc/final.c index c32e177a426..4f080733416 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3019,10 +3019,16 @@ notice_source_line (rtx insn, bool *is_stmt) filename = override_filename; linenum = override_linenum; } + else if (INSN_HAS_LOCATION (insn)) + { + expanded_location xloc = insn_location (insn); + filename = xloc.file; + linenum = xloc.line; + } else { - filename = insn_file (insn); - linenum = insn_line (insn); + filename = NULL; + linenum = 0; } if (filename == NULL) |