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