When trying to compile my software in Mac OS Sierra I run into an issue regarding unknown pragmas (See snippet below). According to a colleague, the software is able to compile in Mac OS X Yosemite with the same clang version (4.2.1). The compiling flags used are: -std=c++11 -stdlib=libc++. Using stdlibc++ is not an option as it does not include std::shared_ptr.
error: unknown warning group '-Wmaybe-uninitialized', ignored
[-Werror,-Wunknown-pragmas]
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
Here is a print out of g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Unsure where to take it from here, any input is much appreciated.
Instead of writing
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
you should do
#if !defined(__has_warning) || __has_warning("-Wmaybe-uninitialized")
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
#endif
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With