https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107576
--- Comment #3 from anlauf at gcc dot gnu.org --- I am still wondering if this is really invalid code. null(z) has the same characteristics as z, see F2018:16.9.144 So is there really a mismatch of arguments? Second, just one observation: since the permutation of call s() works, I played and deactivated the if-branch at trans-expr.cc:6191, which avoids the assert, and I got a tree-dump that corresponds to my expectation.