llvm-project/clang/test/CodeGen/tentative-decls.c
Sjoerd Meijer 3d9a0445cc Recommit #2 "[Driver] Default to -fno-common for all targets"
After a first attempt to fix the test-suite failures, my first recommit
caused the same failures again. I had updated CMakeList.txt files of
tests that needed -fcommon, but it turns out that there are also
Makefiles which are used by some bots, so I've updated these Makefiles
now too.

See the original commit message for more details on this change:
0a9fc9233e172601e26381810d093e02ef410f65
2020-03-09 19:57:03 +00:00

39 lines
855 B
C

// RUN: %clang_cc1 -emit-llvm -w -o - %s | FileCheck %s
// CHECK-DAG: @r = {{(dso_local )?}}global [1 x {{.*}}] zeroinitializer
int r[];
int (*a)[] = &r;
struct s0;
struct s0 x;
// CHECK-DAG: @x = {{(dso_local )?}}global %struct.s0 zeroinitializer
struct s0 y;
// CHECK-DAG: @y = {{(dso_local )?}}global %struct.s0 zeroinitializer
struct s0 *f0() {
return &y;
}
struct s0 {
int x;
};
// CHECK-DAG: @b = {{(dso_local )?}}global [1 x {{.*}}] zeroinitializer
int b[];
int *f1() {
return b;
}
// Check that the most recent tentative definition wins.
// CHECK-DAG: @c = {{(dso_local )?}}global [4 x {{.*}}] zeroinitializer
int c[];
int c[4];
// Check that we emit static tentative definitions
// CHECK-DAG: @c5 = internal global [1 x {{.*}}] zeroinitializer
static int c5[];
static int func() { return c5[0]; }
int callfunc() { return func(); }