[Clang][CodeGen]`vtable`, `typeinfo` et al. are globals
[llvm-project.git] / llvm / test / Instrumentation / AddressSanitizer / no-globals.ll
blob41e2172bf8579933115446442bef036c152061d7
1 ; A module with no asan-instrumented globals has no asan destructor, and has an asan constructor in a comdat.
2 ; RUN: opt -mtriple=x86_64-unknown-linux-gnu < %s -passes=asan -asan-with-comdat=1 -asan-globals-live-support=1 -S | FileCheck %s
4 define void @f() {
5   ret void
8 ; CHECK-NOT: @llvm.global_dtors
9 ; CHECK: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 1, ptr @asan.module_ctor, ptr @asan.module_ctor }]
10 ; CHECK-NOT: @llvm.global_dtors
11 ; CHECK: define internal void @asan.module_ctor() #[[#]] comdat
12 ; CHECK-NOT: @llvm.global_dtors