summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-02-13 01:26:47 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-02-13 01:26:47 +0000
commit19fc5ed7db7bea9cd51345667d708b494258cbf7 (patch)
tree16f6e748a31650bfb5821273eacaf8a220bf17e8 /llvm/lib/Bitcode/Reader
parentc1f1acc7514fc534f72e55220463cfdedfdd1cb2 (diff)
downloadbcm5719-llvm-19fc5ed7db7bea9cd51345667d708b494258cbf7.tar.gz
bcm5719-llvm-19fc5ed7db7bea9cd51345667d708b494258cbf7.zip
AsmWriter/Bitcode: MDSubprogram
llvm-svn: 229014
Diffstat (limited to 'llvm/lib/Bitcode/Reader')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index d1c122f70ab..12996d19e0d 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -1452,6 +1452,22 @@ std::error_code BitcodeReader::ParseMetadata() {
NextMDValueNo++);
break;
}
+ case bitc::METADATA_SUBPROGRAM: {
+ if (Record.size() != 19)
+ return Error("Invalid record");
+
+ MDValueList.AssignValue(
+ GET_OR_DISTINCT(
+ MDSubprogram, Record[0],
+ (Context, getMDOrNull(Record[1]), getMDString(Record[2]),
+ getMDString(Record[3]), getMDOrNull(Record[4]), Record[5],
+ getMDOrNull(Record[6]), Record[7], Record[8], Record[9],
+ getMDOrNull(Record[10]), Record[11], Record[12], Record[13],
+ Record[14], getMDOrNull(Record[15]), getMDOrNull(Record[16]),
+ getMDOrNull(Record[17]), getMDOrNull(Record[18]))),
+ NextMDValueNo++);
+ break;
+ }
case bitc::METADATA_STRING: {
std::string String(Record.begin(), Record.end());
llvm::UpgradeMDStringConstant(String);
OpenPOWER on IntegriCloud