From: Nick Clifton Date: Wed, 16 Dec 1998 17:34:48 +0000 (+0000) Subject: Ensure that last optimisation level set overrides any previous levels. X-Git-Tag: prereleases/libgcj-0.1~1598 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=16b6e12048088a3bfcb18f1f89a420a2e9f2d7a2;p=thirdparty%2Fgcc.git Ensure that last optimisation level set overrides any previous levels. From-SVN: r24347 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 38f540dc6ec5..d0ca9ce50304 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Wed Dec 16 17:30:35 1998 Nick Clifton + + * toplev.c (main): Disable optimize_size if a specific + optimization level is requested. Always set optimization + level to 2 if -Os is specified. + Wed Dec 16 16:33:04 1998 Dave Brolley * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with diff --git a/gcc/toplev.c b/gcc/toplev.c index 6af4c82b8004..5abb8821f199 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -4556,6 +4556,7 @@ main (argc, argv) if (!strcmp (argv[i], "-O")) { optimize = 1; + optimize_size = 0; } else if (argv[i][0] == '-' && argv[i][1] == 'O') { @@ -4564,22 +4565,26 @@ main (argc, argv) int c; if ((p[0] == 's') && (p[1] == 0)) - optimize_size = 1; + { + optimize_size = 1; + + /* Optimizing for size forces optimize to be 2. */ + optimize = 2; + } else { while ((c = *p++)) if (! (c >= '0' && c <= '9')) break; if (c == 0) - optimize = atoi (&argv[i][2]); + { + optimize = atoi (&argv[i][2]); + optimize_size = 0; + } } } } - /* Optimizing for size forces optimize to be no less than 2. */ - if (optimize_size && (optimize < 2)) - optimize = 2; - obey_regdecls = (optimize == 0); if (optimize >= 1)