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