reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
// RUN: %clang_cc1 %s -emit-llvm -o -

// Test anonymous union with members of the same size.
int test1(float F) {
  union {
     float G;
     int i;
  };
  G = F;
  return i;
}

// test anonymous union with members of differing size.
int test2(short F) {
  volatile union {
     short G;
     int i;
  };
  G = F;
  return i;
}

// Make sure that normal unions work.  duh :)
volatile union U_t {
  short S;
  int i;
} U;

int test3(short s) {
  U.S = s;
  return U.i;
}