This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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 with read/recv system calls. Variable length means that you cannot declare the appropriate type after the first data item, so you technically have to use malloc.
POSIX interfaces which exhibit a similar pattern are getpwnam_r and friends, but for them, you can probably use malloc without ill effect (although there are still performance concerns).
Thanks, Florian
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |