Author: Kaitlin Peng Date: 2026-02-27T14:51:14-08:00 New Revision: e35fc30cb8f52a1d5a011649c47760845b5d14c0
URL: https://github.com/llvm/llvm-project/commit/e35fc30cb8f52a1d5a011649c47760845b5d14c0 DIFF: https://github.com/llvm/llvm-project/commit/e35fc30cb8f52a1d5a011649c47760845b5d14c0.diff LOG: Fix `BuiltinTypeMethodBuilder` uninitialized pointer (#183814) >From [this comment](https://github.com/llvm/llvm-project/pull/176058/changes/BASE..50c5be4bdf19a8a80b7e6e9d3ae46e11ff20a6e0#r2856661750) on PR #176058, static analysis was flagging `TemplateParams` as not initialized on all paths. This change fixes it by initializing to `nullptr` at declaration. Added: Modified: clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp Removed: ################################################################################ diff --git a/clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp b/clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp index 4ef54cf49412f..91b34838d5720 100644 --- a/clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp +++ b/clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp @@ -167,7 +167,7 @@ struct BuiltinTypeMethodBuilder { StorageClass SC; llvm::SmallVector<Param> Params; llvm::SmallVector<Stmt *> StmtsList; - TemplateParameterList *TemplateParams; + TemplateParameterList *TemplateParams = nullptr; llvm::SmallVector<NamedDecl *> TemplateParamDecls; // Argument placeholders, inspired by std::placeholder. These are the indices @@ -202,7 +202,7 @@ struct BuiltinTypeMethodBuilder { QualType ReturnTy, bool IsConst = false, bool IsCtor = false, StorageClass SC = SC_None) : DeclBuilder(DB), Name(Name), ReturnTy(ReturnTy), Method(nullptr), - IsConst(IsConst), IsCtor(IsCtor), SC(SC), TemplateParams(nullptr) {} + IsConst(IsConst), IsCtor(IsCtor), SC(SC) {} BuiltinTypeMethodBuilder(BuiltinTypeDeclBuilder &DB, StringRef NameStr, QualType ReturnTy, bool IsConst = false, _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
