Revert "unique_ptrify ValID::ConstantStructElts"
authorReid Kleckner <reid@kleckner.net>
Wed, 4 Mar 2015 18:31:10 +0000 (18:31 +0000)
committerReid Kleckner <reid@kleckner.net>
Wed, 4 Mar 2015 18:31:10 +0000 (18:31 +0000)
commit2ae03e178392e0693872e42c947d784b3c02ea60
treebb1903dade4acddcc7518a785428ee5d538de603
parentb021a4faadb61e38d25dc209da9171678c0f2f62
Revert "unique_ptrify ValID::ConstantStructElts"

This reverts r231200 and r231204. The second one added an explicit move
ctor for MSVC.

This change broke the clang-cl self-host due to weirdness in MSVC's
implementation of std::map::insert. Somehow we lost our rvalue ref-ness
when going through variadic placement new:

  template <class _Objty, class... _Types>
  void construct(_Objty *_Ptr,
                 _Types &&... _Args) { // construct _Objty(_Types...) at _Ptr
    ::new ((void *)_Ptr) _Objty(_STD forward<_Types>(_Args)...);
  }

For some reason, Clang decided to call the deleted std::pair copy
constructor at this point. Needs further investigation, once I can
build.

llvm-svn: 231269
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/AsmParser/LLParser.h