diff options
| author | Yong He <yonghe@outlook.com> | 2022-11-04 09:36:23 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-04 09:36:23 -0700 |
| commit | c6e6b7a9177bf4f7fc2f05da36c5952979006d78 (patch) | |
| tree | 6db694b5b4bf94ce48678c73921676f9d305614d /source/slang/slang-parser.cpp | |
| parent | 015bde8d5a46f32979c00dbb1feb4b3d80729c44 (diff) | |
Higher order differentiation. (#2487)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-parser.cpp')
| -rw-r--r-- | source/slang/slang-parser.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/slang/slang-parser.cpp b/source/slang/slang-parser.cpp index 980a1d0bc..78edd4deb 100644 --- a/source/slang/slang-parser.cpp +++ b/source/slang/slang-parser.cpp @@ -6430,6 +6430,16 @@ namespace Slang return modifier; } + static NodeBase* parseBuiltinRequirementModifier(Parser* parser, void* /*userData*/) + { + BuiltinRequirementModifier* modifier = parser->astBuilder->create<BuiltinRequirementModifier>(); + parser->ReadToken(TokenType::LParent); + modifier->kind = BuiltinRequirementKind(StringToInt(parser->ReadToken(TokenType::IntegerLiteral).getContent())); + parser->ReadToken(TokenType::RParent); + + return modifier; + } + static NodeBase* parseMagicTypeModifier(Parser* parser, void* /*userData*/) { MagicTypeModifier* modifier = parser->astBuilder->create<MagicTypeModifier>(); @@ -6618,6 +6628,8 @@ namespace Slang _makeParseModifier("__cuda_sm_version", parseCUDASMVersionModifier), _makeParseModifier("__builtin_type", parseBuiltinTypeModifier), + _makeParseModifier("__builtin_requirement", parseBuiltinRequirementModifier), + _makeParseModifier("__magic_type", parseMagicTypeModifier), _makeParseModifier("__intrinsic_type", parseIntrinsicTypeModifier), _makeParseModifier("__implicit_conversion", parseImplicitConversionModifier), |
