llvm-capstone/clang
Ian Anderson a649e0a6e8 [clang][modules] giving the __stddef_ headers their own modules can cause redeclaration errors with -fbuiltin-headers-in-system-modules (#84127)
On Apple platforms, some of the stddef.h types are also declared in
system headers. In particular NULL has a conflicting declaration in
<sys/_types/_null.h>. When that's in a different module from
<__stddef_null.h>, redeclaration errors can occur.

Make the \_\_stddef_ headers be non-modular in
-fbuiltin-headers-in-system-modules and restore them back to not
respecting their header guards. Still define the header guards though.
__stddef_max_align_t.h was in _Builtin_stddef_max_align_t prior to the
addition of _Builtin_stddef, and it needs to stay in a module because
struct's can't be type merged. __stddef_wint_t.h didn't used to have a
module, but leave it in it current module since it doesn't really belong
to stddef.h.

(cherry picked from commit f50d3582b4844b86ad86372028e44b52c560ec7d)
2024-03-15 17:06:34 -07:00
..
bindings [libclang/python] Bump minimum compatibility to Python 3.6 (#77228) 2024-01-17 01:02:54 -08:00
cmake [CMake][Release] Add option for enabling PGO to release cache file. (#78823) 2024-01-23 11:32:37 -08:00
docs SystemZ release notes for 18.x. (#84560) 2024-03-13 16:27:21 -07:00
examples [clang][examples] Remove unused variable 'key' in LLVMPrintFunctionNames.cpp (NFC) 2023-11-07 13:09:20 +08:00
include [Clang] Fixes to immediate-escalating functions (#82281) 2024-02-26 17:03:46 -08:00
lib [clang][modules] giving the __stddef_ headers their own modules can cause redeclaration errors with -fbuiltin-headers-in-system-modules (#84127) 2024-03-15 17:06:34 -07:00
runtime
test [clang][modules] giving the __stddef_ headers their own modules can cause redeclaration errors with -fbuiltin-headers-in-system-modules (#84127) 2024-03-15 17:06:34 -07:00
tools [clang-format] Fix a regression in dumping the config (#80628) 2024-02-09 13:24:35 -08:00
unittests [Serialization] Record whether the ODR is skipped (#82302) 2024-02-20 16:41:33 -08:00
utils [CMake][PGO] Add option for using an external project to generate profile data (#78879) 2024-02-06 11:49:07 -08:00
www Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)" 2024-01-29 14:57:23 -08:00
.clang-format
.clang-tidy [Clang] Revert inintentional changes to cmake committed in 33e5db6e0 2024-01-12 10:59:46 +01:00
.gitignore
CMakeLists.txt Revert "Reland [Clang][CMake] Support perf, LBR, and Instrument CLANG_BOLT options (#69133)" 2024-01-22 14:56:43 -08:00
CodeOwners.rst Update my contact email in CodeOwners.rst 2023-10-23 06:49:57 -07:00
INSTALL.txt
LICENSE.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 forums:
  https://discourse.llvm.org/c/clang/

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