Am Sonntag, den 23.11.2014, 10:06 -0500 schrieb Rich Felker: > > > I don't see > > > where your ideas about pointers and CAS are coming in. > > I'm still confused about this. I was thinking of storing the address of the object within the lock structure such that we can detect a collision. But perhaps that's not such a good idea anyhow. > > > > > > What has all of this to do with VLA? I am lost. > > > > > > > > > > The operands of __typeof__ and sizeof get evaluated when they have VLA > > > > > type. I think this is the problem. > > > > > > > > ah, ok > > > > > > > > No, this isn't a problem, I think. Arrays aren't allowed to be subject > > > > of an _Atomic qualification (arrays are never qualified > > > > themselves). For _Atomic type, the standard explicitly excludes > > > > arrays. So arrays in general and VLA in particular should never be > > > > passed as such into any of these generic functions, only pointers to > > > > atomic objects can. > > > > > > Is a pointer to a variably modified type considered variably modified? > > > > yes > > > > > If so maybe these are affected too... > > > > no, the pointers that can be passed to the atomic "functions" are > > always pointers to atomic objects, so they can't be arrays (and so > > VLA) themselves, nor can an atomic struct containt a VLA or a pointer > > to VLA. > > _Atomic int (*pmat)[n]; > > Then &pmat is a pointer to a valid atomic type, an atomic pointer to a > VLA type. I don't see that. Ain't that a pointer to a VLA of base type _Atomic int? The beast that you describe would be int (*_Atomic pmat)[n]; and effectively this would be an atomic pointer to VM type. But concerning size, atomicity etc this is just a pointer type like any other. (The size information doesn't change, once it is initialized.) And concerning the atomic functions this is not different to int (*_Atomic pmat)[]; Could you describe a bit more, where you think that there is a problem with such a thing? 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 ::