avec une fonction moins complexe... dont tu n'as toujours pas démontré la correction.
Et ben si, c'est tout à fait normal! L'essence-même des optimisations fait que si ton programme est incorrect, même s'il a l'air de marcher (à 100%!) sans optimisations, les transformations effectuées par les optimisations peuvent le casser. Exemple-type: -fstrict-aliasing.je te parle de programmes qui sont corrects à l'entrée et incorrects à la sortie, pas de programmes qui sont incorrects à l'entrée et corrects à la sortie !!!
Mais l'histoire du -d n'est pas vraiment liée à cette problématique. Dans ce cas, c'est l'optimisation qui est incorrecte sans ce switch et pas avec (pour des raisons évidentes et documentées, même si tu refuses toujours de les comprendre apparemment). Ce n'est pas un problème de "code juste" ou pas.
RTFM connard, sinon c'est DTC si ton programme n'est pas compilé correctement. )
4. J'oubliais: Ce n'est pas un vote ici, c'est une discussion fondée sur des faits, donc ce n'est pas parce que 4 personnes disent la même connerie qu'elle devient vraie...
Flanker
:RTFM connard, sinon c'est DTC si ton programme n'est pas compilé correctement. )
t'évites de m'insulter stp
Godzil :
ce "bogue" n'existe ptet plus avec l'IDE mais sera tjours présente pour ceux qui utilise de batchs lors de la compilationet il sont nombreux sa j'en suis certain
Kevin Kofler :
Mais en pratique, un programme C n'est pas un automate, il y a plein de situations où ce que fait le programme est totalement indéterminé (par exemple i=i++, ou justement les violations des règles d'aliasing). Un programme assembleur n'est pas un automate non plus.
Pollux :C'est au moment de l'exécution, pas de l'assemblage (pareil pour ce qu'on envoie sur le bus).
Et puis bsr+rts, c'est loin d'être marqué indéfini ou transformable en bra par le 68k
Kevin Kofler
:Pollux :Soit, mais ça a quand-même exactement le même effet qu'en C. Un comportement indéfini se manifeste par définition au moment de l'exécution seulement.C'est au moment de l'exécution, pas de l'assemblage (pareil pour ce qu'on envoie sur le bus).
Et puis bsr+rts, c'est loin d'être marqué indéfini ou transformable en bra par le 68kSi tu ne veux pas cette optimisation, tu ne l'actives pas. C'est comme pour toutes les autres optimisations.
Godzil :
ba aucune instruction du 68k n'est marqué indéfinie
Pollux
:Et puis bsr+rts, c'est loin d'être marqué indéfini ou transformable en bra par le 68kSi tu ne veux pas cette optimisation, tu ne l'actives pas. C'est comme pour toutes les autres optimisations.
Et c'est désactivé par défaut, donc ?(y compris dans l'IDE)