Testsuite untyped assembly fixes for ptx.
* lib/target-supports.exp (check_effective_target_untyped_assembly): New function. * gcc.c-torture/compile/20091215-1.c: Require untyped_assembly. * gcc.c-torture/compile/920917-1.c: Likewise. * gcc.c-torture/compile/930120-1.c: Likewise. * gcc.c-torture/compile/930411-1.c: Likewise. * gcc.c-torture/compile/930529-1.c: Likewise. * gcc.c-torture/compile/930623-1.c: Likewise. * gcc.c-torture/compile/950329-1.c: Likewise. * gcc.c-torture/compile/calls.c: Likewise. * gcc.c-torture/compile/pr37258.c: Likewise. * gcc.c-torture/compile/pr37327.c: Likewise. * gcc.c-torture/compile/pr38360.c: Likewise. * gcc.c-torture/compile/pr43635.c: Likewise. * gcc.c-torture/compile/pr47428.c: Likewise. * gcc.c-torture/compile/pr47967.c: Likewise. * gcc.c-torture/compile/pr49145.c: Likewise. * gcc.c-torture/compile/pr51694.c: Likewise. * gcc.c-torture/compile/pr53411.c: Likewise. * gcc.c-torture/execute/20001101.c: Likewise. * gcc.c-torture/execute/20051012-1.c: Likewise. * gcc.c-torture/execute/920501-1.c: Likewise. * gcc.c-torture/execute/921202-1.c: Likewise. * gcc.c-torture/execute/921208-2.c: Likewise. * gcc.c-torture/execute/call-trap-1.c: Likewise. * gcc.c-torture/compile/20010525-1.c: Likewise. * gcc.c-torture/compile/20021015-2.c: Likewise. * gcc.c-torture/compile/20031023-1.c: Likewise. * gcc.c-torture/compile/20031023-2.c: Likewise. * gcc.c-torture/compile/pr49206.c: Likewise. * gcc.c-torture/execute/pr47237.c: Likewise. * gcc.dg/torture/stackalign/builtin-apply-1.c: Likewise. * gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise. * gcc.dg/torture/stackalign/builtin-apply-3.c: Likewise. * gcc.dg/torture/stackalign/builtin-apply-4.c: Likewise. * gcc.dg/torture/stackalign/builtin-return-1.c: Likewise. * gcc.dg/builtin-apply1.c: Likewise. * gcc.dg/builtin-apply2.c: Likewise. * gcc.dg/builtin-apply3.c: Likewise. * gcc.dg/builtin-apply4.c: Likewise. * gcc.dg/pr38338.c: Likewise. * gcc.dg/torture/pr41993.c: Likewise. * gcc.c-torture/compile/386.c: Likewise. * gcc.c-torture/compile/cmpsi386.c: Likewise. * gcc.c-torture/compile/consec.c: Likewise. * gcc.c-torture/compile/ex.c: Likewise. * gcc.c-torture/compile/pass.c: Likewise. * gcc.c-torture/compile/scal.c: Likewise. * gcc.c-torture/compile/uuarg.c: Likewise. * gcc.c-torture/compile/conv_tst.c: Likewise. From-SVN: r217297
This commit is contained in:
parent
e2acc079ff
commit
c445c02a65
@ -1,5 +1,56 @@
|
||||
2014-11-10 Bernd Schmidt <bernds@codesourcery.com>
|
||||
|
||||
* lib/target-supports.exp
|
||||
(check_effective_target_untyped_assembly): New function.
|
||||
* gcc.c-torture/compile/20091215-1.c: Require untyped_assembly.
|
||||
* gcc.c-torture/compile/920917-1.c: Likewise.
|
||||
* gcc.c-torture/compile/930120-1.c: Likewise.
|
||||
* gcc.c-torture/compile/930411-1.c: Likewise.
|
||||
* gcc.c-torture/compile/930529-1.c: Likewise.
|
||||
* gcc.c-torture/compile/930623-1.c: Likewise.
|
||||
* gcc.c-torture/compile/950329-1.c: Likewise.
|
||||
* gcc.c-torture/compile/calls.c: Likewise.
|
||||
* gcc.c-torture/compile/pr37258.c: Likewise.
|
||||
* gcc.c-torture/compile/pr37327.c: Likewise.
|
||||
* gcc.c-torture/compile/pr38360.c: Likewise.
|
||||
* gcc.c-torture/compile/pr43635.c: Likewise.
|
||||
* gcc.c-torture/compile/pr47428.c: Likewise.
|
||||
* gcc.c-torture/compile/pr47967.c: Likewise.
|
||||
* gcc.c-torture/compile/pr49145.c: Likewise.
|
||||
* gcc.c-torture/compile/pr51694.c: Likewise.
|
||||
* gcc.c-torture/compile/pr53411.c: Likewise.
|
||||
* gcc.c-torture/execute/20001101.c: Likewise.
|
||||
* gcc.c-torture/execute/20051012-1.c: Likewise.
|
||||
* gcc.c-torture/execute/920501-1.c: Likewise.
|
||||
* gcc.c-torture/execute/921202-1.c: Likewise.
|
||||
* gcc.c-torture/execute/921208-2.c: Likewise.
|
||||
* gcc.c-torture/execute/call-trap-1.c: Likewise.
|
||||
* gcc.c-torture/compile/20010525-1.c: Likewise.
|
||||
* gcc.c-torture/compile/20021015-2.c: Likewise.
|
||||
* gcc.c-torture/compile/20031023-1.c: Likewise.
|
||||
* gcc.c-torture/compile/20031023-2.c: Likewise.
|
||||
* gcc.c-torture/compile/pr49206.c: Likewise.
|
||||
* gcc.c-torture/execute/pr47237.c: Likewise.
|
||||
* gcc.dg/torture/stackalign/builtin-apply-1.c: Likewise.
|
||||
* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
|
||||
* gcc.dg/torture/stackalign/builtin-apply-3.c: Likewise.
|
||||
* gcc.dg/torture/stackalign/builtin-apply-4.c: Likewise.
|
||||
* gcc.dg/torture/stackalign/builtin-return-1.c: Likewise.
|
||||
* gcc.dg/builtin-apply1.c: Likewise.
|
||||
* gcc.dg/builtin-apply2.c: Likewise.
|
||||
* gcc.dg/builtin-apply3.c: Likewise.
|
||||
* gcc.dg/builtin-apply4.c: Likewise.
|
||||
* gcc.dg/pr38338.c: Likewise.
|
||||
* gcc.dg/torture/pr41993.c: Likewise.
|
||||
* gcc.c-torture/compile/386.c: Likewise.
|
||||
* gcc.c-torture/compile/cmpsi386.c: Likewise.
|
||||
* gcc.c-torture/compile/consec.c: Likewise.
|
||||
* gcc.c-torture/compile/ex.c: Likewise.
|
||||
* gcc.c-torture/compile/pass.c: Likewise.
|
||||
* gcc.c-torture/compile/scal.c: Likewise.
|
||||
* gcc.c-torture/compile/uuarg.c: Likewise.
|
||||
* gcc.c-torture/compile/conv_tst.c: Likewise.
|
||||
|
||||
* lib/target-supports.exp (check_effective_target_alloca): New function.
|
||||
* gcc.c-torture/execute/20010209-1.c: Require alloca.
|
||||
* gcc.c-torture/execute/20020314-1.c: Likewise.
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
static int kind_varread(char *str)
|
||||
{
|
||||
if (0 == memcmp("%_#", str, 3)) return 2;
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* PR target/8232. */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
int f (char *p, char *q, int i)
|
||||
{
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* Declaration of the frame size doesn't work on ptx. */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
#ifndef ASIZE
|
||||
# define ASIZE 0x10000000000UL
|
||||
#endif
|
||||
|
@ -1,2 +1,4 @@
|
||||
/* Declaration of the frame size doesn't work on ptx. */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
#define ASIZE 0x1000000000UL
|
||||
#include "20031023-1.c"
|
||||
|
@ -1,2 +1,4 @@
|
||||
/* Declaration of the frame size doesn't work on ptx. */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
#define ASIZE 0x100000000UL
|
||||
#include "20031023-1.c"
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
void bar ();
|
||||
|
||||
void
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
foo (a, p)
|
||||
int *p;
|
||||
{
|
||||
|
@ -1,2 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
inline f(x){switch(x){case 6:case 4:case 3:case 1:;}return x;}
|
||||
g(){f(sizeof("xxxxxx"));}
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
union {
|
||||
short I[2];
|
||||
long int L;
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
int heap;
|
||||
|
||||
g(){}
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
struct r
|
||||
{
|
||||
int d1, d2;
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
g (a, b) {}
|
||||
|
||||
f (xx)
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
f ()
|
||||
{
|
||||
int i;
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* { dg-skip-if "requires untyped assembly" { ! untyped_assembly } { "-O0" } { "" } } */
|
||||
|
||||
int foo () {}
|
||||
|
||||
main (a, b)
|
||||
|
@ -1,4 +1,6 @@
|
||||
/* { dg-require-effective-target ptr32plus } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
typedef void (*T)(void);
|
||||
f1 ()
|
||||
{
|
||||
|
@ -1,4 +1,6 @@
|
||||
/* { dg-require-effective-target ptr32plus } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
typedef void *(*T)(void);
|
||||
f1 ()
|
||||
{
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
foo (a, p)
|
||||
register int a;
|
||||
int *p;
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
int glob;
|
||||
|
||||
conseq (a, b, c, d)
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
#define ID_1 2400000000.0
|
||||
#define ID_2 1.7
|
||||
#define ID_3 -1.7
|
||||
|
@ -1,3 +1,5 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
foo (a, b)
|
||||
{
|
||||
if ((a & (1 << b)) == 0)
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
int
|
||||
foo (a, b, c)
|
||||
{
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
typedef signed char int8_t;
|
||||
typedef short int int16_t;
|
||||
typedef int int32_t;
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
typedef signed char int8_t;
|
||||
typedef short int int16_t;
|
||||
typedef int int32_t;
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* PR middle-end/38360 */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
int
|
||||
main ()
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
extern void d (void);
|
||||
|
||||
void (*foo (void)) (float)
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* PR tree-optimization/47428 */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
struct S
|
||||
{
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* PR tree-optimization/47967 */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
extern void abort (void);
|
||||
static void bar ();
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
static int
|
||||
func1 (int a, int b)
|
||||
{
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
struct S1
|
||||
{
|
||||
short f0;
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
void
|
||||
foo (x, fn)
|
||||
void (*fn) ();
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* PR middle-end/53411 */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
int a, b, c, d, e, f, g, h;
|
||||
void fn1 (void);
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
int g1, g2;
|
||||
|
||||
void
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
foo (a, b, c, d, e, f, g, h, i)
|
||||
{
|
||||
return foo () + i;
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
extern void abort(void);
|
||||
|
||||
typedef struct
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
extern void abort (void);
|
||||
|
||||
struct type
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
int s[2];
|
||||
x(){if(!s[0]){s[1+s[1]]=s[1];return 1;}}
|
||||
main(){s[0]=s[1]=0;if(x(0)!=1)abort();exit(0);}
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
#ifndef STACK_SIZE
|
||||
#define VLEN 2055
|
||||
#else
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
#define STACK_REQUIREMENT (100000 * 4 + 1024)
|
||||
#if defined (STACK_SIZE) && STACK_SIZE < STACK_REQUIREMENT
|
||||
main () { exit (0); }
|
||||
|
@ -2,6 +2,7 @@
|
||||
type does not appear until after the function designator and
|
||||
arguments have been evaluated. PR 38483. */
|
||||
/* Origin: Joseph Myers <joseph@codesourcery.com> */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
extern void exit (int);
|
||||
extern void abort (void);
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* { dg-xfail-if "can cause stack underflow" { nios2-*-* } "*" "" } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
#define INTEGER_ARG 5
|
||||
|
||||
extern void abort(void);
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* PR 11184 */
|
||||
/* Origin: Dara Hazeghi <dhazeghi@yahoo.com> */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
void *
|
||||
objc_msg_sendv (char * arg_frame, void (*foo)())
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* { dg-do run } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
/* { dg-skip-if "Variadic funcs have all args on stack. Normal funcs have args in registers." { "aarch64*-*-* avr-*-* nds32*-*-*" } { "*" } { "" } } */
|
||||
/* { dg-skip-if "Variadic funcs use Base AAPCS. Normal funcs use VFP variant." { arm*-*-* && arm_hf_eabi } { "*" } { "" } } */
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
to the right location by __builtin_apply after the direct call. */
|
||||
|
||||
/* { dg-do run } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
|
||||
#define INTEGER_ARG 5
|
||||
|
@ -2,6 +2,7 @@
|
||||
/* { dg-options "-O2 -Wmissing-noreturn -fgnu89-inline" } */
|
||||
/* { dg-additional-options "-mno-mmx" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
|
||||
/* { dg-do run } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
extern void abort (void);
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
/* PR middle-end/38338 */
|
||||
/* { dg-options "-O0" } */
|
||||
/* { dg-options "-O0 -fPIC" { target fpic } } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
typedef void (*fnp) (void);
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-mavx -mvzeroupper" { target { i?86-*-* x86_64-*-* } } } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
short retframe_short (void *rframe)
|
||||
{
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* PR 11184 */
|
||||
/* Origin: Dara Hazeghi <dhazeghi@yahoo.com> */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
void *
|
||||
objc_msg_sendv (char * arg_frame, void (*foo)())
|
||||
|
@ -11,6 +11,7 @@
|
||||
do. */
|
||||
/* { dg-skip-if "Variadic funcs use different argument passing from normal funcs" { arm_hf_eabi || { avr-*-* } } "*" "" } */
|
||||
/* { dg-skip-if "Variadic funcs have all args on stack. Normal funcs have args in registers." { nds32*-*-* } "*" "" } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
|
||||
#define INTEGER_ARG 5
|
||||
|
@ -5,6 +5,7 @@
|
||||
to the right location by __builtin_apply after the direct call. */
|
||||
|
||||
/* { dg-do run } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
|
||||
#define INTEGER_ARG 5
|
||||
|
@ -1,6 +1,7 @@
|
||||
/* PR tree-optimization/20076 */
|
||||
/* { dg-do run } */
|
||||
/* { dg-additional-options "-fgnu89-inline" } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
extern void abort (void);
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
/* PR middle-end/11151 */
|
||||
/* Originator: Andrew Church <gcczilla@achurch.org> */
|
||||
/* { dg-do run } */
|
||||
/* { dg-require-effective-target untyped_assembly } */
|
||||
|
||||
/* This used to fail on SPARC because the (undefined) return
|
||||
value of 'bar' was overwriting that of 'foo'. */
|
||||
|
@ -599,6 +599,17 @@ proc add_options_for_tls { flags } {
|
||||
return $flags
|
||||
}
|
||||
|
||||
# Return 1 if the assembler does not verify function types against
|
||||
# calls, 0 otherwise. Such verification will typically show up problems
|
||||
# with K&R C function declarations.
|
||||
|
||||
proc check_effective_target_untyped_assembly {} {
|
||||
if { [istarget nvptx-*-*] } {
|
||||
return 0
|
||||
}
|
||||
return 1
|
||||
}
|
||||
|
||||
# Return 1 if alloca is supported, 0 otherwise.
|
||||
|
||||
proc check_effective_target_alloca {} {
|
||||
|
Loading…
x
Reference in New Issue
Block a user