aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2014-06-06 07:32:25 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2014-06-06 07:32:25 +0000
commitffa4602f4d54c80b978b3f6c8c376fbf75b72277 (patch)
treefc8f51ea70b82f892ac226dafb7defa86a52c93b /gcc/final.c
parent28a4a292fc1717544e68ed2f6107b3f0cbe10aed (diff)
downloadgcc-ffa4602f4d54c80b978b3f6c8c376fbf75b72277.zip
gcc-ffa4602f4d54c80b978b3f6c8c376fbf75b72277.tar.gz
gcc-ffa4602f4d54c80b978b3f6c8c376fbf75b72277.tar.bz2
rtl.h (insn_location): Declare.
* 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. From-SVN: r211305
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/final.c b/gcc/final.c
index c32e177..4f08073 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)