From: fche Date: Thu, 16 Sep 2004 20:42:00 +0000 (+0000) Subject: 2004-09-16 Frank Ch. Eigler X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=1e6c89721706a05df1f92e3829a50bd74cfa9096;hp=6ab3444ba2be989344d53d83999ce6a64fe15465 2004-09-16 Frank Ch. Eigler * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7e55bb4df77..1c3e9dd5fbe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-09-16 Frank Ch. Eigler + + * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION. + 2004-09-16 Jeff Law * tree-into-ssa.c (block_defs_stack): New toplevel varray. 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) {