aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-10-22 06:01:08 +0000
committerChris Lattner <sabre@nondot.org>2001-10-22 06:01:08 +0000
commit822695901fce5a010dda2a4d9e0b217ca0e3cfd7 (patch)
treec6fdbc70bdd3c2ffab9ea080e340b385ebb0c59c
parent4a42e909cdff881f6d389f9ec3e0b04b85a73bdd (diff)
Remove ugly subclass of Opaque type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@936 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/AsmParser/ParserInternals.h10
-rw-r--r--lib/AsmParser/llvmAsmParser.y10
2 files changed, 4 insertions, 16 deletions
diff --git a/lib/AsmParser/ParserInternals.h b/lib/AsmParser/ParserInternals.h
index cc37bd9bf9..fe422d0744 100644
--- a/lib/AsmParser/ParserInternals.h
+++ b/lib/AsmParser/ParserInternals.h
@@ -160,13 +160,6 @@ public:
int getLineNum() const { return LineNum; }
};
-struct TypePlaceHolderHelper : public OpaqueType {
- TypePlaceHolderHelper(const Type *Ty) : OpaqueType() {
- assert(Ty == Type::TypeTy);
- }
-};
-
-
struct InstPlaceHolderHelper : public Instruction {
InstPlaceHolderHelper(const Type *Ty) : Instruction(Ty, UserOp1, "") {}
@@ -184,7 +177,6 @@ struct MethPlaceHolderHelper : public Method {
MethPlaceHolderHelper(const Type *Ty) : Method(cast<const MethodType>(Ty)) {}
};
-typedef PlaceholderValue<TypePlaceHolderHelper> TypePlaceHolder;
typedef PlaceholderValue<InstPlaceHolderHelper> ValuePlaceHolder;
typedef PlaceholderValue<BBPlaceHolderHelper> BBPlaceHolder;
@@ -195,7 +187,6 @@ static inline ValID &getValIDFromPlaceHolder(const Value *Val) {
Ty = cast<PointerType>(Ty)->getValueType();
switch (Ty->getPrimitiveID()) {
- case Type::TypeTyID: return ((TypePlaceHolder*)Val)->getDef();
case Type::LabelTyID: return ((BBPlaceHolder*)Val)->getDef();
default: return ((ValuePlaceHolder*)Val)->getDef();
}
@@ -208,7 +199,6 @@ static inline int getLineNumFromPlaceHolder(const Value *Val) {
Ty = cast<PointerType>(Ty)->getValueType();
switch (Ty->getPrimitiveID()) {
- case Type::TypeTyID: return ((TypePlaceHolder*)Val)->getLineNum();
case Type::LabelTyID: return ((BBPlaceHolder*)Val)->getLineNum();
default: return ((ValuePlaceHolder*)Val)->getLineNum();
}
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 60c966e1eb..7276acfcde 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -237,7 +237,7 @@ static const Type *getTypeVal(const ValID &D, bool DoNotImprovise = false) {
return I->second;
}
- Type *Typ = new TypePlaceHolder(Type::TypeTy, D);
+ Type *Typ = OpaqueType::get();
LateResolver.insert(make_pair(D, Typ));
return Typ;
}
@@ -473,14 +473,12 @@ static void ResolveTypeTo(char *Name, const Type *ToTy) {
//
static void ResolveTypes(map<ValID, PATypeHolder<Type> > &LateResolveTypes) {
if (!LateResolveTypes.empty()) {
- ValID &DID = LateResolveTypes.begin()->first;
+ const ValID &DID = LateResolveTypes.begin()->first;
if (DID.Type == ValID::NameVal)
- ThrowException("Reference to an invalid type: '" +DID.getName() + "'",
- getLineNumFromPlaceHolder(Ty));
+ ThrowException("Reference to an invalid type: '" +DID.getName() + "'");
else
- ThrowException("Reference to an invalid type: #" + itostr(DID.Num),
- getLineNumFromPlaceHolder(Ty));
+ ThrowException("Reference to an invalid type: #" + itostr(DID.Num));
}
}