diff options
author | Nick Clifton <nickc@cygnus.com> | 1998-12-16 17:34:48 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 1998-12-16 17:34:48 +0000 |
commit | 16b6e12048088a3bfcb18f1f89a420a2e9f2d7a2 (patch) | |
tree | 56290d67c0a07aad543710a5700e371a3cbf8544 /gcc | |
parent | f868ca8f89da12e0aa3101f4da9a4dbb93549963 (diff) | |
download | gcc-16b6e12048088a3bfcb18f1f89a420a2e9f2d7a2.zip gcc-16b6e12048088a3bfcb18f1f89a420a2e9f2d7a2.tar.gz gcc-16b6e12048088a3bfcb18f1f89a420a2e9f2d7a2.tar.bz2 |
Ensure that last optimisation level set overrides any previous levels.
From-SVN: r24347
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/toplev.c | 17 |
2 files changed, 17 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 38f540d..d0ca9ce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Wed Dec 16 17:30:35 1998 Nick Clifton <nickc@cygnus.com> + + * 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 <brolley@cygnus.com> * 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 6af4c82b..5abb882 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) |