Closed GoogleCodeExporter closed 9 years ago
[deleted comment]
[deleted comment]
[deleted comment]
[deleted comment]
This is against revision rfe570a8e5c0b3da3a0f10e413cb2064410f013d6:
This patch makes several changes that will allow epoch to be built against
visual studio 2010. These changes should not affect visual studio 2005 or 2008
adversely.
The changes are as follows:
EpochCompiler/pch.h:
Add #pragma warning(disable : 4503). This is to disable the warnings about the truncation of decorated names. This was primarily being caused by std::vectors using OneWayAlloc allocators. Decorated names cannot exceed 1024 characters in length. An example of one such decorated name is: (Memory::OneWayAlloc<boost::variant<AST::Undefined,AST::Deferred<AST::Structure,boost::intrusive_ptr<AST::Structure> >,AST::Deferred<boost::variant<AST::Undefined,boost::variant<AST::Undefined,AST::Deferred<AST::Entity,boost::intrusive_ptr<AST::Entity> >,AST::Deferred<AST::PostfixEntity,boost::intrusive_ptr<AST::PostfixEntity> >,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>,AST::Deferred<AST::Assignment,boost::intrusive_ptr<AST::Assignment> >,boost::variant<AST::Undefined,AST::Deferred<AST::PreOperatorStatement,boost::intrusive_ptr<AST::PreOperatorState _Al)
EpochLibrary/Library Functionality/Function Tags/Constructors.cpp
Changed the registration method to take the address of the helper function to fix ambiguity error.
EpochLibrary/Library Functionality/Function Tags/Externals.cpp
Changed the registration method to take the address of the helper function to fix ambiguity error.
EpochVM/Virtual Machine/Marshaling.cpp
Removed reference to std::stack internals for InvokedFunctionStack, changed to use .at method of std::deque.
EpochVM/Virtual Machine/VirtualMachine.cpp
Changed InvokedFunctionStack to use deque methods push_back instead of push, pop_back instead of pop, and back instead of top.
Changed GlobalFunctions insertion to use address of FunctionInvocationHelper to fix ambiguity error.
EpochVM/Virtual Machine/VirtualMachine.h
Changed InvokedFunctionStack to deque
Shared/Utility/Files/Files.cpp
Added iterator header include, as that's where istream_iterator is defined.
Shared/Utility/Memory/OneWayAllocator.h
Removed explicits on constructors. This is necessary due to vector (and other containers) propensity to create copies of the allocator in ways that cause errors with explicit.
Original comment by ryoohki@gmail.com
on 6 Feb 2012 at 9:23
Attachments:
Patch merged and committed - thanks!
Original comment by don.ap...@gmail.com
on 7 Feb 2012 at 5:15
Original issue reported on code.google.com by
ryoohki@gmail.com
on 5 Feb 2012 at 8:44Attachments: