diff options
| author | Francis Visoiu Mistrih <francisvm@yahoo.com> | 2019-10-16 15:40:59 +0000 |
|---|---|---|
| committer | Francis Visoiu Mistrih <francisvm@yahoo.com> | 2019-10-16 15:40:59 +0000 |
| commit | 684605ec0ea2e9b162e353e13708b01e2decf3f0 (patch) | |
| tree | b2a94f560cf7a3a88ec2e60362fa587c114ab504 /llvm/lib/Remarks/RemarkParser.cpp | |
| parent | ec51851026a55e1cfc7f006f0e75f0a19acb32d3 (diff) | |
| download | bcm5719-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.cpp | 11 |
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."); |

