Home | History | Annotate | Download | only in arm-linux-eabi
      1 @ RUN: %cxx %flags %link_flags %s -o %t.exe
      2 @ RUN: %exec %t.exe
      3 
      4 @ PURPOSE: Check that 0x90 is a valid value for ttype encoding.
      5 
      6 @ NOTE:
      7 @
      8 @ This file is generated from the following C++ source code and then change the
      9 @ `TType Encoding` to 0x90.
     10 @
     11 @ ```
     12 @ int main() {
     13 @   try {
     14 @     throw 5;
     15 @   } catch (int i) {
     16 @     if (i != 5)
     17 @       abort();
     18 @     return 0;
     19 @   }
     20 @ }
     21 @ ```
     22 
     23 	.syntax unified
     24 
     25 	.text
     26 	.globl	main
     27 	.p2align	2
     28 	.type	main,%function
     29 main:                                   @ @main
     30 .Lfunc_begin0:
     31 	.fnstart
     32 @ BB#0:                                 @ %entry
     33 	.save	{r11, lr}
     34 	push	{r11, lr}
     35 	.setfp	r11, sp
     36 	mov	r11, sp
     37 	mov	r0, #4
     38 	bl	__cxa_allocate_exception
     39 	mov	r1, #5
     40 	str	r1, [r0]
     41 .Ltmp0:
     42 	ldr	r1, .LCPI0_0
     43 	mov	r2, #0
     44 	bl	__cxa_throw
     45 .Ltmp1:
     46 
     47 @ BB#2:                                 @ %lpad
     48 .Ltmp2:
     49 	bl	__cxa_begin_catch
     50 	ldr	r0, [r0]
     51 	cmp	r0, #5
     52 	bne	.LBB0_4
     53 @ BB#3:                                 @ %if.end
     54 	bl	__cxa_end_catch
     55 	mov	r0, #0
     56 	pop	{r11, lr}
     57 	bx	lr
     58 .LBB0_4:                                @ %if.then
     59 	bl	abort
     60 	.p2align	2
     61 @ BB#5:
     62 .LCPI0_0:
     63 	.long	_ZTIi
     64 .Lfunc_end0:
     65 
     66 	.size	main, .Lfunc_end0-main
     67 	.globl	__gxx_personality_v0
     68 	.personality __gxx_personality_v0
     69 	.handlerdata
     70 	.p2align	2
     71 GCC_except_table0:
     72 .Lexception0:
     73 	.byte	255                     @ @LPStart Encoding = omit
     74 	.byte	0x90                    @ @TType Encoding = indirect | pcrel
     75 	.asciz	"\257\200"              @ @TType base offset
     76 	.byte	3                       @ Call site Encoding = udata4
     77 	.byte	39                      @ Call site table length
     78 	.long	.Lfunc_begin0-.Lfunc_begin0 @ >> Call Site 1 <<
     79 	.long	.Ltmp0-.Lfunc_begin0    @   Call between .Lfunc_begin0 and .Ltmp0
     80 	.long	0                       @     has no landing pad
     81 	.byte	0                       @   On action: cleanup
     82 	.long	.Ltmp0-.Lfunc_begin0    @ >> Call Site 2 <<
     83 	.long	.Ltmp1-.Ltmp0           @   Call between .Ltmp0 and .Ltmp1
     84 	.long	.Ltmp2-.Lfunc_begin0    @     jumps to .Ltmp2
     85 	.byte	1                       @   On action: 1
     86 	.long	.Ltmp1-.Lfunc_begin0    @ >> Call Site 3 <<
     87 	.long	.Lfunc_end0-.Ltmp1      @   Call between .Ltmp1 and .Lfunc_end0
     88 	.long	0                       @     has no landing pad
     89 	.byte	0                       @   On action: cleanup
     90 	.byte	1                       @ >> Action Record 1 <<
     91                                         @   Catch TypeInfo 1
     92 	.byte	0                       @   No further actions
     93                                         @ >> Catch TypeInfos <<
     94 	.long	_ZTIi(target2)          @ TypeInfo 1
     95 	.p2align	2
     96 	.fnend
     97