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

--- Comment #41 from Jack Howarth <howarth.at.gcc at gmail dot com> ---
(In reply to r...@cebitec.uni-bielefeld.de from comment #39)
> > --- Comment #36 from Jack Howarth <howarth.at.gcc at gmail dot com> ---
> > Created attachment 40044 [details]
> >   --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40044&action=edit
> > fixincludes trace.h generated in stage 1
> >
> > fixincludes trace.h generated in stage 1 on darwin15 using
> > https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01045.html
> 
> So the fix has worked as expected/designed.  Good to have the confirmation.
> 
>       Rainer

I see the problem now. Your proposed fix from
https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01045.html simply is simply
insufficient in the absence of the change proposed in Comment 33...

2016-11-14  Jack Howarth  <howarth.at....@gmail.com>

libsanitizer/

        PR sanitizer/78267
        * sanitizer_common/sanitizer_mac.cc: Include <os/trace.h> only if
        compiler supports blocks extension.


Index: libsanitizer/sanitizer_common/sanitizer_mac.cc
===================================================================
--- libsanitizer/sanitizer_common/sanitizer_mac.cc      (revision 242387)
+++ libsanitizer/sanitizer_common/sanitizer_mac.cc      (working copy)
@@ -34,7 +34,7 @@
 extern char **environ;
 #endif

-#if defined(__has_include) && __has_include(<os/trace.h>)
+#if defined(__has_include) && __has_include(<os/trace.h>) &&
defined(__BLOCKS__)
 #define SANITIZER_OS_TRACE 1
 #include <os/trace.h>
 #else

Otherwise the definition of SANITIZER_OS_TRACE results in
libsanitizer/sanitizer_common/sanitizer_mac.cc making calls to os_trace().

Reply via email to