llvm-core / clang

C language family frontend for LLVM

Official package sites : https://llvm.org/ ·

The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler. Features and Goals Some of the goals for the project include the following: End-User Features: Fast compiles and low memory use Expressive diagnostics GCC compatibility Utility and Applications: Modular library based architecture Support diverse clients (refactoring, static analysis, code generation, etc) Allow tight integration with IDEs Use the LLVM BSD License Internal Design and Implementation: A real-world, production quality compiler A simple and hackable code base A single unified parser for C, Objective C, C++, and Objective C++ Conformance with C/C++/ObjC and their variants

v20.0.0.9999 :: 20/20.0.0.9999 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
USE flags
debug doc extra ieee-long-double pie static-analyzer test xml

v20.0.0_pre20250125 :: 20/20.0.0_pre20250125 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
USE flags
debug doc extra ieee-long-double pie static-analyzer test xml

v20.0.0_pre20250122 :: 20/20.0.0_pre20250122 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
USE flags
debug doc extra ieee-long-double pie static-analyzer test xml

v20.0.0_pre20250118 :: 20/20.0.0_pre20250118 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
USE flags
debug doc extra ieee-long-double pie static-analyzer test xml

v20.0.0_pre20250111 :: 20/20.0.0_pre20250111 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
USE flags
debug doc extra ieee-long-double pie static-analyzer test xml

v19.1.7 :: 19/19.1 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
Keywords
~amd64 ~amd64-linux ~arm ~arm64 ~arm64-macos ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x64-macos ~x86
USE flags
debug doc extra ieee-long-double pie static-analyzer test verify-sig xml

v19.1.6 :: 19/19.1 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
Keywords
~amd64 ~amd64-linux ~arm ~arm64 ~arm64-macos ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x64-macos ~x86
USE flags
debug doc extra ieee-long-double pie static-analyzer test verify-sig xml

v19.1.4 :: 19/19.1 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
Keywords
amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~arm64-macos ~loong ~mips ~riscv ~x64-macos
USE flags
debug doc extra ieee-long-double pie static-analyzer test verify-sig xml

v18.1.8-r6 :: 18/18.1 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
Keywords
amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~arm64-macos ~loong ~mips ~riscv ~x64-macos
USE flags
debug doc extra ieee-long-double pie static-analyzer test verify-sig xml

v17.0.6 :: 17/17 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
Keywords
amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~arm64-macos ~loong ~riscv ~x64-macos
USE flags
debug doc extra ieee-long-double pie static-analyzer test verify-sig xml

v16.0.6 :: 16/16 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
Keywords
amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~arm64-macos ~loong ~riscv ~x64-macos
USE flags
debug doc extra ieee-long-double pie static-analyzer test verify-sig xml

v15.0.7-r3 :: 15/15g1 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT
Keywords
amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~riscv ~x64-macos
USE flags
debug doc extra ieee-long-double pie static-analyzer test verify-sig xml

General

debug
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
debug
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
doc
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
extra
Build extra tools (clangd, clang-tidy and a few more)
ieee-long-double
Use accelerated 128-bit IEEE long double ABI (ppc64le only)
pie
Build programs as Position Independent Executables (a security hardening technique)
static-analyzer
Install the Clang static analyzer
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
verify-sig
Verify upstream signatures on distfiles
xml
Add support for XML files

abi_mips

n32
64-bit (32-bit pointer) libraries
n64
64-bit libraries
o32
32-bit libraries

abi_s390

32
32-bit (s390) libraries
64
64-bit (s390x) libraries

abi_x86

32
32-bit (x86) libraries
64
64-bit (amd64) libraries
x32
x32 ABI libraries

llvm_targets

