For MSVC builds revert some mappings to use the heap based strategy rather than boost::aligned_storage and StackAllocator

It was initially thought that the runtime issues had been fixed in VS2015 but in fact it's still very problematic - even in VS2019 :-(
This commit is contained in:
John Emmas 2021-02-11 09:43:33 +00:00
parent c33b40bb7f
commit a90e3efde5
2 changed files with 8 additions and 2 deletions

View file

@ -104,7 +104,10 @@ public:
*/
bool is_subset (const ChanMapping& superset) const;
#if defined(_MSC_VER) && (_MSC_VER < 1900)
#if defined(_MSC_VER) /* && (_MSC_VER < 1900)
* Regarding the note (below) it was initially
* thought that this got fixed in VS2015 - but
* in fact it's still faulty (JE - Feb 2021) */
/* Use the older (heap based) mapping for early versions of MSVC.
* In fact it might be safer to use this for all MSVC builds - as
* our StackAllocator class depends on 'boost::aligned_storage'

View file

@ -371,7 +371,10 @@ private:
/* ordered map [plugin instance ID] => ARDOUR::ChanMapping
* TODO: consider replacing with boost::flat_map<> or std::vector<>.
*/
#if defined(_MSC_VER) && (_MSC_VER < 1900)
#if defined(_MSC_VER) /* && (_MSC_VER < 1900)
* Regarding the note (below) it was initially
* thought that this got fixed in VS2015 - but
* in fact it's still faulty (JE - Feb 2021) */
/* Use the older (heap based) mapping for early versions of MSVC.
* In fact it might be safer to use this for all MSVC builds - as
* our StackAllocator class depends on 'boost::aligned_storage'