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