AArch64
AArch64 CPU target (arm64 in Gentoo)
AMDGPU
AMDGPU target (supports R600 and GCN GPUs)
ARC
ARC (Argonaut RISC Core) embedded CPU target [EXPERIMENTAL]
ARM
ARM CPU target
AVR
8-bit Atmel AVR microcontroller target
BPF
Berkeley Packet Filter target
CSKY
C-SKY CPU target [EXPERIMENTAL]
DirectX
DirectX target [EXPERIMENTAL]
Hexagon
Qualcomm Hexagon DSP target
Lanai
Lanai CPU target
LoongArch
LoongArch CPU support [EXPERIMENTAL]
M68k
Motorola 68000 target [EXPERIMENTAL]
MSP430
MSP430 CPU target (experimental)
Mips
MIPS CPU target (includes MIPS64)
NVPTX
NVIDIA PTX (GPU) target (32-bit and 64-bit)
PowerPC
PowerPC CPU target (PPC32 and PPC64)
RISCV
RISC-V CPU target
SPIRV
Support SPIR-V language target for graphics and parallel computing
Sparc
Sparc CPU target
SystemZ
SystemZ (s390x) CPU target
VE
NEC SX-Aurora TSUBASA vector engine target
WebAssembly
WebAssembly backend
X86
X86 CPU target (includes amd64)
XCore
XCore CPU target
Xtensa
Tensilica Xtensa (ESP32) CPU target [EXPERIMENTAL]

python_single_target

python3_10
Build for Python 3.10 only
python3_11
Build for Python 3.11 only
python3_12
Build for Python 3.12 only
python3_13
Build for Python 3.13 only

dev-lang / perl : Larry Wall's Practical Extraction and Report Language

dev-libs / libxml2 : XML C parser and toolkit

llvm-core / llvm : Low Level Virtual Machine

dev-lang / perl : Larry Wall's Practical Extraction and Report Language

dev-lang / python : Freethreading (no-GIL) version of Python programming language

dev-libs / libxml2 : XML C parser and toolkit

llvm-core / clang-common : Common files shared between multiple slots of clang

llvm-core / llvm : Low Level Virtual Machine

app-forensics / aflplusplus : Fork of AFL, the popular compile-time instrumentation fuzzer

app-misc / resolve-march-native : Resolve GCC flag -march=native

app-text / doxygen : Documentation system for most programming languages

app-vim / vim-clang-format : Vim plugin for clang-format

dev-cpp / eigen : C++ template library for linear algebra

dev-db / postgresql : PostgreSQL RDBMS

dev-debug / bpftrace : High-level tracing language for eBPF

dev-debug / sysdig : A system exploration and troubleshooting tool

dev-lang / ispc : Intel SPMD Program Compiler

dev-lang / moarvm : A 6model-based VM for NQP and Raku

dev-lang / rakudo : A compiler for the Raku programming language

dev-lang / ruby : An object-oriented scripting language

dev-lang / zig : A robust, optimal, and maintainable programming language

dev-libs / castxml : C-family abstract syntax tree XML output tool

dev-libs / opencl-clang : OpenCL-oriented thin wrapper library around clang

dev-libs / pocl : Portable Computing Language (an implementation of OpenCL)

dev-libs / rocm-comgr : Radeon Open Compute Code Object Manager

dev-libs / rocm-device-libs : Radeon Open Compute Device Libraries

dev-libs / rocr-runtime : Radeon Open Compute Runtime

dev-lisp / c2ffi : Clang-based FFI wrapper generator for Common Lisp

dev-python / clang : Python bindings for llvm-core/clang

dev-python / clang : Python bindings for llvm-core/clang

dev-python / pyside6 : Python bindings for the Qt framework

dev-python / pyside6-tools : PySide development tools (pyside6-lupdate with support for Python)

dev-python / shiboken6 : Python binding generator for C++ libraries

dev-qt / qdoc : Qt documentation generator

dev-qt / qt-creator : Lightweight IDE for C++/QML development centering around Qt

dev-qt / qttools : Qt Tools Collection

dev-util / Tensile : Stretching GPU performance for GEMMs and tensor contractions

dev-util / bcc : Tools for BPF-based Linux IO analysis, networking, monitoring, and more

dev-util / bindgen : Automatically generates Rust FFI bindings to C and C++ libraries.

dev-util / ccls : C/C++/ObjC language server

dev-util / clang-extract : Tool to extract code content from source files

dev-util / clazy : Compiler plugin which allows clang to understand Qt semantics

dev-util / cvise : Super-parallel Python port of the C-Reduce

dev-util / edi : An EFL-based IDE

dev-util / gnome-builder : An IDE for writing GNOME-based software

dev-util / hip : C++ Heterogeneous-Compute Interface for Portability

dev-util / hipcc : Radeon Open Compute hipcc

