This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
alpha testsuite fixes
- To: gcc-patches at gcc dot gnu dot org
- Subject: alpha testsuite fixes
- From: Richard Henderson <rth at twiddle dot net>
- Date: Thu, 29 Jun 2000 12:30:34 -0700
For gcc.dg/920413-1.c, on a 32-bit target the warning may well read
"may change", but on a 64-bit host the warning reads "changes".
Fixed by cropping the expected text to the lowest common denominator.
For gcc.dg/cpp/20000628-1a.h, `asm' is not compatible with the
`-ansi -pedantic' flags used on the gcc.dg subdirectory.
r~
* 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.
Index: gcc.c-torture/execute/930529-1.x
===================================================================
RCS file: 930529-1.x
diff -N 930529-1.x
*** /dev/null Tue May 5 13:32:27 1998
--- 930529-1.x Thu Jun 29 12:21:46 2000
***************
*** 0 ****
--- 1,18 ----
+ # 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
Index: gcc.dg/920413-1.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/gcc.dg/920413-1.c,v
retrieving revision 1.1
diff -c -p -d -r1.1 920413-1.c
*** 920413-1.c 2000/06/29 03:10:01 1.1
--- 920413-1.c 2000/06/29 19:21:47
*************** int
*** 5,10 ****
x (b)
{
return
! 4294967295U /* { dg-warning "width of integer constant may change" } */
/ (unsigned long) b;
}
--- 5,10 ----
x (b)
{
return
! 4294967295U /* { dg-warning "width of integer constant" } */
/ (unsigned long) b;
}
Index: gcc.dg/980217-1.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/gcc.dg/980217-1.c,v
retrieving revision 1.2
diff -c -p -d -r1.2 980217-1.c
*** 980217-1.c 1998/12/16 22:23:04 1.2
--- 980217-1.c 2000/06/29 19:21:47
***************
*** 3,8 ****
--- 3,10 ----
/* { dg-do run { target alpha*-*-* } } */
/* { dg-options "-mieee -O2" } */
+ extern void abort(void);
+
typedef int int32_t __attribute__ ((__mode__ ( __SI__ ))) ;
typedef union
{
Index: gcc.dg/cpp/20000628-1a.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/gcc.dg/cpp/20000628-1a.h,v
retrieving revision 1.1
diff -c -p -d -r1.1 20000628-1a.h
*** 20000628-1a.h 2000/06/28 19:34:12 1.1
--- 20000628-1a.h 2000/06/29 19:21:47
***************
*** 1,2 ****
/* Included from 20000628-1.h */
! asm ("");
--- 1,2 ----
/* Included from 20000628-1.h */
! extern int x;