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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |jason at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Reads from nullptr_t are replaced with just zero:
void foo (decltype(nullptr) *p) { *p = nullptr; }
decltype(nullptr) bar () { return nullptr; }
decltype(nullptr) baz (decltype(nullptr) *p) { return *p; }
so I don't see a reason why we couldn't omit the stores of nullptr_t, at least
with flag_strict_aliasing on.
Storing nullptr to another pointer type shouldn't be affected, the type of the
store then is that pointer type, not nullptr_t.  And passing nullptr to ...
isn't a store in the GENERIC or GIMPLE IL.

Reply via email to