| ; RUN: llvm-as %s -o - | llvm-nm - | FileCheck %s | |
| ; CHECK: D a1 | |
| ; CHECK-NEXT: d a2 | |
| ; CHECK-NEXT: T f1 | |
| ; CHECK-NEXT: t f2 | |
| ; CHECK-NEXT: W f3 | |
| ; CHECK-NEXT: U f4 | |
| ; CHECK-NEXT: w f5 | |
| ; CHECK-NEXT: D g1 | |
| ; CHECK-NEXT: d g2 | |
| ; CHECK-NEXT: C g3 | |
| ; CHECK-NOT: g4 | |
| ; CHECK-NEXT: T global_asm_sym | |
| ; CHECK-NEXT: T ifunc_f1 | |
| ; CHECK-NEXT: t local_asm_sym | |
| ; CHECK-NEXT: U undef_asm_sy | |
| target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | |
| target triple = "x86_64-unknown-linux-gnu" | |
| module asm ".global global_asm_sym" | |
| module asm "global_asm_sym:" | |
| module asm "local_asm_sym:" | |
| module asm ".long undef_asm_sym" | |
| @g1 = global i32 42 | |
| @g2 = internal global i32 42 | |
| @g3 = common global i32 0 | |
| @g4 = private global i32 42 | |
| @a1 = alias i32, i32* @g1 | |
| @a2 = internal alias i32, i32* @g1 | |
| define void @f1() { | |
| call void @f5() | |
| ret void | |
| } | |
| @ifunc_f1 = ifunc void (), void ()* @f1 | |
| define internal void @f2() { | |
| ret void | |
| } | |
| define linkonce_odr void @f3() { | |
| ret void | |
| } | |
| declare void @f4() | |
| declare extern_weak void @f5() |