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