OSDN Git Service

e73f1516fa103f70150f28ab747393aba7de9015
[android-x86/external-llvm.git] / test / Instrumentation / SanitizerCoverage / interposable-symbol-nocomdat.ll
1 ; Test that interposable symbols do not get put in comdats.
2 ; RUN: opt < %s -sancov -sanitizer-coverage-level=3 -sanitizer-coverage-trace-pc-guard -mtriple x86_64-linux-gnu -S | FileCheck %s
3 ; RUN: opt < %s -sancov -sanitizer-coverage-level=3 -sanitizer-coverage-trace-pc-guard -mtriple x86_64-windows-msvc -S | FileCheck %s
4 ; RUN: opt < %s -passes='module(sancov-module),function(sancov-func)' -sanitizer-coverage-level=3 -sanitizer-coverage-trace-pc-guard -mtriple x86_64-linux-gnu -S | FileCheck %s
5 ; RUN: opt < %s -passes='module(sancov-module),function(sancov-func)' -sanitizer-coverage-level=3 -sanitizer-coverage-trace-pc-guard -mtriple x86_64-windows-msvc -S | FileCheck %s
6
7 define void @Vanilla() {
8 entry:
9   ret void
10 }
11
12 define linkonce void @LinkOnce() {
13 entry:
14   ret void
15 }
16
17 define weak void @Weak() {
18 entry:
19   ret void
20 }
21
22 declare extern_weak void @ExternWeak()
23
24 define linkonce_odr void @LinkOnceOdr() {
25 entry:
26   ret void
27 }
28
29 define weak_odr void @WeakOdr() {
30 entry:
31   ret void
32 }
33
34 ; CHECK: define void @Vanilla() comdat {
35 ; CHECK: define linkonce void @LinkOnce() {
36 ; CHECK: define weak void @Weak() {
37 ; CHECK: declare extern_weak void @ExternWeak()
38 ; CHECK: define linkonce_odr void @LinkOnceOdr() comdat {
39 ; CHECK: define weak_odr void @WeakOdr() comdat {