In order to compile v0.2.3 with Intel Compiler I had to edit the source as follows:
preprocessor.h
Change
#ifdef NDEBUG
#define TOML_ASSERT_ASSUME(expr) TOML_ASSUME(expr)
#else
#define TOML_ASSERT_ASSUME(expr) TOML_ASSERT(expr)
#endif
to
#ifdef __INTEL_COMPILER
#define TOML_ASSERT_ASSUME(expr) ((void)0)
#else
#ifdef NDEBUG
#define TOML_ASSERT_ASSUME(expr) TOML_ASSUME(expr)
#else
#define TOML_ASSERT_ASSUME(expr) TOML_ASSERT(expr)
#endif
#endif
node.h
Added the following immediately after TOML_NAMESPACE_END;
namespace toml::v3 {
inline const table* node::as_table() const noexcept {
return nullptr;
}
inline bool node::is_array() const noexcept {
return false;
}
inline bool node::is_array_of_tables() const noexcept {
return false;
}
inline node_type node::type() const noexcept {
return node_type::none;
}
inline bool node::is_table() const noexcept {
return false;
}
inline bool node::is_value() const noexcept {
return false;
}
}
In order to compile v0.2.3 with Intel Compiler I had to edit the source as follows:
preprocessor.h
Change
to
node.h
Added the following immediately after
TOML_NAMESPACE_END;