On 04/06/2017 05:05 PM, Jakub Jelinek wrote:
On Thu, Apr 06, 2017 at 04:51:01PM +0200, Florian Weimer wrote:
On 04/06/2017 04:43 PM, Jonathan Wakely wrote:
On 06/04/17 16:23 +0200, Richard Biener wrote:
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)?

sockaddr_storage comes to mind.

Right.  The kernel also has many APIs which return multiple variable-length
data blocks, such as getdents64, and many more interfaces in combination

The kernel uses -fno-strict-aliasing I think, so it doesn't care.

These APIs (getdents64, inotify, lots of netlink stuff, probably more) extend to user space.

Thanks,
Florian

Reply via email to