https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64459
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Maybe parrot has some code it where returns_nonnull is on the function but it actually can return null and clang/MSVC does not optimize as good as GCC does.