diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 02055e57e0d6443156cbee0fe055c8277fc8d544..5665dc983f635e9a52f587dc1ad5c8b91799bbf6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-03  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/34973
+	* opts.c (set_Wstrict_aliasing): Handle the turn-off case.
+
 2008-05-02  David S. Miller  <davem@davemloft.net>
 
 	* config.gcc (need_64bit_hwint): Document libcpp dependency.
diff --git a/gcc/opts.c b/gcc/opts.c
index b87bc562e5a000de5c4875139ccb45831b685477..a5931f45a99ff63c5aa31a33a2a65648f6c38dd5 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -1982,6 +1982,8 @@ set_Wstrict_aliasing (int onoff)
   gcc_assert (onoff == 0 || onoff == 1);
   if (onoff != 0)
     warn_strict_aliasing = 3;
+  else
+    warn_strict_aliasing = 0;
 }
 
 /* The following routines are useful in setting all the flags that