[all-commits] [llvm/llvm-project] 0a7a1e: [HLSL] Add `[[hlsl::contained_type()]]` attribute ...

Helena Kotas via All-commits all-commits at lists.llvm.org
Mon Sep 16 13:39:34 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0a7a1ef2205c45859b4179cef993e97e9f5b4d0d
      https://github.com/llvm/llvm-project/commit/0a7a1ef2205c45859b4179cef993e97e9f5b4d0d
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    A clang/test/ParserHLSL/hlsl_contained_type_attr.hlsl
    A clang/test/ParserHLSL/hlsl_contained_type_attr_error.hlsl
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl

  Log Message:
  -----------
  [HLSL] Add `[[hlsl::contained_type()]]` attribute (#108456)

Introducing a new HLSL resource type attribute `[[contained_type(T)]]`
which describes the "contained type" of a buffer or resource type.
Specifically, the attribute will be used on the resource handle in
templated buffer types like so:

template <typename T> struct RWBuffer {
  __hlsl_resource_t [[hlsl::contained_type(T)]] [[hlsl::resource_class(UAV)]] h;
};

Fixes #104855



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list