summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Remarks/RemarkParser.cpp
diff options
context:
space:
mode:
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>2019-10-16 15:40:59 +0000
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>2019-10-16 15:40:59 +0000
commit684605ec0ea2e9b162e353e13708b01e2decf3f0 (patch)
treeb2a94f560cf7a3a88ec2e60362fa587c114ab504 /llvm/lib/Remarks/RemarkParser.cpp
parentec51851026a55e1cfc7f006f0e75f0a19acb32d3 (diff)
downloadbcm5719-llvm-684605ec0ea2e9b162e353e13708b01e2decf3f0.tar.gz
bcm5719-llvm-684605ec0ea2e9b162e353e13708b01e2decf3f0.zip
[Remarks] Add support for prepending a path to external files
This helps with testing and debugging for paths that are assumed absolute. It also uses a FileError to provide the file path it's trying to open. llvm-svn: 375008
Diffstat (limited to 'llvm/lib/Remarks/RemarkParser.cpp')
-rw-r--r--llvm/lib/Remarks/RemarkParser.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/Remarks/RemarkParser.cpp b/llvm/lib/Remarks/RemarkParser.cpp
index 600f415e9b5..c5c3d0badd3 100644
--- a/llvm/lib/Remarks/RemarkParser.cpp
+++ b/llvm/lib/Remarks/RemarkParser.cpp
@@ -86,16 +86,19 @@ llvm::remarks::createRemarkParser(Format ParserFormat, StringRef Buf,
}
Expected<std::unique_ptr<RemarkParser>>
-llvm::remarks::createRemarkParserFromMeta(Format ParserFormat, StringRef Buf,
- Optional<ParsedStringTable> StrTab) {
+llvm::remarks::createRemarkParserFromMeta(
+ Format ParserFormat, StringRef Buf, Optional<ParsedStringTable> StrTab,
+ Optional<StringRef> ExternalFilePrependPath) {
switch (ParserFormat) {
// Depending on the metadata, the format can be either yaml or yaml-strtab,
// regardless of the input argument.
case Format::YAML:
case Format::YAMLStrTab:
- return createYAMLParserFromMeta(Buf, std::move(StrTab));
+ return createYAMLParserFromMeta(Buf, std::move(StrTab),
+ std::move(ExternalFilePrependPath));
case Format::Bitstream:
- return createBitstreamParserFromMeta(Buf, std::move(StrTab));
+ return createBitstreamParserFromMeta(Buf, std::move(StrTab),
+ std::move(ExternalFilePrependPath));
case Format::Unknown:
return createStringError(std::make_error_code(std::errc::invalid_argument),
"Unknown remark parser format.");
OpenPOWER on IntegriCloud