forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			233 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			233 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
# RUN: mkdir -p %t/a
 | 
						|
# RUN: cp %p/Inputs/wide-char.c %t/a/wide-char.c
 | 
						|
# RUN: sed -e "s,SRC_COMPDIR,%/t/a,g" %s > %t.s
 | 
						|
# RUN: llvm-mc -triple armv8a--none-eabi < %t.s -filetype=obj | \
 | 
						|
# RUN:     llvm-objdump - -d --debug-vars --source | \
 | 
						|
# RUN:     FileCheck %s --strict-whitespace
 | 
						|
 | 
						|
## The Chinese character in the source does not print correctly on Windows.
 | 
						|
# UNSUPPORTED: system-windows
 | 
						|
 | 
						|
## Check that the --debug-vars option correctly aligns the variable display when
 | 
						|
## the source code (printed by the -S option) includes East Asian wide
 | 
						|
## characters.
 | 
						|
 | 
						|
# CHECK: 00000000 <foo>:
 | 
						|
# CHECK-NEXT: ;   return *喵;                                                 ┠─ 喵 = R0
 | 
						|
# CHECK-NEXT:        0: 00 00 90 e5  	ldr	r0, [r0]                        ┻   
 | 
						|
# CHECK-NEXT:        4: 1e ff 2f e1  	bx	lr                                  
 | 
						|
 | 
						|
	.text
 | 
						|
	.syntax unified
 | 
						|
	.eabi_attribute	67, "2.09"
 | 
						|
	.eabi_attribute	6, 10
 | 
						|
	.eabi_attribute	7, 65
 | 
						|
	.eabi_attribute	8, 1
 | 
						|
	.eabi_attribute	9, 2
 | 
						|
	.fpu	vfpv3
 | 
						|
	.eabi_attribute	34, 0
 | 
						|
	.eabi_attribute	17, 1
 | 
						|
	.eabi_attribute	20, 1
 | 
						|
	.eabi_attribute	21, 1
 | 
						|
	.eabi_attribute	23, 3
 | 
						|
	.eabi_attribute	24, 1
 | 
						|
	.eabi_attribute	25, 1
 | 
						|
	.eabi_attribute	38, 1
 | 
						|
	.eabi_attribute	18, 4
 | 
						|
	.eabi_attribute	26, 2
 | 
						|
	.eabi_attribute	14, 0
 | 
						|
	.file	"wide.c"
 | 
						|
	.globl	foo
 | 
						|
	.p2align	2
 | 
						|
	.type	foo,%function
 | 
						|
	.code	32
 | 
						|
foo:
 | 
						|
.Lfunc_begin0:
 | 
						|
	.file	1 "SRC_COMPDIR/wide-char.c"
 | 
						|
	.loc	1 1 0
 | 
						|
	.fnstart
 | 
						|
	.cfi_sections .debug_frame
 | 
						|
	.cfi_startproc
 | 
						|
	.loc	1 2 10 prologue_end
 | 
						|
	ldr	r0, [r0]
 | 
						|
.Ltmp0:
 | 
						|
	.loc	1 2 3 is_stmt 0
 | 
						|
	bx	lr
 | 
						|
.Ltmp1:
 | 
						|
.Lfunc_end0:
 | 
						|
	.size	foo, .Lfunc_end0-foo
 | 
						|
	.cfi_endproc
 | 
						|
	.cantunwind
 | 
						|
	.fnend
 | 
						|
 | 
						|
	.section	.debug_str,"MS",%progbits,1
 | 
						|
.Linfo_string0:
 | 
						|
	.asciz	"clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)"
 | 
						|
.Linfo_string1:
 | 
						|
	.asciz	"wide-char.c"
 | 
						|
.Linfo_string2:
 | 
						|
	.asciz	"SRC_COMPDIR"
 | 
						|
.Linfo_string3:
 | 
						|
	.asciz	"foo"
 | 
						|
.Linfo_string4:
 | 
						|
	.asciz	"int"
 | 
						|
.Linfo_string5:
 | 
						|
	.asciz	"\345\226\265"
 | 
						|
	.section	.debug_loc,"",%progbits
 | 
						|
