summaryrefslogtreecommitdiffstats
path: root/gcc/profile.c
diff options
context:
space:
mode:
authorfche <fche@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-16 20:42:00 +0000
committerfche <fche@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-16 20:42:00 +0000
commit1e6c89721706a05df1f92e3829a50bd74cfa9096 (patch)
treec9df05a359ae2a05d8d775982603cc2fdb3dbeb6 /gcc/profile.c
parent6ab3444ba2be989344d53d83999ce6a64fe15465 (diff)
downloadppe42-gcc-1e6c89721706a05df1f92e3829a50bd74cfa9096.tar.gz
ppe42-gcc-1e6c89721706a05df1f92e3829a50bd74cfa9096.zip
2004-09-16 Frank Ch. Eigler <fche@redhat.com>
* profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87613 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/profile.c')
-rw-r--r--gcc/profile.c36
1 files changed, 21 insertions, 15 deletions
diff --git a/gcc/profile.c b/gcc/profile.c
index e56f30ea9f7..77c5d03b15a 100644
--- a/gcc/profile.c
+++ b/gcc/profile.c
@@ -1001,7 +1001,6 @@ branch_prob (void)
else
{
gcov_position_t offset;
- location_t *curr_location = NULL;
FOR_EACH_BB (bb)
{
@@ -1011,31 +1010,38 @@ branch_prob (void)
if (bb == ENTRY_BLOCK_PTR->next_bb)
{
- curr_location = &DECL_SOURCE_LOCATION (current_function_decl);
- output_location (curr_location->file, curr_location->line,
+ expanded_location curr_location =
+ expand_location (DECL_SOURCE_LOCATION
+ (current_function_decl));
+ output_location (curr_location.file, curr_location.line,
&offset, bb);
}
for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi))
{
tree stmt = bsi_stmt (bsi);
-#ifdef USE_MAPPED_LOCATION
- curr_location = EXPR_LOCATION (stmt);
-#else
- curr_location = EXPR_LOCUS (stmt);
-#endif
- if (curr_location)
- output_location (curr_location->file, curr_location->line,
+ if (EXPR_HAS_LOCATION (stmt))
+ output_location (EXPR_FILENAME (stmt),
+ EXPR_LINENO (stmt),
&offset, bb);
}
/* Notice GOTO expressions we eliminated while constructing the
- CFG. */
+ CFG. */
if (bb->succ && !bb->succ->succ_next && bb->succ->goto_locus)
- {
- curr_location = bb->succ->goto_locus;
- output_location (curr_location->file, curr_location->line, &offset, bb);
- }
+ {
+ /* ??? source_locus type is marked deprecated in input.h. */
+ source_locus curr_location = bb->succ->goto_locus;
+ /* ??? The FILE/LINE API is inconsistent for these cases. */
+#ifdef USE_MAPPED_LOCATION
+ output_location (LOCATION_FILE (curr_location),
+ LOCATION_LINE (curr_location),
+ &offset, bb);
+#else
+ output_location (curr_location->file, curr_location->line,
+ &offset, bb);
+#endif
+ }
if (offset)
{
OpenPOWER on IntegriCloud