* gcc.c-torture/execute/930529-1.x: New file.
* gcc.dg/920413-1.c: Adjust expexted warning text.
* gcc.dg/980217-1.c: Declare abort.
* gcc.dg/cpp/
20000628-1a.h: Use a declaration instead of an asm.
From-SVN: r34789
+2000-06-29 Richard Henderson <rth@redhat.com>
+
+ * gcc.c-torture/execute/930529-1.x: New file.
+ * gcc.dg/920413-1.c: Adjust expexted warning text.
+ * gcc.dg/980217-1.c: Declare abort.
+ * gcc.dg/cpp/20000628-1a.h: Use a declaration instead of an asm.
+
Thu Jun 29 09:42:40 2000 Jeffrey A Law (law@cygnus.com)
* g77.f-torture/compile/20000629-1.f: New test.
--- /dev/null
+# The problem on Alpha at -O3 is that when dd is inlined, we have
+# division by a constant, which gets converted to multiplication
+# by a large constant, which gets turned into an induction variable.
+# The problem is that the multiplication was unsigned SImode, and the
+# induction variable is DImode, and we lose the truncation that
+# should have happened.
+
+set torture_eval_before_execute {
+
+ set compiler_conditional_xfail_data {
+ "division by a constant conflicts with strength reduction" \
+ "alpha*-*-*" \
+ { "-O3" } \
+ { "" }
+ }
+}
+
+return 0
x (b)
{
return
- 4294967295U /* { dg-warning "width of integer constant may change" } */
+ 4294967295U /* { dg-warning "width of integer constant" } */
/ (unsigned long) b;
}
/* { dg-do run { target alpha*-*-* } } */
/* { dg-options "-mieee -O2" } */
+extern void abort(void);
+
typedef int int32_t __attribute__ ((__mode__ ( __SI__ ))) ;
typedef union
{
/* Included from 20000628-1.h */
-asm ("");
+extern int x;