summaryrefslogtreecommitdiffstats
path: root/llvm/lib/TableGen/TGParser.h
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2014-11-30 01:20:17 +0000
committerCraig Topper <craig.topper@gmail.com>2014-11-30 01:20:17 +0000
commit4ca4001d442015b00f56abc7ccdba732b2a0b922 (patch)
treecccb9e546eeac43bb3310a13d41f69c257f8f0fe /llvm/lib/TableGen/TGParser.h
parent854df468fbd7139efe0188c75c361a39a0c8edd4 (diff)
downloadbcm5719-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.h2
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.
///
OpenPOWER on IntegriCloud