+2019-04-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/86586 - -fcompare-debug=-Wsign-compare.
+ * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
+
2019-04-01 Martin Sebor <msebor@redhat.com>
PR c/89685
else
sop = orig_op1, uop = orig_op0;
+ sop = fold_for_warn (sop);
+ uop = fold_for_warn (uop);
+
STRIP_TYPE_NOPS (sop);
STRIP_TYPE_NOPS (uop);
base_type = (TREE_CODE (result_type) == COMPLEX_TYPE
2019-04-03 Jason Merrill <jason@redhat.com>
+ PR c++/86586 - -fcompare-debug=-Wsign-compare.
+ * typeck.c (cp_build_binary_op): Don't fold for -Wsign-compare.
+
PR c++/89331 - ICE with offsetof in incomplete class.
* semantics.c (finish_offsetof): Handle error_mark_node.
* typeck.c (build_class_member_access_expr): Call
&& !enum_cast_to_int (orig_op0)
&& !enum_cast_to_int (orig_op1))
{
- tree oop0 = maybe_constant_value (orig_op0);
- tree oop1 = maybe_constant_value (orig_op1);
-
- if (TREE_CODE (oop0) != INTEGER_CST)
- oop0 = cp_fully_fold (orig_op0);
- if (TREE_CODE (oop1) != INTEGER_CST)
- oop1 = cp_fully_fold (orig_op1);
- warn_for_sign_compare (location, oop0, oop1, op0, op1,
+ warn_for_sign_compare (location, orig_op0, orig_op1, op0, op1,
result_type, resultcode);
}
}
/* Test case to check if Multiversioning works. */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
-/* { dg-options "-O2 -fPIC" } */
+/* { dg-options "-O2 -fPIC -fcompare-debug=-Wsign-compare" } */
#include <assert.h>