xref: /aosp_15_r20/external/llvm/test/Verifier/alias.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN:  not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdeclare void @f()
5*9880d681SAndroid Build Coastguard Worker@fa = alias void (), void ()* @f
6*9880d681SAndroid Build Coastguard Worker; CHECK: Alias must point to a definition
7*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: @fa
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker@g = external global i32
10*9880d681SAndroid Build Coastguard Worker@ga = alias i32, i32* @g
11*9880d681SAndroid Build Coastguard Worker; CHECK: Alias must point to a definition
12*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: @ga
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Workerdefine available_externally void @f2() {
15*9880d681SAndroid Build Coastguard Worker  ret void
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker@fa2 = alias void(), void()* @f2
18*9880d681SAndroid Build Coastguard Worker; CHECK: Alias must point to a definition
19*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: @fa2
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker@test2_a = alias i32, i32* @test2_b
22*9880d681SAndroid Build Coastguard Worker@test2_b = alias i32, i32* @test2_a
23*9880d681SAndroid Build Coastguard Worker; CHECK:      Aliases cannot form a cycle
24*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: i32* @test2_a
25*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: Aliases cannot form a cycle
26*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: i32* @test2_b
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Worker@test3_a = global i32 42
30*9880d681SAndroid Build Coastguard Worker@test3_b = weak alias i32, i32* @test3_a
31*9880d681SAndroid Build Coastguard Worker@test3_c = alias i32, i32* @test3_b
32*9880d681SAndroid Build Coastguard Worker; CHECK: Alias cannot point to an interposable alias
33*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: i32* @test3_c
34