aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteven Bosscher <stevenb.gcc@gmail.com>2008-01-09 10:33:55 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2008-01-09 10:33:55 +0000
commit59e5c37d0f0f358b7b5ba8f0424983d6083edd9a (patch)
treeb765794632bde46810ae91b0c2c260a33329ad71 /gcc
parent712db60ed09c06851a2622b59e29f8977b5437b2 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/opts.c10
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.
diff --git a/gcc/opts.c b/gcc/opts.c
index 90408b5..5d952c6 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -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