Files
clang-p2996/llvm/test/ExecutionEngine/Orc/weak-comdat.ll
Jonas Hahnfeld 50ca8b3e87 [ORC] Drop Comdat when discarding IR symbol
According to the IR verifier, "Declaration[s] may not be in a Comdat!"

This is a re-commit of 76b3f0b4d5 and
87d7838202 with updates to the test:
 * Force emission of the extra-module, to trigger the bug after D138264,
   by providing a second symbol @g, and making the comdat nodeduplicate.
   (Technically only one is needed, but two should be safer.)
 * Name the comdat $f to avoid failure on Windows:
   LLVM ERROR: Associative COMDAT symbol 'c' does not exist.
 * Mark the test as UNSUPPORTED on macOS, MachO doesn't support COMDATs.

Differential Revision: https://reviews.llvm.org/D142443
2023-02-05 10:53:36 +01:00

19 lines
283 B
LLVM

; RUN: lli -extra-module %p/Inputs/weak-comdat-def.ll %s
; UNSUPPORTED: target={{.*}}-darwin{{.*}}
declare i32 @g()
$f = comdat nodeduplicate
define weak i32 @f() comdat {
entry:
%0 = call i32 @g()
ret i32 %0
}
define i32 @main() {
entry:
%0 = call i32 @f()
ret i32 %0
}