1; RUN: opt < %s -sancov -sanitizer-coverage-level=1 -sanitizer-coverage-trace-pc-guard -sanitizer-coverage-inline-bool-flag -S -enable-new-pm=0 | FileCheck %s 2; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=1 -sanitizer-coverage-trace-pc-guard -sanitizer-coverage-inline-bool-flag -S | FileCheck %s 3 4; Module ctors should have stable names across modules, not something like 5; @sancov.module_ctor.3 that may cause duplicate ctors after linked together. 6 7; CHECK: define internal void @sancov.module_ctor_trace_pc_guard() comdat { 8; CHECK: define internal void @sancov.module_ctor_bool_flag() comdat { 9 10target 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" 11target triple = "x86_64-unknown-linux-gnu" 12define void @foo() { 13 ret void 14} 15