summaryrefslogtreecommitdiff
path: root/tests/front-end/parser-decls.slang
diff options
context:
space:
mode:
authorTim Foley <tfoleyNV@users.noreply.github.com>2017-06-12 14:33:31 -0700
committerGitHub <noreply@github.com>2017-06-12 14:33:31 -0700
commitce90fec1c795eaafbd91d7b8a83501a57eeb1946 (patch)
tree2e939a9ef7b972944b71ea3f7d11a17af844c3fe /tests/front-end/parser-decls.slang
parentd1f11a29f8a48eecd47ac64c8635ed062cba982d (diff)
parent5b49974bd6ddd248b5ee1b1e29c0acfc3c422a3a (diff)
Merge pull request #3 from tfoleyNV/rename-tests
Rename tests from `*.spire` to `*.slang`
Diffstat (limited to 'tests/front-end/parser-decls.slang')
-rw-r--r--tests/front-end/parser-decls.slang60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/front-end/parser-decls.slang b/tests/front-end/parser-decls.slang
new file mode 100644
index 000000000..bc5a2b13b
--- /dev/null
+++ b/tests/front-end/parser-decls.slang
@@ -0,0 +1,60 @@
+//TEST:SIMPLE:
+// test that we can parse all the expected kinds of declarations
+
+// global-scope `using` is another test
+
+/* Note(tfoley): disabled during syntax transition
+// pipeline
+pipeline P
+{
+
+}
+*/
+
+// empty declaration
+;
+
+// struct type
+struct Pair
+{
+ int head;
+ float tail;
+
+// Note(tfoley): semicolon is expected/required
+// here for compatibility with HLSL (C-style
+// declarators).
+//
+// TODO: this could be removed if we treat
+// HLSL as a "compatibility mode"
+};
+
+// function at global scope
+float tail(Pair p) { return p.tail; }
+
+/* Note(tfoley): disabled during syntax transition
+
+// module
+module M
+{
+ // component declarations
+
+ // using declarations
+
+}
+
+// a module can "inherit" from a pipeline
+module M2
+ targets P
+{
+}
+
+// shader
+shader S
+{
+ // component declarations
+
+ // using declarations
+
+}
+
+*/ \ No newline at end of file