https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117662
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |diagnostic
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Without the definition of foo_log in main.cc -fanalyzer (without LTO being
used), can't figure out that it returns a negative value.
One thing you could do is change the defintion of foo_log_oom to be something
like:
#define foo_log_oom(msg) ({ foo_log(ENOMEM, msg); -ENOMEM; })
Which causes foo_log_oom value to be known to be -ENOMEM.