aboutsummaryrefslogtreecommitdiff
path: root/gcc/profile.c
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1997-10-31 00:23:07 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1997-10-31 00:23:07 +0000
commitd1271dedce4457a960fbe78d6679161c29274670 (patch)
tree3a948569f6f18f55c7bfa641b669c7109e260703 /gcc/profile.c
parentc0498f43952873c5270b6830332fb936e454dc84 (diff)
downloadgcc-d1271dedce4457a960fbe78d6679161c29274670.zip
gcc-d1271dedce4457a960fbe78d6679161c29274670.tar.gz
gcc-d1271dedce4457a960fbe78d6679161c29274670.tar.bz2
profile.c (output_func_start_profiler): Clear flag_inline_functions for the duration of the call to rest_of_compilation.
* profile.c (output_func_start_profiler): Clear flag_inline_functions for the duration of the call to rest_of_compilation. From-SVN: r16246
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 13786cf..1888ad0 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;