|
Message-ID: <1416759497.16006.457.camel@eris.loria.fr>
Date: Sun, 23 Nov 2014 17:18:17 +0100
From: Jens Gustedt <jens.gustedt@...ia.fr>
To: musl@...ts.openwall.com
Subject: Re: [PATCH] Add stdatomic.h for clang>=3.1 and gcc>=4.1
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 ::
Download attachment "signature.asc" of type "application/pgp-signature" (199 bytes)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.