1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-link -S %s %p/Inputs/comdat13.ll -o - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; In Inputs/comdat13.ll a function not in the $foo comdat (zed) references an 4*9880d681SAndroid Build Coastguard Worker; internal function in the comdat $foo. 5*9880d681SAndroid Build Coastguard Worker; The IR would be ilegal on ELF ("relocation refers to discarded section"), 6*9880d681SAndroid Build Coastguard Worker; but COFF linkers seem to just duplicate the comdat. 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker$foo = comdat any 9*9880d681SAndroid Build Coastguard Worker@foo = internal global i8 0, comdat 10*9880d681SAndroid Build Coastguard Workerdefine i8* @bar() { 11*9880d681SAndroid Build Coastguard Worker ret i8* @foo 12*9880d681SAndroid Build Coastguard Worker} 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker; CHECK: $foo = comdat any 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Worker; CHECK: @foo = internal global i8 0, comdat 17*9880d681SAndroid Build Coastguard Worker; CHECK: @foo.1 = internal global i8 1, comdat($foo) 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker; CHECK: define i8* @bar() { 20*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ret i8* @foo 21*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: } 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker; CHECK: define i8* @zed() { 24*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: call void @bax() 25*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ret i8* @foo.1 26*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: } 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker; CHECK: define internal void @bax() comdat($foo) { 29*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ret void 30*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: } 31