From: Adam Nemet Date: Fri, 11 Nov 2016 01:08:02 +0000 (+0000) Subject: [opt-viewer] Add option to set source directory X-Git-Tag: llvmorg-4.0.0-rc1~4958 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=01823ea2de56227f90f0471b478acd46fe496b9b;p=platform%2Fupstream%2Fllvm.git [opt-viewer] Add option to set source directory llvm-svn: 286536 --- diff --git a/llvm/utils/opt-viewer/opt-viewer.py b/llvm/utils/opt-viewer/opt-viewer.py index 2b60a64..5c23ba1 100755 --- a/llvm/utils/opt-viewer/opt-viewer.py +++ b/llvm/utils/opt-viewer/opt-viewer.py @@ -19,6 +19,7 @@ from pygments.formatters import HtmlFormatter parser = argparse.ArgumentParser(description=desc) parser.add_argument('yaml_files', nargs='+') parser.add_argument('output_dir') +parser.add_argument('-source-dir', '-s', default='', help='set source directory') args = parser.parse_args() p = subprocess.Popen(['c++filt', '-n'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) @@ -115,8 +116,25 @@ class Missed(Remark): class SourceFileRenderer: def __init__(self, filename): - self.source_stream = open(filename) + existing_filename = None + if os.path.exists(filename): + existing_filename = filename + else: + fn = os.path.join(args.source_dir, filename) + if os.path.exists(fn): + existing_filename = fn + self.stream = open(os.path.join(args.output_dir, SourceFileRenderer.html_file_name(filename)), 'w') + if existing_filename: + self.source_stream = open(existing_filename) + else: + self.source_stream = None + print(''' + +

Unable to locate file {}

+ + '''.format(filename), file=self.stream) + self.html_formatter = HtmlFormatter() self.cpp_lexer = CppLexer() @@ -140,6 +158,9 @@ class SourceFileRenderer: '''.format(**locals()), file=self.stream) def render(self, line_remarks): + if not self.source_stream: + return + print('''