dev-util / hipify-clang : A set of tools to translate CUDA source code into portable HIP C++

dev-util / include-what-you-use : Find unused include directives in C/C++ programs

dev-util / intel_clc : intel_clc tool used for building OpenCL C to SPIR-V

dev-util / kdevelop : Integrated Development Environment, supporting KF6/Qt, C/C++ and much more

dev-util / perf : Userland tools for Linux Performance Counters

games-board / jja : swiss army knife for chess file formats

games-strategy / s25rttr : Open source remake of The Settlers II: Gold Edition (needs original data files)

gnustep-base / gnustep-make : GNUstep Makefile Package

llvm-core / clang-toolchain-symlinks : Symlinks to use Clang on GCC-free system

llvm-core / lldb : The LLVM debugger

media-libs / mesa : OpenGL-like graphic library for Linux

media-libs / oidn : Intel® Open Image Denoise library

media-libs / osl : Advanced shading language for production GI renderers

sys-devel / binutils-apple : Darwin Xtools matching Xcode Tools binutils-apple

sys-devel / clang-crossdev-wrappers : Symlinks to a Clang crosscompiler

sys-devel / rust-std : Rust standard library, standalone (for crossdev)

sys-libs / csu : Darwin Csu (crt1.o) - Mac OS X 10.10 version

