From d979b5048009c3909cfc13476a78a12ae5f4d61b Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Fri, 1 Mar 2024 01:50:19 +0800 Subject: Add support for bitfields (#3639) * Add support for bitfields Closes https://github.com/shader-slang/slang/issues/3559 * Set scopes for syntsized bitfield accessors * Simplify generated code for bitfield accessors * spelling * regenerate vs project * warnings --- source/slang/slang-parser.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'source/slang/slang-parser.cpp') diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp index 5555647f4..3f1ed3f76 100644 --- a/source/slang/slang-parser.cpp +++ b/source/slang/slang-parser.cpp @@ -2970,6 +2970,15 @@ namespace Slang semantic->name = parser->ReadToken(TokenType::Identifier); return semantic; } + else if (parser->LookAheadToken(TokenType::IntegerLiteral)) + { + BitFieldModifier* bitWidthMod = parser->astBuilder->create(); + parser->FillPosition(bitWidthMod); + const auto token = parser->tokenReader.advanceToken(); + UnownedStringSlice suffix; + bitWidthMod->width = getIntegerLiteralValue(token, &suffix); + return bitWidthMod; + } else if (parser->LookAheadToken(TokenType::CompletionRequest)) { HLSLSimpleSemantic* semantic = parser->astBuilder->create(); -- cgit v1.2.3