On Thu, 6 Apr 2017, Florian Weimer wrote: > On 04/06/2017 04:11 PM, Bernd Edlinger wrote: > > > I think it is not too complicated to done in the C++ FE. > > The FE looks for array of std::byte and unsigned char, > > and sets the attribute when the final type is constructed. > > > > What I am trying to do is just extend the semantic of may_alias > > a bit, and then have the C++ FE use it in the way it has to. > > We also need this for some POSIX and Linux kernel interfaces. A C++-only > solution would not help with that.
Example(s)? > > Here is what I want to write in the doc: > > > > @item typeless_storage > > @cindex @code{typeless_storage} type attribute > > A type declared with this attribute behaves like a character type > > with respect to aliasing semantics. > > This is attribute is similar to the @code{may_alias} attribute, > > except that it is not restricted to pointers. > > As Jakub pointed out, this is not what we need here. An object of type char > does *not* have untyped storage. Accessing it as a different type is still > undefined. > > The documentation says that the memory region is considered to by untyped, > like a memory region returned by malloc (but obviously not with the > implication that the memory region is separated from everything else). > > Thanks, > Florian > > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)