GoldenCrystal (./338) :
u veux dire qu'on peut écrire du code non portable sans même avoir un warning ? 
Oui, parce que le compilateur n'a aucun moyen de savoir que ton code n'est pas portable. Une fonction sans effets de bord globaux ne posera pas de problème pour ce genre d'usage. Si l'ordre des appels importe, c'est à toi d'écrire des instructions séparées pour tes appels de fonction. (Le point-virgule est évidemment un sequence point, de même que l'opérateur virgule, mais pas la virgule des appels de fonction.)
Par contre le coup de passer les arguments de gauche à droite me semble fumeux… Comment tu gères "..." du coup ?
Les conventions d'appel qui font ça (genre la convention __pascal sous W16) ne gèrent en général pas les varargs.