Am Sonntag, den 23.11.2014, 11:37 -0500 schrieb Rich Felker: > But it's a variably-modified type, so sizeof and typeof evaluate the > expression when their operand is of this type. Thus, all you have > to do is make an array of objects of this type, and then refer to > arr[i++]. This will be an expression with variably-modified type, yes, but not a VLA > and the evaluation will have unwanted side effects. No, I don't think it is evaluated, 6.5.3.4 says: If the type of the operand is a variable length array type, the operand is evaluated; observe that it says VLA, and not VM type. otherwise, the operand is not evaluated and the result is an integer constant. There are no exception for other VM types. To deduce the size for our case here, an evaluation isn't necessary. (Hoping that the __typeof__ stuff follows the same rules.) Jens -- :: INRIA Nancy Grand Est ::: AlGorille ::: ICube/ICPS ::: :: ::::::::::::::: office Strasbourg : +33 368854536 :: :: :::::::::::::::::::::: gsm France : +33 651400183 :: :: ::::::::::::::: gsm international : +49 15737185122 :: :: http://icube-icps.unistra.fr/index.php/Jens_Gustedt ::