// RUN: llvm-mc -g -triple i386-apple-darwin10 %s -filetype=obj -o %t
// RUN: llvm-dwarfdump -debug-dump=all %t | FileCheck %s

.globl _bar
_bar:
	movl	$0, %eax
L1:	leave
	ret
_foo:
_baz:
	nop
.data
_x:	.long 1

// CHECK: file format Mach-O 32-bit i386

// CHECK: .debug_abbrev contents:
// CHECK: Abbrev table for offset: 0x00000000
// CHECK: [1] DW_TAG_compile_unit	DW_CHILDREN_yes
// CHECK: 	DW_AT_stmt_list	DW_FORM_data4
// CHECK: 	DW_AT_low_pc	DW_FORM_addr
// CHECK: 	DW_AT_high_pc	DW_FORM_addr
// CHECK: 	DW_AT_name	DW_FORM_string
// CHECK: 	DW_AT_comp_dir	DW_FORM_string
// CHECK: 	DW_AT_producer	DW_FORM_string
// CHECK: 	DW_AT_language	DW_FORM_data2

// CHECK: [2] DW_TAG_label	DW_CHILDREN_yes
// CHECK: 	DW_AT_name	DW_FORM_string
// CHECK: 	DW_AT_decl_file	DW_FORM_data4
// CHECK: 	DW_AT_decl_line	DW_FORM_data4
// CHECK: 	DW_AT_low_pc	DW_FORM_addr
// CHECK: 	DW_AT_prototyped	DW_FORM_flag

// CHECK: [3] DW_TAG_unspecified_parameters	DW_CHILDREN_no


// CHECK: .debug_info contents:

// We don't check the leading addresses these are at.
// CHECK:  DW_TAG_compile_unit [1] *
// CHECK:    DW_AT_stmt_list [DW_FORM_data4]	(0x00000000)
// CHECK:    DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000000)
// CHECK:    DW_AT_high_pc [DW_FORM_addr]	(0x0000000000000008)
// We don't check the file name as it is a temp directory
// CHECK:    DW_AT_name [DW_FORM_string]
// We don't check the DW_AT_comp_dir which is the current working directory
// CHECK:    DW_AT_producer [DW_FORM_string]	("llvm-mc (based on {{.*}})")
// CHECK:    DW_AT_language [DW_FORM_data2]	(DW_LANG_Mips_Assembler)

// CHECK:    DW_TAG_label [2] *
// CHECK:      DW_AT_name [DW_FORM_string]	("bar")
// CHECK:      DW_AT_decl_file [DW_FORM_data4]	([[FILE:".*gen-dwarf.s"]])
// CHECK:      DW_AT_decl_line [DW_FORM_data4]	(5)
// CHECK:      DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000000)
// CHECK:      DW_AT_prototyped [DW_FORM_flag]	(0x00)

// CHECK:      DW_TAG_unspecified_parameters [3]  

// CHECK:      NULL

// CHECK:    DW_TAG_label [2] *
// CHECK:      DW_AT_name [DW_FORM_string]	("foo")
// CHECK:      DW_AT_decl_file [DW_FORM_data4]	([[FILE]])
// CHECK:      DW_AT_decl_line [DW_FORM_data4]	(9)
// CHECK:      DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000007)
// CHECK:      DW_AT_prototyped [DW_FORM_flag]	(0x00)

// CHECK:      DW_TAG_unspecified_parameters [3]  

// CHECK:      NULL

// CHECK:    DW_TAG_label [2] *
// CHECK:      DW_AT_name [DW_FORM_string]	("baz")
// CHECK:      DW_AT_decl_file [DW_FORM_data4]	([[FILE]])
// CHECK:      DW_AT_decl_line [DW_FORM_data4]	(10)
// CHECK:      DW_AT_low_pc [DW_FORM_addr]	(0x0000000000000007)
// CHECK:      DW_AT_prototyped [DW_FORM_flag]	(0x00)

// CHECK:      DW_TAG_unspecified_parameters [3]  

// CHECK:      NULL

// CHECK:    NULL

// CHECK: .debug_aranges contents:
// CHECK: Address Range Header: length = 0x0000001c, version = 0x0002, cu_offset = 0x00000000, addr_size = 0x04, seg_size = 0x00

// CHECK: .debug_line contents:
// CHECK: Line table prologue:
// We don't check the total_length as it includes lengths of temp paths
// CHECK:         version: 2
// We don't check the prologue_length as it too includes lengths of temp paths
// CHECK: min_inst_length: 1
// CHECK: default_is_stmt: 1
// CHECK:       line_base: -5
// CHECK:      line_range: 14
// CHECK:     opcode_base: 13
// CHECK: standard_opcode_lengths[DW_LNS_copy] = 0
// CHECK: standard_opcode_lengths[DW_LNS_advance_pc] = 1
// CHECK: standard_opcode_lengths[DW_LNS_advance_line] = 1
// CHECK: standard_opcode_lengths[DW_LNS_set_file] = 1
// CHECK: standard_opcode_lengths[DW_LNS_set_column] = 1
// CHECK: standard_opcode_lengths[DW_LNS_negate_stmt] = 0
// CHECK: standard_opcode_lengths[DW_LNS_set_basic_block] = 0
// CHECK: standard_opcode_lengths[DW_LNS_const_add_pc] = 0
// CHECK: standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
// CHECK: standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
// CHECK: standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
// CHECK: standard_opcode_lengths[DW_LNS_set_isa] = 1
// We don't check include_directories as it has a temp path
// CHECK:                 Dir  Mod Time   File Len   File Name
// CHECK:                 ---- ---------- ---------- ---------------------------
// CHECK: file_names[  1]    1 0x00000000 0x00000000 gen-dwarf.s

// CHECK: Address            Line   Column File   ISA Discriminator Flags
// CHECK: ------------------ ------ ------ ------ --- ------------- -------------
// CHECK: 0x0000000000000000      6      0      1   0             0  is_stmt
// CHECK: 0x0000000000000005      7      0      1   0             0  is_stmt
// CHECK: 0x0000000000000006      8      0      1   0             0  is_stmt
// CHECK: 0x0000000000000007     11      0      1   0             0  is_stmt
// CHECK: 0x0000000000000008     11      0      1   0             0  is_stmt end_sequence
