diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-09-01 22:55:40 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-09-01 22:55:40 +0000 |
commit | 551ccae044b0ff658fe629dd67edd5ffe75d10e8 (patch) | |
tree | d7fa643a1f1f12dbc4ee049bcc7a032a49b17d51 /lib/Bytecode/Reader/Reader.cpp | |
parent | ed543731fb385b55750d0c514d130a810339d739 (diff) | |
download | external_llvm-551ccae044b0ff658fe629dd67edd5ffe75d10e8.zip external_llvm-551ccae044b0ff658fe629dd67edd5ffe75d10e8.tar.gz external_llvm-551ccae044b0ff658fe629dd67edd5ffe75d10e8.tar.bz2 |
Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Reader/Reader.cpp')
-rw-r--r-- | lib/Bytecode/Reader/Reader.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp index f0b39d4..39f238c 100644 --- a/lib/Bytecode/Reader/Reader.cpp +++ b/lib/Bytecode/Reader/Reader.cpp @@ -24,7 +24,7 @@ #include "llvm/SymbolTable.h" #include "llvm/Bytecode/Format.h" #include "llvm/Support/GetElementPtrTypeIterator.h" -#include "Support/StringExtras.h" +#include "llvm/ADT/StringExtras.h" #include <sstream> using namespace llvm; @@ -428,14 +428,20 @@ Value * BytecodeReader::getValue(unsigned type, unsigned oNum, bool Create) { if (!Create) return 0; // Do not create a placeholder? + // Did we already create a place holder? std::pair<unsigned,unsigned> KeyValue(type, oNum); ForwardReferenceMap::iterator I = ForwardReferences.lower_bound(KeyValue); if (I != ForwardReferences.end() && I->first == KeyValue) return I->second; // We have already created this placeholder - Value *Val = new Argument(getType(type)); - ForwardReferences.insert(I, std::make_pair(KeyValue, Val)); - return Val; + // If the type exists (it should) + if (const Type* Ty = getType(type)) { + // Create the place holder + Value *Val = new Argument(Ty); + ForwardReferences.insert(I, std::make_pair(KeyValue, Val)); + return Val; + } + throw "Can't create placeholder for value of type slot #" + utostr(type); } /// This is just like getValue, but when a compaction table is in use, it |