From abb7f1a7790544010d6eaac0f137e6b39349cf76 Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 1 Apr 2024 18:44:44 -0700 Subject: Support `[RequirePrelude]` attribute on types. (#3867) --- tests/interop/type-prelude.slang | 19 +++++++++++++++++++ tests/interop/type-prelude.slang.expected | 6 ++++++ 2 files changed, 25 insertions(+) create mode 100644 tests/interop/type-prelude.slang create mode 100644 tests/interop/type-prelude.slang.expected (limited to 'tests/interop') diff --git a/tests/interop/type-prelude.slang b/tests/interop/type-prelude.slang new file mode 100644 index 000000000..e85d91d2f --- /dev/null +++ b/tests/interop/type-prelude.slang @@ -0,0 +1,19 @@ +//TEST:EXECUTABLE: + +[RequirePrelude(cpp, "const int PRELUDE = 2; struct Foo{};")] +[RequirePrelude(glsl, "INVALID_PRELUDE")] +__target_intrinsic(cpp, "Foo") +struct Foo +{ + int test() + { + __intrinsic_asm "(PRELUDE)"; + } +} + +export __extern_cpp int main() +{ + Foo f; + printf("%d\n", f.test()); + return 0; +} \ No newline at end of file diff --git a/tests/interop/type-prelude.slang.expected b/tests/interop/type-prelude.slang.expected new file mode 100644 index 000000000..5ce39bf1a --- /dev/null +++ b/tests/interop/type-prelude.slang.expected @@ -0,0 +1,6 @@ +result code = 0 +standard error = { +} +standard output = { +2 +} -- cgit v1.2.3