...et donc le code généré serait différent avec et sans le cast seulement si tu utilisais la valeur renvoyée par ton affectation, ce qui n'est pas le cas dans ton exemple ^^
edit (cross) : ouais c'est un peu fortement bizarre

(ceci dit a priori le cast de lvalue n'est pas dans le standard, là en l'occurrence c'est une extension GNU apparemment)