diff --git a/llvm/projects/Stacker/lib/compiler/StackerCompiler.cpp b/llvm/projects/Stacker/lib/compiler/StackerCompiler.cpp index 1ca88da7750b..15bf13ee894f 100644 --- a/llvm/projects/Stacker/lib/compiler/StackerCompiler.cpp +++ b/llvm/projects/Stacker/lib/compiler/StackerCompiler.cpp @@ -114,6 +114,9 @@ StackerCompiler::compile( // 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 @@ StackerCompiler::compile( 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