https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104964
--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
I've got something similar that can be seen in libqt5core library:
QByteArray qt_readlink(const char *path)
{
#ifndef PATH_MAX
// suitably large value that won't consume too much memory
# define PATH_MAX 1024*1024
#endif
QByteArray buf(256, Qt::Uninitialized);
ssize_t len = ::readlink(path, buf.data(), buf.size());
...
where they use something like:
struct QArrayData
{
...
void *data()
{
return reinterpret_cast<char *>(this) + offset;
}
Can't easily reproduce a small test can thought.