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

Rainer Orth <ro at gcc dot gnu.org> changed:

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

--- Comment #11 from Rainer Orth <ro at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #5)
>  extern char **environ;
>  #endif
>  
> -#if defined(__has_include) && __has_include(<os/trace.h>)
> +#if defined(__has_include) && __has_include(<os/trace.h>) &&
> defined(__clang__)
>  #define SANITIZER_OS_TRACE 1
>  #include <os/trace.h>
>  #else
> 
> is preapproved if it works.

I'd use fixincludes instead to wrap the two offending declarations in
<os/trace.h>
with #ifdef __BLOCKS__.

This is a macOS bug, actually: many other places using the Blocks extension
already wrap them correctly.

I've filed Bug 29184470 <os/trace.h> uses Blocks extension unconditionally for
this.

  Rainer

Reply via email to