https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97840
--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> --- And to explain why warning does not trigger without modref, it is because we are not able to disambiguate the variable with another function call (since we think it escapes) (gdb) p debug_gimple_stmt (def_stmt) # .MEM_7 = VDEF <.MEM_5> _8 = __cxa_allocate_exception (48); Martin, I think this is much more your area than mine. I will post the patch on silencing warning on unused args, but I think we shoulid resovle the empty field issue.