diff options
author | Steven Bosscher <stevenb.gcc@gmail.com> | 2008-01-09 10:33:55 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2008-01-09 10:33:55 +0000 |
commit | 59e5c37d0f0f358b7b5ba8f0424983d6083edd9a (patch) | |
tree | b765794632bde46810ae91b0c2c260a33329ad71 /gcc | |
parent | 712db60ed09c06851a2622b59e29f8977b5437b2 (diff) | |
download | gcc-59e5c37d0f0f358b7b5ba8f0424983d6083edd9a.zip gcc-59e5c37d0f0f358b7b5ba8f0424983d6083edd9a.tar.gz gcc-59e5c37d0f0f358b7b5ba8f0424983d6083edd9a.tar.bz2 |
re PR debug/26364 ([no unit-at-a-time mode] Uninlined function is marked as inlined)
2008-01-09 Steven Bosscher <stevenb.gcc@gmail.com>
PR debug/26364
* opts.c (decode_options): Disable inlining of functions called
once if not in unit-at-a-time mode.
From-SVN: r131423
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/opts.c | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 619053c..b1fca9b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-01-09 Steven Bosscher <stevenb.gcc@gmail.com> + + PR debug/26364 + * opts.c (decode_options): Disable inlining of functions called + once if not in unit-at-a-time mode. + 2008-01-09 Alexandre Oliva <aoliva@redhat.com> * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency. @@ -950,6 +950,16 @@ decode_options (unsigned int argc, const char **argv) if (flag_really_no_inline == 2) flag_really_no_inline = flag_no_inline; + /* Inlining of functions called just once will only work if we can look + at the complete translation unit. */ + if (flag_inline_functions_called_once && !flag_unit_at_a_time) + { + flag_inline_functions_called_once = 0; + warning (OPT_Wdisabled_optimization, + "-funit-at-a-time is required for inlining of functions " + "that are only called once"); + } + /* The optimization to partition hot and cold basic blocks into separate sections of the .o and executable files does not work (currently) with exception handling. This is because there is no support for |