X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FAsmParser%2FParserInternals.h;h=656d718e385a0934f2f4c6336577a68fefd59fab;hb=0e73ce6d94886f8fa64a5007e52ad11ec891d3ea;hp=750833fae83cde59b9dd020333840aa10d3d5a9c;hpb=7a1767520611d9ff6face702068de858e1cadf2c;p=oota-llvm.git diff --git a/lib/AsmParser/ParserInternals.h b/lib/AsmParser/ParserInternals.h index 750833fae83..656d718e385 100644 --- a/lib/AsmParser/ParserInternals.h +++ b/lib/AsmParser/ParserInternals.h @@ -8,14 +8,11 @@ #ifndef PARSER_INTERNALS_H #define PARSER_INTERNALS_H -#include #define __STDC_LIMIT_MACROS - -#include "llvm/InstrTypes.h" #include "llvm/BasicBlock.h" -#include "llvm/ConstantVals.h" +#include "llvm/Constants.h" #include "llvm/iOther.h" -#include "llvm/Method.h" +#include "llvm/Function.h" #include "llvm/DerivedTypes.h" #include "llvm/Assembly/Parser.h" #include "Support/StringExtras.h" @@ -23,12 +20,12 @@ class Module; // Global variables exported from the lexer... -extern FILE *llvmAsmin; +extern std::FILE *llvmAsmin; extern int llvmAsmlineno; // Globals exported by the parser... -extern string CurFilename; -Module *RunVMAsmParser(const string &Filename, FILE *F); +extern std::string CurFilename; +Module *RunVMAsmParser(const std::string &Filename, FILE *F); // UnEscapeLexed - Run through the specified buffer and change \xx codes to the @@ -47,7 +44,7 @@ char *UnEscapeLexed(char *Buffer, bool AllowNull = false); // This also helps me because I keep typing 'throw new ParseException' instead // of just 'throw ParseException'... sigh... // -static inline void ThrowException(const string &message, +static inline void ThrowException(const std::string &message, int LineNo = -1) { if (LineNo == -1) LineNo = llvmAsmlineno; // TODO: column number in exception @@ -64,8 +61,7 @@ static inline void ThrowException(const string &message, // struct ValID { enum { - NumberVal, NameVal, ConstSIntVal, ConstUIntVal, ConstStringVal, - ConstFPVal, ConstNullVal + NumberVal, NameVal, ConstSIntVal, ConstUIntVal, ConstFPVal, ConstNullVal } Type; union { @@ -92,10 +88,6 @@ struct ValID { ValID D; D.Type = ConstUIntVal; D.UConstPool64 = Val; return D; } - static ValID create_conststr(char *Name) { - ValID D; D.Type = ConstStringVal; D.Name = Name; return D; - } - static ValID create(double Val) { ValID D; D.Type = ConstFPVal; D.ConstPoolFP = Val; return D; } @@ -105,29 +97,29 @@ struct ValID { } inline void destroy() const { - if (Type == NameVal || Type == ConstStringVal) + if (Type == NameVal) free(Name); // Free this strdup'd memory... } inline ValID copy() const { - if (Type != NameVal && Type != ConstStringVal) return *this; + if (Type != NameVal) return *this; ValID Result = *this; Result.Name = strdup(Name); return Result; } - inline string getName() const { + inline std::string getName() const { switch (Type) { - case NumberVal : return string("#") + itostr(Num); + case NumberVal : return std::string("#") + itostr(Num); case NameVal : return Name; - case ConstStringVal: return string("\"") + Name + string("\""); case ConstFPVal : return ftostr(ConstPoolFP); case ConstNullVal : return "null"; case ConstUIntVal : - case ConstSIntVal : return string("%") + itostr(ConstPool64); + case ConstSIntVal : return std::string("%") + itostr(ConstPool64); default: assert(0 && "Unknown value!"); abort(); + return ""; } } @@ -135,7 +127,6 @@ struct ValID { if (Type != V.Type) return Type < V.Type; switch (Type) { case NumberVal: return Num < V.Num; - case ConstStringVal: case NameVal: return strcmp(Name, V.Name) < 0; case ConstSIntVal: return ConstPool64 < V.ConstPool64; case ConstUIntVal: return UConstPool64 < V.UConstPool64; @@ -163,19 +154,19 @@ public: struct InstPlaceHolderHelper : public Instruction { InstPlaceHolderHelper(const Type *Ty) : Instruction(Ty, UserOp1, "") {} - virtual Instruction *clone() const { abort(); } + virtual Instruction *clone() const { abort(); return 0; } virtual const char *getOpcodeName() const { return "placeholder"; } }; struct BBPlaceHolderHelper : public BasicBlock { BBPlaceHolderHelper(const Type *Ty) : BasicBlock() { - assert(Ty->isLabelType()); + assert(Ty == Type::LabelTy); } }; -struct MethPlaceHolderHelper : public Method { - MethPlaceHolderHelper(const Type *Ty) : Method(cast(Ty), - true) {} +struct MethPlaceHolderHelper : public Function { + MethPlaceHolderHelper(const Type *Ty) + : Function(cast(Ty), true) {} }; typedef PlaceholderValue ValuePlaceHolder; @@ -184,7 +175,7 @@ typedef PlaceholderValue BBPlaceHolder; static inline ValID &getValIDFromPlaceHolder(const Value *Val) { const Type *Ty = Val->getType(); if (isa(Ty) && - isa(cast(Ty)->getElementType())) + isa(cast(Ty)->getElementType())) Ty = cast(Ty)->getElementType(); switch (Ty->getPrimitiveID()) { @@ -196,7 +187,7 @@ static inline ValID &getValIDFromPlaceHolder(const Value *Val) { static inline int getLineNumFromPlaceHolder(const Value *Val) { const Type *Ty = Val->getType(); if (isa(Ty) && - isa(cast(Ty)->getElementType())) + isa(cast(Ty)->getElementType())) Ty = cast(Ty)->getElementType(); switch (Ty->getPrimitiveID()) {