-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Revert "[libc++][modules] Rewrite the modulemap to have fewer top-level modules (#107638)" #110384
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revert "[libc++][modules] Rewrite the modulemap to have fewer top-level modules (#107638)" #110384
Conversation
@llvm/pr-subscribers-clang @llvm/pr-subscribers-libcxx Author: Chris B (llvm-beanz) ChangesThis reverts commit bc6bd3b. The GitHub pre-merge CI has been broken since this PR went in. This change reverts it to see if I can get the pre-merge CI working again. Patch is 214.27 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/110384.diff 8 Files Affected:
diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt
index 8a63280053340f..0be6c1ae591822 100644
--- a/libcxx/include/CMakeLists.txt
+++ b/libcxx/include/CMakeLists.txt
@@ -688,6 +688,7 @@ set(files
__ranges/views.h
__ranges/zip_view.h
__split_buffer
+ __std_clang_module
__std_mbstate_t.h
__stop_token/atomic_unique_lock.h
__stop_token/intrusive_list_view.h
diff --git a/libcxx/include/__format/formatter_integral.h b/libcxx/include/__format/formatter_integral.h
index 0c04cce855a08c..beed3ab8d93df1 100644
--- a/libcxx/include/__format/formatter_integral.h
+++ b/libcxx/include/__format/formatter_integral.h
@@ -27,7 +27,6 @@
#include <__type_traits/make_unsigned.h>
#include <__utility/unreachable.h>
#include <array>
-#include <cstdint>
#include <limits>
#include <string>
#include <string_view>
diff --git a/libcxx/include/__std_clang_module b/libcxx/include/__std_clang_module
new file mode 100644
index 00000000000000..a21ed26addfe8e
--- /dev/null
+++ b/libcxx/include/__std_clang_module
@@ -0,0 +1,193 @@
+// -*- C++ -*-
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+// WARNING, this entire header is generated by
+// utils/generate_std_clang_module_header.py
+// DO NOT MODIFY!
+
+// This header should not be directly included, it's exclusively to import all
+// of the libc++ public clang modules for the `std` clang module to export. In
+// other words, it's to facilitate `@import std;` in Objective-C++ and `import std`
+// in Swift to expose all of the libc++ interfaces. This is generally not
+// recommended, however there are some clients that need to import all of libc++
+// without knowing what "all" is.
+#if !__building_module(std)
+# error "Do not include this header directly, include individual headers instead"
+#endif
+
+#include <__config>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+#include <algorithm>
+#include <any>
+#include <array>
+#if !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER)
+# include <atomic>
+#endif
+#include <barrier>
+#include <bit>
+#include <bitset>
+#include <cassert>
+#include <ccomplex>
+#include <cctype>
+#include <cerrno>
+#include <cfenv>
+#include <cfloat>
+#include <charconv>
+#include <chrono>
+#include <cinttypes>
+#include <ciso646>
+#include <climits>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <clocale>
+#endif
+#include <cmath>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <codecvt>
+#endif
+#include <compare>
+#include <complex.h>
+#include <complex>
+#include <concepts>
+#include <condition_variable>
+#include <coroutine>
+#include <csetjmp>
+#include <csignal>
+#include <cstdarg>
+#include <cstdbool>
+#include <cstddef>
+#include <cstdint>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctgmath>
+#include <ctime>
+#include <ctype.h>
+#include <cuchar>
+#include <cwchar>
+#include <cwctype>
+#include <deque>
+#include <errno.h>
+#include <exception>
+#include <execution>
+#include <expected>
+#include <experimental/iterator>
+#include <experimental/memory>
+#include <experimental/propagate_const>
+#include <experimental/simd>
+#include <experimental/type_traits>
+#include <experimental/utility>
+#include <fenv.h>
+#include <filesystem>
+#include <float.h>
+#include <format>
+#include <forward_list>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <fstream>
+#endif
+#include <functional>
+#include <future>
+#include <initializer_list>
+#include <inttypes.h>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <iomanip>
+#endif
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <ios>
+#endif
+#include <iosfwd>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <iostream>
+#endif
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <istream>
+#endif
+#include <iterator>
+#include <latch>
+#include <limits>
+#include <list>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <locale.h>
+#endif
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <locale>
+#endif
+#include <map>
+#include <math.h>
+#include <mdspan>
+#include <memory>
+#include <memory_resource>
+#include <mutex>
+#include <new>
+#include <numbers>
+#include <numeric>
+#include <optional>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <ostream>
+#endif
+#include <print>
+#include <queue>
+#include <random>
+#include <ranges>
+#include <ratio>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <regex>
+#endif
+#include <scoped_allocator>
+#include <semaphore>
+#include <set>
+#include <shared_mutex>
+#include <source_location>
+#include <span>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <sstream>
+#endif
+#include <stack>
+#if !defined(_LIBCPP_HAS_NO_ATOMIC_HEADER)
+# include <stdatomic.h>
+#endif
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdexcept>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stop_token>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <streambuf>
+#endif
+#include <string.h>
+#include <string>
+#include <string_view>
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <strstream>
+#endif
+#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
+# include <syncstream>
+#endif
+#include <system_error>
+#include <tgmath.h>
+#include <thread>
+#include <tuple>
+#include <type_traits>
+#include <typeindex>
+#include <typeinfo>
+#include <uchar.h>
+#include <unordered_map>
+#include <unordered_set>
+#include <utility>
+#include <valarray>
+#include <variant>
+#include <vector>
+#include <version>
+#include <wchar.h>
+#include <wctype.h>
diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap
index aa05bde939f6c2..ef4a242cf8bf7f 100644
--- a/libcxx/include/module.modulemap
+++ b/libcxx/include/module.modulemap
@@ -1,2235 +1,2124 @@
-// This module contains headers related to the configuration of the library. These headers
-// are free of any dependency on the rest of libc++.
-module std_config [system] {
- textual header "__config"
- textual header "__configuration/abi.h"
- textual header "__configuration/availability.h"
- textual header "__configuration/compiler.h"
- textual header "__configuration/language.h"
- textual header "__configuration/platform.h"
- textual header "version"
+// Main C++ standard library interfaces
+module std_algorithm [system] {
+ header "algorithm"
+ export *
}
-
-module std_core [system] {
- module cstddef {
- module byte { header "__cstddef/byte.h" }
- module max_align_t { header "__cstddef/max_align_t.h" }
- module nullptr_t { header "__cstddef/nullptr_t.h" }
- module ptrdiff_t { header "__cstddef/ptrdiff_t.h" }
- module size_t { header "__cstddef/size_t.h" }
- }
-
- module cstdint {
- header "cstdint"
- export *
- }
-
- module fwd {
- module byte { header "__fwd/byte.h" }
- module functional { header "__fwd/functional.h" }
- module pair { header "__fwd/pair.h" }
- module tuple { header "__fwd/tuple.h" }
- }
-
- module limits {
- header "limits"
- export *
- }
-
- module math {
- module abs { header "__math/abs.h" }
- module copysign { header "__math/copysign.h" }
- module error_functions { header "__math/error_functions.h" }
- module exponential_functions { header "__math/exponential_functions.h" }
- module fdim { header "__math/fdim.h" }
- module fma { header "__math/fma.h" }
- module gamma { header "__math/gamma.h" }
- module hyperbolic_functions { header "__math/hyperbolic_functions.h" }
- module hypot { header "__math/hypot.h" }
- module inverse_hyperbolic_functions { header "__math/inverse_hyperbolic_functions.h" }
- module inverse_trigonometric_functions { header "__math/inverse_trigonometric_functions.h" }
- module logarithms { header "__math/logarithms.h" }
- module min_max { header "__math/min_max.h" }
- module modulo { header "__math/modulo.h" }
- module remainder { header "__math/remainder.h" }
- module roots { header "__math/roots.h" }
- module rounding_functions { header "__math/rounding_functions.h" }
- module special_functions { header "__math/special_functions.h" }
- module traits { header "__math/traits.h" }
- module trigonometric_functions { header "__math/trigonometric_functions.h" }
- }
-
- module type_traits {
- module add_const { header "__type_traits/add_const.h" }
- module add_cv { header "__type_traits/add_cv.h" }
- module add_lvalue_reference { header "__type_traits/add_lvalue_reference.h" }
- module add_pointer { header "__type_traits/add_pointer.h" }
- module add_rvalue_reference { header "__type_traits/add_rvalue_reference.h" }
- module add_volatile { header "__type_traits/add_volatile.h" }
- module aligned_storage { header "__type_traits/aligned_storage.h" }
- module aligned_union { header "__type_traits/aligned_union.h" }
- module alignment_of { header "__type_traits/alignment_of.h" }
- module can_extract_key { header "__type_traits/can_extract_key.h" }
- module common_reference { header "__type_traits/common_reference.h" }
- module common_type { header "__type_traits/common_type.h" }
- module conditional { header "__type_traits/conditional.h" }
- module conjunction { header "__type_traits/conjunction.h" }
- module copy_cv { header "__type_traits/copy_cv.h" }
- module copy_cvref { header "__type_traits/copy_cvref.h" }
- module datasizeof { header "__type_traits/datasizeof.h" }
- module decay { header "__type_traits/decay.h" }
- module dependent_type { header "__type_traits/dependent_type.h" }
- module desugars_to { header "__type_traits/desugars_to.h" }
- module disjunction { header "__type_traits/disjunction.h" }
- module enable_if { header "__type_traits/enable_if.h" }
- module extent { header "__type_traits/extent.h" }
- module has_unique_object_representation { header "__type_traits/has_unique_object_representation.h" }
- module has_virtual_destructor { header "__type_traits/has_virtual_destructor.h" }
- module integral_constant { header "__type_traits/integral_constant.h" }
- module invoke { header "__type_traits/invoke.h" }
- module is_abstract {
- header "__type_traits/is_abstract.h"
- export std_core.type_traits.integral_constant
- }
- module is_aggregate {
- header "__type_traits/is_aggregate.h"
- export std_core.type_traits.integral_constant
- }
- module is_allocator {
- header "__type_traits/is_allocator.h"
- export std_core.type_traits.integral_constant
- }
- module is_always_bitcastable {
- header "__type_traits/is_always_bitcastable.h"
- export std_core.type_traits.integral_constant
- }
- module is_arithmetic {
- header "__type_traits/is_arithmetic.h"
- export std_core.type_traits.integral_constant
- }
- module is_array {
- header "__type_traits/is_array.h"
- export std_core.type_traits.integral_constant
- }
- module is_assignable {
- header "__type_traits/is_assignable.h"
- export std_core.type_traits.integral_constant
- }
- module is_base_of {
- header "__type_traits/is_base_of.h"
- export std_core.type_traits.integral_constant
- }
- module is_bounded_array {
- header "__type_traits/is_bounded_array.h"
- export std_core.type_traits.integral_constant
- }
- module is_callable {
- header "__type_traits/is_callable.h"
- export std_core.type_traits.integral_constant
- }
- module is_char_like_type {
- header "__type_traits/is_char_like_type.h"
- export std_core.type_traits.integral_constant
- }
- module is_class {
- header "__type_traits/is_class.h"
- export std_core.type_traits.integral_constant
- }
- module is_compound {
- header "__type_traits/is_compound.h"
- export std_core.type_traits.integral_constant
- }
- module is_const {
- header "__type_traits/is_const.h"
- export std_core.type_traits.integral_constant
- }
- module is_constant_evaluated {
- header "__type_traits/is_constant_evaluated.h"
- export std_core.type_traits.integral_constant
- }
- module is_constructible {
- header "__type_traits/is_constructible.h"
- export std_core.type_traits.integral_constant
- }
- module is_convertible {
- header "__type_traits/is_convertible.h"
- export std_core.type_traits.integral_constant
- }
- module is_core_convertible {
- header "__type_traits/is_core_convertible.h"
- export std_core.type_traits.integral_constant
- }
- module is_destructible {
- header "__type_traits/is_destructible.h"
- export std_core.type_traits.integral_constant
- }
- module is_empty {
- header "__type_traits/is_empty.h"
- export std_core.type_traits.integral_constant
- }
- module is_enum {
- header "__type_traits/is_enum.h"
- export std_core.type_traits.integral_constant
- }
- module is_equality_comparable {
- header "__type_traits/is_equality_comparable.h"
- export std_core.type_traits.integral_constant
- }
- module is_execution_policy {
- header "__type_traits/is_execution_policy.h"
- export std_core.type_traits.integral_constant
- }
- module is_final {
- header "__type_traits/is_final.h"
- export std_core.type_traits.integral_constant
- }
- module is_floating_point {
- header "__type_traits/is_floating_point.h"
- export std_core.type_traits.integral_constant
- }
- module is_function {
- header "__type_traits/is_function.h"
- export std_core.type_traits.integral_constant
- }
- module is_fundamental {
- header "__type_traits/is_fundamental.h"
- export std_core.type_traits.integral_constant
- }
- module is_implicitly_default_constructible {
- header "__type_traits/is_implicitly_default_constructible.h"
- export std_core.type_traits.integral_constant
- }
- module is_integral {
- header "__type_traits/is_integral.h"
- export std_core.type_traits.integral_constant
- }
- module is_literal_type {
- header "__type_traits/is_literal_type.h"
- export std_core.type_traits.integral_constant
- }
- module is_member_pointer {
- header "__type_traits/is_member_pointer.h"
- export std_core.type_traits.integral_constant
- }
- module is_nothrow_assignable {
- header "__type_traits/is_nothrow_assignable.h"
- export std_core.type_traits.integral_constant
- }
- module is_nothrow_constructible {
- header "__type_traits/is_nothrow_constructible.h"
- export std_core.type_traits.integral_constant
- }
- module is_nothrow_convertible {
- header "__type_traits/is_nothrow_convertible.h"
- export std_core.type_traits.integral_constant
- }
- module is_nothrow_destructible {
- header "__type_traits/is_nothrow_destructible.h"
- export std_core.type_traits.integral_constant
- }
- module is_null_pointer {
- header "__type_traits/is_null_pointer.h"
- export std_core.type_traits.integral_constant
- }
- module is_object {
- header "__type_traits/is_object.h"
- export std_core.type_traits.integral_constant
- }
- module is_pod {
- header "__type_traits/is_pod.h"
- export std_core.type_traits.integral_constant
- }
- module is_pointer {
- header "__type_traits/is_pointer.h"
- export std_core.type_traits.integral_constant
- }
- module is_polymorphic {
- header "__type_traits/is_polymorphic.h"
- export std_core.type_traits.integral_constant
- }
- module is_primary_template {
- header "__type_traits/is_primary_template.h"
- export std_core.type_traits.integral_constant
- }
- module is_reference_wrapper {
- header "__type_traits/is_reference_wrapper.h"
- export std_core.type_traits.integral_constant
- }
- module is_reference {
- header "__type_traits/is_reference.h"
- export std_core.type_traits.integral_constant
- }
- module is_referenceable {
- header "__type_traits/is_referenceable.h"
- export std_core.type_traits.integral_constant
- }
- module is_same {
- header "__type_traits/is_same.h"
- export std_core.type_traits.integral_constant
- }
- module is_scalar {
- header "__type_traits/is_scalar.h"
- export std_core.type_traits.integral_constant
- }
- module is_signed_integer {
- header "__type_traits/is_signed_integer.h"
- export std_core.type_traits.integral_constant
- }
- module is_signed {
- header "__type_traits/is_signed.h"
- export std_core.type_traits.integral_constant
- }
- module is_specialization {
- header "__type_traits/is_specialization.h"
- export std_core.type_traits.integral_constant
- }
- module is_standard_layout {
- header "__type_traits/is_standard_layout.h"
- export std_core.type_traits.integral_constant
- }
- module is_swappable {
- header "__type_traits/is_swappable.h"
- export std_core.type_traits.integral_constant
- }
- module is_trivial {
- header "__type_traits/is_trivial.h"
- export std_core.type_traits.integral_constant
- }
- module is_trivially_assignable {
- header "__type_traits/is_trivially_assignable.h"
- export std_core.type_traits.integral_constant
- }
- module is_trivially_constructible {
- header "__type_traits/is_trivially_constructible.h"
- export std_core.type_traits.integral_constant
- }
- module is_trivially_copyable {
- header "__type_traits/is_trivially_copyable.h"
- export std_core.type_traits.integral_constant
- }
- module is_trivially_destructible {
- header "__type_traits/is_trivially_destructible.h"
- export std_core.type_traits.integral_constant
- }
- module is_trivially_lexicographically_comparable {
- header "__type_traits/is_trivially_lexicographically_comparable.h"
- export std_core.type_traits.integral_constant
- }
- module is_trivially_relocatable {
- header "__type_traits/is_trivially_relocatable.h"
- export std_core.type_traits.integral_constant
- }
- module is_unbounded_array {
- header "__type_traits/is_unbounded_array.h"
- export std_core.type_traits.integral_constant
- }
- module is_union {
- header "__type_traits/is_union.h"
- export std_core.type_traits.integral_constant
- }
- module is_unsigned_integer {
- header "__type_traits/is_unsigned_integer.h"
- export std_core.type_traits.integral_constant
- }
- module is_unsigned {
- header "__type_traits/is_unsigned.h"
- export std_core.type_traits.integral_constant
- }
- module is_valid_expansion {
- header "__type_traits/is_valid_expansion.h"
- export std_core.type_traits.integral_constant
- }
- module is_voi...
[truncated]
|
You can test this locally with the following command:darker --check --diff -r 6558e5615ae9e6af6168b0a363808854fd66663f...1cc92ee8a22fc8dd11e382c78b3a8a582f787573 libcxx/utils/generate_std_clang_module_header.py libcxx/test/libcxx/clang_modules_include.gen.py libcxx/utils/libcxx/test/features.py View the diff from darker here.--- test/libcxx/clang_modules_include.gen.py 2024-09-28 23:19:13.000000 +0000
+++ test/libcxx/clang_modules_include.gen.py 2024-09-29 02:49:26.726093 +0000
@@ -18,11 +18,12 @@
import sys
sys.path.append(sys.argv[1])
from libcxx.header_information import lit_header_restrictions, public_headers
for header in public_headers:
- print(f"""\
+ print(
+ f"""\
//--- {header}.compile.pass.cpp
// RUN: %{{cxx}} %s %{{flags}} %{{compile_flags}} -fmodules -fcxx-modules -fmodules-cache-path=%t -fsyntax-only
// GCC doesn't support -fcxx-modules
// UNSUPPORTED: gcc
@@ -38,13 +39,15 @@
// UNSUPPORTED: LIBCXX-FREEBSD-FIXME
{lit_header_restrictions.get(header, '')}
#include <{header}>
-""")
+"""
+ )
-print(f"""\
+print(
+ f"""\
//--- __std_clang_module.compile.pass.mm
// RUN: %{{cxx}} %s %{{flags}} %{{compile_flags}} -fmodules -fcxx-modules -fmodules-cache-path=%t -fsyntax-only
// REQUIRES: clang-modules-build
@@ -61,6 +64,7 @@
// TODO: Investigate this failure
// UNSUPPORTED: LIBCXX-FREEBSD-FIXME
@import std;
-""")
+"""
+)
--- utils/generate_std_clang_module_header.py 2024-09-28 23:19:13.000000 +0000
+++ utils/generate_std_clang_module_header.py 2024-09-29 02:49:26.740294 +0000
@@ -51,11 +51,13 @@
"""
)
# Include the angle brackets in sorting so that <a.h> sorts before <a>
# like check-format wants.
- for include, header in sorted([(f"<{header}>", header) for header in libcxx.header_information.public_headers]):
+ for include, header in sorted(
+ [(f"<{header}>", header) for header in libcxx.header_information.public_headers]
+ ):
header_restriction = header_restrictions.get(header)
if header_restriction:
std_clang_module_header.write(f"#if {header_restriction}\n")
std_clang_module_header.write(f"# include {include}\n")
std_clang_module_header.write(f"#endif\n")
|
You can test this locally with the following command:git-clang-format --diff 6558e5615ae9e6af6168b0a363808854fd66663f 1cc92ee8a22fc8dd11e382c78b3a8a582f787573 --extensions ,cpp,h -- libcxx/include/__std_clang_module libcxx/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp libcxx/include/__configuration/abi.h libcxx/include/__format/formatter_integral.h libcxx/include/__memory/unique_ptr.h libcxx/include/algorithm libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get.pass.cpp libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp libcxx/include/__algorithm/fold.h View the diff from clang-format here.diff --git a/libcxx/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp b/libcxx/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp
index 7e27adfab1..41c6e93f5a 100644
--- a/libcxx/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp
+++ b/libcxx/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp
@@ -13,11 +13,7 @@
#include "test_macros.h"
#ifndef _LIBCPP_UTILITY
-# error "<experimental/utility> must include <utility>"
+# error "<experimental/utility> must include <utility>"
#endif
-int main(int, char**)
-{
-
- return 0;
-}
+int main(int, char**) { return 0; }
|
45a6af7
to
f70512c
Compare
…or[] (llvm#91798)" This reverts commit 45a09d1.
This reverts commit 24bc324.
…el modules (llvm#107638)" This reverts commit bc6bd3b.
f70512c
to
1cc92ee
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, assuming precommit CI passes.
@llvm-beanz The changes to clang/include/clang/AST/Expr.h seem to be unrelated, no? |
615caf2
to
1cc92ee
Compare
All checks passed. I'm reverting the top commit that was just to force the clang tests to run and merging the revert of the remaining 3 changes. I confirmed with @ldionne that he is going to look at the issues on Monday. |
I reverted the commit modifying Clang before landing the PR, it was required to get the pre-merge CI to run the failing Clang CI to verify that my revert resolved the issue. There was an extensive discussion of this on the #infrastructure channel on Discord with @boomanaiden154. |
This reverts 3 commits:
45a09d1
24bc324
bc6bd3b
The GitHub pre-merge CI has been broken since this PR went in. This change reverts it to see if I can get the pre-merge CI working again.