llvm-capstone/clang
eahcmrh ce44fe199b [Sema] Address-space sensitive check for unbounded arrays (v2)
Check applied to unbounded (incomplete) arrays and pointers to spot
cases where the computed address is beyond the largest possible
addressable extent of the array, based on the address space in which the
array is delcared, or which the pointer refers to.

Check helps to avoid cases of nonsense pointer math and array indexing
which could lead to linker failures or runtime exceptions.  Of
particular interest when building for embedded systems with small
address spaces.

This is version 2 of this patch -- version 1 had some testing issues
due to a sign error in existing code.  That error is corrected and
lit test for this chagne is extended to verify the fix.

Originally reviewed/accepted by: aaron.ballman
Original revision: https://reviews.llvm.org/D86796

Reviewed By: aaron.ballman, ebevhan

Differential Revision: https://reviews.llvm.org/D88174
2021-06-11 19:34:03 +02:00
..
bindings
cmake Revert "[CMake] Don't use libc++ by default on Windows yet" 2021-06-11 00:45:49 -07:00
docs Revert "[clang][FPEnv] Clang floatng point model ffp-model=precise enables ffp-contract=on" 2021-06-10 12:19:02 -04:00
examples
include [Sema] Address-space sensitive check for unbounded arrays (v2) 2021-06-11 19:34:03 +02:00
INPUTS
lib [Sema] Address-space sensitive check for unbounded arrays (v2) 2021-06-11 19:34:03 +02: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 [Sema] Address-space sensitive check for unbounded arrays (v2) 2021-06-11 19:34:03 +02:00
tools [OpenMP] Implement '#pragma omp unroll'. 2021-06-10 14:30:17 -05:00
unittests [AST] Include the TranslationUnitDecl when traversing with TraversalScope 2021-06-11 14:29:45 +02:00
utils [OpenCL][NFC] Reorganize ClangOpenCLBuiltinEmitter comments 2021-06-11 10:22:59 +01:00
www Update the C status page somewhat. 2021-06-11 12:06:50 -04:00
.clang-format
.clang-tidy .clang-tidy: Disable misc-no-recursion in general/across the monorepo 2021-06-08 08:31:33 -07:00
.gitignore Remove .gitignore entries not relevant in the monorepo. 2021-04-07 12:25:02 -07:00
CMakeLists.txt [clang][cli] Round-trip cc1 arguments in assert builds 2021-03-27 17:24:03 +01:00
CODE_OWNERS.TXT
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.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/