]> gcc.gnu.org Git - gcc.git/commitdiff
c.opt: C++ frontend supports -Wdiv-by-zero.
authorDirk Mueller <dmueller@suse.com>
Tue, 7 Feb 2006 19:41:14 +0000 (19:41 +0000)
committerDirk Mueller <mueller@gcc.gnu.org>
Tue, 7 Feb 2006 19:41:14 +0000 (19:41 +0000)
2006-02-07  Dirk Mueller <dmueller@suse.com>

        * c.opt: C++ frontend supports -Wdiv-by-zero.
        * c-opts.c (c_common_handle_option): Remove dead case.

        * typeck.c (build_binary_op): Annotate div-by-zero
        warnings to make -Wno-div-by-zero have an effect.

        g++.dg/warn/Wdiv-by-zero.C: New test.
        g++.dg/warn/Wno-div-by-zero.C: New.

From-SVN: r110712

gcc/ChangeLog
gcc/c-opts.c
gcc/c.opt
gcc/cp/ChangeLog
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/warn/Wdiv-by-zero.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/Wno-div-by-zero.C [new file with mode: 0644]

index 1e11fb278db670dafa1fb64843ede6069eec5249..4946e3b05c84709f18d4516e1f1d6d5b30d12f2d 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-07  Dirk Mueller  <dmueller@suse.com>
+
+       * c.opt: C++ frontend supports -Wdiv-by-zero.
+       * c-opts.c (c_common_handle_option): Remove dead case.
+
 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        * configure.ac (TLS assembler check): Do not enable TLS by
index 8c5827a39595a02560cfcb6f93ba91291cc3f7c6..34fc6b9b0adda0a7182fd7d4eb449c07017d5f05 100644 (file)
@@ -431,10 +431,6 @@ c_common_handle_option (size_t scode, const char *arg, int value)
       cpp_opts->warn_deprecated = value;
       break;
 
-    case OPT_Wdiv_by_zero:
-      warn_div_by_zero = value;
-      break;
-
     case OPT_Wendif_labels:
       cpp_opts->warn_endif_labels = value;
       break;
index 4ce9b9fed891eaf262cd290d4d93ed9080a81302..a841d5281326052c1d3f565a178079d5231bfecf 100644 (file)
--- a/gcc/c.opt
+++ b/gcc/c.opt
@@ -166,7 +166,7 @@ C++ ObjC++ Var(warn_deprecated) Init(1)
 Warn about deprecated compiler features
 
 Wdiv-by-zero
-C ObjC Var(warn_div_by_zero) Init(1)
+C ObjC C++ Var(warn_div_by_zero) Init(1)
 Warn about compile-time integer division by zero
 
 Weffc++
index cdfeaf33d1e3446ff18289da598cb56bd31d7b7d..8b0e9fc444b616ce19a9ec26ee2248a990dafc33 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-07  Dirk Mueller  <dmueller@suse.com>
+
+       * typeck.c (build_binary_op): Annotate div-by-zero
+       warnings to make -Wno-div-by-zero have an effect.
+
 2006-02-07  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/9737
index 1fb3cbf7915291edf485f785bdfd6e1fb00d6b7c..adac22716fb901330a6658e5bfd845966658073e 100644 (file)
@@ -2954,9 +2954,9 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
              || code1 == COMPLEX_TYPE || code1 == VECTOR_TYPE))
        {
          if (TREE_CODE (op1) == INTEGER_CST && integer_zerop (op1))
-           warning (0, "division by zero in %<%E / 0%>", op0);
+           warning (OPT_Wdiv_by_zero, "division by zero in %<%E / 0%>", op0);
          else if (TREE_CODE (op1) == REAL_CST && real_zerop (op1))
-           warning (0, "division by zero in %<%E / 0.%>", op0);
+           warning (OPT_Wdiv_by_zero, "division by zero in %<%E / 0.%>", op0);
 
          if (code0 == COMPLEX_TYPE || code0 == VECTOR_TYPE)
            code0 = TREE_CODE (TREE_TYPE (TREE_TYPE (op0)));
@@ -2991,9 +2991,9 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
     case TRUNC_MOD_EXPR:
     case FLOOR_MOD_EXPR:
       if (code1 == INTEGER_TYPE && integer_zerop (op1))
-       warning (0, "division by zero in %<%E %% 0%>", op0);
+       warning (OPT_Wdiv_by_zero, "division by zero in %<%E %% 0%>", op0);
       else if (code1 == REAL_TYPE && real_zerop (op1))
-       warning (0, "division by zero in %<%E %% 0.%>", op0);
+       warning (OPT_Wdiv_by_zero, "division by zero in %<%E %% 0.%>", op0);
 
       if (code0 == INTEGER_TYPE && code1 == INTEGER_TYPE)
        {
index c9e44af3d86fddf9e9ea5dd7bffc1d915c194864..e9fb7d1b6166af660ab0932089a1ce81acd95e14 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-07  Dirk Mueller  <dmueller@suse.com>
+
+       g++.dg/warn/Wdiv-by-zero.C: New test.
+       g++.dg/warn/Wno-div-by-zero.C: New.
+
 2006-02-07  Jeff Law  <law@redhat.com>
 
        * gcc.dg/tree-ssa/vrp01.c: Update dumpfile names now that we have
diff --git a/gcc/testsuite/g++.dg/warn/Wdiv-by-zero.C b/gcc/testsuite/g++.dg/warn/Wdiv-by-zero.C
new file mode 100644 (file)
index 0000000..7dc7766
--- /dev/null
@@ -0,0 +1,7 @@
+// test that division by zero warnings are enabled by default
+int breakme()
+{
+  int x = 0;
+  x /= 0;          // { dg-warning "division by" }
+  return x;
+}
diff --git a/gcc/testsuite/g++.dg/warn/Wno-div-by-zero.C b/gcc/testsuite/g++.dg/warn/Wno-div-by-zero.C
new file mode 100644 (file)
index 0000000..937628e
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-options "-Wno-div-by-zero" }
+
+int breakme()
+{
+  int x = 0;
+  x /= 0;
+  return x;
+}
This page took 0.087671 seconds and 5 git commands to generate.