Linker.h revision d0fde30ce850b78371fd1386338350591f9ff494
148486893f46d2e12e926682a3ecb908716bc66c4Chris Lattner//===- llvm/Transforms/Utils/Linker.h - Module Linker Interface -*- C++ -*-===// 26fbcc26f1460eaee4e0eb8b426fc1ff0c7af11beJohn Criswell// 36fbcc26f1460eaee4e0eb8b426fc1ff0c7af11beJohn Criswell// The LLVM Compiler Infrastructure 46fbcc26f1460eaee4e0eb8b426fc1ff0c7af11beJohn Criswell// 56fbcc26f1460eaee4e0eb8b426fc1ff0c7af11beJohn Criswell// This file was developed by the LLVM research group and is distributed under 66fbcc26f1460eaee4e0eb8b426fc1ff0c7af11beJohn Criswell// the University of Illinois Open Source License. See LICENSE.TXT for details. 76fbcc26f1460eaee4e0eb8b426fc1ff0c7af11beJohn Criswell// 86fbcc26f1460eaee4e0eb8b426fc1ff0c7af11beJohn Criswell//===----------------------------------------------------------------------===// 91166b00316761df873db882c7212133f9b074d41Chris Lattner// 101166b00316761df873db882c7212133f9b074d41Chris Lattner// This file defines the interface to the module linker. 111166b00316761df873db882c7212133f9b074d41Chris Lattner// 121166b00316761df873db882c7212133f9b074d41Chris Lattner//===----------------------------------------------------------------------===// 131166b00316761df873db882c7212133f9b074d41Chris Lattner 14efbe5d682ba146a8fd5afc17bf3a027c32e7f7bdChris Lattner#ifndef LLVM_TRANSFORMATIONS_UTILS_LINKER_H 15efbe5d682ba146a8fd5afc17bf3a027c32e7f7bdChris Lattner#define LLVM_TRANSFORMATIONS_UTILS_LINKER_H 161166b00316761df873db882c7212133f9b074d41Chris Lattner 171166b00316761df873db882c7212133f9b074d41Chris Lattner#include <string> 18d0fde30ce850b78371fd1386338350591f9ff494Brian Gaeke 19d0fde30ce850b78371fd1386338350591f9ff494Brian Gaekenamespace llvm { 20d0fde30ce850b78371fd1386338350591f9ff494Brian Gaeke 211166b00316761df873db882c7212133f9b074d41Chris Lattnerclass Module; 224321ded265a20cb62fa5a99918dfc7d227094b8eVikram S. Adve 231166b00316761df873db882c7212133f9b074d41Chris Lattner// LinkModules - This function links two modules together, with the resulting 241166b00316761df873db882c7212133f9b074d41Chris Lattner// left module modified to be the composite of the two input modules. If an 251166b00316761df873db882c7212133f9b074d41Chris Lattner// error occurs, true is returned and ErrorMsg (if not null) is set to indicate 261166b00316761df873db882c7212133f9b074d41Chris Lattner// the problem. 271166b00316761df873db882c7212133f9b074d41Chris Lattner// 28697954c15da58bd8b186dbafdedd8b06db770201Chris Lattnerbool LinkModules(Module *Dest, const Module *Src, std::string *ErrorMsg = 0); 291166b00316761df873db882c7212133f9b074d41Chris Lattner 30d0fde30ce850b78371fd1386338350591f9ff494Brian Gaeke} // End llvm namespace 31d0fde30ce850b78371fd1386338350591f9ff494Brian Gaeke 321166b00316761df873db882c7212133f9b074d41Chris Lattner#endif 33fa2c50324ef7971bbc81efccb4f5cbd423f2e525Chris Lattner 34