From: Jeffrey A Law Date: Fri, 8 Jan 1999 00:46:25 +0000 (+0000) Subject: toplev.c (compile_file): Move call to output_func_start_profiler to after the loop... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2668793e69871aa499e43a5b368453e0f5cee831;p=gcc.git toplev.c (compile_file): Move call to output_func_start_profiler to after the loop to emit deferred... * toplev.c (compile_file): Move call to output_func_start_profiler to after the loop to emit deferred functions. From-SVN: r24567 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a71ab6e5595..9aaf201fdd3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Fri Jan 8 01:43:53 1999 Jeffrey A Law (law@cygnus.com) + + * toplev.c (compile_file): Move call to output_func_start_profiler + to after the loop to emit deferred functions. + Thu Jan 7 11:26:17 1999 Mark Mitchell * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to diff --git a/gcc/toplev.c b/gcc/toplev.c index 5608af6e43e..bef0033c10e 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -2907,8 +2907,6 @@ compile_file (name) poplevel (0, 0, 0); } - output_func_start_profiler (); - /* Compilation is now finished except for writing what's left of the symbol table output. */ @@ -3014,6 +3012,15 @@ compile_file (name) } } + /* This must occur after the loop to output deferred functions. Else + the profiler initializer would not be emitted if all the functions + in this compilation unit were deferred. + + output_func_start_profiler can not cause any additional functions or + data to need to be output, so it need not be in the deferred function + loop above. */ + output_func_start_profiler (); + /* Now that all possible functions have been output, we can dump the exception table. */