llvm-capstone/clang
Dimitry Andric d31f8cc688 [AArch64] Avoid crashing on invalid -Wa,-march= values
As reported in https://bugs.freebsd.org/260078, the gnutls Makefiles
pass -Wa,-march=all to compile a number of assembly files. Clang does
not support this -march value, but because of a mistake in handling
the arguments, an unitialized Arg pointer is dereferenced, which can
cause a segfault.

Work around this by adding a check if the local WaMArch variable is
initialized, and if so, using its value in the diagnostic message.

Reviewed By: tschuett

Differential Revision: https://reviews.llvm.org/D114677

(cherry picked from commit df08b2fe8b)
2022-01-05 10:21:56 -08:00
..
bindings
cmake [CMake] Change -DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=off to -DLLVM_ENABLE_NEW_PASS_MANAGER=off 2021-08-26 16:40:38 -07:00
docs Remove "In Progress" text from release notes 2021-10-18 17:12:51 -07:00
examples
include [clang] don't mark as Elidable CXXConstruct expressions used in NRVO 2021-09-24 09:18:10 -07:00
INPUTS
lib [AArch64] Avoid crashing on invalid -Wa,-march= values 2022-01-05 10:21:56 -08:00
runtime Prepare Compiler-RT for GnuInstallDirs, matching libcxx, document all 2021-07-13 15:21:41 +00:00
test [AArch64] Avoid crashing on invalid -Wa,-march= values 2022-01-05 10:21:56 -08:00
tools [clang][scan-build] Use cc/c++ instead of gcc/g++ on OpenBSD. 2021-09-20 11:19:39 -07:00
unittests fixes bug #51926 where dangling comma caused overrun 2021-10-27 07:33:42 -07:00
utils [Clang][RISCV] Support half-precision floating point for RVV intrinsics. 2021-07-19 23:17:01 +08:00
www Partially implement P1401R5 (Narrowing contextual conversions to bool) 2021-07-12 08:06:27 -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
CMakeLists.txt
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/