Add dependent library support for Stacker. It now inserts "stkr_runtime" as
a dependent library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16040 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/projects/Stacker/lib/compiler/StackerCompiler.cpp b/projects/Stacker/lib/compiler/StackerCompiler.cpp
index 1ca88da..15bf13e 100644
--- a/projects/Stacker/lib/compiler/StackerCompiler.cpp
+++ b/projects/Stacker/lib/compiler/StackerCompiler.cpp
@@ -114,6 +114,9 @@
// Create the module we'll return
TheModule = new Module( CurFilename );
+ // Tell the module about our runtime library
+ TheModule->addLibrary("stkr_runtime");
+
// Create a type to represent the stack. This is the same as the LLVM
// Assembly type [ 256 x long ]
stack_type = ArrayType::get( Type::LongTy, stack_size );
@@ -245,12 +248,13 @@
TheInstance = this;
// Parse the file. The parser (see StackParser.y) will call back to
- // the StackCompiler via the "handle*" methods
+ // the StackerCompiler via the "handle*" methods
Stackerparse();
// Avoid potential illegal use (TheInstance might be on the stack)
TheInstance = 0;
+
} catch (...) {
if (F != stdin) fclose(F); // Make sure to close file descriptor
throw; // if an exception is thrown