| // 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; |
| |