view gcc/testsuite/gcc.dg/pr17112-1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line source

/* PR middle-end/17112 */
/* { dg-do run } */
/* { dg-require-effective-target int32plus } */
/* { dg-options "-O2" } */

extern void abort(void);

typedef struct {
  int int24:24  __attribute__ ((packed));
} myint24;

myint24 x[3] = {
  0x123456,
  0x789abc,
  0xdef012
};

myint24 y[3];  // starts out as zeros

void foo()
{
  y[1] = x[1];
}

int main()
{
  foo();

  if (y[0].int24 != 0 || y[2].int24 != 0)
    abort();
  return 0;
}