summaryrefslogtreecommitdiffstats
path: root/bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap')
-rwxr-xr-xbootstrap14
1 files changed, 13 insertions, 1 deletions
diff --git a/bootstrap b/bootstrap
index 1f8eaa5..1b0cb26 100755
--- a/bootstrap
+++ b/bootstrap
@@ -294,6 +294,7 @@ CMAKE_CXX_SOURCES="\
cmCreateTestSourceList \
cmCustomCommand \
cmCustomCommandGenerator \
+ cmCustomCommandLines \
cmDefinePropertyCommand \
cmDefinitions \
cmDepends \
@@ -372,6 +373,7 @@ CMAKE_CXX_SOURCES="\
cmLDConfigTool \
cmLinkDirectoriesCommand \
cmLinkItem \
+ cmLinkItemGraphVisitor \
cmLinkLineComputer \
cmLinkLineDeviceComputer \
cmListCommand \
@@ -1166,10 +1168,20 @@ int check_cxx14()
}
#endif
-#if __cplusplus >= 201703L
+#if (__cplusplus >= 201703L || defined(__INTEL_COMPILER) && defined(__cpp_if_constexpr))
#include <optional>
+template <typename T,
+ typename std::invoke_result<decltype(&T::get), T>::type = nullptr>
+typename T::pointer get_ptr(T& item)
+{
+ return item.get();
+}
+
int check_cxx17()
{
+ // Intel compiler do not handle correctly 'decltype' inside 'invoke_result'
+ std::unique_ptr<int> u(new int(0));
+ get_ptr(u);
std::optional<int> oi = 0;
return oi.value();
}