[all-commits] [llvm/llvm-project] 30efdc: [HLSL] Strict Availability Diagnostics (#93860)

Helena Kotas via All-commits all-commits at lists.llvm.org
Tue Jun 18 10:34:50 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 30efdce77e523454a6f1778827170f0e70ba8616
      https://github.com/llvm/llvm-project/commit/30efdce77e523454a6f1778827170f0e70ba8616
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-06-18 (Tue, 18 Jun 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/SemaHLSL/Availability/avail-diag-strict-compute.hlsl
    A clang/test/SemaHLSL/Availability/avail-diag-strict-lib.hlsl

  Log Message:
  -----------
  [HLSL] Strict Availability Diagnostics (#93860)

Implements HLSL availability diagnostics' strict mode.

HLSL availability diagnostics emits errors or warning when unavailable
shader APIs are used. Unavailable shader APIs are APIs that are exposed
in HLSL code but are not available in the target shader stage or shader
model version.

In the strict mode the compiler emits an error when an unavailable API
is found in any function regardless of whether it is reachable from the
shader entry point or not. This mode is enabled by
``-fhlsl-strict-availability``.

See HLSL Availability Diagnostics design doc
[here](https://github.com/llvm/llvm-project/blob/main/clang/docs/HLSL/AvailabilityDiagnostics.rst)
for more details.

Fixes #90096



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