mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-04 14:31:04 +01:00
This clarifies that the CC1 logic is directly extracted from Clang. There are probably some other places in the toolchain we should extract code like this where we're replicating and customizing logic from LLVM, but wanted to start here.
23 lines
1001 B
Markdown
23 lines
1001 B
Markdown
# Extracted LLVM code
|
|
|
|
<!--
|
|
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
|
|
Exceptions. See /LICENSE for license information.
|
|
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
-->
|
|
|
|
This directory holds code extracted from the LLVM project and used in various
|
|
places in Carbon. This mostly happens when some logic isn't readily exposed in a
|
|
library-suitable API, or needs excessive customization.
|
|
|
|
We separate the baseline code and customizations here as these are really
|
|
derived from the LLVM project. However, both Carbon and LLVM use the same
|
|
license, so linking these isn't a problem. We also use the standard Carbon
|
|
banner at the top of these files as the license is accurate and the collection
|
|
and arrangement of the code are part of Carbon. The code itself should be
|
|
assumed to be derived from LLVM.
|
|
|
|
Whenever possible, we should eventually refactor the upstream code until the
|
|
logic can be exposed and then we can depend on it rather than extracting it
|
|
here.
|