
Make implicit binding warning off by default and remove `-Wno-hlsl-implicit-binding` from tests. Closes #135907
63 lines
2.3 KiB
HLSL
63 lines
2.3 KiB
HLSL
// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl -o - %s -verify
|
|
|
|
export void f1();
|
|
|
|
export void f1() {}
|
|
|
|
namespace { // expected-note {{anonymous namespace begins here}}
|
|
export void f2(); // expected-error {{export declaration appears within anonymous namespace}}
|
|
}
|
|
|
|
export void f3();
|
|
|
|
export { // expected-note {{export block begins here}}
|
|
void f4() {}
|
|
export void f5() {} // expected-error {{export declaration appears within another export declaration}}
|
|
int A; // expected-error {{export declaration can only be used on functions}}
|
|
namespace ns { // expected-error {{export declaration can only be used on functions}}
|
|
void f6();
|
|
}
|
|
}
|
|
|
|
export { // expected-note {{export block begins here}}
|
|
export { // expected-error {{export declaration appears within another export declaration}}
|
|
void f();
|
|
}
|
|
}
|
|
|
|
void export f7() {} // expected-error {{expected unqualified-id}}
|
|
|
|
export static void f8() {} // expected-error {{declaration of 'f8' with internal linkage cannot be exported}}
|
|
|
|
export void f9(); // expected-note {{previous declaration is here}}
|
|
static void f9(); // expected-error {{static declaration of 'f9' follows non-static declaration}}
|
|
|
|
static void f10(); // expected-note {{previous declaration is here}}
|
|
export void f10(); // expected-error {{cannot export redeclaration 'f10' here since the previous declaration has internal linkage}}
|
|
|
|
export void f11();
|
|
void f11() {}
|
|
|
|
void f12(); // expected-note{{previous declaration is here}}
|
|
export void f12() {} // expected-error{{cannot export redeclaration 'f12' here since the previous declaration is not exported}}
|
|
|
|
export float V1; // expected-error {{export declaration can only be used on functions}}
|
|
|
|
static export float V2; // expected-error{{expected unqualified-id}}
|
|
|
|
export static float V3 = 0; // expected-error {{export declaration can only be used on functions}}
|
|
|
|
export groupshared float V4; // expected-error {{export declaration can only be used on functions}}
|
|
|
|
void f6() {
|
|
export int i; // expected-error {{expected expression}}
|
|
}
|
|
|
|
export cbuffer CB { // expected-error {{export declaration can only be used on functions}}
|
|
int a;
|
|
}
|
|
|
|
export template<typename T> void tf1(T t) {} // expected-error {{export declaration can only be used on functions}}
|
|
|
|
void f5() export {} // expected-error {{expected function body after function declarator}}
|