aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Bitcode
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2009-10-22 19:36:54 +0000
committerDevang Patel <dpatel@apple.com>2009-10-22 19:36:54 +0000
commit9d89df169027035bf692b3d397bb93cff7bdc860 (patch)
tree7a51da6c1a08fe29ff3485b41b5a503fff641a6f /lib/Bitcode
parentf61b2371c8ec6e0ff2da8f2bd2a606ba755bb2fe (diff)
downloadexternal_llvm-9d89df169027035bf692b3d397bb93cff7bdc860.zip
external_llvm-9d89df169027035bf692b3d397bb93cff7bdc860.tar.gz
external_llvm-9d89df169027035bf692b3d397bb93cff7bdc860.tar.bz2
Hide MetadataContext implementation details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84886 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bitcode')
-rw-r--r--lib/Bitcode/Reader/BitcodeReader.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp
index 7f3be2b..3a385cb 100644
--- a/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -840,7 +840,15 @@ bool BitcodeReader::ParseMetadata() {
for (unsigned i = 1; i != RecordLength; ++i)
Name[i-1] = Record[i];
MetadataContext &TheMetadata = Context.getMetadata();
- TheMetadata.MDHandlerNames[Name.str()] = Kind;
+ unsigned ExistingKind = TheMetadata.getMDKind(Name.str());
+ if (ExistingKind == 0) {
+ unsigned NewKind = TheMetadata.registerMDKind(Name.str());
+ assert (Kind == NewKind
+ && "Unable to handle custom metadata mismatch!");
+ } else {
+ assert (ExistingKind == Kind
+ && "Unable to handle custom metadata mismatch!");
+ }
break;
}
}