#63110 closed defect (fixed)
clang-12 build error due to cmake portgroup setting an extremely old C and CXX standard because the llvm portfiles don't use base's compiler.c_standard or compiler.cxx_standard
Reported by: | blair (Blair Zajac) | Owned by: | kencu (Ken) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | llvm-12 |
Description
From the current HEAD at 384430023c65868c8c548d3f1e50c04ce328a218 on Big Sur 11.4
CMake Warning: Manually-specified variables were not used by the project: CMAKE_OBJCXX_COMPILER CMAKE_OBJC_COMPILER CMAKE_POLICY_DEFAULT_CMP0025 CMAKE_POLICY_DEFAULT_CMP0060 -- Build files have been written to: /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build Warning: Configuration logfiles contain indications of -Wimplicit-function-declaration; check that features were not accidentally disabled: _stricmp: found in build/CMakeFiles/CMakeError.log _snprintf: found in build/CMakeFiles/CMakeError.log _strnicmp: found in build/CMakeFiles/CMakeError.log ---> Building llvm-12 Executing: cd "/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build" && /usr/bin/make -j1 -w all VERBOSE=ON make: Entering directory `/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build' /opt/local/bin/cmake -S/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm -B/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build --check-build-system CMakeFiles/Makefile.cmake 0 /opt/local/bin/cmake -E cmake_progress_start /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/CMakeFiles /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build//CMakeFiles/progress.marks /Library/Developer/CommandLineTools/usr/bin/make -f CMakeFiles/Makefile2 all make[1]: Entering directory `/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build' /Library/Developer/CommandLineTools/usr/bin/make -f lib/Demangle/CMakeFiles/LLVMDemangle.dir/build.make lib/Demangle/CMakeFiles/LLVMDemangle.dir/depend make[2]: Entering directory `/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build' cd /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/lib/Demangle /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/lib/Demangle /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/lib/Demangle/CMakeFiles/LLVMDemangle.dir/DependInfo.cmake --color= Dependee "/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/lib/Demangle/CMakeFiles/LLVMDemangle.dir/DependInfo.cmake" is newer than depender "/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/lib/Demangle/CMakeFiles/LLVMDemangle.dir/depend.internal". Dependee "/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/lib/Demangle/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/lib/Demangle/CMakeFiles/LLVMDemangle.dir/depend.internal". Scanning dependencies of target LLVMDemangle make[2]: Leaving directory `/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build' /Library/Developer/CommandLineTools/usr/bin/make -f lib/Demangle/CMakeFiles/LLVMDemangle.dir/build.make lib/Demangle/CMakeFiles/LLVMDemangle.dir/build make[2]: Entering directory `/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build' [ 0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.o cd /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/lib/Demangle && /usr/bin/clang++ -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/lib/Demangle -I/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/lib/Demangle -I/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/include -I/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -O3 -DNDEBUG -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -mmacosx-version-min=11.0 -fno-exceptions -std=c++98 -o CMakeFiles/LLVMDemangle.dir/Demangle.cpp.o -c /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/lib/Demangle/Demangle.cpp In file included from /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/lib/Demangle/Demangle.cpp:13: /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Demangle.h:23:6: warning: enumeration types with a fixed underlying type are a C++11 extension [-Wc++11-extensions] enum : int { ^~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Demangle.h:28:23: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions] demangle_success = 0, ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Demangle.h:41:29: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions] MSDF_NoMemberType = 1 << 4, ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Demangle.h:73:51: warning: rvalue references are a C++11 extension [-Wc++11-extensions] ItaniumPartialDemangler(ItaniumPartialDemangler &&Other); ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Demangle.h:74:62: warning: rvalue references are a C++11 extension [-Wc++11-extensions] ItaniumPartialDemangler &operator=(ItaniumPartialDemangler &&Other); ^ 5 warnings generated. [ 0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o cd /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/lib/Demangle && /usr/bin/clang++ -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/lib/Demangle -I/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/lib/Demangle -I/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build/include -I/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -O3 -DNDEBUG -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -mmacosx-version-min=11.0 -fno-exceptions -std=c++98 -o CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o -c /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/lib/Demangle/ItaniumDemangle.cpp In file included from /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/lib/Demangle/ItaniumDemangle.cpp:13: /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Demangle.h:23:6: warning: enumeration types with a fixed underlying type are a C++11 extension [-Wc++11-extensions] enum : int { ^~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Demangle.h:28:23: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions] demangle_success = 0, ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Demangle.h:41:29: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions] MSDF_NoMemberType = 1 << 4, ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Demangle.h:73:51: warning: rvalue references are a C++11 extension [-Wc++11-extensions] ItaniumPartialDemangler(ItaniumPartialDemangler &&Other); ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Demangle.h:74:62: warning: rvalue references are a C++11 extension [-Wc++11-extensions] ItaniumPartialDemangler &operator=(ItaniumPartialDemangler &&Other); ^ In file included from /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/lib/Demangle/ItaniumDemangle.cpp:14: In file included from /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:23: /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Utility.h:28:16: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions] char *Buffer = nullptr; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Utility.h:29:26: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions] size_t CurrentPosition = 0; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Utility.h:30:25: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions] size_t BufferCapacity = 0; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Utility.h:68:20: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions] OutputStream() = default; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Utility.h:77:29: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions] unsigned CurrentPackIndex = std::numeric_limits<unsigned>::max(); ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Utility.h:78:27: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions] unsigned CurrentPackMax = std::numeric_limits<unsigned>::max(); ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Utility.h:146:22: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions] bool ShouldRestore = true; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Utility.h:170:44: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] SwapAndRestore(const SwapAndRestore &) = delete; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/Utility.h:171:55: warning: deleted function definitions are a C++11 extension [-Wc++11-extensions] SwapAndRestore &operator=(const SwapAndRestore &) = delete; ^ In file included from /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/lib/Demangle/ItaniumDemangle.cpp:14: /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:116:8: error: ISO C++ forbids forward references to 'enum' types enum Kind : unsigned char { ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:116:24: error: expected '(' for function-style cast or type construction enum Kind : unsigned char { ~~~~~~~~ ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:116:13: error: field has incomplete type 'enum Kind' enum Kind : unsigned char { ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:116:8: note: forward declaration of 'llvm::itanium_demangle::Kind' enum Kind : unsigned char { ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:124:8: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions] enum class Cache : unsigned char { Yes, No, Unknown, }; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:124:8: error: reference to enumeration must use 'enum' not 'enum class' [-Welaborated-enum-class] enum class Cache : unsigned char { Yes, No, Unknown, }; ^~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:124:31: error: expected '(' for function-style cast or type construction enum class Cache : unsigned char { Yes, No, Unknown, }; ~~~~~~~~ ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:127:8: error: field has incomplete type 'llvm::itanium_demangle::Kind' Kind K; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:116:8: note: forward declaration of 'llvm::itanium_demangle::Kind' enum Kind : unsigned char { ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:206:21: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions] virtual ~Node() = default; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:144:44: warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions] Node(Kind K_, Cache RHSComponentCache_ = Cache::No, ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:144:44: error: incomplete type 'llvm::itanium_demangle::Cache' named in nested name specifier Node(Kind K_, Cache RHSComponentCache_ = Cache::No, ^~~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:145:28: warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions] Cache ArrayCache_ = Cache::No, Cache FunctionCache_ = Cache::No) ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:145:28: error: incomplete type 'llvm::itanium_demangle::Cache' named in nested name specifier Cache ArrayCache_ = Cache::No, Cache FunctionCache_ = Cache::No) ^~~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:145:62: warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions] Cache ArrayCache_ = Cache::No, Cache FunctionCache_ = Cache::No) ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:145:62: error: incomplete type 'llvm::itanium_demangle::Cache' named in nested name specifier Cache ArrayCache_ = Cache::No, Cache FunctionCache_ = Cache::No) ^~~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:144:13: error: variable has incomplete type 'llvm::itanium_demangle::Kind' Node(Kind K_, Cache RHSComponentCache_ = Cache::No, ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:116:8: note: forward declaration of 'llvm::itanium_demangle::Kind' enum Kind : unsigned char { ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:159:30: warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions] if (RHSComponentCache != Cache::Unknown) ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:159:30: error: incomplete type 'llvm::itanium_demangle::Cache' named in nested name specifier if (RHSComponentCache != Cache::Unknown) ^~~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:160:35: warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions] return RHSComponentCache == Cache::Yes; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:160:35: error: incomplete type 'llvm::itanium_demangle::Cache' named in nested name specifier return RHSComponentCache == Cache::Yes; ^~~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:165:23: warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions] if (ArrayCache != Cache::Unknown) ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:165:23: error: incomplete type 'llvm::itanium_demangle::Cache' named in nested name specifier if (ArrayCache != Cache::Unknown) ^~~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:166:28: warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions] return ArrayCache == Cache::Yes; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:166:28: error: incomplete type 'llvm::itanium_demangle::Cache' named in nested name specifier return ArrayCache == Cache::Yes; ^~~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:171:26: warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions] if (FunctionCache != Cache::Unknown) ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:171:26: error: incomplete type 'llvm::itanium_demangle::Cache' named in nested name specifier if (FunctionCache != Cache::Unknown) ^~~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:172:31: warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions] return FunctionCache == Cache::Yes; ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:172:31: error: incomplete type 'llvm::itanium_demangle::Cache' named in nested name specifier return FunctionCache == Cache::Yes; ^~~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:176:8: error: incomplete result type 'llvm::itanium_demangle::Kind' in function definition Kind getKind() const { return K; } ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:116:8: note: forward declaration of 'llvm::itanium_demangle::Kind' enum Kind : unsigned char { ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:190:30: warning: use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions] if (RHSComponentCache != Cache::No) ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:190:30: error: incomplete type 'llvm::itanium_demangle::Cache' named in nested name specifier if (RHSComponentCache != Cache::No) ^~~~~~~ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:257:41: warning: 'override' keyword is a C++11 extension [-Wc++11-extensions] void printLeft(OutputStream &S) const override { ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:253:42: error: use of undeclared identifier 'KNodeArrayNode' NodeArrayNode(NodeArray Array_) : Node(KNodeArrayNode), Array(Array_) {} ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:262:17: warning: 'final' keyword is a C++11 extension [-Wc++11-extensions] class DotSuffix final : public Node { ^ /opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/llvm-project-12.0.0.src/llvm/include/llvm/Demangle/ItaniumDemangle.h:272:41: warning: 'override' keyword is a C++11 extension [-Wc++11-extensions] void printLeft(OutputStream &s) const override { ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 29 warnings and 20 errors generated. make[2]: *** [lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o] Error 1 make[2]: Leaving directory `/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build' make[1]: *** [lib/Demangle/CMakeFiles/LLVMDemangle.dir/all] Error 2 make[1]: Leaving directory `/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build' make: *** [all] Error 2 make: Leaving directory `/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build' Command failed: cd "/opt/local/var/macports/build/_Users_blairzajac_Code_MacPorts_macports-ports.git_lang_llvm-12/llvm-12/work/build" && /usr/bin/make -j1 -w all VERBOSE=ON Exit code: 2
Change History (8)
comment:1 Changed 3 years ago by kencu (Ken)
comment:2 Changed 3 years ago by kencu (Ken)
Summary: | clang-12 build error → clang-12 build error due to cmake portgroup setting an extremely old C and CXX standard because the llvm portfiles don't use base's compiler.c_standard or compiler.cxx_standard |
---|
comment:3 Changed 3 years ago by jmroot (Joshua Root)
The compiler.*_standard
options were designed as a compiler selection mechanism, not a language standard enforcement mechanism. They don't cause any -std=
flag to be used normally, since projects should be setting that themselves, and some will use features from newer standards if available but work fine with an older standard.
comment:5 Changed 3 years ago by kencu (Ken)
and this one
https://github.com/macports/macports-ports/commit/a3cbd09ac05a1ec6021ef757cc617506db6c1239
where I suggested this might have some unintended side effects
comment:6 Changed 3 years ago by kencu (Ken)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:7 Changed 3 years ago by jmroot (Joshua Root)
Replying to kencu:
they do now, for cmake builds using the cmake 1.1 PG, at least.
Yes, I'm saying that that change to the cmake portgroup significantly changes the semantics of those options when using that portgroup.
comment:8 Changed 3 years ago by kencu (Ken)
certainly agree there...we will see as various ports get updated over the next year or two where else this may cause trouble.
Yeah -- this is broken because the cmake portgroup recently started setting C & CXX standards for the builds depending on what is set in the Portfiles
and then if the Portfile isn't setting any standard (and the llvm Portfiles don't, because I set the compiler directly for the build) then the PortGroup helpfully adds a really really old one:
https://github.com/macports/macports-ports/commit/0113e7d7fe225d85d250556a5340d97a70a2649e
I'm not sure what the right move is here, but IMHO --- the cmake PG shouldn't be doing that.
Otherwise, what I will have to do is see which one it is setting and strip that out with a
configure.preargs-delete XYX bit
YUK. So nothing to do with llvm or clang, but whose lap this lands on remains to be seen :>