// RUN: clang-cc -emit-llvm -o %t %s &&

// RUN: grep '@r = common global \[1 x .*\] zeroinitializer' %t &&

int r[];
int (*a)[] = &r;

struct s0;
struct s0 x;
// RUN: grep '@x = common global .struct.s0 zeroinitializer' %t &&

struct s0 y;
// RUN: grep '@y = common global .struct.s0 zeroinitializer' %t &&
struct s0 *f0() {
  return &y;
}

struct s0 {
  int x;
};

// RUN: grep '@b = common global \[1 x .*\] zeroinitializer' %t &&
int b[];
int *f1() {
  return b;
}

// Check that the most recent tentative definition wins.
// RUN: grep '@c = common global \[4 x .*\] zeroinitializer' %t &&
int c[];
int c[4];

// Check that we emit static tentative definitions
// RUN: grep '@c5 = internal global \[1 x .*\] zeroinitializer' %t &&
static int c5[];
static int func() { return c5[0]; }
int callfunc() { return func(); }

// RUN: true
