Avoid undefined behavior in gcc.target/i386/pr64291-1.c
PR testsuite/64427 * gcc.target/i386/pr64291-1.c: Limit to lp64 tarrget. Avoid undefined behavior. * gcc.target/i386/pr64291-2.c: Updated. From-SVN: r219479
This commit is contained in:
parent
020ca9503b
commit
6c0fcb81da
|
@ -1,3 +1,10 @@
|
|||
2015-01-12 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
PR testsuite/64427
|
||||
* gcc.target/i386/pr64291-1.c: Limit to lp64 tarrget. Avoid
|
||||
undefined behavior.
|
||||
* gcc.target/i386/pr64291-2.c: Updated.
|
||||
|
||||
2015-01-12 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/64530
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* { dg-options "-O2" } */
|
||||
/* { dg-additional-sources pr64291-2.c } */
|
||||
/* { dg-do run } */
|
||||
/* { dg-do run { target lp64 } } */
|
||||
void f(void*,...);
|
||||
void g(void*,long,long);
|
||||
int nnn=0;
|
||||
|
@ -12,6 +12,7 @@ typedef struct
|
|||
unsigned long *_mp_d;
|
||||
} __mpz_struct;
|
||||
typedef __mpz_struct mpz_t[1];
|
||||
void h(mpz_t);
|
||||
|
||||
int main ()
|
||||
{
|
||||
|
@ -21,7 +22,7 @@ int main ()
|
|||
long alloc, itch;
|
||||
|
||||
f (n);
|
||||
f (d);
|
||||
h (d);
|
||||
qp = (unsigned long*)__builtin_alloca(4099*8) + 1;
|
||||
dnp = (unsigned long*)__builtin_alloca (2049*8);
|
||||
alloc = 1;
|
||||
|
|
|
@ -1,4 +1,14 @@
|
|||
/* { dg-do compile } */
|
||||
extern void abort (void);
|
||||
#include <assert.h>
|
||||
void f(void*p,...){}
|
||||
void g(void*p,long a,long b){if (a!=8) abort();}
|
||||
void g(void*p,long a,long b){assert(a==8);}
|
||||
typedef struct
|
||||
{
|
||||
int _mp_size;
|
||||
unsigned long *_mp_d;
|
||||
} __mpz_struct;
|
||||
typedef __mpz_struct mpz_t[1];
|
||||
void h(mpz_t x) {
|
||||
x->_mp_d=0;
|
||||
x->_mp_size=0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue