From 1f3298e3eecff60170f16b40739b4448d6403b8d Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Thu, 28 Apr 2022 08:52:49 -0400 Subject: Disable `class` keyword to define a new type (#2212) * #include an absolute path didn't work - because paths were taken to always be relative. * Disable class keyword. * Add class keyword test. * Fix test diagnostic. --- tests/diagnostics/class-keyword.slang | 10 ++++++++++ tests/diagnostics/class-keyword.slang.expected | 8 ++++++++ 2 files changed, 18 insertions(+) create mode 100644 tests/diagnostics/class-keyword.slang create mode 100644 tests/diagnostics/class-keyword.slang.expected (limited to 'tests') diff --git a/tests/diagnostics/class-keyword.slang b/tests/diagnostics/class-keyword.slang new file mode 100644 index 000000000..c0495a614 --- /dev/null +++ b/tests/diagnostics/class-keyword.slang @@ -0,0 +1,10 @@ +//DIAGNOSTIC_TEST:SIMPLE: + +// `class` keyword is a reserved keyword in this context, and wso should produce an error. +// It can be used in the form of `enum class` + +class SomeClass +{ + int a; + int b; +}; diff --git a/tests/diagnostics/class-keyword.slang.expected b/tests/diagnostics/class-keyword.slang.expected new file mode 100644 index 000000000..9a3a07a63 --- /dev/null +++ b/tests/diagnostics/class-keyword.slang.expected @@ -0,0 +1,8 @@ +result code = -1 +standard error = { +tests/diagnostics/class-keyword.slang(6): error 20014: 'class' is a reserved keyword in this context; use 'struct' instead. +class SomeClass +^~~~~ +} +standard output = { +} -- cgit v1.2.3