OSDN Git Service

DebugInfo: preparation to implement DW_AT_alignment
[android-x86/external-llvm.git] / test / Assembler / diglobalvariable.ll
1 ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
2 ; RUN: verify-uselistorder %s
3
4 @foo = global i32 0
5
6 ; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !8, !9, !10}
7 !named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9}
8
9 !0 = !DIFile(filename: "scope.h", directory: "/path/to/dir")
10 !1 = distinct !{}
11 !2 = !DIFile(filename: "path/to/file", directory: "/path/to/dir")
12 !3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
13 !4 = distinct !{}
14
15 ; CHECK: !5 = !DIGlobalVariable(name: "foo", linkageName: "foo", scope: !0, file: !2, line: 7, type: !3, isLocal: true, isDefinition: false, align: 32)
16 !5 = !DIGlobalVariable(name: "foo", linkageName: "foo", scope: !0,
17                        file: !2, line: 7, type: !3, isLocal: true,
18                        isDefinition: false, align: 32)
19
20 ; CHECK: !6 = !DIGlobalVariable(name: "foo", scope: !0, isLocal: false, isDefinition: true, expr: !7)
21 ; CHECK: !7 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)
22 !6 = !DIGlobalVariable(name: "foo", scope: !0, expr: !DIExpression(DW_OP_constu, 42, DW_OP_stack_value))
23
24 !7 = !DICompositeType(tag: DW_TAG_structure_type, name: "Class", size: 8, align: 8)
25 !8 = !DIDerivedType(tag: DW_TAG_member, name: "mem", flags: DIFlagStaticMember, scope: !7, baseType: !3)
26
27 ; CHECK: !10 = !DIGlobalVariable(name: "mem", scope: !0, isLocal: false, isDefinition: true, declaration: !9)
28 !9 = !DIGlobalVariable(name: "mem", scope: !0, declaration: !8)