diff options
author | Craig Topper <craig.topper@gmail.com> | 2014-11-30 01:20:17 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2014-11-30 01:20:17 +0000 |
commit | 4ca4001d442015b00f56abc7ccdba732b2a0b922 (patch) | |
tree | cccb9e546eeac43bb3310a13d41f69c257f8f0fe /llvm/lib/TableGen/TGParser.h | |
parent | 854df468fbd7139efe0188c75c361a39a0c8edd4 (diff) | |
download | bcm5719-llvm-4ca4001d442015b00f56abc7ccdba732b2a0b922.tar.gz bcm5719-llvm-4ca4001d442015b00f56abc7ccdba732b2a0b922.zip |
Revert r222957 "Replace std::map<K, V*> with std::map<K, V> to handle ownership and deletion of the values."
Upon further review I think the MultiClass is being copied into the map instead of being moved due to the copy constructor on the nested Record type. This ultimately got exposed when the vector in DefPrototype vector was changed to hold unique_ptrs in another commit. This caused gcc 4.7 to fail due to the use of the copy constructor on unique_ptr with the error pointing back to one of the insert calls from this commit. Not sure why clang was able to build.
This reverts commit 710cdf729f84b428bf41aa8d32dbdb35fff79fde.
llvm-svn: 222971
Diffstat (limited to 'llvm/lib/TableGen/TGParser.h')
-rw-r--r-- | llvm/lib/TableGen/TGParser.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/TableGen/TGParser.h b/llvm/lib/TableGen/TGParser.h index 45f418ab344..79994cbc1a6 100644 --- a/llvm/lib/TableGen/TGParser.h +++ b/llvm/lib/TableGen/TGParser.h @@ -55,7 +55,7 @@ namespace llvm { class TGParser { TGLexer Lex; std::vector<std::vector<LetRecord> > LetStack; - std::map<std::string, MultiClass> MultiClasses; + std::map<std::string, MultiClass*> MultiClasses; /// Loops - Keep track of any foreach loops we are within. /// |