[PATCH] D136355: [clang][Sema] Fix caret position to be on the non null parameter
Arthur Grillo Queiroz Cabral via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 21 07:25:07 PDT 2022
Grillo updated this revision to Diff 469604.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D136355/new/
https://reviews.llvm.org/D136355
Files:
clang/docs/ReleaseNotes.rst
clang/lib/Sema/SemaChecking.cpp
clang/test/Sema/non-null-warning.c
Index: clang/test/Sema/non-null-warning.c
===================================================================
--- clang/test/Sema/non-null-warning.c
+++ clang/test/Sema/non-null-warning.c
@@ -37,9 +37,16 @@
return 0; // expected-warning {{null returned from function that requires a non-null return value}}
}
+int foo4(int * _Nonnull x, int * y) {
+ return 0;
+}
+
#define SAFE_CALL(X) if (X) foo(X)
int main (void) {
foo(0); // expected-warning {{null passed to a callee that requires a non-null argument}}
(void)sizeof(foo(0)); // expect no diagnostic in unevaluated context.
SAFE_CALL(0); // expect no diagnostic for unreachable code.
+ foo4(
+ 0, // expected-warning {{null passed to a callee that requires a non-null argument}}
+ 0);
}
Index: clang/lib/Sema/SemaChecking.cpp
===================================================================
--- clang/lib/Sema/SemaChecking.cpp
+++ clang/lib/Sema/SemaChecking.cpp
@@ -5638,7 +5638,7 @@
for (unsigned ArgIndex = 0, ArgIndexEnd = NonNullArgs.size();
ArgIndex != ArgIndexEnd; ++ArgIndex) {
if (NonNullArgs[ArgIndex])
- CheckNonNullArgument(S, Args[ArgIndex], CallSiteLoc);
+ CheckNonNullArgument(S, Args[ArgIndex], Args[ArgIndex]->getExprLoc());
}
}
Index: clang/docs/ReleaseNotes.rst
===================================================================
--- clang/docs/ReleaseNotes.rst
+++ clang/docs/ReleaseNotes.rst
@@ -325,6 +325,9 @@
pointers is improved to include the type of the array and whether it's cast
to another type. This should improve comprehension for why an index is
out-of-bounds.
+- Clang now correctly point to the problematic parameter for the ``-Wnonnull``
+ warning.
+ This fixes `Issue 58273 <https://github.com/llvm/llvm-project/issues/58273>`_.
Non-comprehensive list of changes in this release
-------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136355.469604.patch
Type: text/x-patch
Size: 1902 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20221021/1ed22c68/attachment.bin>
More information about the cfe-commits
mailing list