Using C++11 features for replacing current OS specific code. #826
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TLS code remove at all, replaced by the thread_local specifier. This also
impacts in the initialization process simplifying it a lot. The
functions Init/DetachProcess, Init/DetachThread have been removed. The
only function needed to be called for a proper initializations is
InitializeMemoryPools (FreeMemoryPools is optional during th shutdown).
TLS Support for MSVC 2013 is limited, only PODs are allowed to be used
and the specific extension should be used for it. This prevents us to do
further code simplifications.
The OGLCompilersDLL dynamic library is not needed anymore and has been
removed from the solution.
The way how is handle the PoolAllocators has been slightly modified. The
SetThreadPoolAllocator now receives a unique_ptr for the new
PoolAllocator and returns another unique_ptr for the old one. The goal
is to clearly define who is the ownership of those pool allocators in any
moment. Therefore the member variables pools in any object must be from
now a unique_ptr.
Overall this change removes 560 lines and adds 87.