--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000 +++ gcc/toplev.c Mon Jun 26 20:19:31 2000 @@ -787,6 +787,9 @@ /* Tag all structures with __attribute__(packed) */ int flag_pack_struct = 0; +/* Nonzero means that -Wformat accepts certain system-dependent formats. */ +int flag_format_extensions = 0; + /* Emit code to check for stack overflow; also may cause large objects to be allocated dynamically. */ int flag_stack_check; @@ -1064,6 +1067,8 @@ "Do the full regmove optimization pass"}, {"pack-struct", &flag_pack_struct, 1, "Pack structure members together without holes" }, + {"format-extensions", &flag_format_extensions, 1, + "-Wformat accepts certain FreeBSD system-dependent formats" }, {"stack-check", &flag_stack_check, 1, "Insert stack checking code into the program" }, {"argument-alias", &flag_argument_noalias, 0, @@ -4484,6 +4489,19 @@ 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 /*__alpha__*/ optimize_size = 0; } }