Manual-sync mirror of chromium.googlesource.com/external/github.com/llvm/llvm-project (bare monorepo, no subtree suffix)
Find a file
Aaron Ballman df1d786c46
[C2y] Support WG14 N3457, the __COUNTER__ macro (#162662)
This implements the parts of
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3457.htm which were
adopted at the recent meeting in Brno.

Clang already implemented `__COUNTER__`, but needed some changes for
conformance. Specifically, we now diagnose when the macro is expanded
more than 2147483647 times. Additionally, we now give the expected
extension and pre-compat warnings for the feature.

To support testing the limits, this also adds a -cc1-only option,
`-finitial-counter-value=`, which lets you specify the initial value the
`__COUNTER__` macro should expand to.
2025-11-03 07:50:25 -05:00
.ci [CI] Add Timeout to Premerge Advisor Requests 2025-11-03 03:15:00 +00:00
.github [GitHub] Add Copilot review instructions for LLDB (#165783) 2025-10-31 08:56:46 -07:00
bolt [ADT] Prepare to deprecate variadic StringSwitch::Cases. NFC. (#166020) 2025-11-02 00:12:33 +00:00
clang [C2y] Support WG14 N3457, the __COUNTER__ macro (#162662) 2025-11-03 07:50:25 -05:00
clang-tools-extra [clangd] Handle AttributedTypeLoc in SelectionTree (#163926) 2025-11-02 17:21:03 -05:00
cmake [CMake][gRPC] Update FindGRPC.cmake to support newer gRPC versions (#162935) 2025-10-15 13:14:14 -07:00
compiler-rt Revert "Reapply "[compiler-rt] Default to Lit's Internal Shell"" 2025-11-02 18:07:29 +00:00
cross-project-tests Wasm fmuladd relaxed (#163177) 2025-10-13 16:50:53 +01:00
flang Use the RHS of a pointer assignment inside of FORALL if it is already of boxType instead of convertToBox again. (#165771) 2025-11-01 01:16:19 -04:00
flang-rt [flang][rt] Add install target for header files (#165610) 2025-10-29 11:52:06 -10:00
libc [libc] Templatize strtointeger implementation. (#165884) 2025-10-31 18:57:08 +00:00
libclc [libclc] Implement integer __clc_abs using __builtin_elementwise_abs (#164957) 2025-10-27 12:58:14 +08:00
libcxx [libc++] Simplify the implementation of __formatter::__fill a bit (#147777) 2025-11-03 10:41:55 +01:00
libcxxabi [libcxxabi] Update demangle/Utility.h 2025-11-03 04:41:26 +00:00
libsycl [SYCL] Add libsycl, a SYCL RT library implementation project (#144372) 2025-07-31 11:28:39 -07:00
libunwind [libunwind][PAuthLR] Remove PC offset when using FEAT_PAuthLR (#164224) 2025-10-29 08:20:11 +00:00
lld [LLD] [Docs] explain --unresolved-symbols options (#165937) 2025-11-02 10:25:31 -08:00
lldb [lldb-dap] Use protocol types for exceptioninfo (#165858) 2025-11-03 11:34:57 +00:00
llvm [VPlan] Explicitly predicate some replicate region sinking tests. NFC (#164934) 2025-11-03 12:19:50 +00:00
llvm-libgcc
mlir [MLIR][Python] Make check-mlir-python depend on runner utils (#166077) 2025-11-03 10:52:04 +08:00
offload [MLIR][OpenMP] Fix and simplify bounds offset calculation for 1-D GEP offsets (#165486) 2025-10-31 00:54:31 +01:00
openmp [OpenMP][AArch64] Fix frame pointer save in microtask (#165313) 2025-11-03 08:34:54 +01:00
orc-rt [orc-rt] Add ExecutorAddrRange::contains overload for ranges. (#163458) 2025-10-15 08:39:49 +11:00
polly [Polly][CodePreparation] Extract common code of LPM and NPM (#140419) 2025-10-31 19:23:49 +01:00
runtimes [Runtimes][libc] Include kernel headers when using RUNTIMES_USE_LIBC 2025-11-01 12:50:41 -07:00
third-party [C2y] Support WG14 N3457, the __COUNTER__ macro (#162662) 2025-11-03 07:50:25 -05:00
utils/bazel Fix bazel build caused by #165925 (#166144) 2025-11-03 10:54:48 +01:00
.clang-format Enforce Unix line endings for Clang/LLVM/MLIR projects (#161460) 2025-10-02 06:09:12 -07:00
.clang-format-ignore Add empty top level .clang-format-ignore (#136022) 2025-04-16 15:48:30 -07:00
.clang-tidy Format root clang-tidy config (NFC) (#147902) 2025-07-11 07:18:29 +03:00
.git-blame-ignore-revs Revert "Update .git-blame-ignore-revs for Pack/Unpack move (#152469)" (#152661) 2025-08-10 17:02:35 +01:00
.gitattributes Revert "Finally formalise our defacto line-ending policy" 2024-10-18 21:16:24 +01:00
.gitignore [llvm] Ignore coding assistant artifacts (#153853) 2025-08-15 12:27:54 -07:00
.mailmap [mailmap] Update my name 2025-04-14 16:54:14 +08:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md [www][docs] Remove last mentions of IRC (#139076) 2025-05-08 09:40:33 -04:00
LICENSE.TXT
pyproject.toml
README.md
SECURITY.md

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.