User Details
- User Since
- Oct 31 2019, 10:15 AM (204 w, 4 d)
Tue, Sep 19
Wed, Sep 6
Sorry, this change breaks llvm-project/llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll:
Aug 10 2023
Thank you!
In addition to breaking LLDB's build itself, this change also broke the following test: https://github.com/llvm/llvm-project/blob/main/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/main.cpp that uses std::basic_string<unsigned char> - is it not allowed?
Aug 4 2023
Jul 31 2023
I understand that this is an expedient fix that silences the warning. However, the fundamental problem is the simplistic implementation of the warning (that it is not flow-sensitive), not the inference of nullability. That is, when we are removing nullability qualifiers, we don't know whether there was a check or not. So while this change removes some false positives, it also removes some true positives.
Jul 22 2023
@lukasza I think you forgot to upload an updated version of the patch.
Jul 21 2023
Jul 20 2023
Thank you! Do you have commit access or do you need me to commit this patch for you?
Jul 17 2023
I'm not sure it is actually an anti-pattern. dyn_cast will transparently handle subclasses, should any be added in the future, but a switch wouldn't.
Jul 13 2023
Jul 11 2023
Jul 8 2023
Jul 7 2023
This commit introduces a null pointer dereference in a unit test, so I'm going to revert it together with all dependent commits:
Jul 4 2023
Jul 3 2023
Jun 30 2023
Jun 28 2023
Using PointerValue to model pointers to data members does not look right to me, because a pointer to data member is an offset within an object that we apply this pointer to, it is not a specific storage location.
Jun 27 2023
Jun 23 2023
LGTM
Jun 21 2023
Jun 15 2023
Jun 14 2023
Jun 13 2023
Jun 12 2023
Jun 5 2023
May 30 2023
May 26 2023
May 24 2023
May 23 2023
The mock optional types in the unit test are just declarations of the API - they don't need any implementations (function or method bodies should be omitted). But the declarations of classes, methods, and functions should mirror the production header closely. There are many seemingly trivial choices one can make when designing an API for a complex type like optional - for example, the specific choice of constructor overload set members, choosing to implement an overload set as a set of concrete functions vs. one function template, SFINAE on any functions, additional defaulted template parameters that the user isn't supposed to set etc. These differences would be hardly noticeable for the majority of "boring" C++ code that uses an optional, but they can be detrimental to tooling's ability to identify calls to the relevant APIs.
Could you change the tests to cover the new case? They are here: llvm-project/clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
May 22 2023
LGTM too.
May 15 2023
May 11 2023
May 8 2023
May 5 2023
May 4 2023
LGTM still.
May 3 2023
May 2 2023
Is it testable? For example, can we show that we don't compute the program state for the program point "p" here:
May 1 2023
Apr 25 2023
Apr 24 2023
Apr 18 2023
Apr 17 2023
Nice deduplication and compatibility fixes!