30899Fermer30901
FarewellLe 30/04/2017 à 23:01
J'éspère que tu comprends que je vois ton argumentation comme très limite, même si tu défends très bien les compilateurs ? cheeky

=>
Zerosquare (./30899) :
- ça permet aussi que les compilos fassent des optimisations assez poussées
+ ça permet que les compilos fassent des optimisations sans trop se prendre la tête
et j'imagine que c'est ça qui provoque les déconnades dans les corner cases que tu évoques au paragraphe suivant.

Zerosquare (./30899) :
le compilateur peut tirer parti du fait que certains trucs sont considérés comme indéfinis pour optimiser agressivement, même quand l'archi sous-jacente a un comportement déterministe
C'est ça que j'appelle un bug. En l'occurence, ce que j'ai écrit a une sens très précis, et a une seule façon de s'écrire en code machine pour mon target. Si le compilateur décide de faire autre chose, c'est lui qui déconne, ou tout au moins la norme, mais pas moi.
Enfin, "pas moi" au sens pratique. Evidemment au sens formel, je suis censé me plier à la norme, même si elle ne colle pas à la réalité des machines.


ps-> un grand merci pour tes lumières. smile