summaryrefslogtreecommitdiffstats
path: root/contrib/gcc
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2001-08-16 06:05:18 +0000
committerobrien <obrien@FreeBSD.org>2001-08-16 06:05:18 +0000
commitcd3f3aab8e337abe90764fb04a24c977624fdecd (patch)
tree025a5ff5558a3dc152596f4912bf98e8b818132e /contrib/gcc
parentcd8f761f0ab2cc4e533f738ed4bcf1712cb5b6ce (diff)
downloadFreeBSD-src-cd3f3aab8e337abe90764fb04a24c977624fdecd.zip
FreeBSD-src-cd3f3aab8e337abe90764fb04a24c977624fdecd.tar.gz
Add the `WANT_FORCE_OPTIMIZATION_DOWNGRADE' knob. If set to an integer
value, it forces GCC to not optimize above this level. For intance, GCC made with "WANT_FORCE_OPTIMIZATION_DOWNGRADE=1" is a good setting for the Alpha platform when building ports.
Diffstat (limited to 'contrib/gcc')
-rw-r--r--contrib/gcc/toplev.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/contrib/gcc/toplev.c b/contrib/gcc/toplev.c
index 95835bb..e9d8886 100644
--- a/contrib/gcc/toplev.c
+++ b/contrib/gcc/toplev.c
@@ -4851,17 +4851,22 @@ main (argc, argv)
if (optimize_val != -1)
{
optimize = optimize_val;
-#ifdef __alpha__
+#ifdef FORCE_OPTIMIZATION_DOWNGRADE
+#warning FORCE_OPTIMIZATION_DOWNGRADE
+ if (optimize > FORCE_OPTIMIZATION_DOWNGRADE)
+ {
+ optimize = FORCE_OPTIMIZATION_DOWNGRADE;
+ warning ("\n***\n***\t-O%d converted to \"-O%d\" due to optimizer bugs on this platform\n***\n",
+ optimize_val,
+ FORCE_OPTIMIZATION_DOWNGRADE);
+
+ }
+#endif /*FORCE_OPTIMIZATION_DOWNGRADE*/
+#if defined(__alpha__)
if (optimize > 1)
{
- #ifdef FORCE_OPTIMIZATION_DOWNGRADE
- optimize = 1;
- warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
- optimize_val);
- #else
warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
optimize_val);
- #endif
}
#endif /*__alpha__*/
optimize_size = 0;
OpenPOWER on IntegriCloud