Skip to content

Conversation

@lamb-j
Copy link
Contributor

@lamb-j lamb-j commented Nov 3, 2025

Reverts #164432

Breaks Comgr tests with the following:

[2025-11-03T19:18:20.564Z] + clang -x hip --offload-arch=amdgcnspirv -nogpulib -nogpuinc --no-gpu-bundle-output --offload-device-only -O3 /jenkins/workspace/compiler-psdb-amd-staging/repos/llvm-project/amd/comgr/test-lit/spirv-tests/spirv-to-reloc.hip -o /jenkins/workspace/compiler-psdb-amd-staging/repos/out/ubuntu-22.04/22.04/build/amd_comgr/test-lit/spirv-tests/Output/spirv-to-reloc.hip.tmp.spv -fvisibility=hidden -fno-autolink -fexceptions -fcolor-diagnostics

[2025-11-03T19:18:20.564Z] InvalidModule: Invalid SPIR-V module: Casts from private/local/global address space are allowed only to generic

[2025-11-03T19:18:20.564Z]

[2025-11-03T19:18:20.564Z] = addrspacecast ptr addrspace(1) @__hip_cuid_94fb83be5559070 to ptr

[2025-11-03T19:18:20.564Z] clang: error: amdgcn-link command failed with exit code 10 (use -v to see invocation)

@llvmbot llvmbot added clang Clang issues not falling into any other category clang:codegen IR generation bugs: mangling, exceptions, etc. labels Nov 3, 2025
@github-actions
Copy link

github-actions bot commented Nov 3, 2025

⚠️ C/C++ code formatter, clang-format found issues in your code. ⚠️

You can test this locally with the following command:
git-clang-format --diff origin/main HEAD --extensions c,cpp -- clang/lib/CodeGen/CodeGenModule.cpp clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c --diff_from_common_commit

⚠️
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing origin/main to the base branch/commit you want to compare against.
⚠️

