diff options
author | obrien <obrien@FreeBSD.org> | 2000-03-26 12:56:54 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2000-03-26 12:56:54 +0000 |
commit | 2d22f9eac05a332333a0bbee4b17ceb3eddcce59 (patch) | |
tree | e8d4525f694be59c3dc9ac9a81b774e7255535b8 /contrib/gcc | |
parent | ab98c8b96bf0e8e3b69bcb3cf1102b28b642842f (diff) | |
download | FreeBSD-src-2d22f9eac05a332333a0bbee4b17ceb3eddcce59.zip FreeBSD-src-2d22f9eac05a332333a0bbee4b17ceb3eddcce59.tar.gz |
Yell about -O2 on the Alpha. Forceably downgrade -O2+ if
"FORCE_OPTIMIZATION_DOWNGRADE" is defined when GCC is built.
Diffstat (limited to 'contrib/gcc')
-rw-r--r-- | contrib/gcc/toplev.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/contrib/gcc/toplev.c b/contrib/gcc/toplev.c index a5b7b0e..217305a 100644 --- a/contrib/gcc/toplev.c +++ b/contrib/gcc/toplev.c @@ -4843,6 +4843,19 @@ main (argc, argv) if (optimize_val != -1) { optimize = optimize_val; +#ifdef __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 optimize_size = 0; } } |