diff --git a/flang/test/Semantics/typeinfo01.f90 b/flang/test/Semantics/typeinfo01.f90 --- a/flang/test/Semantics/typeinfo01.f90 +++ b/flang/test/Semantics/typeinfo01.f90 @@ -1,3 +1,4 @@ +!RUN: %bbc --dump-symbols %s | FileCheck %s !RUN: %flang_fc1 -fdebug-dump-symbols %s | FileCheck %s ! Tests for derived type runtime descriptions diff --git a/flang/tools/bbc/bbc.cpp b/flang/tools/bbc/bbc.cpp --- a/flang/tools/bbc/bbc.cpp +++ b/flang/tools/bbc/bbc.cpp @@ -106,6 +106,10 @@ llvm::cl::desc("warnings are errors"), llvm::cl::init(false)); +static llvm::cl::opt dumpSymbols("dump-symbols", + llvm::cl::desc("dump the symbol table"), + llvm::cl::init(false)); + static llvm::cl::opt pftDumpTest( "pft-test", llvm::cl::desc("parse the input, create a PFT, dump it, and exit"), @@ -188,6 +192,8 @@ llvm::errs() << programPrefix << "could not find module file for __fortran_type_info\n"; } + if (dumpSymbols) + semantics.DumpSymbols(llvm::outs()); if (pftDumpTest) { if (auto ast = Fortran::lower::createPFT(parseTree, semanticsContext)) {