Files
carbon-lang/proposals
611aba3cc2 Clang IRGen in Carbon (#6641)
Clang performs the equivalent of Carbon's `lower` progressively,
interleaved with parsing/semantic analysis. This is in conflict with
Carbon's phase-based approach and leads to bugs in missing functionality
in Clang's generated IR during Carbon/C++ interop.

I surveyed other uses of Clang's APIs (originally written up in
[this](https://docs.google.com/document/d/1wi85FRiWh4X9A-gCYMVGKR40-q5fM6-3JaSpePk-XCY/edit?tab=t.0#heading=h.j7j8nwhzao5n)
doc - though the contents in this proposal are now more complete than
the doc) to better understand how Clang's constraints might effect
projects and how they've addressed them. In the mean time, Carbon
changes made more stable approaches viable that were eventually
implemented in #6569.

This proposal then aims to formalize the analysis that lead to #6569 for
posterity in case these design decisions need to be revisited in the
future.

---------

Co-authored-by: Carbon Infra Bot <carbon-external-infra@google.com>
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
2026-02-13 21:48:10 +00:00
..
2024-05-16 23:23:41 +00:00
2021-04-23 17:19:23 -07:00
2022-08-11 12:06:51 -07:00
2022-07-22 16:14:21 -07:00
2024-03-22 18:42:20 +00:00
2022-07-22 16:14:21 -07:00
2022-07-22 16:14:21 -07:00
2022-07-20 07:01:47 +03:00
2022-07-22 16:14:21 -07:00
2022-07-20 14:55:54 -04:00
2024-03-22 18:42:20 +00:00
2022-07-22 16:14:21 -07:00
2025-02-21 00:27:15 +00:00
2025-02-21 00:27:15 +00:00
2021-04-21 13:00:03 -07:00
2021-04-13 20:57:17 -07:00
2024-03-22 18:42:20 +00:00
2021-05-10 16:42:01 -07:00
2021-06-29 10:52:45 -07:00
2022-07-22 16:14:21 -07:00
2022-07-20 07:01:47 +03:00
2021-07-08 10:39:36 -07:00
2022-08-11 12:06:51 -07:00
2022-07-22 16:14:21 -07:00
2022-07-22 16:14:21 -07:00
2022-07-22 16:14:21 -07:00
2021-09-21 09:33:32 -07:00
2022-07-22 16:14:21 -07:00
2022-12-07 15:12:08 -08:00
2021-09-21 15:16:16 -07:00
2021-09-23 10:09:57 -07:00
2021-09-21 09:45:35 -07:00
2021-10-29 16:46:19 -07:00
2022-01-10 10:08:14 -08:00
2022-01-27 11:25:43 -08:00
2022-08-11 12:06:51 -07:00
2022-01-28 20:07:45 -08:00
2023-03-22 21:45:32 -07:00
2023-03-22 21:45:32 -07:00
2022-03-02 13:01:01 -08:00
2022-02-22 17:18:27 -08:00
2022-03-16 14:43:03 -07:00
2023-03-22 21:45:32 -07:00
2022-05-04 13:12:18 -07:00
2022-07-22 16:14:21 -07:00
2022-07-22 16:14:21 -07:00
2022-06-14 19:35:53 -07:00
2024-03-22 18:42:20 +00:00
2022-12-06 15:58:48 -08:00
2022-08-26 11:50:22 -07:00
2025-02-21 00:27:15 +00:00
2022-09-08 15:49:11 -07:00
2022-08-16 09:41:52 -07:00
2025-04-10 22:05:45 +00:00
2024-03-22 18:42:20 +00:00
2022-12-12 14:08:05 -08:00
2024-12-11 01:58:40 +00:00
2023-08-05 05:39:34 +00:00
2022-12-02 16:11:23 -08:00
2023-03-22 21:45:32 -07:00
2023-01-27 19:03:47 -08:00
2023-06-16 11:11:46 -07:00
2023-04-25 18:19:06 -07:00
2024-03-04 16:27:31 +00:00
2023-06-27 15:35:35 -07:00
2023-07-06 21:45:09 +00:00
2024-01-31 23:42:11 +00:00
2024-03-21 21:45:18 +00:00
2024-05-20 19:13:40 +00:00
2024-05-01 22:28:46 +00:00
2025-02-21 00:27:15 +00:00
2024-09-20 02:08:59 +00:00
2024-05-16 23:49:52 +00:00
2024-08-08 23:13:28 +00:00
2024-08-10 00:15:37 +00:00
2024-09-03 23:41:22 +00:00
2025-03-05 16:38:44 +00:00
2025-04-04 07:08:40 +00:00
2026-02-10 17:44:50 +00:00
2025-10-01 20:12:05 +00:00
2025-06-13 23:39:37 +00:00
2025-10-22 00:38:55 +00:00
2026-01-21 18:01:15 +00:00
2025-11-25 22:45:34 +00:00
2026-02-13 21:48:10 +00:00
2026-02-11 17:14:16 +00:00
2026-02-12 16:56:09 +00:00

Proposals

Proposal lists

Directory structure

This directory contains accepted proposals for the carbon-lang repository. For information about declined/deferred proposals, please view the proposal's original pull request.

For accepted proposals, where #### is the corresponding proposal's pull request:

  • p####.md will contain the main proposal text.
  • p#### may be present as an optional subdirectory for related files (for example, images).