ok, d'après wikipedia ces rêgles d'aliasing ont été introduite avec le C99 pour permettre de plus optimiser. C'est pas dans l'esprit du C ce genre de rêgles je trouve, mais bon...
http://en.wikipedia.org/wiki/Aliasing_(computing)#Conflicts_with_optimization
edit:
Et maintenant que j'y pense, c'est complètement stupide!
Si on a une structure, on ne peut plus avoir de pointeur sur le premier membre de la structure?