https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78267
--- Comment #18 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > Created attachment 40013 [details] > proposed fixincludes-based patch > > The attached patch passes fixincludes make check. I'll have to wait until > tonight to test it for real on macOS 10.12, though. Bootstrap is still broken with the patch: libtool: compile: /opt/gcc/build_w/./gcc/xgcc -shared-libgcc -B/opt/gcc/build_w/./gcc -nostdinc++ -L/opt/gcc/build_w/x86_64-apple-darwin16.1.0/libstdc++-v3/src -L/opt/gcc/build_w/x86_64-apple-darwin16.1.0/libstdc++-v3/src/.libs -L/opt/gcc/build_w/x86_64-apple-darwin16.1.0/libstdc++-v3/libsupc++/.libs -B/opt/gcc/gcc7w/x86_64-apple-darwin16.1.0/bin/ -B/opt/gcc/gcc7w/x86_64-apple-darwin16.1.0/lib/ -isystem /opt/gcc/gcc7w/x86_64-apple-darwin16.1.0/include -isystem /opt/gcc/gcc7w/x86_64-apple-darwin16.1.0/sys-include -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_RPC_XDR_H=0 -DHAVE_TIRPC_RPC_XDR_H=0 -I. -I../../../../work/libsanitizer/sanitizer_common -I.. -I ../../../../work/libsanitizer/include -isystem ../../../../work/libsanitizer/include/system -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/x86_64-apple-darwin16.1.0 -I../../../../work/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11 -g -O2 -MT sanitizer_mac.lo -MD -MP -MF .deps/sanitizer_mac.Tpo -c ../../../../work/libsanitizer/sanitizer_common/sanitizer_mac.cc -fno-common -DPIC -o .libs/sanitizer_mac.o In file included from ../../../../work/libsanitizer/sanitizer_common/sanitizer_mac.cc:39:0: /usr/include/os/trace.h:204:15: error: expected unqualified-id before '^' token typedef void (^os_trace_payload_t)(xpc_object_t xdict); ^ /usr/include/os/trace.h:204:15: error: expected ')' before '^' token In file included from /usr/include/Availability.h:180:0, from /usr/include/stdio.h:65, from ../../../../work/libsanitizer/sanitizer_common/sanitizer_mac.cc:21: /usr/include/os/trace.h:302:1: error: 'introduced' was not declared in this scope __API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)) ^ /usr/include/os/trace.h:302:1: error: 'introduced' was not declared in this scope __API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)) ^ /usr/include/os/trace.h:302:1: error: 'introduced' was not declared in this scope __API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)) ^ ... /usr/include/asl.h:1086:147: error: 'message' was not declared in this scope asl_object_t asl_match(asl_object_t data, asl_object_t querylist, size_t *last, size_t start, size_t count, uint32_t duration, int32_t direction) __API_DEPRECATED("os_log(3) has replaced asl(3)", macosx(10.10,10.12), ios(8.0,10.0), watchos(2.0,3.0), tvos(9.0,10.0)); ^ /usr/include/asl.h:1086:147: note: suggested alternative: 'rusage' ../../../../work/libsanitizer/sanitizer_common/sanitizer_mac.cc: In function 'void __sanitizer::LogFullErrorReport(const char*)': ../../../../work/libsanitizer/sanitizer_common/sanitizer_mac.cc:505:53: warning: suggest braces around empty body in an 'else' statement [-Wempty-bod] os_trace("Sanitizer tool reported a failure."); ^ ../../../../work/libsanitizer/sanitizer_common/sanitizer_mac.cc:508:55: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] os_trace("Consult syslog for more information."); ^ make[4]: *** [sanitizer_mac.lo] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-target-libsanitizer] Error 2 make: *** [all] Error 2