.Ldebug_loc0:
 | 
						|
	.long	.Lfunc_begin0-.Lfunc_begin0
 | 
						|
	.long	.Ltmp0-.Lfunc_begin0
 | 
						|
	.short	1
 | 
						|
	.byte	80
 | 
						|
	.long	0
 | 
						|
	.long	0
 | 
						|
	.section	.debug_abbrev,"",%progbits
 | 
						|
	.byte	1
 | 
						|
	.byte	17
 | 
						|
	.byte	1
 | 
						|
	.byte	37
 | 
						|
	.byte	14
 | 
						|
	.byte	19
 | 
						|
	.byte	5
 | 
						|
	.byte	3
 | 
						|
	.byte	14
 | 
						|
	.byte	16
 | 
						|
	.byte	23
 | 
						|
	.byte	27
 | 
						|
	.byte	14
 | 
						|
	.ascii	"\264B"
 | 
						|
	.byte	25
 | 
						|
	.byte	17
 | 
						|
	.byte	1
 | 
						|
	.byte	18
 | 
						|
	.byte	6
 | 
						|
	.byte	0
 | 
						|
	.byte	0
 | 
						|
	.byte	2
 | 
						|
	.byte	46
 | 
						|
	.byte	1
 | 
						|
	.byte	17
 | 
						|
	.byte	1
 | 
						|
	.byte	18
 | 
						|
	.byte	6
 | 
						|
	.byte	64
 | 
						|
	.byte	24
 | 
						|
	.byte	3
 | 
						|
	.byte	14
 | 
						|
	.byte	58
 | 
						|
	.byte	11
 | 
						|
	.byte	59
 | 
						|
	.byte	11
 | 
						|
	.byte	39
 | 
						|
	.byte	25
 | 
						|
	.byte	73
 | 
						|
	.byte	19
 | 
						|
	.byte	63
 | 
						|
	.byte	25
 | 
						|
	.byte	0
 | 
						|
	.byte	0
 | 
						|
	.byte	3
 | 
						|
	.byte	5
 | 
						|
	.byte	0
 | 
						|
	.byte	2
 | 
						|
	.byte	23
 | 
						|
	.byte	3
 | 
						|
	.byte	14
 | 
						|
	.byte	58
 | 
						|
	.byte	11
 | 
						|
	.byte	59
 | 
						|
	.byte	11
 | 
						|
	.byte	73
 | 
						|
	.byte	19
 | 
						|
	.byte	0
 | 
						|
	.byte	0
 | 
						|
	.byte	4
 | 
						|
	.byte	36
 | 
						|
	.byte	0
 | 
						|
	.byte	3
 | 
						|
	.byte	14
 | 
						|
	.byte	62
 | 
						|
	.byte	11
 | 
						|
	.byte	11
 | 
						|
	.byte	11
 | 
						|
	.byte	0
 | 
						|
	.byte	0
 | 
						|
	.byte	5
 | 
						|
	.byte	15
 | 
						|
	.byte	0
 | 
						|
	.byte	73
 | 
						|
	.byte	19
 | 
						|
	.byte	0
 | 
						|
	.byte	0
 | 
						|
	.byte	0
 | 
						|
	.section	.debug_info,"",%progbits
 | 
						|
.Lcu_begin0:
 | 
						|
	.long	84
 | 
						|
	.short	4
 | 
						|
	.long	.debug_abbrev
 | 
						|
	.byte	4
 | 
						|
	.byte	1
 | 
						|
	.long	.Linfo_string0
 | 
						|
	.short	12
 | 
						|
	.long	.Linfo_string1
 | 
						|
	.long	.Lline_table_start0
 | 
						|
	.long	.Linfo_string2
 | 
						|
 | 
						|
	.long	.Lfunc_begin0
 | 
						|
	.long	.Lfunc_end0-.Lfunc_begin0
 | 
						|
	.byte	2
 | 
						|
	.long	.Lfunc_begin0
 | 
						|
	.long	.Lfunc_end0-.Lfunc_begin0
 | 
						|
	.byte	1
 | 
						|
	.byte	91
 | 
						|
	.long	.Linfo_string3
 | 
						|
	.byte	1
 | 
						|
	.byte	1
 | 
						|
 | 
						|
	.long	75
 | 
						|
 | 
						|
	.byte	3
 | 
						|
	.long	.Ldebug_loc0
 | 
						|
	.long	.Linfo_string5
 | 
						|
	.byte	1
 | 
						|
	.byte	1
 | 
						|
	.long	82
 | 
						|
	.byte	0
 | 
						|
	.byte	4
 | 
						|
	.long	.Linfo_string4
 | 
						|
	.byte	5
 | 
						|
	.byte	4
 | 
						|
	.byte	5
 | 
						|
	.long	75
 | 
						|
	.byte	0
 | 
						|
	.section	.debug_ranges,"",%progbits
 | 
						|
	.section	.debug_macinfo,"",%progbits
 | 
						|
.Lcu_macro_begin0:
 | 
						|
	.byte	0
 | 
						|
	.section	.debug_pubnames,"",%progbits
 | 
						|
	.long	.LpubNames_end0-.LpubNames_begin0
 | 
						|
.LpubNames_begin0:
 | 
						|
	.short	2
 | 
						|
	.long	.Lcu_begin0
 | 
						|
	.long	88
 | 
						|
	.long	38
 | 
						|
	.asciz	"foo"
 | 
						|
	.long	0
 | 
						|
.LpubNames_end0:
 | 
						|
	.section	.debug_pubtypes,"",%progbits
 | 
						|
	.long	.LpubTypes_end0-.LpubTypes_begin0
 | 
						|
.LpubTypes_begin0:
 | 
						|
	.short	2
 | 
						|
	.long	.Lcu_begin0
 | 
						|
	.long	88
 | 
						|
	.long	75
 | 
						|
	.asciz	"int"
 | 
						|
	.long	0
 | 
						|
.LpubTypes_end0:
 | 
						|
 | 
						|
	.ident	"clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)"
 | 
						|
	.section	".note.GNU-stack","",%progbits
 | 
						|
	.eabi_attribute	30, 1
 | 
						|
	.section	.debug_line,"",%progbits
 | 
						|
.Lline_table_start0:
 |