//
//===----------------------------------------------------------------------===//
-#include "ParserInternals.h"
+#include "UpgradeInternals.h"
+#include "llvm/Module.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/Streams.h"
cl::init(false));
static cl::opt<bool>
-Debug("debug", cl::desc("Print debug output from yacc parser"),cl::Hidden,
- cl::init(false));
+Debug("debug-upgrade-yacc", cl::desc("Print debug output from yacc parser"),
+ cl::Hidden, cl::init(false));
int main(int argc, char **argv) {
llvm_shutdown_obj X; // Call llvm_shutdown() on exit.
- cl::ParseCommandLineOptions(argc, argv, " llvm .ll -> .bc assembler\n");
+ cl::ParseCommandLineOptions(argc, argv, "llvm .ll -> .bc assembler\n");
sys::PrintStackTraceOnErrorSignal();
int exitCode = 0;
return 1;
}
- UpgradeAssembly(InputFilename, *In, *Out, Debug, AddAttrs);
+ Module *M = UpgradeAssembly(InputFilename, *In, Debug, AddAttrs);
+ if (!M) {
+ cerr << argv[0] << ": No module returned from assembly parsing\n";
+ *Out << argv[0] << ": parse failed.";
+ exit(1);
+ }
+
+ // Finally, print the module on the output stream.
+ M->print(Out);
} catch (const std::string& caught_message) {
cerr << argv[0] << ": " << caught_message << "\n";