https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78267
Eric Gallager <egall at gwmail dot gwu.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |egall at gwmail dot gwu.edu --- Comment #22 from Eric Gallager <egall at gwmail dot gwu.edu> --- (In reply to Iain Sandoe from comment #3) > (In reply to Maxim Ostapenko from comment #1) > > Eh, mine. > > > > typedef void (^os_trace_payload_t)(xpc_object_t xdict) looks very strange, > > it seems that it's an Objective-C declaration, right? > > It's declaring os_trace_payload_t to of type "Apple block" (like a lambda > that can be used over the whole of c-family); Apple blocks are currently > not supported by GCC. There is no realistic work-around, any interface > using blocks will fail, and thus either those interfaces need to be excluded > from tests, or the tests skipped/xfailed. > To be specific, they're not supported by the FSF release of GCC. Apple's fork of GCC supported blocks back before they ditched it for clang, so this isn't just a clang extension. Bug 63651 has more stuff about support for blocks in FSF GCC.