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

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

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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I bet you're using ccache, just uninstall it, it is broken by design unless it
starts using -fdirective-only preprocessing, more and more warnings depend on
macro contexts which are lost with separate preprocessing.
On this testcase we do warn with:
./xgcc -B ./ -isystem include/ pr71152.c 
pr71152.c: In function ‘NULL_as_int’:
pr71152.c:6:10: warning: return makes integer from pointer without a cast
[-Wint-conversion]
   return NULL;
          ^~~~
and don't with:
./xgcc -B ./ -isystem include/ pr71152.c -save-temps
because NULL macro in that case comes from system header and we get:
int
NULL_as_int ()
{
  return 
# 6 "pr71152.c" 3 4
        ((void *)0)
# 6 "pr71152.c"
            ;
}
in the preprocessed source.

Reply via email to