llvm-project/clang
Valeriy Savchenko 4a7afc9a88 [-Wcalled-once-parameter] Fix false positives for cleanup attr
Cleanup attribute allows users to attach a destructor-like functions
to variable declarations to be called whenever they leave the scope.
The logic of such functions is not supported by the Clang's CFG and
is too hard to be reasoned about.  In order to avoid false positives
in this situation, we assume that we didn't see ALL of the executtion
paths of the function and, thus, can warn only about multiple call
violation.

rdar://74441906

Differential Revision: https://reviews.llvm.org/D98694
2021-03-18 12:32:16 +03:00
..
INPUTS
bindings [NFC] Don't run python binding tests with sanitizers 2020-10-29 23:48:08 -07:00
cmake [clang] Disable LTO and LLD on SystemZ for stage3 builds 2021-03-17 15:15:41 +01:00
docs [ASTMatchers] Fix documentation for hasAnyBody matcher 2021-03-15 13:06:49 +00:00
examples Refactoring the attribute plugin example to fit the new API 2020-12-21 08:24:09 -05:00
include [-Wcalled-once-parameter] Harden analysis in terms of block use 2021-03-18 12:12:18 +03:00
lib [-Wcalled-once-parameter] Fix false positives for cleanup attr 2021-03-18 12:32:16 +03:00
runtime [compiler-rt] Fix stale incremental builds when using `LLVM_BUILD_EXTERNAL_COMPILER_RT=ON`. 2021-03-10 09:42:24 -08:00
test [-Wcalled-once-parameter] Fix false positives for cleanup attr 2021-03-18 12:32:16 +03:00
tools [OPENMP51]Initial support for the use clause. 2021-03-17 15:46:14 -07:00
unittests [SYCL] Rework the SYCL driver options 2021-03-17 08:27:19 -04:00
utils [RISCV][Clang] Add RVV vle/vse intrinsic functions. 2021-03-17 20:31:25 -07:00
www [www] Add cxx_status tracking for C++23. 2021-02-25 14:47:43 -08:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [clang] Disable LTO and LLD on SystemZ for stage3 builds 2021-03-17 15:15:41 +01:00
CODE_OWNERS.TXT
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.txt
README.txt

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source-level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:             http://clang.llvm.org/
Building and using Clang:         http://clang.llvm.org/get_started.html
Clang Static Analyzer:            http://clang-analyzer.llvm.org/
Information on the LLVM project:  http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/