diff options
author | Chris Lattner <sabre@nondot.org> | 2009-03-13 16:09:24 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-03-13 16:09:24 +0000 |
commit | 7b9ffe4a6db2e59c18510aac4ba30902653e13eb (patch) | |
tree | f626b383d32e32f761d3134f2f6a2c1cab7e58c1 /utils/TableGen/TGParser.cpp | |
parent | 1c8ae59dfdc85d917db0333ae0b93e2be4ca6c36 (diff) | |
download | llvm-7b9ffe4a6db2e59c18510aac4ba30902653e13eb.tar.gz llvm-7b9ffe4a6db2e59c18510aac4ba30902653e13eb.tar.bz2 llvm-7b9ffe4a6db2e59c18510aac4ba30902653e13eb.tar.xz |
give each Record a location.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66897 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/TGParser.cpp')
-rw-r--r-- | utils/TableGen/TGParser.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/utils/TableGen/TGParser.cpp b/utils/TableGen/TGParser.cpp index d3eaa929a0..1fa8272727 100644 --- a/utils/TableGen/TGParser.cpp +++ b/utils/TableGen/TGParser.cpp @@ -27,7 +27,7 @@ struct MultiClass { Record Rec; // Placeholder for template args and Name. std::vector<Record*> DefPrototypes; - MultiClass(const std::string &Name) : Rec(Name) {} + MultiClass(const std::string &Name, TGLoc Loc) : Rec(Name, Loc) {} }; struct SubClassReference { @@ -570,7 +570,7 @@ Init *TGParser::ParseSimpleValue(Record *CurRec) { // Create the new record, set it as CurRec temporarily. static unsigned AnonCounter = 0; - Record *NewRec = new Record("anonymous.val."+utostr(AnonCounter++)); + Record *NewRec = new Record("anonymous.val."+utostr(AnonCounter++),NameLoc); SubClassReference SCRef; SCRef.RefLoc = NameLoc; SCRef.Rec = Class; @@ -1039,7 +1039,7 @@ llvm::Record *TGParser::ParseDef(MultiClass *CurMultiClass) { Lex.Lex(); // Eat the 'def' token. // Parse ObjectName and make a record for it. - Record *CurRec = new Record(ParseObjectName()); + Record *CurRec = new Record(ParseObjectName(), DefLoc); if (!CurMultiClass) { // Top-level def definition. @@ -1093,7 +1093,7 @@ bool TGParser::ParseClass() { return TokError("Class '" + CurRec->getName() + "' already defined"); } else { // If this is the first reference to this class, create and add it. - CurRec = new Record(Lex.getCurStrVal()); + CurRec = new Record(Lex.getCurStrVal(), Lex.getLoc()); Records.addClass(CurRec); } Lex.Lex(); // eat the name. @@ -1232,7 +1232,7 @@ bool TGParser::ParseMultiClass() { if (MultiClasses.count(Name)) return TokError("multiclass '" + Name + "' already defined"); - CurMultiClass = MultiClasses[Name] = new MultiClass(Name); + CurMultiClass = MultiClasses[Name] = new MultiClass(Name, Lex.getLoc()); Lex.Lex(); // Eat the identifier. // If there are template args, parse them. @@ -1299,7 +1299,7 @@ bool TGParser::ParseDefm() { Record *DefProto = MC->DefPrototypes[i]; // Add the suffix to the defm name to get the new name. - Record *CurRec = new Record(DefmPrefix + DefProto->getName()); + Record *CurRec = new Record(DefmPrefix + DefProto->getName(),DefmPrefixLoc); SubClassReference Ref; Ref.RefLoc = DefmPrefixLoc; |