Bug: 68728864

Clone this repo:
  1. 382100e Resolve local patch conflict with ToT LLVM by Yi Kong · 26 hours ago main master
  2. 2064caa Merge changes Ibb039eb6,I51919e61 into main by Treehugger Robot · 3 days ago llvm-r530567
  3. f06a4b5 [Doc] Fix scope of a claim about clang update cadence by Pirama Arumuga Nainar · 5 days ago
  4. 5e1fc3e [Docs] Add information about Android clang releases by Pirama Arumuga Nainar · 5 days ago
  5. 2e5088f libc++: enable packed relocations by Ryan Prichard · 8 days ago

Android Clang/LLVM Toolchain

Quick links:

Android's clang toolchain is used to build the Android platform, kernel and is also part of the Android NDK. It also builds various tools and projects in the Android ecosystem. See this page for a list of current versions used by various projects.

Android clang follows a rolling release schedule based on upstream llvm-project's main branch. It does not correspond to a numbered llvm-project release branch.

Clang Version

Each clang prebuilt directory has a clang_source_info.md (starting with clang-r428724) that mentions the llvm-project commit from which this version is branched. It also lists cherry-picks from upstream LLVM and downstream changes needed to qualify this prebuilt for the various Android use cases.

Update Schedule

At any point of time, there is an in-progress attempt to release a new clang. Due to the complexity of the Android code base and breaking changes from llvm-project, there is no guaranteed schedule or cadence in clang updates.

In practice, there have been an average of 3-4 updates a year (rougly new clang every 3-4 months) for the past several years.

Subscribe to https://groups.google.com/g/android-llvm to get notified when a clang version is planned and when it is released.

Android Clang Development

Android clang development happens in the llvm-toolchain repo branch in AOSP. See here for build instructions.

aosp-llvm-toolchain is the public CI build of Android clang toolchain.

clang binaries from this CI branch are checked into three platform-specific projects: