[Clang][CodeGen]`vtable`, `typeinfo` et al. are globals
[llvm-project.git] / llvm / test / Instrumentation / AddressSanitizer / do-not-touch-odr-global.ll
blobd6cfbc35f8e6861e5a24a2e1a3079fde7a4752b0
1 ; This test checks that we instrument regular globals, but do not touch
2 ; the linkonce_odr ones.
3 ; RUN: opt < %s -passes=asan -S | FileCheck %s
4 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
5 target triple = "x86_64-unknown-linux-gnu"
6 ; no action should be taken for these globals
7 @global_noinst = linkonce_odr constant [2 x i8] [i8 1, i8 2]
8 @global_weak_noinst = weak_odr constant [2 x i8] [i8 1, i8 2]
9 @global_inst = private constant [2 x i8] [i8 1, i8 2]
10 ; CHECK-NOT: {{asan_gen.*global_noinst}}
11 ; CHECK-NOT: {{asan_gen.*global_weak_noinst}}
12 ; CHECK: {{asan_gen.*global_inst}}
13 ; CHECK: @asan.module_ctor