509696
app-admin/gam-server-0.1.10-r3 with =llvm-core/clang-3.4-r100 - gam_eq.c:127:3: error: non-void function 'gam_eq_flush' should return a value [-Wreturn-type]
509700
app-arch/arj-3.10.22-r8 with llvm-core/clang miscompiles postproc - ./linux-gnu/en/rs/tools/postproc linux-gnu/en/rs/arj/arj: Patch not found
527274
sys-apps/hdparm-9.45 with llvm-core/clang-3.5.0 - x86_64-pc-linux-gnu-clang-3.5.0: error: unknown argument: '-fkeep-inline-functions'
616566
llvm-core/clang-4.0.0 uses the wrong chost prefix for symlinks (CHOST != CHOST_arm)
651908
llvm-core/clang should create ${CHOST}-clang & co symlinks based on LLVM_TARGETS
662108
llvm-core/clang doesn't install i586-pc-linux-gnu-clang{,++} when CHOST=i586-pc-linux-gnu
688638
llvm-core/clang-8.0.0 fails tests: FAILED: test/CMakeFiles/check-clang
703268
llvm-core/clang-8.0.1 fails test
723114
llvm-core/clang-10.0.0 - .../work/x/y/llvm/utils/lit/lit/formats/googletest.py", line 44, in getGTestTests raise StopIteration
730072
llvm-core/clang-10.x fails test: clang-tidy/checkers/abseil-duration-factory-scale.cpp
731264
llvm-core/clang fails to cross compile (needs CBUILD clang-tblgen)
734114
llvm-core/clang-10.0.1 testfailure: Clangd document-link.test
753380
llvm-core/clang should put run-clang-tidy into PATH
768267
llvm-core/clang: undefined symbol: LLVMInitializeNVPTXTargetInfo (at runtime if llvm dropped it)
796563
llvm-core/clang-12.0.0-r1 fails tests
821181
llvm-core/clang: Unicode "bidirectional override" vulnerabilities (CVE-2021-42574)
828694
llvm-core/clang-15.0.6 - One or more CMake variables were not used by the project: LLVM_BUILD_TESTS
829602
llvm-core/clang-13.0.0 - .../tools/extra/clangd/CompletionModel.cpp {standard input}: Assembler messages: {standard input}:177127: Error: operand out of range
834571
llvm-core/clang: postinst should display a warning if built with default-libcxx
838373
llvm-core/clang: compilation of e.g. www-client/firefox-99.0.1 and mail-client/thunderbird fails (error: always_inline function '_mm_crc32_u64' requires target feature 'crc32')
870055
llvm-core/clang: please upstream prefix-specific patches
875641
dev-qt/qtwebengine: update has_version test for llvm-core/clang[default-libcxx]
884395
llvm-core/clang: check whether needs adaptation for IEEE long double
891737
llvm-core/clang-15.0.7-r1 fails to emerge
893382
llvm-core/clang-14.0.6-r1: relocation R_X86_64_TPOFF32 against `_ZL13BottomOfStack' can not be used when making a shared object; recompile with -fPIC
899582
llvm-core/clang provides incomplete static libraries in llvm profiles (missing TF helpers, e.g. ld.lld: error: undefined symbol: __multf3)
902851
dev-libs/darts-0.32h_pre20181117064816: build failed with llvm-core/clang-16.0.0 (error: no member named 'random_shuffle' in namespace 'std')
907923
llvm-core/clang: add pgo use flag
907931
llvm-core/clang: add BOLT use flag
912678
llvm-core/clang-17.0.0_rc2[debug]: ICE when building dev-libs/boost-1.83.0-r1
914452
llvm-core/clang-17.0.1:17/17 failed to emerge: x86_64-pc-linux-gnu-ld: error: undefined symbol
914888
llvm-core/clang-16.0.6 - fails to build with '-Os' with sys-devel/gcc:13 on ppc64
917361
sys-devel/gcc, llvm-core/clang: maybe install ${COMPILER}-cachekey or such for ccache usage
925313
llvm-core/clang-17.0.6 - QA Notice: One or more CMake variables were not used by the project: CMAKE_DISABLE_FIND_PACKAGE_CUDAToolkit - CMAKE_DISABLE_FIND_PACKAGE_hsa-runtime64
928658
llvm-core/clang doesn't show the same behaviour of libclang
929228
llvm-core/clang-18.1.3 crashes building ncnn (was: dev-libs/ncnn-20240410 - [clang] fatal error: error in backend: Cannot select: <snip>: v32bf16 = insert_subvector <snip>, <snip>, Constant:i64<16>)
930669
llvm-core/clang-18.1.4: ICE when building gui-wm/wayfire-0.8.1-r1
932815
llvm-core/clang-18.1.6: OOM with GCC14 i586-pc-linux-gnu/bin/ld: /usr/lib/llvm/18/lib/libLLVM.so.18.1: error adding symbols: memory exhausted
937391
llvm-core/clang-17.0.6 - [icu-75.1] [gcc-15] /.../Twine.h: error: const class llvm::SmallVectorImpl<char> has no member named data
938665
llvm-core/clang: Module import path mismatch in the intercept-build tool
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Add 20.0.0_pre20250125 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Add 20.0.0_pre20250122 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Add 20.0.0_pre20250118 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Add 19.1.7
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Add 20.0.0_pre20250111 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Add 20.0.0_pre20250104 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
James Le Cuirot · gentoo
llvm-core/clang: Set CLANG_CONFIG_FILE_USER_DIR for per-user config
This is a better way to pass dynamic flags like --sysroot when cross-compiling than sticking them directly in variables like CC. The HOME directory is overridden by Portage, so real user config won't interfere with package builds. For now, the necessary config can be set up in pre_src_unpack, but perhaps we could come up with something more formal later. Closes: https://github.com/gentoo/gentoo/pull/39960 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Add 20.0.0_pre20241227 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Add 20.0.0_pre20241221 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Replace LLVM_CMAKE_DIR with LLVM_ROOT in 19.1.6+
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Add 19.1.6
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/clang: Add 20.0.0_pre20241215 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sam James · gentoo
llvm-core/clang: drop llvm_prepend_path use
The hackery with PATH here is wrong and it breaks building Clang itself with a different version of Clang (which is why we're looking at rejigging how the eclass works/replacing it with llvm-r1.eclass [0]). As suggested by Matt, use LLVM_CMAKE_DIR instead so that Clang finds the right version of LLVM to build against without any sort of nonsense messing with build tooling. [0] https://public-inbox.gentoo.org/gentoo-dev/d5489fa24ef3d1129540879e628120addb3af8ce.camel@gentoo.org/ Closes: https://bugs.gentoo.org/942314 Closes: https://bugs.gentoo.org/944788 Thanks-to: Matt Whitlock <gentoo@mattwhitlock.name> Signed-off-by: Sam James <sam@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
Move {sys-devel → llvm-core}/llvm
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Michał Górny · gentoo
Move {sys-devel → llvm-core}/lld
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Michał Górny · gentoo
Move {sys-devel → llvm-core}/clang
Signed-off-by: Michał Górny <mgorny@gentoo.org>