https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89230

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2019-02-07
     Ever confirmed|0                           |1

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to lavr from comment #2)
> Okay, but "d" points to a clearly separate storage on stack within a local
> frame.  None of the pointers passed to (s)printf() relate to that area
> (either they are also clearly separate within the current stack frame,
> automatic ("name", "type", "temp"); or the argument values, that function
> was called with ("pfx")), so how "d->D_fid[2]" can be changed, in GCC's
> point of view?  I mean, within the semantics of the language, that's
> impossible; and the warning should only be issued for that kind of a
> (mis)use.

It is not obvious from your small code snippet that d does not point to a local
struct or if that local struct does not escape.

Without a full testcase (preprocessed source), it is hard to debug this any
further.

Reply via email to