blob: 50df7d1ee5723a70916a6b36bc27206044572f0c [file] [log] [blame] [raw]
; 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