; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.24224.0 | |
include listing.inc | |
INCLUDELIB LIBCMT | |
INCLUDELIB OLDNAMES | |
PUBLIC main | |
PUBLIC ??$make_array@$00$02$04$01$02$04$05$03$07$08$01@@YA?AV?$array@H$0L@@std@@XZ ; make_array<1,3,5,2,3,5,6,4,8,9,2> | |
PUBLIC ??A?$array@H$0L@@std@@QEBAAEBH_K@Z ; std::array<int,11>::operator[] | |
; Function compile flags: /Ogtpy | |
; File z:\home\mgodbolt\apps\windows\14.0.24224-pre\lib\native\include\array | |
; COMDAT ??A?$array@H$0L@@std@@QEBAAEBH_K@Z | |
_TEXT SEGMENT | |
this$ = 8 | |
_Pos$ = 16 | |
??A?$array@H$0L@@std@@QEBAAEBH_K@Z PROC ; std::array<int,11>::operator[], COMDAT | |
; 167 : #if _ITERATOR_DEBUG_LEVEL == 0 | |
; 168 : return (_Elems[_Pos]); | |
00000 48 8d 04 91 lea rax, QWORD PTR [rcx+rdx*4] | |
; 169 : | |
; 170 : #else /* _ITERATOR_DEBUG_LEVEL == 0 */ | |
; 171 : return (_Size <= _Pos | |
; 172 : ? (_Bad_subscript(), _Elems[_Pos]) | |
; 173 : : _Elems[_Pos]); | |
; 174 : #endif /* _ITERATOR_DEBUG_LEVEL == 0 */ | |
; 175 : } | |
00004 c3 ret 0 | |
??A?$array@H$0L@@std@@QEBAAEBH_K@Z ENDP ; std::array<int,11>::operator[] | |
_TEXT ENDS | |
; Function compile flags: /Ogtpy | |
; File z:\tmp\example.cpp | |
; COMDAT ??$make_array@$00$02$04$01$02$04$05$03$07$08$01@@YA?AV?$array@H$0L@@std@@XZ | |
_TEXT SEGMENT | |
$T1 = 8 | |
??$make_array@$00$02$04$01$02$04$05$03$07$08$01@@YA?AV?$array@H$0L@@std@@XZ PROC ; make_array<1,3,5,2,3,5,6,4,8,9,2>, COMDAT | |
; 6 : return std::array<int, sizeof...(vars)>{vars...}; | |
00000 c7 01 01 00 00 | |
00 mov DWORD PTR [rcx], 1 | |
00006 48 8b c1 mov rax, rcx | |
00009 c7 41 04 03 00 | |
00 00 mov DWORD PTR [rcx+4], 3 | |
00010 c7 41 08 05 00 | |
00 00 mov DWORD PTR [rcx+8], 5 | |
00017 c7 41 0c 02 00 | |
00 00 mov DWORD PTR [rcx+12], 2 | |
0001e c7 41 10 03 00 | |
00 00 mov DWORD PTR [rcx+16], 3 | |
00025 c7 41 14 05 00 | |
00 00 mov DWORD PTR [rcx+20], 5 | |
0002c c7 41 18 06 00 | |
00 00 mov DWORD PTR [rcx+24], 6 | |
00033 c7 41 1c 04 00 | |
00 00 mov DWORD PTR [rcx+28], 4 | |
0003a c7 41 20 08 00 | |
00 00 mov DWORD PTR [rcx+32], 8 | |
00041 c7 41 24 09 00 | |
00 00 mov DWORD PTR [rcx+36], 9 | |
00048 c7 41 28 02 00 | |
00 00 mov DWORD PTR [rcx+40], 2 | |
; 7 : } | |
0004f c3 ret 0 | |
??$make_array@$00$02$04$01$02$04$05$03$07$08$01@@YA?AV?$array@H$0L@@std@@XZ ENDP ; make_array<1,3,5,2,3,5,6,4,8,9,2> | |
_TEXT ENDS | |
; Function compile flags: /Ogtpy | |
; File z:\tmp\example.cpp | |
; COMDAT main | |
_TEXT SEGMENT | |
main PROC ; COMDAT | |
; 11 : constexpr auto a = make_array<1,3,5,2,3,5,6,4,8,9,2>(); | |
; 12 : | |
; 13 : return a[2]; | |
00000 b8 05 00 00 00 mov eax, 5 | |
; 14 : } | |
00005 c3 ret 0 | |
main ENDP | |
_TEXT ENDS | |
END |