Manual-sync mirror of chromium.googlesource.com/external/github.com/llvm/llvm-project (bare monorepo, no subtree suffix)
Find a file
Nikolas Klauser 2e2d90b986
[libc++] Introduce implicit and explicit ABI annotations (#193045)
This patch introduces `_LIBCPP_{BEGIN/END}_EXPLICIT_ABI_ANNOTATIONS` and
marks everything within an
`_LIBCPP_{BEGIN,END}_UNVERSIONED_NAMESPACE_STD` (and any derivatives
like `_LIBCPP_{BEGIN,END}_NAMESPACE_STD`) implicitly by default. This
allows us to drop `_LIBCPP_HIDE_FROM_ABI` in most of the code base,
except for functions which shouldn't be `_LIBCPP_HIDE_FROM_ABI`.

This patch doesn't remove any `_LIBCPP_HIDE_FROM_ABI`s, since we have
over 13k of them in the code base. Actually dropping them will happen
over some time to avoid too many merge conflicts.
2026-05-08 12:21:31 +02:00
.ci [lldb][windows] build lldb and lldb-dap in PR testing (#195884) 2026-05-07 10:52:01 +01:00
.github [libc] Include CPU model in overlay CI sccache key (#196477) 2026-05-08 08:28:37 +01:00
bolt [BOLT] Fix EH data encoding checks in relocateEHFrameSection (#195691) 2026-05-07 09:31:33 -07:00
clang [llvm][OpenMP][SPIRV] Fix assertion for GPU reductions (#194879) 2026-05-08 12:14:46 +02:00
clang-tools-extra [clangd] Fix crash on completion with out-of-range position (#196112) 2026-05-07 16:18:13 +03:00
cmake [runtimes][CMake] Move Fortran support code from flang-rt (#171610) 2026-04-21 10:58:43 +00:00
compiler-rt [Runtimes] Fix /clang: prefix warning for GNU-like clang on Windows (#192041) 2026-05-08 15:31:57 +08:00
cross-project-tests [Dexter][NFC] Add split step-data collection methods for DAP (#196350) 2026-05-08 09:52:12 +01:00
flang [flang][cuda][openacc] Reject UseDevice actual against managed/unified dummy (#196428) 2026-05-07 19:31:43 -07:00
flang-rt [flang][CUDA] Support module-scope variables in global kernels under -gpu=mem:unified (#196228) 2026-05-07 17:58:12 +00:00
libc [libc] implement fwide (#196157) 2026-05-08 09:43:00 +01:00
libclc [libclc] Use spirv[64]-mesa-mesa3d triple in README.md (#196483) 2026-05-08 11:18:45 +02:00
libcxx [libc++] Introduce implicit and explicit ABI annotations (#193045) 2026-05-08 12:21:31 +02:00
libcxxabi [libc++abi][libc][test] Use LLVM-libc headers in LLVM-libc config (#194665) 2026-04-29 08:28:57 -07:00
libsycl [libsycl] Add explicit LLVMSupport dependency (#195371) 2026-05-04 13:58:52 -07:00
libunwind [libunwind] Add SME detection for Apple platforms (#193630) 2026-05-05 02:25:33 +00:00
lld [lld][WebAssembly] Improve formatting consistency. NFC (#196458) 2026-05-08 02:21:11 +00:00
lldb Revert "[lldb] Real-time console pane for output in lldb tui" (#196507) 2026-05-08 11:16:15 +01:00
llvm Revert "[lldb] Real-time console pane for output in lldb tui" (#196507) 2026-05-08 11:16:15 +01:00
llvm-libgcc [Runtimes] Introduce variables containing resource dir paths (#177953) 2026-04-02 10:32:14 +00:00
mlir [mlir][reducer] Change mlir-reducer apply pattern logic (#195997) 2026-05-08 09:34:47 +08:00
offload [offload] add tests for event synchronization (#193927) 2026-05-07 09:52:50 -07:00
openmp [OpenMP] Fix incorrect use of align instead of round (#196191) 2026-05-06 16:51:14 -05:00
orc-rt [orc-rt] Change SPS controller-interface naming conventions. (#195614) 2026-05-05 14:03:41 +10:00
polly [PassManager] Make passes inherit from RequiredPassInfoMixin/OptionalPassInfoMixin (#192120) 2026-05-06 10:00:07 -07:00
runtimes [Runtimes] Fix /clang: prefix warning for GNU-like clang on Windows (#192041) 2026-05-08 15:31:57 +08:00
third-party [unittest] Use TempDir() in gtest death-test stream capture on Linux (#194142) 2026-04-28 21:36:07 +02:00
utils/bazel [Bazel] Fixes dbf927a (#196414) 2026-05-07 20:33:00 +00:00
.clang-format
.clang-format-ignore
.clang-tidy Add default empty header filter regex to root .clang-tidy (#167386) 2025-11-11 01:36:25 +03:00
.git-blame-ignore-revs [clang-tidy][NFC] Add clang-tidy formatting commit to .git-blame-ignore-revs (#167126) 2025-11-20 21:42:10 +08:00
.gitattributes [libclang/python] Enable packaging clang python bindings (#125806) 2025-11-24 17:21:24 -08:00
.gitignore [llvm][.gitignore] Ignore .agents directory (#194236) 2026-04-27 20:45:53 +08:00
.mailmap [mailmap] Add mailmap entry for myself (#189447) 2026-03-30 18:35:34 +00:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE.TXT
pyproject.toml List psutil as a dependency in pyproject.toml 2026-05-04 13:10:21 -07:00
README.md
SECURITY.md [SECURITY.md] add pointers to "what is a security issue" (#177372) 2026-01-22 17:19:09 -07:00

The LLVM Compiler Infrastructure

OpenSSF Scorecard OpenSSF Best Practices libc++

Welcome to the LLVM project!

This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.

The LLVM project has multiple components. The core of the project is itself called "LLVM". This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.

C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.

Other components include: the libc++ C++ standard library, the LLD linker, and more.

Getting the Source Code and Building LLVM

Consult the Getting Started with LLVM page for information on building and running LLVM.

For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.

Getting in touch

Join the LLVM Discourse forums, Discord chat, LLVM Office Hours or Regular sync-ups.

The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.