blob: 42d66f9b83285cab16b4941f847162f02d1e850a [file] [log] [blame]
Daniel Dunbar03abc9e2009-04-07 22:36:33 +00001// RUN: clang-cc -triple i386-unknown-unknown -fvisibility=default -emit-llvm -o %t %s &&
2// RUN: grep '@g_com = common global i32 0' %t &&
3// RUN: grep '@g_def = global i32 0' %t &&
4// RUN: grep '@g_ext = external global i32' %t &&
5// RUN: grep 'declare void @f_ext()' %t &&
6// RUN: grep 'define i32 @f_def()' %t &&
7// RUN: clang-cc -triple i386-unknown-unknown -fvisibility=protected -emit-llvm -o %t %s &&
8// RUN: grep '@g_com = common protected global i32 0' %t &&
9// RUN: grep '@g_def = protected global i32 0' %t &&
10// RUN: grep '@g_ext = external global i32' %t &&
11// RUN: grep 'declare void @f_ext()' %t &&
12// RUN: grep 'define protected i32 @f_def()' %t &&
13// RUN: clang-cc -triple i386-unknown-unknown -fvisibility=hidden -emit-llvm -o %t %s &&
14// RUN: grep '@g_com = common hidden global i32 0' %t &&a
15// RUN: grep '@g_def = hidden global i32 0' %t &&
16// RUN: grep '@g_ext = external global i32' %t &&
17// RUN: grep 'declare void @f_ext()' %t &&
18// RUN: grep 'define hidden i32 @f_def()' %t &&
19// RUN: true
20
21int g_com;
22int g_def = 0;
23extern int g_ext;
24
25extern void f_ext(void);
26
27int f_def(void) {
28 f_ext();
29 return g_com + g_def + g_ext;
30}