view gcc/testsuite/gcc.dg/c11-anon-struct-1.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

/* Test for anonymous structures and unions in C11.  */
/* { dg-do compile } */
/* { dg-options "-std=c11 -pedantic-errors" } */

#include <stddef.h>

struct s1
{
  int a;
  union
  {
    int i;
  };
  struct
  {
    int b;
  };
};

union u1
{
  int b;
  struct
  {
    int i;
  };
  union
  {
    int c;
  };
};

struct s2
{
  struct
  {
    int a;
  };
};

struct s3
{
  union
  {
    int i;
  };
};

struct s4
{
  struct
  {
    int i;
  };
  int a[];
};

struct s1 x =
  {
    .b = 1,
    .i = 2,
    .a = 3
  };

int o = offsetof (struct s1, i);

void
f (void)
{
  x.i = 3;
  (&x)->i = 4;
}