SuccessChanges

Summary

  1. Temporarily change the default for use-g-packet-for-reading to false, (details)
  2. [analyzer] Nullability: Don't infer nullable when passing as nullable (details)
  3. [analyzer] Fix skipping the call during inlined defensive check (details)
Commit 60ab30ebce833c87bd4776f67cd9a82fe162ef9c by Jason Molenda
Temporarily change the default for use-g-packet-for-reading to false,
until we can automatically fall back to p/P if g/G are not supported; it
looks like there is a bug in debugserver's g/G packets taht needs to be
fixed, or debugserver should stop supporting g/G until that bug is
fixed.  But we need lldb to be able to fall back to p/P correctly for
that to be a viable workaround.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestGDBRemoteClient.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteProperties.td
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestNoGPacketSupported.py
Commit 57adc37fe57c6edabc006e6de41523319e874c65 by Artem Dergachev
[analyzer] Nullability: Don't infer nullable when passing as nullable
parameter.
You can't really infer anything from that.
The file was addedclang/test/Analysis/nullability.m
The file was modifiedclang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
Commit e4da37e8a0a3197baca674d683cb05341c6a4097 by Artem Dergachev
[analyzer] Fix skipping the call during inlined defensive check
suppression.
When bugreporter::trackExpressionValue() is invoked on a DeclRefExpr, it
tries to do most of its computations over the node in which this
DeclRefExpr is computed, rather than on the error node (or whatever node
is stuffed into it). One reason why we can't simply use the error node
is that the binding to that variable might have already disappeared from
the state by the time the bug is found.
In case of the inlined defensive checks visitor, the DeclRefExpr node is
in fact sometimes too *early*: the call in which the inlined defensive
check has happened might have not been entered yet.
Change the visitor to be fine with tracking dead symbols (which it is
totally capable of - the collapse point for the symbol is still
well-defined), and fire it up directly on the error node. Keep using
"LVState" to find out which value should we be tracking, so that there
weren't any problems with accidentally loading an ill-formed value from
a dead variable.
Differential Revision: https://reviews.llvm.org/D67932
The file was modifiedclang/test/Analysis/NSContainers.m
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp