diff options
author | Hans Wennborg <hans@hanshq.net> | 2014-11-30 00:24:43 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2014-11-30 00:24:43 +0000 |
commit | b9a6eaac0c885093f2709c26a3f1bc8833524b96 (patch) | |
tree | 945d48cc9a99d8d909fa725f131a39f4aa21619c /llvm/lib/TableGen/TGParser.cpp | |
parent | a4ea4b0983e1ba9c884c2b962fb9eaaa7ac7d0ab (diff) | |
download | llvm-b9a6eaac0c885093f2709c26a3f1bc8833524b96.zip llvm-b9a6eaac0c885093f2709c26a3f1bc8833524b96.tar.gz llvm-b9a6eaac0c885093f2709c26a3f1bc8833524b96.tar.bz2 |
Speculatively qualify some llvm::make_unique calls trying to please MSVC
It was failing with this kind of error:
C:\b\build\slave\CrWinClang\build\src\third_party\llvm\lib\TableGen\TGParser.cpp(1243) : error C2668: 'llvm::make_unique' : ambiguous call to overloaded function
C:\b\build\slave\CrWinClang\build\src\third_party\llvm\include\llvm/ADT/STLExtras.h(408): could be 'std::unique_ptr<llvm::Record,std::default_delete<_Ty>> llvm::make_unique<llvm::Record,std::string,llvm::SMLoc&,llvm::RecordKeeper&,bool>(std::string &&,llvm::SMLoc &,llvm::RecordKeeper &,bool &&)'
with
[
_Ty=llvm::Record
]
C:\b\depot_tools\win_toolchain\vs2013_files\win8sdk\bin\..\..\VC\include\memory(1637): or 'std::unique_ptr<llvm::Record,std::default_delete<_Ty>> std::make_unique<llvm::Record,std::string,llvm::SMLoc&,llvm::RecordKeeper&,bool>(std::string &&,llvm::SMLoc &,llvm::RecordKeeper &,bool &&)' [found using argument-dependent lookup]
with
[
_Ty=llvm::Record
]
while trying to match the argument list '(std::string, llvm::SMLoc, llvm::RecordKeeper, bool)'
llvm-svn: 222967
Diffstat (limited to 'llvm/lib/TableGen/TGParser.cpp')
-rw-r--r-- | llvm/lib/TableGen/TGParser.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/TableGen/TGParser.cpp b/llvm/lib/TableGen/TGParser.cpp index fbb4184..cef7f96 100644 --- a/llvm/lib/TableGen/TGParser.cpp +++ b/llvm/lib/TableGen/TGParser.cpp @@ -1239,8 +1239,8 @@ Init *TGParser::ParseSimpleValue(Record *CurRec, RecTy *ItemType, SMLoc EndLoc = Lex.getLoc(); // Create the new record, set it as CurRec temporarily. - auto NewRecOwner = make_unique<Record>(GetNewAnonymousName(), NameLoc, - Records, /*IsAnonymous=*/true); + auto NewRecOwner = llvm::make_unique<Record>(GetNewAnonymousName(), NameLoc, + Records, /*IsAnonymous=*/true); Record *NewRec = NewRecOwner.get(); // Keep a copy since we may release. SubClassReference SCRef; SCRef.RefRange = SMRange(NameLoc, EndLoc); @@ -2033,8 +2033,8 @@ bool TGParser::ParseDef(MultiClass *CurMultiClass) { if (Name) CurRecOwner = make_unique<Record>(Name, DefLoc, Records); else - CurRecOwner = make_unique<Record>(GetNewAnonymousName(), DefLoc, Records, - /*IsAnonymous=*/true); + CurRecOwner = llvm::make_unique<Record>(GetNewAnonymousName(), DefLoc, + Records, /*IsAnonymous=*/true); Record *CurRec = CurRecOwner.get(); // Keep a copy since we may release. if (!CurMultiClass && Loops.empty()) { |