Commit 6c0fcb81 by Marc Glisse Committed by H.J. Lu

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
parent 020ca950
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> 2015-01-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/64530 PR tree-optimization/64530
......
/* { dg-options "-O2" } */ /* { dg-options "-O2" } */
/* { dg-additional-sources pr64291-2.c } */ /* { dg-additional-sources pr64291-2.c } */
/* { dg-do run } */ /* { dg-do run { target lp64 } } */
void f(void*,...); void f(void*,...);
void g(void*,long,long); void g(void*,long,long);
int nnn=0; int nnn=0;
...@@ -12,6 +12,7 @@ typedef struct ...@@ -12,6 +12,7 @@ typedef struct
unsigned long *_mp_d; unsigned long *_mp_d;
} __mpz_struct; } __mpz_struct;
typedef __mpz_struct mpz_t[1]; typedef __mpz_struct mpz_t[1];
void h(mpz_t);
int main () int main ()
{ {
...@@ -21,7 +22,7 @@ int main () ...@@ -21,7 +22,7 @@ int main ()
long alloc, itch; long alloc, itch;
f (n); f (n);
f (d); h (d);
qp = (unsigned long*)__builtin_alloca(4099*8) + 1; qp = (unsigned long*)__builtin_alloca(4099*8) + 1;
dnp = (unsigned long*)__builtin_alloca (2049*8); dnp = (unsigned long*)__builtin_alloca (2049*8);
alloc = 1; alloc = 1;
......
/* { dg-do compile } */ /* { dg-do compile } */
extern void abort (void); #include <assert.h>
void f(void*p,...){} 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;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment