summaryrefslogtreecommitdiff
path: root/lang/gcc30/files/patch-fc
blob: f783e5cae528086436b7f93832ddaba83615195e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
--- 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;
 		}
 	    }