3032Fermer3034
GodzilLe 16/06/2017 à 18:40
%:include <stdio.h> %:include <string.h> int main()<%char str<::>="This is a valid C program";for(int i=0;i<strlen(str);i++)<%putc(str<:i:>,stdout);%>%>OUI ca compile !

(d'ailleurs le code genere par GCC 4.4 et meme en -Os / -O3 est juste horrible o_O il faut taper dans 5.x pour commencer a avoir un code un peu plus propre, clang a toujours eu juste lui par contre ;P)
(Surprenament GCC 4.5 genere un meilleurs code sur ARM que la version 5.4 pour la meme cible, je suis circonspect)

WTF Gcc??

stmfd sp!, {r4, r5, r6, lr} sub sp, sp, #32 add r4, sp, #4 mov r0, r4 ldr r1, .L4 mov r2, #26 bl memcpy add r5, sp, #3 add r4, r4, #24 ldr r6, .L4+4 b .L2Un appel caché a memcpy serieusement? o_O