Skip to content

Commit 1d8695d

Browse files
committed
[ser] Fold barrier_invalid_semantics_flags[_legacy] diags into one
1 parent c1c202d commit 1d8695d

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

tools/clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7974,12 +7974,9 @@ def err_hlsl_controlpoints_size: Error<
79747974
def err_hlsl_barrier_invalid_memory_flags: Error<
79757975
"invalid MemoryTypeFlags for Barrier operation; expected 0, ALL_MEMORY, or some combination of "
79767976
"UAV_MEMORY, GROUP_SHARED_MEMORY, NODE_INPUT_MEMORY, NODE_OUTPUT_MEMORY flags">;
7977-
def err_hlsl_barrier_invalid_semantic_flags_legacy: Error<
7978-
"invalid SemanticFlags for Barrier operation; expected 0 or some combination of "
7979-
"GROUP_SYNC, GROUP_SCOPE, DEVICE_SCOPE flags">;
79807977
def err_hlsl_barrier_invalid_semantic_flags: Error<
79817978
"invalid SemanticFlags for Barrier operation; expected 0 or some combination of "
7982-
"GROUP_SYNC, GROUP_SCOPE, DEVICE_SCOPE, REORDER_SCOPE flags">;
7979+
"GROUP_SYNC, GROUP_SCOPE, DEVICE_SCOPE%select{|, REORDER_SCOPE}0 flags">;
79837980
def warn_hlsl_barrier_group_memory_requires_group: Warning<
79847981
"GROUP_SHARED_MEMORY specified for Barrier operation when context has no visible group">,
79857982
InGroup<HLSLBarrier>, DefaultError;

tools/clang/lib/Sema/SemaHLSL.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11593,18 +11593,17 @@ static bool CheckBarrierCall(Sema &S, FunctionDecl *FD, CallExpr *CE,
1159311593
if (SemanticFlagsExpr->isIntegerConstantExpr(SemanticFlagsVal, S.Context)) {
1159411594
SemanticFlags = SemanticFlagsVal.getLimitedValue();
1159511595
uint32_t ValidMask = 0U;
11596-
unsigned DiagID = 0;
1159711596
if (SM->IsSM69Plus()) {
11598-
DiagID = diag::err_hlsl_barrier_invalid_semantic_flags;
1159911597
ValidMask =
1160011598
static_cast<unsigned>(hlsl::DXIL::BarrierSemanticFlag::ValidMask);
1160111599
} else {
11602-
DiagID = diag::err_hlsl_barrier_invalid_semantic_flags_legacy;
1160311600
ValidMask =
1160411601
static_cast<unsigned>(hlsl::DXIL::BarrierSemanticFlag::LegacyFlags);
1160511602
}
1160611603
if ((uint32_t)SemanticFlags & ~ValidMask) {
11607-
S.Diags.Report(SemanticFlagsExpr->getExprLoc(), DiagID);
11604+
S.Diags.Report(SemanticFlagsExpr->getExprLoc(),
11605+
diag::err_hlsl_barrier_invalid_semantic_flags)
11606+
<< SM->IsSM69Plus();
1160811607
return true;
1160911608
}
1161011609
}

0 commit comments

Comments
 (0)