[clang] [clang] Introduce `SemaHLSL` (PR #87912)

via cfe-commits cfe-commits at lists.llvm.org
Sun Apr 7 23:45:22 PDT 2024


cor3ntin wrote:

Should these be moved?

```cpp
 void ActOnHLSLTopLevelFunction(FunctionDecl *FD);
  void CheckHLSLEntryPoint(FunctionDecl *FD);
  void CheckHLSLSemanticAnnotation(FunctionDecl *EntryPoint, const Decl *Param,
                                   const HLSLAnnotationAttr *AnnotationAttr);
  void DiagnoseHLSLAttrStageMismatch(
      const Attr *A, HLSLShaderAttr::ShaderType Stage,
      std::initializer_list<HLSLShaderAttr::ShaderType> AllowedStages);
```

What about

```cpp
HLSLNumThreadsAttr *mergeHLSLNumThreadsAttr(Decl *D,
                                              const AttributeCommonInfo &AL,
                                              int X, int Y, int Z);
  HLSLShaderAttr *mergeHLSLShaderAttr(Decl *D, const AttributeCommonInfo &AL,
                                      HLSLShaderAttr::ShaderType ShaderType);
  HLSLParamModifierAttr *
  mergeHLSLParamModifierAttr(Decl *D, const AttributeCommonInfo &AL,
                             HLSLParamModifierAttr::Spelling Spelling);
```

There may be other functions hlsl specific that do not have 'HLSL" in their name


https://github.com/llvm/llvm-project/pull/87912


More information about the cfe-commits mailing list