+2007-08-22 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/32563
+ * tree.c (host_integerp): Treat sizetype as signed as it is
+ sign-extended.
+
2007-08-20 Adam Nemet <anemet@caviumnetworks.com>
* config/mips/predicates.md (const_call_insn_operand): Invoke
+2007-08-22 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/32563
+ * g++.dg/torture/pr32563.C: New testcase.
+
+ Backport from mainline:
+ 2007-05-30 Richard Guenther <rguenther@suse.de>
+
+ * g++.dg/dg.exp: Prune torture/.
+ * g++.dg/torture/dg-torture.exp: New testsuite.
+
2007-08-20 Jakub Jelinek <jakub@redhat.com>
PR c++/32992
set tests [prune $tests $srcdir/$subdir/tls/*]
set tests [prune $tests $srcdir/$subdir/vect/*]
set tests [prune $tests $srcdir/$subdir/gomp/*]
+set tests [prune $tests $srcdir/$subdir/torture/*]
# Main loop.
dg-runtest $tests "" $DEFAULT_CXXFLAGS
--- /dev/null
+# This harness is for tests that should be run at all optimisation levels.
+
+load_lib g++-dg.exp
+
+dg-init
+gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.C]] ""
+dg-finish
--- /dev/null
+/* { dg-do compile } */
+
+struct A
+{
+ char c[1];
+} a;
+
+const __SIZE_TYPE__ i = (__SIZE_TYPE__)&a.c[0] - 1;
&& (HOST_WIDE_INT) TREE_INT_CST_LOW (t) >= 0)
|| (! pos && TREE_INT_CST_HIGH (t) == -1
&& (HOST_WIDE_INT) TREE_INT_CST_LOW (t) < 0
- && !TYPE_UNSIGNED (TREE_TYPE (t)))
+ && (!TYPE_UNSIGNED (TREE_TYPE (t))
+ || TYPE_IS_SIZETYPE (TREE_TYPE (t))))
|| (pos && TREE_INT_CST_HIGH (t) == 0)));
}