GAS LISTING /tmp/ccaAJODS.s 			page 1


   1              		.file	"dynamic-cast.cpp"
   2              		.text
   3              	.Ltext0:
   4              		.align 2
   5              		.globl	_ZN9onefield38setFieldEi
   7              	_ZN9onefield38setFieldEi:
   8              	.LFB7:
   9              		.file 1 "dynamic-cast.cpp"
   1:dynamic-cast.cpp **** class onefield3 {
   2:dynamic-cast.cpp ****   private:
   3:dynamic-cast.cpp ****     int field;
   4:dynamic-cast.cpp ****   public:
   5:dynamic-cast.cpp ****     virtual void setField(int f);
   6:dynamic-cast.cpp ****     virtual int getField() const;
   7:dynamic-cast.cpp **** };
   8:dynamic-cast.cpp **** 
   9:dynamic-cast.cpp **** class onefield3_subclass : public onefield3 {
  10:dynamic-cast.cpp ****   private:
  11:dynamic-cast.cpp ****     int otherfield;
  12:dynamic-cast.cpp ****   public:
  13:dynamic-cast.cpp ****     // Override setField, but not getField.
  14:dynamic-cast.cpp ****     virtual void setField(int f);
  15:dynamic-cast.cpp **** };
  16:dynamic-cast.cpp **** 
  17:dynamic-cast.cpp **** int dynamicCast(int argc, const char **argv) {
  18:dynamic-cast.cpp ****     onefield3 *ofp = new onefield3_subclass;
  19:dynamic-cast.cpp **** 
  20:dynamic-cast.cpp ****     onefield3_subclass *ofsp = dynamic_cast<onefield3_subclass *>(ofp);
  21:dynamic-cast.cpp **** 
  22:dynamic-cast.cpp ****     delete ofsp;
  23:dynamic-cast.cpp **** 
  24:dynamic-cast.cpp ****     return 0;
  25:dynamic-cast.cpp **** }
  26:dynamic-cast.cpp **** 
  27:dynamic-cast.cpp **** 
  28:dynamic-cast.cpp **** void onefield3::setField(int f) {
  10              		.loc 1 28 0
  11              		.cfi_startproc
  12              	.LVL0:
  29:dynamic-cast.cpp ****     this->field = f;
  13              		.loc 1 29 0
  14 0000 897708   		movl	%esi, 8(%rdi)
  15 0003 C3       		ret
  16              		.cfi_endproc
  17              	.LFE7:
  19              		.align 2
  20              		.globl	_ZNK9onefield38getFieldEv
  22              	_ZNK9onefield38getFieldEv:
  23              	.LFB8:
  30:dynamic-cast.cpp **** }
  31:dynamic-cast.cpp **** int onefield3::getField() const {
  24              		.loc 1 31 0
  25              		.cfi_startproc
  26              	.LVL1:
  32:dynamic-cast.cpp ****     return this->field;
  27              		.loc 1 32 0
  28 0004 8B4708   		movl	8(%rdi), %eax
GAS LISTING /tmp/ccaAJODS.s 			page 2


  33:dynamic-cast.cpp **** }
  29              		.loc 1 33 0
  30 0007 C3       		ret
  31              		.cfi_endproc
  32              	.LFE8:
  34              		.align 2
  35              		.globl	_ZN18onefield3_subclass8setFieldEi
  37              	_ZN18onefield3_subclass8setFieldEi:
  38              	.LFB9:
  34:dynamic-cast.cpp **** 
  35:dynamic-cast.cpp **** void onefield3_subclass::setField(int f) {
  39              		.loc 1 35 0
  40              		.cfi_startproc
  41              	.LVL2:
  42 0008 55       		pushq	%rbp
  43              		.cfi_def_cfa_offset 16
  44              		.cfi_offset 6, -16
  45 0009 53       		pushq	%rbx
  46              		.cfi_def_cfa_offset 24
  47              		.cfi_offset 3, -24
  48 000a 4889FB   		movq	%rdi, %rbx
  49 000d 89F5     		movl	%esi, %ebp
  36:dynamic-cast.cpp ****     onefield3::setField(f);
  50              		.loc 1 36 0
  51 000f E8000000 		call	_ZN9onefield38setFieldEi
  51      00
  52              	.LVL3:
  37:dynamic-cast.cpp ****     otherfield = f;
  53              		.loc 1 37 0
  54 0014 896B0C   		movl	%ebp, 12(%rbx)
  38:dynamic-cast.cpp **** }
  55              		.loc 1 38 0
  56 0017 5B       		popq	%rbx
  57              		.cfi_def_cfa_offset 16
  58              	.LVL4:
  59 0018 5D       		popq	%rbp
  60              		.cfi_def_cfa_offset 8
  61              	.LVL5:
  62 0019 C3       		ret
  63              		.cfi_endproc
  64              	.LFE9:
  66              		.section	.text._ZN9onefield3C2Ev,"axG",@progbits,_ZN9onefield3C5Ev,comdat
  67              		.align 2
  68              		.weak	_ZN9onefield3C2Ev
  70              	_ZN9onefield3C2Ev:
  71              	.LFB3:
   1:dynamic-cast.cpp ****   private:
  72              		.loc 1 1 0
  73              		.cfi_startproc
  74              	.LVL6:
  75              	.LBB2:
   1:dynamic-cast.cpp ****   private:
  76              		.loc 1 1 0
  77 0000 48C70700 		movq	$_ZTV9onefield3+16, (%rdi)
  77      000000
  78 0007 C3       		ret
  79              	.LBE2:
GAS LISTING /tmp/ccaAJODS.s 			page 3


  80              		.cfi_endproc
  81              	.LFE3:
  83              		.weak	_ZN9onefield3C1Ev
  84              		.set	_ZN9onefield3C1Ev,_ZN9onefield3C2Ev
  85              		.section	.text._ZN18onefield3_subclassC2Ev,"axG",@progbits,_ZN18onefield3_subclassC5Ev,comdat
  86              		.align 2
  87              		.weak	_ZN18onefield3_subclassC2Ev
  89              	_ZN18onefield3_subclassC2Ev:
  90              	.LFB5:
   9:dynamic-cast.cpp ****   private:
  91              		.loc 1 9 0
  92              		.cfi_startproc
  93              	.LVL7:
  94 0000 53       		pushq	%rbx
  95              		.cfi_def_cfa_offset 16
  96              		.cfi_offset 3, -16
  97 0001 4889FB   		movq	%rdi, %rbx
  98              	.LBB3:
   9:dynamic-cast.cpp ****   private:
  99              		.loc 1 9 0
 100 0004 E8000000 		call	_ZN9onefield3C2Ev
 100      00
 101              	.LVL8:
 102 0009 48C70300 		movq	$_ZTV18onefield3_subclass+16, (%rbx)
 102      000000
 103              	.LBE3:
 104 0010 5B       		popq	%rbx
 105              		.cfi_def_cfa_offset 8
 106              	.LVL9:
 107 0011 C3       		ret
 108              		.cfi_endproc
 109              	.LFE5:
 111              		.weak	_ZN18onefield3_subclassC1Ev
 112              		.set	_ZN18onefield3_subclassC1Ev,_ZN18onefield3_subclassC2Ev
 113              		.text
 114              		.globl	_Z11dynamicCastiPPKc
 116              	_Z11dynamicCastiPPKc:
 117              	.LFB0:
  17:dynamic-cast.cpp ****     onefield3 *ofp = new onefield3_subclass;
 118              		.loc 1 17 0
 119              		.cfi_startproc
 120              	.LVL10:
 121 001a 53       		pushq	%rbx
 122              		.cfi_def_cfa_offset 16
 123              		.cfi_offset 3, -16
 124              	.LBB4:
  18:dynamic-cast.cpp **** 
 125              		.loc 1 18 0
 126 001b BF100000 		movl	$16, %edi
 126      00
 127              	.LVL11:
 128 0020 E8000000 		call	_Znwm
 128      00
 129              	.LVL12:
 130 0025 4889C3   		movq	%rax, %rbx
 131 0028 4889C7   		movq	%rax, %rdi
 132 002b E8000000 		call	_ZN18onefield3_subclassC1Ev
GAS LISTING /tmp/ccaAJODS.s 			page 4


 132      00
 133              	.LVL13:
  20:dynamic-cast.cpp **** 
 134              		.loc 1 20 0
 135 0030 4885DB   		testq	%rbx, %rbx
 136 0033 741C     		je	.L10
  20:dynamic-cast.cpp **** 
 137              		.loc 1 20 0 is_stmt 0 discriminator 2
 138 0035 B9000000 		movl	$0, %ecx
 138      00
 139 003a BA000000 		movl	$_ZTI18onefield3_subclass, %edx
 139      00
 140 003f BE000000 		movl	$_ZTI9onefield3, %esi
 140      00
 141 0044 4889DF   		movq	%rbx, %rdi
 142 0047 E8000000 		call	__dynamic_cast
 142      00
 143              	.LVL14:
 144 004c 4889C7   		movq	%rax, %rdi
 145 004f EB05     		jmp	.L9
 146              	.L10:
  20:dynamic-cast.cpp **** 
 147              		.loc 1 20 0
 148 0051 BF000000 		movl	$0, %edi
 148      00
 149              	.L9:
 150              	.LVL15:
  22:dynamic-cast.cpp **** 
 151              		.loc 1 22 0 is_stmt 1 discriminator 3
 152 0056 E8000000 		call	_ZdlPv
 152      00
 153              	.LVL16:
 154              	.LBE4:
  25:dynamic-cast.cpp **** 
 155              		.loc 1 25 0 discriminator 3
 156 005b B8000000 		movl	$0, %eax
 156      00
 157 0060 5B       		popq	%rbx
 158              		.cfi_def_cfa_offset 8
 159              	.LVL17:
 160 0061 C3       		ret
 161              		.cfi_endproc
 162              	.LFE0:
 164              		.weak	_ZTS9onefield3
 165              		.section	.rodata._ZTS9onefield3,"aG",@progbits,_ZTS9onefield3,comdat
 168              	_ZTS9onefield3:
 169 0000 396F6E65 		.string	"9onefield3"
 169      6669656C 
 169      643300
 170              		.weak	_ZTI9onefield3
 171              		.section	.rodata._ZTI9onefield3,"aG",@progbits,_ZTI9onefield3,comdat
 172              		.align 16
 175              	_ZTI9onefield3:
 176 0000 00000000 		.quad	_ZTVN10__cxxabiv117__class_type_infoE+16
 176      00000000 
 177 0008 00000000 		.quad	_ZTS9onefield3
 177      00000000 
GAS LISTING /tmp/ccaAJODS.s 			page 5


 178              		.weak	_ZTS18onefield3_subclass
 179              		.section	.rodata._ZTS18onefield3_subclass,"aG",@progbits,_ZTS18onefield3_subclass,comdat
 180              		.align 16
 183              	_ZTS18onefield3_subclass:
 184 0000 31386F6E 		.string	"18onefield3_subclass"
 184      65666965 
 184      6C64335F 
 184      73756263 
 184      6C617373 
 185              		.weak	_ZTI18onefield3_subclass
 186              		.section	.rodata._ZTI18onefield3_subclass,"aG",@progbits,_ZTI18onefield3_subclass,comdat
 187              		.align 16
 190              	_ZTI18onefield3_subclass:
 191 0000 00000000 		.quad	_ZTVN10__cxxabiv120__si_class_type_infoE+16
 191      00000000 
 192 0008 00000000 		.quad	_ZTS18onefield3_subclass
 192      00000000 
 193 0010 00000000 		.quad	_ZTI9onefield3
 193      00000000 
 194              		.weak	_ZTV9onefield3
 195              		.section	.rodata._ZTV9onefield3,"aG",@progbits,_ZTV9onefield3,comdat
 196              		.align 32
 199              	_ZTV9onefield3:
 200 0000 00000000 		.quad	0
 200      00000000 
 201 0008 00000000 		.quad	_ZTI9onefield3
 201      00000000 
 202 0010 00000000 		.quad	_ZN9onefield38setFieldEi
 202      00000000 
 203 0018 00000000 		.quad	_ZNK9onefield38getFieldEv
 203      00000000 
 204              		.weak	_ZTV18onefield3_subclass
 205              		.section	.rodata._ZTV18onefield3_subclass,"aG",@progbits,_ZTV18onefield3_subclass,comdat
 206              		.align 32
 209              	_ZTV18onefield3_subclass:
 210 0000 00000000 		.quad	0
 210      00000000 
 211 0008 00000000 		.quad	_ZTI18onefield3_subclass
 211      00000000 
 212 0010 00000000 		.quad	_ZN18onefield3_subclass8setFieldEi
 212      00000000 
 213 0018 00000000 		.quad	_ZNK9onefield38getFieldEv
 213      00000000 
 214              		.text
 215              	.Letext0:
 216              		.file 2 "<built-in>"
GAS LISTING /tmp/ccaAJODS.s 			page 6


DEFINED SYMBOLS
                            *ABS*:0000000000000000 dynamic-cast.cpp
     /tmp/ccaAJODS.s:7      .text:0000000000000000 _ZN9onefield38setFieldEi
     /tmp/ccaAJODS.s:22     .text:0000000000000004 _ZNK9onefield38getFieldEv
     /tmp/ccaAJODS.s:37     .text:0000000000000008 _ZN18onefield3_subclass8setFieldEi
     /tmp/ccaAJODS.s:70     .text._ZN9onefield3C2Ev:0000000000000000 _ZN9onefield3C2Ev
     /tmp/ccaAJODS.s:199    .rodata._ZTV9onefield3:0000000000000000 _ZTV9onefield3
     /tmp/ccaAJODS.s:70     .text._ZN9onefield3C2Ev:0000000000000000 _ZN9onefield3C1Ev
     /tmp/ccaAJODS.s:89     .text._ZN18onefield3_subclassC2Ev:0000000000000000 _ZN18onefield3_subclassC2Ev
     /tmp/ccaAJODS.s:209    .rodata._ZTV18onefield3_subclass:0000000000000000 _ZTV18onefield3_subclass
     /tmp/ccaAJODS.s:89     .text._ZN18onefield3_subclassC2Ev:0000000000000000 _ZN18onefield3_subclassC1Ev
     /tmp/ccaAJODS.s:116    .text:000000000000001a _Z11dynamicCastiPPKc
     /tmp/ccaAJODS.s:190    .rodata._ZTI18onefield3_subclass:0000000000000000 _ZTI18onefield3_subclass
     /tmp/ccaAJODS.s:175    .rodata._ZTI9onefield3:0000000000000000 _ZTI9onefield3
     /tmp/ccaAJODS.s:168    .rodata._ZTS9onefield3:0000000000000000 _ZTS9onefield3
     /tmp/ccaAJODS.s:183    .rodata._ZTS18onefield3_subclass:0000000000000000 _ZTS18onefield3_subclass
                           .group:0000000000000000 _ZN9onefield3C5Ev
                           .group:0000000000000000 _ZN18onefield3_subclassC5Ev

UNDEFINED SYMBOLS
_Znwm
__dynamic_cast
_ZdlPv
_ZTVN10__cxxabiv117__class_type_infoE
_ZTVN10__cxxabiv120__si_class_type_infoE