re PR middle-end/50527 (inconsistent vla align)
2011-10-07 Tom de Vries <tom@codesourcery.com> PR middle-end/50527 * gcc.dg/pr50527.c: New test. From-SVN: r179656
This commit is contained in:
parent
13e49da934
commit
8be5e1cc7d
|
@ -1,3 +1,8 @@
|
|||
2011-10-07 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR middle-end/50527
|
||||
* gcc.dg/pr50527.c: New test.
|
||||
|
||||
2011-10-07 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/50650
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
/* { dg-do run } */
|
||||
/* { dg-options "-Os --param large-stack-frame=30" } */
|
||||
|
||||
extern void abort (void);
|
||||
|
||||
void __attribute__((noinline))
|
||||
bar (char *a)
|
||||
{
|
||||
}
|
||||
|
||||
void __attribute__((noinline))
|
||||
foo (char *a, int b)
|
||||
{
|
||||
}
|
||||
|
||||
void __attribute__((noinline))
|
||||
test_align (char *p, int aligned, unsigned int mask)
|
||||
{
|
||||
int p_aligned = ((unsigned long int)p & mask) == 0;
|
||||
if (aligned != p_aligned)
|
||||
abort ();
|
||||
}
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
const int kIterations = 4;
|
||||
char results[kIterations];
|
||||
int i;
|
||||
unsigned int mask;
|
||||
|
||||
mask = 0xf;
|
||||
test_align (results, ((unsigned long int)results & mask) == 0, mask);
|
||||
mask = 0x7;
|
||||
test_align (results, ((unsigned long int)results & mask) == 0, mask);
|
||||
mask = 0x3;
|
||||
test_align (results, ((unsigned long int)results & mask) == 0, mask);
|
||||
mask = 0x1;
|
||||
test_align (results, ((unsigned long int)results & mask) == 0, mask);
|
||||
|
||||
bar (results);
|
||||
for (i = 0; i < kIterations; i++)
|
||||
foo ("%d ", results[i]);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue