[clang] [BoundsSafety][Sema] Allow counted_by and counted_by_or_null on pointers where the pointee type is incomplete but potentially completable (PR #106321)
Dan Liew via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 28 13:00:22 PDT 2024
================
@@ -8192,6 +8192,14 @@ ExprResult InitializationSequence::Perform(Sema &S,
Kind.getRange().getEnd());
} else {
CurInit = new (S.Context) ImplicitValueInitExpr(Step->Type);
+ // Note the return value isn't used to return early
+ // to preserve the AST as best as possible even though an error
+ // might have occurred. For struct initialization it also allows
+ // all field assignments to be checked rather than bailing on the
+ // first error.
+ S.BoundsSafetyCheckInitialization(Entity, Kind, Sema::AA_Initializing,
+ /*LHSType=*/Step->Type,
+ /*RHSExpr=*/CurInit.get());
----------------
delcypher wrote:
This is here for clarify because it really isn't obvious that `Step->Type` means the LHS type (similarly for the other parameters).
The style guide says:
https://llvm.org/docs/CodingStandards.html#comment-formatting
---
> When documenting the significance of constants used as actual parameters in a call. This is most helpful for bool parameters, or passing 0 or nullptr. The comment should contain the parameter name, which ought to be meaningful. For example, it’s not clear what the parameter means in this call:
```
Object.emitName(nullptr);
```
> An in-line C-style comment makes the intent obvious:
```
Object.emitName(/*Prefix=*/nullptr);
```
---
So you're right that it's encouraged for constant arguments which isn't the case here. I'll drop the comments.
https://github.com/llvm/llvm-project/pull/106321
More information about the cfe-commits
mailing list