blob: 14faf120f348722c34e90fac43f540b0c8f0adfa [file] [edit]
// REQUIRES: systemz-registered-target
// RUN: %clang_cc1 -triple s390x-none-zos -fzos-extensions %s -fsyntax-only -verify
#pragma export(d0) // expected-warning{{failed to resolve '#pragma export' to a declaration}}
#pragma export(f9) // expected-warning{{failed to resolve '#pragma export' to a declaration}}
#pragma export(sf1) // expected-warning{{#pragma export is applicable to symbols with external linkage only; not applied to 'sf1'}}
#pragma export(s1) // expected-warning{{#pragma export is applicable to symbols with external linkage only; not applied to 's1'}}
static void sf1(void) {}
static int s1;
static void sf0(void) {}
int v0;
static int s0;
#pragma export(sf0) // expected-warning{{#pragma export is applicable to symbols with external linkage only; not applied to 'sf0'}}
#pragma export(s0) // expected-warning{{#pragma export is applicable to symbols with external linkage only; not applied to 's0'}}
#pragma export(f1) // expected-error {{visibility does not match previous declaration}}
int f1() __attribute__((visibility("hidden")));
int f2() __attribute__((visibility("hidden")));
#pragma export(f2) // expected-error {{visibility does not match previous declaration}}
int hoo() __attribute__((visibility("hidden")));
int foo() { return 4; }
#pragma export(foo) // expected-warning {{#pragma export can only applied before a symbol is defined}}
int var = 4;
#pragma export(var) // expected-warning {{#pragma export can only applied before a symbol is defined}}
int func() {
#pragma export(local) // expected-error{{'#pragma export' can only appear at file scope}}
int local;
int l2;
#pragma export(l2) // expected-error{{'#pragma export' can only appear at file scope}}
return local+l2;
}
int local = 2;
int l2 =4;