On Thu, 28 Feb 2019 at 21:53, G 3 <programmingk...@gmail.com> wrote: > On Mon, Feb 25, 2019 at 5:24 AM Peter Maydell <peter.mayd...@linaro.org> > wrote: >> +// Utility function to run specified code block with iothread lock held >> +typedef void (^CodeBlock)(void); > > > Please don't use blocks. It would lock Mac OS X users into having to use > CLang. GCC does not support this non-standard extension. > > C function pointers and Objective-C's selectors could work in place of blocks.
Clang is the standard toolchain for this OS. We have such little developer resource for OSX that I don't think we can reasonably support two toolchains here. Besides, we need blocks to use dispatch_async(), which is a much simpler way to achieve what we're trying to do than the 10.6 compatible approach. Similarly, I am not prepared to continue to support 10.6 at this point: * 10.6's last release was over seven years ago * Apple stopped supporting it four years ago * there have been multiple OSX releases since then * attempting to maintain support for 10.6 would make the code less readable and maintainable for newer OSes we do care about * we do not have either the user base or the developer base on OSX to justify maintaining support for this ancient OS version * it would be out of line with our overall host OS support policy, which targets only the last LTS version or two of distros and OSes I'm sorry if this is inconvenient to you personally, but I don't think it makes any sense as a project to try to support this any longer. thanks -- PMM