---
const int g1 = 42;

int g2 = 17;

struct S {
    int x;
} g3 = { 128 };

int g4[2] = { 13, 14 };

int g5[2][2] = { 15, 16, 17, 18 };

struct S* const g6 = &g3;

void foo() {
    // Test that local vars are not treated as global ones.
    float g1;
}

// Test non-compilable variable:
typedef int MyInt;
MyInt g7;
#define g7 bad macro

// Test property name mangling:
struct g1 {};
struct g1_ {};

typedef void* voidptr;
_Pragma("clang assume_nonnull begin")
const voidptr g8 = 0x1, g9 = 0x2;
_Pragma("clang assume_nonnull end")