From 171b2ab50a2c6b621d10aa075d0ff6440edaeac1 Mon Sep 17 00:00:00 2001 From: Andres Salamanca Date: Tue, 24 Jun 2025 12:40:16 -0500 Subject: [PATCH 1/2] Fix NYI AAPCS bit-fields by skipping unsupported case --- clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp b/clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp index 349c6e75ce36c..4643f6c1a9cef 100644 --- a/clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp +++ b/clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp @@ -778,10 +778,8 @@ void CIRRecordLowering::computeVolatileBitfields() { !cirGenTypes.getCGModule().getCodeGenOpts().AAPCSBitfieldWidth) return; - for ([[maybe_unused]] auto &I : bitFields) { + for ([[maybe_unused]] auto &I : bitFields) assert(!cir::MissingFeatures::armComputeVolatileBitfields()); - cirGenTypes.getCGModule().errorNYI("NYI AAPCS bit-fields"); - } } void CIRRecordLowering::accumulateBases(const CXXRecordDecl *cxxRecordDecl) { From daa832795489063b0a836c7de5c5cf9684de0fcf Mon Sep 17 00:00:00 2001 From: Andres Salamanca Date: Tue, 24 Jun 2025 13:36:13 -0500 Subject: [PATCH 2/2] Remove loop --- clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp b/clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp index 4643f6c1a9cef..8ef88b4c3c367 100644 --- a/clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp +++ b/clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp @@ -778,8 +778,7 @@ void CIRRecordLowering::computeVolatileBitfields() { !cirGenTypes.getCGModule().getCodeGenOpts().AAPCSBitfieldWidth) return; - for ([[maybe_unused]] auto &I : bitFields) - assert(!cir::MissingFeatures::armComputeVolatileBitfields()); + assert(!cir::MissingFeatures::armComputeVolatileBitfields()); } void CIRRecordLowering::accumulateBases(const CXXRecordDecl *cxxRecordDecl) {