summaryrefslogtreecommitdiff
path: root/source/slang/slang-preprocessor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-preprocessor.cpp')
-rw-r--r--source/slang/slang-preprocessor.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/source/slang/slang-preprocessor.cpp b/source/slang/slang-preprocessor.cpp
index aefbf7619..02f46103b 100644
--- a/source/slang/slang-preprocessor.cpp
+++ b/source/slang/slang-preprocessor.cpp
@@ -3635,6 +3635,29 @@ static void HandlePragmaDirective(PreprocessorDirectiveContext* context)
(subDirective->callback)(context, subDirectiveToken);
}
+static void HandleExtensionDirective(PreprocessorDirectiveContext* context)
+{
+ SkipToEndOfLine(context);
+}
+
+static void HandleVersionDirective(PreprocessorDirectiveContext* context)
+{
+ [[maybe_unused]]
+ int version;
+ switch(PeekTokenType(context))
+ {
+ case TokenType::IntegerLiteral:
+ version = stringToInt(AdvanceToken(context).getContent());
+ break;
+ default:
+ GetSink(context)->diagnose(GetDirectiveLoc(context), Diagnostics::expectedIntegralVersionNumber);
+ break;
+ }
+
+ SkipToEndOfLine(context);
+ // TODO, just skip the version for now
+}
+
// Handle an invalid directive
static void HandleInvalidDirective(PreprocessorDirectiveContext* context)
{
@@ -3689,6 +3712,11 @@ static const PreprocessorDirective kDirectives[] =
{ "line", &HandleLineDirective, 0 },
{ "pragma", &HandlePragmaDirective, 0 },
+ // GLSL
+ { "version", &HandleVersionDirective, 0 },
+ { "extension", &HandleExtensionDirective, 0 },
+
+
{ nullptr, nullptr, 0 },
};