summaryrefslogtreecommitdiff
path: root/gcc/profile.c
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>1997-10-31 00:23:07 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>1997-10-31 00:23:07 +0000
commitb1ea96675809704a07cccf6732c054895cf71740 (patch)
tree3a948569f6f18f55c7bfa641b669c7109e260703 /gcc/profile.c
parentaaddf1c58d50f43d18e7871e93aa8e5212bfbe81 (diff)
downloadgcc-b1ea96675809704a07cccf6732c054895cf71740.tar.gz
* profile.c (output_func_start_profiler): Clear flag_inline_functions
for the duration of the call to rest_of_compilation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16246 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/profile.c')
-rw-r--r--gcc/profile.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/profile.c b/gcc/profile.c
index 13786cfa312..1888ad0ef96 100644
--- a/gcc/profile.c
+++ b/gcc/profile.c
@@ -1584,6 +1584,7 @@ output_func_start_profiler ()
char *name, *cfnname;
rtx table_address;
enum machine_mode mode = mode_for_size (LONG_TYPE_SIZE, MODE_INT, 0);
+ int save_flag_inline_functions = flag_inline_functions;
/* It's either already been output, or we don't need it because we're
not doing profile-arcs. */
@@ -1628,7 +1629,17 @@ output_func_start_profiler ()
expand_function_end (input_filename, lineno, 0);
poplevel (1, 0, 1);
+
+ /* Since fndecl isn't in the list of globals, it would never be emitted
+ when it's considered to be 'safe' for inlining, so turn off
+ flag_inline_functions. */
+ flag_inline_functions = 0;
+
rest_of_compilation (fndecl);
+
+ /* Reset flag_inline_functions to its original value. */
+ flag_inline_functions = save_flag_inline_functions;
+
fflush (asm_out_file);
current_function_decl = NULL_TREE;