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

Manuel López-Ibáñez <manu at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-11-02
                 CC|                            |manu at gcc dot gnu.org
         Depends on|                            |49754, 79658
            Summary|missing uninitialized       |missing uninitialized
                   |warning: laundering via     |warning for uninitialized
                   |passing object through a    |struct member (VOPs)
                   |function                    |
     Ever confirmed|0                           |1

--- Comment #3 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
I guess it doesn't warn because it gets converted to memory access.

bar ()
{
  int x$x;
  int _1;

  <bb 2> [local count: 1073741825]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG this => &x
  # DEBUG D#1 => {CLOBBER}
  # DEBUG x$x => D#1
  # DEBUG D#2 => {CLOBBER}
  # DEBUG x$y => D#2
  # DEBUG x$y => 0
  # DEBUG this => NULL
  # DEBUG BEGIN_STMT
  # DEBUG D#3 => {CLOBBER}
  # DEBUG x$x => D#3
  # DEBUG D#4 => {CLOBBER}
  # DEBUG x$y => D#4
  # DEBUG x$x => x$x_3(D)
  # DEBUG x$y => 0
  # DEBUG x$x => NULL
  # DEBUG BEGIN_STMT
  _1 = x$x_3(D) + 2;
  # DEBUG x$x => _1
  # DEBUG BEGIN_STMT
  # DEBUG D#5 => {CLOBBER}
  # DEBUG x$x => D#5
  return _1;
}


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49754
[Bug 49754] Wuninitialized does not work with structs/unions/arrays
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79658
[Bug 79658] [-Wuninitialized] referencing uninitialized field of POD struct
should warn

Reply via email to