|
2 | 2 | ; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=3 -sanitizer-coverage-trace-pc-guard -mtriple x86_64-linux-gnu -S | FileCheck %s --check-prefixes=CHECK,ELF
|
3 | 3 | ; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=3 -sanitizer-coverage-trace-pc-guard -mtriple x86_64-windows-msvc -S | FileCheck %s --check-prefixes=CHECK,COFF
|
4 | 4 |
|
| 5 | +$WeakComdat = comdat any |
| 6 | + |
5 | 7 | define void @Vanilla() {
|
6 | 8 | entry:
|
7 | 9 | ret void
|
@@ -29,14 +31,22 @@ entry:
|
29 | 31 | ret void
|
30 | 32 | }
|
31 | 33 |
|
| 34 | +define weak void @WeakComdat() comdat { |
| 35 | +entry: |
| 36 | + ret void |
| 37 | +} |
| 38 | + |
| 39 | + |
32 | 40 | ; CHECK: $Vanilla = comdat nodeduplicate
|
33 | 41 | ; ELF: $LinkOnceOdr = comdat nodeduplicate
|
34 | 42 | ; COFF: $LinkOnceOdr = comdat any
|
| 43 | +; CHECK: $WeakComdat = comdat any |
35 | 44 | ; CHECK: @__sancov_gen_ = private global [1 x i32] zeroinitializer, section {{.*}}, comdat($Vanilla), align 4{{$}}
|
36 | 45 | ; CHECK-NEXT: @__sancov_gen_.1 = private global [1 x i32] zeroinitializer, section {{.*}}, align 4{{$}}
|
37 | 46 | ; CHECK-NEXT: @__sancov_gen_.2 = private global [1 x i32] zeroinitializer, section {{.*}}, align 4{{$}}
|
38 | 47 | ; CHECK-NEXT: @__sancov_gen_.3 = private global [1 x i32] zeroinitializer, section {{.*}}, comdat($LinkOnceOdr), align 4{{$}}
|
39 | 48 | ; CHECK-NEXT: @__sancov_gen_.4 = private global [1 x i32] zeroinitializer, section {{.*}}, comdat($WeakOdr), align 4{{$}}
|
| 49 | +; CHECK-NEXT: @__sancov_gen_.5 = private global [1 x i32] zeroinitializer, section {{.*}}, comdat($WeakComdat), align 4{{$}} |
40 | 50 |
|
41 | 51 | ; CHECK: define void @Vanilla() comdat {
|
42 | 52 | ; ELF: define linkonce void @LinkOnce() comdat {
|
|
46 | 56 | ; CHECK: declare extern_weak void @ExternWeak()
|
47 | 57 | ; CHECK: define linkonce_odr void @LinkOnceOdr() comdat {
|
48 | 58 | ; CHECK: define weak_odr void @WeakOdr() comdat {
|
| 59 | +; CHECK: define weak void @WeakComdat() comdat { |
0 commit comments