[clang][analyzer] Remove report of null stream from StreamChecker.
authorBalázs Kéri <1.int32@gmail.com>
Mon, 9 Jan 2023 08:16:18 +0000 (09:16 +0100)
committerBalázs Kéri <1.int32@gmail.com>
Mon, 9 Jan 2023 08:49:08 +0000 (09:49 +0100)
commit570bf972f5adf05438c7e08d693bf4b96bfd510a
treefa45cefccec9e9cd0050feb4e3efadbf15c2330f
parent59b029238af27e6d77017d225cfe0ed1c2dd22f3
[clang][analyzer] Remove report of null stream from StreamChecker.

The case of NULL stream passed to stream functions was reported by StreamChecker.
The same condition is checked already by StdLibraryFunctionsChecker and it is
enough to check at one place. The StreamChecker stops now analysis if a passed NULL
stream is encountered but generates no report.
This change removes a dependency between StdCLibraryFunctionArgs checker and
StreamChecker. There is now no more specific message reported by StreamChecker,
the previous weak-dependency is not needed. And StreamChecker can be used
without StdCLibraryFunctions checker or its ModelPOSIX option.

Reviewed By: Szelethus

Differential Revision: https://reviews.llvm.org/D137790
clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
clang/test/Analysis/stream-noopen.c
clang/test/Analysis/stream-note.c
clang/test/Analysis/stream-stdlibraryfunctionargs.c [new file with mode: 0644]
clang/test/Analysis/stream.c