Using the lastest CLang compiler, I found the following issues:
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:29:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNodeDecls.h: In instantiation of ‘class NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>’:
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:248:65: recursively required by substitution of ‘template<class R, class P1, class P2, class P3, class P4> NativeJIT::Node<T1>& NativeJIT::ExpressionNodeFactory::Call(NativeJIT::Node<R (*)(P1, P2, P3, P4)>&, NativeJIT::Node<T2>&, NativeJIT::Node<INDEX>&, NativeJIT::Node<P3>&, NativeJIT::Node<P4>&) [with R = <missing>; P1 = <missing>; P2 = <missing>; P3 = <missing>; P4 = <missing>]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:248:65: required from here
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:101:10: error: mangled name for ‘void NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::EmitStaticData(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void ImmediateNode<T, ImmediateCategory::RIPRelativeImmediate>::EmitStaticData(ExpressionTree& tree)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h: In instantiation of ‘NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::ImmediateNode(NativeJIT::ExpressionTree&, T) [with T = float (*)(float) throw ()]’:
<my-path-to>NativeJIT/inc/Temporary/AllocatorOperations.h:46:13: required from ‘T& Allocators::PlacementConstruct(Allocators::IAllocator&, ConstructorArgs&& ...) [with T = NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, float (*&)(float) throw ()}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:92:49: required from ‘T& NativeJIT::ExpressionTree::PlacementConstruct(ConstructorArgs&& ...) [with T = NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, float (*&)(float) throw ()}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionNodeFactory.h:69:52: required from ‘NativeJIT::ImmediateNode<T>& NativeJIT::ExpressionNodeFactory::Immediate(T) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:247:67: required from here
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:71:5: error: mangled name for ‘NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::ImmediateNode(NativeJIT::ExpressionTree&, T) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ImmediateNode<T, ImmediateCategory::RIPRelativeImmediate>::ImmediateNode(ExpressionTree& tree, T value)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:71:5: error: mangled name for ‘NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::ImmediateNode(NativeJIT::ExpressionTree&, T) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExpressionNodeFactory.h:39:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:27,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/CallNode.h: In instantiation of ‘NativeJIT::CallNode<R, P1>::CallNode(NativeJIT::ExpressionTree&, NativeJIT::Node<R (*)(P1)>&, NativeJIT::Node<T2>&) [with R = float; P1 = float]’:
<my-path-to>NativeJIT/inc/Temporary/AllocatorOperations.h:46:13: required from ‘T& Allocators::PlacementConstruct(Allocators::IAllocator&, ConstructorArgs&& ...) [with T = NativeJIT::CallNode<float, float, void, void, void>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, NativeJIT::Node<float (*)(float) throw ()>&, NativeJIT::Node<float>&}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:92:49: required from ‘T& NativeJIT::ExpressionTree::PlacementConstruct(ConstructorArgs&& ...) [with T = NativeJIT::CallNode<float, float, void, void, void>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, NativeJIT::Node<float (*)(float) throw ()>&, NativeJIT::Node<float>&}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionNodeFactory.h:387:51: required from ‘NativeJIT::Node<T1>& NativeJIT::ExpressionNodeFactory::Call(NativeJIT::Node<R (*)(P1)>&, NativeJIT::Node<T2>&) [with R = float; P1 = float]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:248:65: required from here
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/CallNode.h:618:5: error: mangled name for ‘NativeJIT::CallNode<R, P1>::CallNode(NativeJIT::ExpressionTree&, NativeJIT::Node<R (*)(P1)>&, NativeJIT::Node<T2>&) [with R = float; P1 = float]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
CallNode<R, P1>::CallNode(ExpressionTree& tree,
^~~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/CallNode.h:618:5: error: mangled name for ‘NativeJIT::CallNode<R, P1>::CallNode(NativeJIT::ExpressionTree&, NativeJIT::Node<R (*)(P1)>&, NativeJIT::Node<T2>&) [with R = float; P1 = float]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
In file included from <my-path-to>NativeJIT/inc/NativeJIT/Nodes/ConditionalNode.h:31:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:28,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h: In instantiation of ‘NativeJIT::Node<T>::Node(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:73:24: required from ‘NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::ImmediateNode(NativeJIT::ExpressionTree&, T) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/inc/Temporary/AllocatorOperations.h:46:13: required from ‘T& Allocators::PlacementConstruct(Allocators::IAllocator&, ConstructorArgs&& ...) [with T = NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, float (*&)(float) throw ()}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:92:49: required from ‘T& NativeJIT::ExpressionTree::PlacementConstruct(ConstructorArgs&& ...) [with T = NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, float (*&)(float) throw ()}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionNodeFactory.h:69:52: required from ‘NativeJIT::ImmediateNode<T>& NativeJIT::ExpressionNodeFactory::Immediate(T) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:247:67: required from here
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:219:5: error: mangled name for ‘NativeJIT::Node<T>::Node(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
Node<T>::Node(ExpressionTree& tree)
^~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:219:5: error: mangled name for ‘NativeJIT::Node<T>::Node(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h: In instantiation of ‘NativeJIT::Node<T>::~Node() [with T = float (*)(float) throw ()]’:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:73:24: required from ‘NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::ImmediateNode(NativeJIT::ExpressionTree&, T) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/inc/Temporary/AllocatorOperations.h:46:13: required from ‘T& Allocators::PlacementConstruct(Allocators::IAllocator&, ConstructorArgs&& ...) [with T = NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, float (*&)(float) throw ()}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:92:49: required from ‘T& NativeJIT::ExpressionTree::PlacementConstruct(ConstructorArgs&& ...) [with T = NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, float (*&)(float) throw ()}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionNodeFactory.h:69:52: required from ‘NativeJIT::ImmediateNode<T>& NativeJIT::ExpressionNodeFactory::Immediate(T) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:247:67: required from here
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:179:9: error: mangled name for ‘NativeJIT::Node<T>::~Node() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
~Node() {}
^
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:179:9: error: mangled name for ‘NativeJIT::Node<T>::~Node() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h: In instantiation of ‘NativeJIT::ExpressionTree::Storage<T>::~Storage() [with T = float (*)(float) throw ()]’:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/CallNode.h:126:15: required from ‘NativeJIT::CallNode<R, P1>::CallNode(NativeJIT::ExpressionTree&, NativeJIT::Node<R (*)(P1)>&, NativeJIT::Node<T2>&) [with R = float; P1 = float]’
<my-path-to>NativeJIT/inc/Temporary/AllocatorOperations.h:46:13: required from ‘T& Allocators::PlacementConstruct(Allocators::IAllocator&, ConstructorArgs&& ...) [with T = NativeJIT::CallNode<float, float, void, void, void>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, NativeJIT::Node<float (*)(float) throw ()>&, NativeJIT::Node<float>&}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:92:49: required from ‘T& NativeJIT::ExpressionTree::PlacementConstruct(ConstructorArgs&& ...) [with T = NativeJIT::CallNode<float, float, void, void, void>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, NativeJIT::Node<float (*)(float) throw ()>&, NativeJIT::Node<float>&}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionNodeFactory.h:387:51: required from ‘NativeJIT::Node<T1>& NativeJIT::ExpressionNodeFactory::Call(NativeJIT::Node<R (*)(P1)>&, NativeJIT::Node<T2>&) [with R = float; P1 = float]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:248:65: required from here
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:526:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::~Storage() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::~Storage()
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:526:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::~Storage() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h: In instantiation of ‘NativeJIT::ExpressionTree::Storage<T>::Storage() [with T = float (*)(float) throw ()]’:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:221:34: required from ‘NativeJIT::Node<T>::Node(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:73:24: required from ‘NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::ImmediateNode(NativeJIT::ExpressionTree&, T) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/inc/Temporary/AllocatorOperations.h:46:13: required from ‘T& Allocators::PlacementConstruct(Allocators::IAllocator&, ConstructorArgs&& ...) [with T = NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, float (*&)(float) throw ()}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:92:49: required from ‘T& NativeJIT::ExpressionTree::PlacementConstruct(ConstructorArgs&& ...) [with T = NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, float (*&)(float) throw ()}]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionNodeFactory.h:69:52: required from ‘NativeJIT::ImmediateNode<T>& NativeJIT::ExpressionNodeFactory::Immediate(T) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:247:67: required from here
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:363:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::Storage()
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:363:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h: In instantiation of ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<T>&) [with T = float (*)(float) throw ()]’:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:302:17: required from ‘void NativeJIT::Node<T>::CodeGenCache(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:610:1: required from here
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:502:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<T>&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::Storage(Storage const & other)
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:502:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<T>&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h: In instantiation of ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<U>&) [with U = float (*)(float) throw (); T = void*]’:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:345:32: required from ‘NativeJIT::ExpressionTree::Storage<void*> NativeJIT::Node<T>::CodeGenAsBase(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:610:1: required from here
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:371:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<U>&) [with U = float (*)(float) throw (); T = void*]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::Storage(const Storage<U>& other)
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:371:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<U>&) [with U = float (*)(float) throw (); T = void*]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h: In instantiation of ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<U>&) [with U = long unsigned int; T = float (*)(float) throw ()]’:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:761:21: required from ‘void NativeJIT::ExpressionTree::Storage<T>::TakeSoleOwnershipOfDirect() [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/CallNode.h:510:13: required from ‘void NativeJIT::CallNodeBase<R, PARAMETERCOUNT>::FunctionChild<T>::EmitStaging(NativeJIT::ExpressionTree&, NativeJIT::SaveRestoreVolatilesHelper&) [with T = float (*)(float); R = float; unsigned int PARAMETERCOUNT = 1]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:610:1: required from here
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:371:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<U>&) [with U = long unsigned int; T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:371:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<U>&) [with U = long unsigned int; T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h: In instantiation of ‘NativeJIT::ExpressionTree::Storage<T>::Storage(NativeJIT::ExpressionTree::Data*) [with T = float (*)(float) throw ()]’:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:442:16: required from ‘static NativeJIT::Storage<T> NativeJIT::ExpressionTree::Storage<T>::ForSharedBaseRegister(NativeJIT::ExpressionTree&, NativeJIT::ExpressionTree::Storage<T>::BaseRegister, int32_t) [with T = float (*)(float) throw (); NativeJIT::Storage<T> = NativeJIT::ExpressionTree::Storage<float (*)(float) throw ()>; NativeJIT::ExpressionTree::Storage<T>::BaseRegister = NativeJIT::Register<8, false>; int32_t = int]’
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:189:49: required from ‘NativeJIT::ExpressionTree::Storage<T> NativeJIT::ExpressionTree::RIPRelative(int32_t) [with T = float (*)(float) throw (); int32_t = int]’
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:96:44: required from ‘NativeJIT::Storage<T> NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::CodeGenValue(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw (); NativeJIT::Storage<T> = NativeJIT::ExpressionTree::Storage<float (*)(float) throw ()>]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:610:1: required from here
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:518:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(NativeJIT::ExpressionTree::Data*) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::Storage(ExpressionTree::Data* data)
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:518:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(NativeJIT::ExpressionTree::Data*) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
In file included from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/ValuePredicates.h:29:0,
from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/X64CodeGenerator.h:34,
from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/FunctionBuffer.h:40,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:6:
<my-path-to>NativeJIT/inc/NativeJIT/TypeConverter.h: In instantiation of ‘NativeJIT::TypeConverter<FROM, TO>::TypeConverter() [with FROM = float (*)(float) throw (); TO = long unsigned int]’:
<my-path-to>NativeJIT/inc/NativeJIT/TypeConverter.h:48:33: required from ‘TO NativeJIT::convertType(FROM) [with FROM = float (*)(float) throw (); TO = long unsigned int]’
<my-path-to>NativeJIT/inc/NativeJIT/CodeGen/ValuePredicates.h:64:37: required from ‘TO NativeJIT::ForcedCast(FROM, typename std::enable_if<(! std::is_convertible<FROM, TO>::value)>::type*) [with TO = long unsigned int; FROM = float (*)(float) throw (); typename std::enable_if<(! std::is_convertible<FROM, TO>::value)>::type = void]’
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:111:82: required from ‘void NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::EmitStaticData(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’
<my-path-to>NativeJIT/Examples/Parser/Parser.cpp:610:1: required from here
<my-path-to>NativeJIT/inc/NativeJIT/TypeConverter.h:38:9: error: mangled name for ‘NativeJIT::TypeConverter<FROM, TO>::TypeConverter() [with FROM = float (*)(float) throw (); TO = long unsigned int]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
TypeConverter() {}
^~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/TypeConverter.h:38:9: error: mangled name for ‘NativeJIT::TypeConverter<FROM, TO>::TypeConverter() [with FROM = float (*)(float) throw (); TO = long unsigned int]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:422:16: error: mangled name for ‘static NativeJIT::Storage<T> NativeJIT::ExpressionTree::Storage<T>::ForFreeRegister(NativeJIT::ExpressionTree&, NativeJIT::ExpressionTree::Storage<T>::DirectRegister) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
Storage<T> ExpressionTree::Storage<T>::ForFreeRegister(ExpressionTree& tree,
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/ValuePredicates.h:29:0,
from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/X64CodeGenerator.h:34,
from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/FunctionBuffer.h:40,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:6:
<my-path-to>NativeJIT/inc/NativeJIT/TypeConverter.h:38:9: error: mangled name for ‘NativeJIT::TypeConverter<FROM, TO>::TypeConverter() [with FROM = float (*)(float) throw (); TO = long unsigned int]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
TypeConverter() {}
^~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:518:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(NativeJIT::ExpressionTree::Data*) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::Storage(ExpressionTree::Data* data)
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:902:10: error: mangled name for ‘void NativeJIT::ExpressionTree::Storage<T>::PrintImmediate(std::ostream&, NativeJIT::ExpressionTree::Storage<T>::InvalidImmediateStorage) const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void ExpressionTree::Storage<T>::PrintImmediate(std::ostream& /* out */, InvalidImmediateStorage) const
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:39:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/CodeGenHelpers.h:118:14: error: mangled name for ‘static void NativeJIT::CodeGenHelpers::Emitter<REGTYPES, IMMEDIATETYPE>::Emit(NativeJIT::X64CodeGenerator&, DESTREGTYPE, const NativeJIT::ExpressionTree::Storage<SRC>&) [with NativeJIT::OpCode OP = (NativeJIT::OpCode)17; DESTREGTYPE = NativeJIT::Register<8, false>; SRC = float (*)(float) throw (); NativeJIT::CodeGenHelpers::RegTypes REGTYPES = (NativeJIT::CodeGenHelpers::RegTypes)0; NativeJIT::CodeGenHelpers::ImmediateType IMMEDIATETYPE = (NativeJIT::CodeGenHelpers::ImmediateType)1]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void Emitter<RegTypes::ExactlySame, ImmediateType::NotAllowed>::Emit(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:119:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T> NativeJIT::ExpressionTree::Direct(typename NativeJIT::ExpressionTree::Storage<T>::DirectRegister) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Direct(typename Storage<T>::DirectRegister r)
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:410:16: error: mangled name for ‘static NativeJIT::Storage<T> NativeJIT::ExpressionTree::Storage<T>::ForAnyFreeRegister(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
Storage<T> ExpressionTree::Storage<T>::ForAnyFreeRegister(ExpressionTree& tree)
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/ValuePredicates.h:29:0,
from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/X64CodeGenerator.h:34,
from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/FunctionBuffer.h:40,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:6:
<my-path-to>NativeJIT/inc/NativeJIT/TypeConverter.h:46:8: error: mangled name for ‘TO NativeJIT::convertType(FROM) [with FROM = float (*)(float) throw (); TO = long unsigned int]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
TO convertType(FROM value)
^~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:435:16: error: mangled name for ‘static NativeJIT::Storage<T> NativeJIT::ExpressionTree::Storage<T>::ForSharedBaseRegister(NativeJIT::ExpressionTree&, NativeJIT::ExpressionTree::Storage<T>::BaseRegister, int32_t) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
Storage<T> ExpressionTree::Storage<T>::ForSharedBaseRegister(
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:854:10: error: mangled name for ‘void NativeJIT::ExpressionTree::Storage<T>::Print(std::ostream&) const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void ExpressionTree::Storage<T>::Print(std::ostream& out) const
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:371:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<U>&) [with U = long unsigned int; T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::Storage(const Storage<U>& other)
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:705:10: error: mangled name for ‘void NativeJIT::ExpressionTree::Storage<T>::Swap(NativeJIT::ExpressionTree::Storage<U>&, NativeJIT::ExpressionTree::Storage<T>::SwapType) [with U = long unsigned int; T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void ExpressionTree::Storage<T>::Swap(Storage<U>& other, SwapType type)
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:705:10: error: mangled name for ‘void NativeJIT::ExpressionTree::Storage<T>::Swap(NativeJIT::ExpressionTree::Storage<U>&, NativeJIT::ExpressionTree::Storage<T>::SwapType) [with U = float (*)(float) throw (); T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:767:22: error: mangled name for ‘NativeJIT::ReferenceCounter NativeJIT::ExpressionTree::Storage<T>::GetPin() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ReferenceCounter ExpressionTree::Storage<T>::GetPin()
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:577:13: error: mangled name for ‘int32_t NativeJIT::ExpressionTree::Storage<T>::GetOffset() const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
int32_t ExpressionTree::Storage<T>::GetOffset() const
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:569:55: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::BaseRegister NativeJIT::ExpressionTree::Storage<T>::GetBaseRegister() const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
typename ExpressionTree::Storage<T>::BaseRegister ExpressionTree::Storage<T>::GetBaseRegister() const
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:847:10: error: mangled name for ‘void NativeJIT::ExpressionTree::Storage<T>::SetData(NativeJIT::ExpressionTree::Storage<T>&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void ExpressionTree::Storage<T>::SetData(Storage& other)
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:39:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/CodeGenHelpers.h:73:14: error: mangled name for ‘void NativeJIT::CodeGenHelpers::Emit(NativeJIT::X64CodeGenerator&, DESTREGTYPE, const NativeJIT::ExpressionTree::Storage<SRC>&) [with NativeJIT::OpCode OP = (NativeJIT::OpCode)17; DESTREGTYPE = NativeJIT::Register<8, false>; SRC = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void Emit(X64CodeGenerator& code, DESTREGTYPE dest, const ExpressionTree::Storage<SRC>& src)
^~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:98:32: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T> NativeJIT::ExpressionTree::Direct() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T> ExpressionTree::Direct()
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:694:10: error: mangled name for ‘void NativeJIT::ExpressionTree::Storage<T>::ConvertImmediateToDirect(bool, NativeJIT::ExpressionTree::Storage<T>::InvalidImmediateStorage) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void ExpressionTree::Storage<T>::ConvertImmediateToDirect(bool /* forModification */, InvalidImmediateStorage)
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/Nodes/ConditionalNode.h:31:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:28,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:238:16: error: mangled name for ‘NativeJIT::Storage<T> NativeJIT::Node<T>::GetAndReleaseCache() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
Storage<T> Node<T>::GetAndReleaseCache()
^~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/X64CodeGenerator.h:34:0,
from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/FunctionBuffer.h:40,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:6:
<my-path-to>NativeJIT/inc/NativeJIT/CodeGen/ValuePredicates.h:58:8: error: mangled name for ‘TO NativeJIT::ForcedCast(FROM, typename std::enable_if<(! std::is_convertible<FROM, TO>::value)>::type*) [with TO = long unsigned int; FROM = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
TO ForcedCast(FROM from,
^~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/CodeGen/ExecutionBuffer.h:26:0,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:5:
<my-path-to>NativeJIT/inc/NativeJIT/CodeGen/CodeBuffer.h:165:10: error: mangled name for ‘void NativeJIT::CodeBuffer::AdvanceToAlignment() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void CodeBuffer::AdvanceToAlignment()
^~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:187:32: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T> NativeJIT::ExpressionTree::RIPRelative(int32_t) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T> ExpressionTree::RIPRelative(int32_t offset)
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/Nodes/ConditionalNode.h:31:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:28,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:270:10: error: mangled name for ‘void NativeJIT::Node<T>::PrintCoreProperties(std::ostream&, const char*) const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void Node<T>::PrintCoreProperties(std::ostream& out, char const* nodeName) const
^~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:371:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<U>&) [with U = float (*)(float) throw (); T = void*]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::Storage(const Storage<U>& other)
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:502:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage(const NativeJIT::ExpressionTree::Storage<T>&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::Storage(Storage const & other)
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/Nodes/ConditionalNode.h:31:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:28,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:227:10: error: mangled name for ‘void NativeJIT::Node<T>::SetCache(NativeJIT::ExpressionTree::Storage<T>) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void Node<T>::SetCache(ExpressionTree::Storage<T> s)
^~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:533:10: error: mangled name for ‘void NativeJIT::ExpressionTree::Storage<T>::Reset() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void ExpressionTree::Storage<T>::Reset()
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:725:10: error: mangled name for ‘void NativeJIT::ExpressionTree::Storage<T>::TakeSoleOwnershipOfDirect() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void ExpressionTree::Storage<T>::TakeSoleOwnershipOfDirect()
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:547:10: error: mangled name for ‘bool NativeJIT::ExpressionTree::Storage<T>::IsSoleDataOwner() const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
bool ExpressionTree::Storage<T>::IsSoleDataOwner() const
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:597:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::DirectRegister NativeJIT::ExpressionTree::Storage<T>::ConvertToDirect(bool) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::ConvertToDirect(bool forModification)
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:554:18: error: mangled name for ‘NativeJIT::StorageClass NativeJIT::ExpressionTree::Storage<T>::GetStorageClass() const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
StorageClass ExpressionTree::Storage<T>::GetStorageClass() const
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:510:33: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>& NativeJIT::ExpressionTree::Storage<T>::operator=(const NativeJIT::ExpressionTree::Storage<T>&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>& ExpressionTree::Storage<T>::operator=(Storage const & other)
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/Nodes/ConditionalNode.h:31:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:28,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:307:41: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T> NativeJIT::Node<T>::CodeGen(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
typename ExpressionTree::Storage<T> Node<T>::CodeGen(ExpressionTree& tree)
^~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:561:57: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::DirectRegister NativeJIT::ExpressionTree::Storage<T>::GetDirectRegister() const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
typename ExpressionTree::Storage<T>::DirectRegister ExpressionTree::Storage<T>::GetDirectRegister() const
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:29:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:94:5: error: mangled name for ‘NativeJIT::Storage<T> NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::CodeGenValue(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ImmediateNode<T, ImmediateCategory::RIPRelativeImmediate>::CodeGenValue(ExpressionTree& tree)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:84:10: error: mangled name for ‘void NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::Print(std::ostream&) const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void ImmediateNode<T, ImmediateCategory::RIPRelativeImmediate>::Print(std::ostream& out) const
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/Nodes/ConditionalNode.h:31:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:28,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:337:36: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<void*> NativeJIT::Node<T>::CodeGenAsBase(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<void*> Node<T>::CodeGenAsBase(ExpressionTree& tree)
^~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:255:10: error: mangled name for ‘bool NativeJIT::Node<T>::IsCached() const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
bool Node<T>::IsCached() const
^~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:292:10: error: mangled name for ‘void NativeJIT::Node<T>::CodeGenCache(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void Node<T>::CodeGenCache(ExpressionTree& tree)
^~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExpressionTreeDecls.h:33:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:29,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/TypePredicates.h:68:27: error: mangled name for ‘NativeJIT::RegisterStorage<float (*)(float) throw ()>::c_isFloat’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
static const bool c_isFloat = std::is_floating_point<UnderlyingType>::value;
^~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/TypePredicates.h:67:31: error: mangled name for ‘NativeJIT::RegisterStorage<float (*)(float) throw ()>::c_size’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
static const unsigned c_size = sizeof(UnderlyingType);
^~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:540:10: error: mangled name for ‘bool NativeJIT::ExpressionTree::Storage<T>::IsNull() const [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
bool ExpressionTree::Storage<T>::IsNull() const
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:788:10: error: mangled name for ‘void NativeJIT::ExpressionTree::Storage<T>::SetData(NativeJIT::ExpressionTree::Data*) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
void ExpressionTree::Storage<T>::SetData(ExpressionTree::Data* data)
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:363:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::Storage() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::Storage()
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:526:5: error: mangled name for ‘NativeJIT::ExpressionTree::Storage<T>::~Storage() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ExpressionTree::Storage<T>::~Storage()
^~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/Nodes/ConditionalNode.h:31:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:28,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:179:9: error: mangled name for ‘NativeJIT::Node<T>::~Node() [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
~Node() {}
^
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/Node.h:219:5: error: mangled name for ‘NativeJIT::Node<T>::Node(NativeJIT::ExpressionTree&) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
Node<T>::Node(ExpressionTree& tree)
^~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExpressionNodeFactory.h:39:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:27,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/CallNode.h:618:5: error: mangled name for ‘NativeJIT::CallNode<R, P1>::CallNode(NativeJIT::ExpressionTree&, NativeJIT::Node<R (*)(P1)>&, NativeJIT::Node<T2>&) [with R = float; P1 = float]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
CallNode<R, P1>::CallNode(ExpressionTree& tree,
^~~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:29:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/Nodes/ImmediateNode.h:71:5: error: mangled name for ‘NativeJIT::ImmediateNode<T, (NativeJIT::ImmediateCategory)1>::ImmediateNode(NativeJIT::ExpressionTree&, T) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ImmediateNode<T, ImmediateCategory::RIPRelativeImmediate>::ImmediateNode(ExpressionTree& tree, T value)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:42:0,
from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/Temporary/AllocatorOperations.h:35:5: error: mangled name for ‘T& Allocators::PlacementConstruct(Allocators::IAllocator&, ConstructorArgs&& ...) [with T = NativeJIT::CallNode<float, float, void, void, void>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, NativeJIT::Node<float (*)(float) throw ()>&, NativeJIT::Node<float>&}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
PlacementConstruct(IAllocator& allocator, ConstructorArgs&&... constructorArgs)
^~~~~~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/Temporary/AllocatorOperations.h:35:5: error: mangled name for ‘T& Allocators::PlacementConstruct(Allocators::IAllocator&, ConstructorArgs&& ...) [with T = NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, float (*&)(float) throw ()}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
In file included from <my-path-to>NativeJIT/inc/NativeJIT/ExecutionPreconditionTest.h:27:0,
from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:26,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:90:8: error: mangled name for ‘T& NativeJIT::ExpressionTree::PlacementConstruct(ConstructorArgs&& ...) [with T = NativeJIT::CallNode<float, float, void, void, void>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, NativeJIT::Node<float (*)(float) throw ()>&, NativeJIT::Node<float>&}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
T& ExpressionTree::PlacementConstruct(ConstructorArgs&&... constructorArgs)
^~~~~~~~~~~~~~
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionTree.h:90:8: error: mangled name for ‘T& NativeJIT::ExpressionTree::PlacementConstruct(ConstructorArgs&& ...) [with T = NativeJIT::ImmediateNode<float (*)(float) throw (), (NativeJIT::ImmediateCategory)1>; ConstructorArgs = {NativeJIT::ExpressionNodeFactory&, float (*&)(float) throw ()}]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
In file included from <my-path-to>NativeJIT/inc/NativeJIT/Function.h:27:0,
from <my-path-to>NativeJIT/Examples/Parser/Parser.cpp:7:
<my-path-to>NativeJIT/inc/NativeJIT/ExpressionNodeFactory.h:67:23: error: mangled name for ‘NativeJIT::ImmediateNode<T>& NativeJIT::ExpressionNodeFactory::Immediate(T) [with T = float (*)(float) throw ()]’ will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
ImmediateNode<T>& ExpressionNodeFactory::Immediate(T value)
^~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
Examples/Parser/CMakeFiles/Parser.dir/build.make:62: recipe for target 'Examples/Parser/CMakeFiles/Parser.dir/Parser.cpp.o' failed
make[2]: *** [Examples/Parser/CMakeFiles/Parser.dir/Parser.cpp.o] Error 1
CMakeFiles/Makefile2:685: recipe for target 'Examples/Parser/CMakeFiles/Parser.dir/all' failed
make[1]: *** [Examples/Parser/CMakeFiles/Parser.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
In the meantime, I'll try to disable the warning flag in CMake.