[clang] [HLSL][NFC] Builtin type declaration builder cleanup (PR #160375)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 23 12:26:05 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-hlsl
@llvm/pr-subscribers-clang
Author: Helena Kotas (hekota)
<details>
<summary>Changes</summary>
Replace early exit from builder methods with assert - they should be not called on a completed record.
Also removes commented-out code.
---
Full diff: https://github.com/llvm/llvm-project/pull/160375.diff
1 Files Affected:
- (modified) clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp (+6-18)
``````````diff
diff --git a/clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp b/clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
index 5eafd03d89efe..97a6a7f1439db 100644
--- a/clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+++ b/clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
@@ -748,8 +748,7 @@ BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addHandleMember(
// Adds default constructor to the resource class:
// Resource::Resource()
BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addDefaultHandleConstructor() {
- if (Record->isCompleteDefinition())
- return *this;
+ assert(!Record->isCompleteDefinition() && "record is already complete");
using PH = BuiltinTypeMethodBuilder::PlaceHolder;
QualType HandleType = getResourceHandleField()->getType();
@@ -773,8 +772,7 @@ BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addDefaultHandleConstructor() {
// return tmp;
// }
BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addCreateFromBinding() {
- if (Record->isCompleteDefinition())
- return *this;
+ assert(!Record->isCompleteDefinition() && "record is already complete");
using PH = BuiltinTypeMethodBuilder::PlaceHolder;
ASTContext &AST = SemaRef.getASTContext();
@@ -811,8 +809,7 @@ BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addCreateFromBinding() {
// return tmp;
// }
BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addCreateFromImplicitBinding() {
- if (Record->isCompleteDefinition())
- return *this;
+ assert(!Record->isCompleteDefinition() && "record is already complete");
using PH = BuiltinTypeMethodBuilder::PlaceHolder;
ASTContext &AST = SemaRef.getASTContext();
@@ -838,8 +835,7 @@ BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addCreateFromImplicitBinding() {
}
BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addCopyConstructor() {
- if (Record->isCompleteDefinition())
- return *this;
+ assert(!Record->isCompleteDefinition() && "record is already complete");
ASTContext &AST = SemaRef.getASTContext();
QualType RecordType = AST.getCanonicalTagType(Record);
@@ -857,8 +853,7 @@ BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addCopyConstructor() {
}
BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addCopyAssignmentOperator() {
- if (Record->isCompleteDefinition())
- return *this;
+ assert(!Record->isCompleteDefinition() && "record is already complete");
ASTContext &AST = SemaRef.getASTContext();
QualType RecordType = AST.getCanonicalTagType(Record);
@@ -889,8 +884,7 @@ BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addArraySubscriptOperators() {
}
BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addLoadMethods() {
- if (Record->isCompleteDefinition())
- return *this;
+ assert(!Record->isCompleteDefinition() && "record is already complete");
ASTContext &AST = Record->getASTContext();
IdentifierInfo &II = AST.Idents.get("Load", tok::TokenKind::identifier);
@@ -931,12 +925,6 @@ BuiltinTypeDeclBuilder::getResourceAttrs() const {
return cast<HLSLAttributedResourceType>(HandleType)->getAttrs();
}
-// BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::startDefinition() {
-// assert(!Record->isCompleteDefinition() && "record is already complete");
-// Record->startDefinition();
-// return *this;
-// }
-
BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::completeDefinition() {
assert(!Record->isCompleteDefinition() && "record is already complete");
assert(Record->isBeingDefined() &&
``````````
</details>
https://github.com/llvm/llvm-project/pull/160375
More information about the cfe-commits
mailing list