aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/profile.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 48db0d8..78f47c3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * profile.c (output_func_start_profiler): Clear flag_inline_functions
+ for the duration of the call to rest_of_compilation.
+
Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com>
* configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
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;