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