Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/pr50527.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-options "-Os --param large-stack-frame=30 -Wno-pointer-to-int-cast" } */ 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; }