View the diff from clang-format here.
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 0fea57b2e..e3d6a6876 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -3335,9 +3335,8 @@ static void emitUsed(CodeGenModule &CGM, StringRef Name,
   SmallVector<llvm::Constant*, 8> UsedArray;
   UsedArray.resize(List.size());
   for (unsigned i = 0, e = List.size(); i != e; ++i) {
-    UsedArray[i] =
-        llvm::ConstantExpr::getPointerBitCastOrAddrSpaceCast(
-            cast<llvm::Constant>(&*List[i]), CGM.Int8PtrTy);
+    UsedArray[i] = llvm::ConstantExpr::getPointerBitCastOrAddrSpaceCast(
+        cast<llvm::Constant>(&*List[i]), CGM.Int8PtrTy);
   }
 
   if (UsedArray.empty())

@llvmbot
Copy link
Member

llvmbot commented Nov 3, 2025

@llvm/pr-subscribers-clang

Author: Jacob Lambert (lamb-j)

Changes

Reverts llvm/llvm-project#164432

Breaks Comgr tests with the following:

[2025-11-03T19:18:20.564Z] + clang -x hip --offload-arch=amdgcnspirv -nogpulib -nogpuinc --no-gpu-bundle-output --offload-device-only -O3 /jenkins/workspace/compiler-psdb-amd-staging/repos/llvm-project/amd/comgr/test-lit/spirv-tests/spirv-to-reloc.hip -o /jenkins/workspace/compiler-psdb-amd-staging/repos/out/ubuntu-22.04/22.04/build/amd_comgr/test-lit/spirv-tests/Output/spirv-to-reloc.hip.tmp.spv -fvisibility=hidden -fno-autolink -fexceptions -fcolor-diagnostics

[2025-11-03T19:18:20.564Z] InvalidModule: Invalid SPIR-V module: Casts from private/local/global address space are allowed only to generic

[2025-11-03T19:18:20.564Z]

[2025-11-03T19:18:20.564Z] <badref> = addrspacecast ptr addrspace(1) @__hip_cuid_94fb83be5559070 to ptr

[2025-11-03T19:18:20.564Z] clang: error: amdgcn-link command failed with exit code 10 (use -v to see invocation)


Full diff: https://github.com/llvm/llvm-project/pull/166242.diff

3 Files Affected:

  • (modified) clang/lib/CodeGen/CodeGenModule.cpp (+6-6)
  • (modified) clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c (+1-1)
  • (removed) clang/test/CodeGen/llvm_compiler_used_elements_are_unqual.c (-64)
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index af5be95aec1cd..0fea57b2e1799 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -3331,18 +3331,18 @@ static void emitUsed(CodeGenModule &CGM, StringRef Name,
   if (List.empty())
     return;
 
-  llvm::PointerType *UnqualPtr =
-      llvm::PointerType::getUnqual(CGM.getLLVMContext());
-
   // Convert List to what ConstantArray needs.
   SmallVector<llvm::Constant*, 8> UsedArray;
   UsedArray.resize(List.size());
   for (unsigned i = 0, e = List.size(); i != e; ++i) {
-    UsedArray[i] = llvm::ConstantExpr::getPointerBitCastOrAddrSpaceCast(
-        cast<llvm::Constant>(&*List[i]), UnqualPtr);
+    UsedArray[i] =
+        llvm::ConstantExpr::getPointerBitCastOrAddrSpaceCast(
+            cast<llvm::Constant>(&*List[i]), CGM.Int8PtrTy);
   }
 
-  llvm::ArrayType *ATy = llvm::ArrayType::get(UnqualPtr, UsedArray.size());
+  if (UsedArray.empty())
+    return;
+  llvm::ArrayType *ATy = llvm::ArrayType::get(CGM.Int8PtrTy, UsedArray.size());
 
   auto *GV = new llvm::GlobalVariable(
       CGM.getModule(), ATy, false, llvm::GlobalValue::AppendingLinkage,
diff --git a/clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c b/clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
index 8af9708a1bfb8..df7118859c764 100644
--- a/clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
+++ b/clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
@@ -3,6 +3,6 @@
 
 // CHECK: @llvm.embedded.module = private addrspace(1) constant [0 x i8] zeroinitializer, section ".llvmbc", align 1
 // CHECK-NEXT: @llvm.cmdline = private addrspace(1) constant [{{[0-9]+}} x i8] c"{{.*}}", section ".llvmcmd", align 1
-// CHECK-NEXT: @llvm.compiler.used = appending addrspace(1) global [5 x ptr] [ptr addrspacecast (ptr addrspace(1) @foo.managed to ptr), ptr addrspacecast (ptr addrspace(1) @foo to ptr), ptr addrspacecast (ptr addrspace(1) @__hip_cuid_ to ptr), ptr addrspacecast (ptr addrspace(1) @llvm.embedded.module to ptr), ptr addrspacecast (ptr addrspace(1) @llvm.cmdline to ptr)], section "llvm.metadata"
+// CHECK-NEXT: @llvm.compiler.used = appending addrspace(1) global [5 x ptr addrspace(4)] [ptr addrspace(4) addrspacecast (ptr addrspace(1) @foo.managed to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @foo to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @__hip_cuid_ to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @llvm.embedded.module to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @llvm.cmdline to ptr addrspace(4))], section "llvm.metadata"
 
 __attribute__((managed)) int foo = 42;
diff --git a/clang/test/CodeGen/llvm_compiler_used_elements_are_unqual.c b/clang/test/CodeGen/llvm_compiler_used_elements_are_unqual.c
deleted file mode 100644
index b6550fb1e5c77..0000000000000
--- a/clang/test/CodeGen/llvm_compiler_used_elements_are_unqual.c
+++ /dev/null
@@ -1,64 +0,0 @@
-// RUN: %clang_cc1 -x c -triple x86_64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=X86
-// RUN: %clang_cc1 -x c -triple amdgcn-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=AMDGCN
-// RUN: %clang_cc1 -x c -triple spirv64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV
-// RUN: %clang_cc1 -x c -triple spirv64-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV_AMD
-// RUN: %clang_cc1 -x cl -cl-std=CL1.2 -triple x86_64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=X86
-// RUN: %clang_cc1 -x cl -cl-std=CL1.2 -triple amdgcn-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=AMDGCN
-// RUN: %clang_cc1 -x cl -cl-std=CL1.2 -triple spirv64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV_CL
-// RUN: %clang_cc1 -x cl -cl-std=CL1.2 -triple spirv64-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV_AMD_CL
-// RUN: %clang_cc1 -x cl -cl-std=CL2.0 -triple x86_64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=X86
-// RUN: %clang_cc1 -x cl -cl-std=CL2.0 -triple amdgcn-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=AMDGCN
-// RUN: %clang_cc1 -x cl -cl-std=CL2.0 -triple spirv64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV_CL
-// RUN: %clang_cc1 -x cl -cl-std=CL2.0 -triple spirv64-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV_AMD_CL
-
-#ifndef __OPENCL_C_VERSION__
-#define __constant const
-#endif
-
-static __constant __attribute__((__used__)) int foo = 42;
-
-
-// X86: @foo = internal constant i32 42
-// X86: @llvm.compiler.used = appending global [2 x ptr] [ptr @foo, ptr @bar], section "llvm.metadata"
-//
-// AMDGCN: @foo = internal addrspace(4) constant i32 42
-// AMDGCN: @llvm.compiler.used = appending addrspace(1) global [2 x ptr] [ptr addrspacecast (ptr addrspace(4) @foo to ptr), ptr @bar], section "llvm.metadata"
-//
-// SPIRV: @foo = internal constant i32 42
-// SPIRV: @llvm.used = appending addrspace(1) global [2 x ptr] [ptr @foo, ptr @bar], section "llvm.metadata"
-//
-// SPIRV_CL: @foo = internal addrspace(2) constant i32 42
-// SPIRV_CL: @llvm.used = appending addrspace(1) global [2 x ptr] [ptr addrspacecast (ptr addrspace(2) @foo to ptr), ptr @bar], section "llvm.metadata"
-//
-// SPIRV_AMD: @foo = internal addrspace(1) constant i32 42
-// SPIRV_AMD: @llvm.used = appending addrspace(1) global [2 x ptr] [ptr addrspacecast (ptr addrspace(1) @foo to ptr), ptr addrspacecast (ptr addrspace(4) @bar to ptr)], section "llvm.metadata"
-//
-// SPIRV_AMD_CL: @foo = internal addrspace(2) constant i32 42
-// SPIRV_AMD_CL: @llvm.used = appending addrspace(1) global [2 x ptr] [ptr addrspacecast (ptr addrspace(2) @foo to ptr), ptr addrspacecast (ptr addrspace(4) @bar to ptr)], section "llvm.metadata"
-//
-// X86: define internal void @bar() #{{[0-9]}} {
-//
-// AMDGCN: define internal void @bar() #{{[0-9]}} {
-//
-// SPIRV: define internal spir_func void @bar() #{{[0-9]}} {
-//
-// SPIRV_CL: define internal spir_func void @bar() #{{[0-9]}} {
-//
-// SPIRV_AMD: define internal spir_func void @bar() addrspace(4) #{{[0-9]}} {
-//
-// SPIRV_AMD_CL: define internal spir_func void @bar() addrspace(4) #{{[0-9]}} {
-//
-static void __attribute__((__used__)) bar() {
-}

@llvmbot
Copy link
Member

llvmbot commented Nov 3, 2025

@llvm/pr-subscribers-clang-codegen

Author: Jacob Lambert (lamb-j)

Changes

Reverts llvm/llvm-project#164432

Breaks Comgr tests with the following:

[2025-11-03T19:18:20.564Z] + clang -x hip --offload-arch=amdgcnspirv -nogpulib -nogpuinc --no-gpu-bundle-output --offload-device-only -O3 /jenkins/workspace/compiler-psdb-amd-staging/repos/llvm-project/amd/comgr/test-lit/spirv-tests/spirv-to-reloc.hip -o /jenkins/workspace/compiler-psdb-amd-staging/repos/out/ubuntu-22.04/22.04/build/amd_comgr/test-lit/spirv-tests/Output/spirv-to-reloc.hip.tmp.spv -fvisibility=hidden -fno-autolink -fexceptions -fcolor-diagnostics

[2025-11-03T19:18:20.564Z] InvalidModule: Invalid SPIR-V module: Casts from private/local/global address space are allowed only to generic

[2025-11-03T19:18:20.564Z]

[2025-11-03T19:18:20.564Z] <badref> = addrspacecast ptr addrspace(1) @__hip_cuid_94fb83be5559070 to ptr

[2025-11-03T19:18:20.564Z] clang: error: amdgcn-link command failed with exit code 10 (use -v to see invocation)


Full diff: https://github.com/llvm/llvm-project/pull/166242.diff

3 Files Affected:

  • (modified) clang/lib/CodeGen/CodeGenModule.cpp (+6-6)
  • (modified) clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c (+1-1)
  • (removed) clang/test/CodeGen/llvm_compiler_used_elements_are_unqual.c (-64)
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index af5be95aec1cd..0fea57b2e1799 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -3331,18 +3331,18 @@ static void emitUsed(CodeGenModule &CGM, StringRef Name,
   if (List.empty())
     return;
 
-  llvm::PointerType *UnqualPtr =
-      llvm::PointerType::getUnqual(CGM.getLLVMContext());
-
   // Convert List to what ConstantArray needs.
   SmallVector<llvm::Constant*, 8> UsedArray;
   UsedArray.resize(List.size());
   for (unsigned i = 0, e = List.size(); i != e; ++i) {
-    UsedArray[i] = llvm::ConstantExpr::getPointerBitCastOrAddrSpaceCast(
-        cast<llvm::Constant>(&*List[i]), UnqualPtr);
+    UsedArray[i] =
+        llvm::ConstantExpr::getPointerBitCastOrAddrSpaceCast(
+            cast<llvm::Constant>(&*List[i]), CGM.Int8PtrTy);
   }
 
-  llvm::ArrayType *ATy = llvm::ArrayType::get(UnqualPtr, UsedArray.size());
+  if (UsedArray.empty())
+    return;
+  llvm::ArrayType *ATy = llvm::ArrayType::get(CGM.Int8PtrTy, UsedArray.size());
 
   auto *GV = new llvm::GlobalVariable(
       CGM.getModule(), ATy, false, llvm::GlobalValue::AppendingLinkage,
diff --git a/clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c b/clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
index 8af9708a1bfb8..df7118859c764 100644
--- a/clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
+++ b/clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
@@ -3,6 +3,6 @@
 
 // CHECK: @llvm.embedded.module = private addrspace(1) constant [0 x i8] zeroinitializer, section ".llvmbc", align 1
 // CHECK-NEXT: @llvm.cmdline = private addrspace(1) constant [{{[0-9]+}} x i8] c"{{.*}}", section ".llvmcmd", align 1
-// CHECK-NEXT: @llvm.compiler.used = appending addrspace(1) global [5 x ptr] [ptr addrspacecast (ptr addrspace(1) @foo.managed to ptr), ptr addrspacecast (ptr addrspace(1) @foo to ptr), ptr addrspacecast (ptr addrspace(1) @__hip_cuid_ to ptr), ptr addrspacecast (ptr addrspace(1) @llvm.embedded.module to ptr), ptr addrspacecast (ptr addrspace(1) @llvm.cmdline to ptr)], section "llvm.metadata"
+// CHECK-NEXT: @llvm.compiler.used = appending addrspace(1) global [5 x ptr addrspace(4)] [ptr addrspace(4) addrspacecast (ptr addrspace(1) @foo.managed to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @foo to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @__hip_cuid_ to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @llvm.embedded.module to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @llvm.cmdline to ptr addrspace(4))], section "llvm.metadata"
 
 __attribute__((managed)) int foo = 42;
diff --git a/clang/test/CodeGen/llvm_compiler_used_elements_are_unqual.c b/clang/test/CodeGen/llvm_compiler_used_elements_are_unqual.c
deleted file mode 100644
index b6550fb1e5c77..0000000000000
--- a/clang/test/CodeGen/llvm_compiler_used_elements_are_unqual.c
+++ /dev/null
@@ -1,64 +0,0 @@
-// RUN: %clang_cc1 -x c -triple x86_64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=X86
-// RUN: %clang_cc1 -x c -triple amdgcn-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=AMDGCN
-// RUN: %clang_cc1 -x c -triple spirv64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV
-// RUN: %clang_cc1 -x c -triple spirv64-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV_AMD
-// RUN: %clang_cc1 -x cl -cl-std=CL1.2 -triple x86_64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=X86
-// RUN: %clang_cc1 -x cl -cl-std=CL1.2 -triple amdgcn-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=AMDGCN
-// RUN: %clang_cc1 -x cl -cl-std=CL1.2 -triple spirv64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV_CL
-// RUN: %clang_cc1 -x cl -cl-std=CL1.2 -triple spirv64-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV_AMD_CL
-// RUN: %clang_cc1 -x cl -cl-std=CL2.0 -triple x86_64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=X86
-// RUN: %clang_cc1 -x cl -cl-std=CL2.0 -triple amdgcn-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=AMDGCN
-// RUN: %clang_cc1 -x cl -cl-std=CL2.0 -triple spirv64-- -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV_CL
-// RUN: %clang_cc1 -x cl -cl-std=CL2.0 -triple spirv64-amd-amdhsa -emit-llvm -x c %s -o - \
-// RUN:   | FileCheck %s --check-prefix=SPIRV_AMD_CL
-
-#ifndef __OPENCL_C_VERSION__
-#define __constant const
-#endif
-
-static __constant __attribute__((__used__)) int foo = 42;
-
-
-// X86: @foo = internal constant i32 42
-// X86: @llvm.compiler.used = appending global [2 x ptr] [ptr @foo, ptr @bar], section "llvm.metadata"
-//
-// AMDGCN: @foo = internal addrspace(4) constant i32 42
-// AMDGCN: @llvm.compiler.used = appending addrspace(1) global [2 x ptr] [ptr addrspacecast (ptr addrspace(4) @foo to ptr), ptr @bar], section "llvm.metadata"
-//
-// SPIRV: @foo = internal constant i32 42
-// SPIRV: @llvm.used = appending addrspace(1) global [2 x ptr] [ptr @foo, ptr @bar], section "llvm.metadata"
-//
-// SPIRV_CL: @foo = internal addrspace(2) constant i32 42
-// SPIRV_CL: @llvm.used = appending addrspace(1) global [2 x ptr] [ptr addrspacecast (ptr addrspace(2) @foo to ptr), ptr @bar], section "llvm.metadata"
-//
-// SPIRV_AMD: @foo = internal addrspace(1) constant i32 42
-// SPIRV_AMD: @llvm.used = appending addrspace(1) global [2 x ptr] [ptr addrspacecast (ptr addrspace(1) @foo to ptr), ptr addrspacecast (ptr addrspace(4) @bar to ptr)], section "llvm.metadata"
-//
-// SPIRV_AMD_CL: @foo = internal addrspace(2) constant i32 42
-// SPIRV_AMD_CL: @llvm.used = appending addrspace(1) global [2 x ptr] [ptr addrspacecast (ptr addrspace(2) @foo to ptr), ptr addrspacecast (ptr addrspace(4) @bar to ptr)], section "llvm.metadata"
-//
-// X86: define internal void @bar() #{{[0-9]}} {
-//
-// AMDGCN: define internal void @bar() #{{[0-9]}} {
-//
-// SPIRV: define internal spir_func void @bar() #{{[0-9]}} {
-//
-// SPIRV_CL: define internal spir_func void @bar() #{{[0-9]}} {
-//
-// SPIRV_AMD: define internal spir_func void @bar() addrspace(4) #{{[0-9]}} {
-//
-// SPIRV_AMD_CL: define internal spir_func void @bar() addrspace(4) #{{[0-9]}} {
-//
-static void __attribute__((__used__)) bar() {
-}

@lamb-j lamb-j enabled auto-merge (squash) November 3, 2025 22:02
@lamb-j lamb-j merged commit 2c8781d into main Nov 3, 2025
9 of 12 checks passed
@lamb-j lamb-j deleted the revert-164432-clang/llvm_compiler_used_as_0 branch November 3, 2025 22:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clang:codegen IR generation bugs: mangling, exceptions, etc. clang Clang issues not falling into any other category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants