From dc52f17a305522e082492ae9c70d16e83303ab66 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 7 Oct 2006 07:15:19 +0000 Subject: [PATCH] regenerate git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30799 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/FileParser.cpp.cvs | 211 +++++++++++++++--------------- utils/TableGen/FileParser.y.cvs | 3 +- 2 files changed, 108 insertions(+), 106 deletions(-) diff --git a/utils/TableGen/FileParser.cpp.cvs b/utils/TableGen/FileParser.cpp.cvs index db588f1483f..818933a3fc3 100644 --- a/utils/TableGen/FileParser.cpp.cvs +++ b/utils/TableGen/FileParser.cpp.cvs @@ -1,5 +1,5 @@ -/* A Bison parser, made from /Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y +/* A Bison parser, made from /Users/sabre/cvs/llvm/utils/TableGen/FileParser.y by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ @@ -35,7 +35,7 @@ #define STRVAL 278 #define CODEFRAGMENT 279 -#line 14 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 14 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" #include "Record.h" #include "llvm/ADT/StringExtras.h" @@ -115,7 +115,8 @@ static void setValue(const std::string &ValName, std::vector *BitList, Init *V) { if (!V) return; - RecordVal *RV = CurRec->getValue(ValName); + Record *TheRec = getActiveRec(); + RecordVal *RV = TheRec->getValue(ValName); if (RV == 0) { err() << "Value '" << ValName << "' unknown!\n"; exit(1); @@ -229,7 +230,7 @@ static void addSubClass(Record *SC, const std::vector &TemplateArgs) { using namespace llvm; -#line 208 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 209 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" typedef union { std::string* StrVal; int IntVal; @@ -343,17 +344,17 @@ static const short yyrhs[] = { 22, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 244, 266, 268, 270, 272, 274, 276, 278, 280, 284, - 284, 286, 286, 288, 311, 313, 315, 318, 321, 323, - 336, 364, 371, 374, 381, 384, 392, 394, 396, 398, - 402, 405, 409, 414, 420, 423, 426, 429, 442, 456, - 458, 471, 487, 489, 489, 493, 495, 499, 502, 506, - 523, 525, 531, 531, 532, 532, 534, 536, 540, 545, - 550, 553, 557, 560, 565, 566, 566, 568, 568, 570, - 577, 595, 620, 634, 639, 641, 643, 647, 657, 671, - 674, 678, 689, 691, 693, 698, 698, 764, 764, 765, - 765, 767, 772, 772, 775, 775, 778, 781, 785, 785, - 787 + 245, 267, 269, 271, 273, 275, 277, 279, 281, 285, + 285, 287, 287, 289, 312, 314, 316, 319, 322, 324, + 337, 365, 372, 375, 382, 385, 393, 395, 397, 399, + 403, 406, 410, 415, 421, 424, 427, 430, 443, 457, + 459, 472, 488, 490, 490, 494, 496, 500, 503, 507, + 524, 526, 532, 532, 533, 533, 535, 537, 541, 546, + 551, 554, 558, 561, 566, 567, 567, 569, 569, 571, + 578, 596, 621, 635, 640, 642, 644, 648, 658, 672, + 675, 679, 690, 692, 694, 699, 699, 765, 765, 766, + 766, 768, 773, 773, 776, 776, 779, 782, 786, 786, + 788 }; #endif @@ -1058,7 +1059,7 @@ yyreduce: switch (yyn) { case 1: -#line 244 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 245 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { if (CurDefmPrefix) { // If CurDefmPrefix is set, we're parsing a defm, which means that this is @@ -1080,71 +1081,71 @@ case 1: ; break;} case 2: -#line 266 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 267 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // string type yyval.Ty = new StringRecTy(); ; break;} case 3: -#line 268 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 269 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // bit type yyval.Ty = new BitRecTy(); ; break;} case 4: -#line 270 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 271 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // bits type yyval.Ty = new BitsRecTy(yyvsp[-1].IntVal); ; break;} case 5: -#line 272 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 273 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // int type yyval.Ty = new IntRecTy(); ; break;} case 6: -#line 274 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 275 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // list type yyval.Ty = new ListRecTy(yyvsp[-1].Ty); ; break;} case 7: -#line 276 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 277 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // code type yyval.Ty = new CodeRecTy(); ; break;} case 8: -#line 278 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 279 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // dag type yyval.Ty = new DagRecTy(); ; break;} case 9: -#line 280 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 281 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // Record Type yyval.Ty = new RecordRecTy(yyvsp[0].Rec); ; break;} case 10: -#line 284 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 285 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.IntVal = 0; ; break;} case 11: -#line 284 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 285 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.IntVal = 1; ; break;} case 12: -#line 286 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 287 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = 0; ; break;} case 13: -#line 286 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 287 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = yyvsp[0].Initializer; ; break;} case 14: -#line 288 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 289 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { if (const RecordVal *RV = (CurRec ? CurRec->getValue(*yyvsp[0].StrVal) : 0)) { yyval.Initializer = new VarInit(*yyvsp[0].StrVal, RV->getType()); @@ -1169,39 +1170,39 @@ case 14: ; break;} case 15: -#line 311 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 312 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = yyvsp[0].Initializer; ; break;} case 16: -#line 313 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 314 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = new IntInit(yyvsp[0].IntVal); ; break;} case 17: -#line 315 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 316 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = new StringInit(*yyvsp[0].StrVal); delete yyvsp[0].StrVal; ; break;} case 18: -#line 318 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 319 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = new CodeInit(*yyvsp[0].StrVal); delete yyvsp[0].StrVal; ; break;} case 19: -#line 321 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 322 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = new UnsetInit(); ; break;} case 20: -#line 323 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 324 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { BitsInit *Init = new BitsInit(yyvsp[-1].FieldList->size()); for (unsigned i = 0, e = yyvsp[-1].FieldList->size(); i != e; ++i) { @@ -1218,7 +1219,7 @@ case 20: ; break;} case 21: -#line 336 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 337 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // This is a CLASS expression. This is supposed to synthesize // a new anonymous definition, deriving from CLASS with no @@ -1250,7 +1251,7 @@ case 21: ; break;} case 22: -#line 364 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 365 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = yyvsp[-3].Initializer->convertInitializerBitRange(*yyvsp[-1].BitList); if (yyval.Initializer == 0) { @@ -1261,14 +1262,14 @@ case 22: ; break;} case 23: -#line 371 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 372 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = new ListInit(*yyvsp[-1].FieldList); delete yyvsp[-1].FieldList; ; break;} case 24: -#line 374 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 375 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { if (!yyvsp[-2].Initializer->getFieldType(*yyvsp[0].StrVal)) { err() << "Cannot access field '" << *yyvsp[0].StrVal << "' of value '" << *yyvsp[-2].Initializer << "!\n"; @@ -1279,14 +1280,14 @@ case 24: ; break;} case 25: -#line 381 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 382 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = new DagInit(yyvsp[-2].Initializer, *yyvsp[-1].DagValueList); delete yyvsp[-1].DagValueList; ; break;} case 26: -#line 384 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 385 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { std::reverse(yyvsp[-1].BitList->begin(), yyvsp[-1].BitList->end()); yyval.Initializer = yyvsp[-3].Initializer->convertInitListSlice(*yyvsp[-1].BitList); @@ -1298,43 +1299,43 @@ case 26: ; break;} case 27: -#line 392 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 393 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = (new BinOpInit(BinOpInit::SHL, yyvsp[-3].Initializer, yyvsp[-1].Initializer))->Fold(); ; break;} case 28: -#line 394 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 395 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = (new BinOpInit(BinOpInit::SRA, yyvsp[-3].Initializer, yyvsp[-1].Initializer))->Fold(); ; break;} case 29: -#line 396 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 397 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = (new BinOpInit(BinOpInit::SRL, yyvsp[-3].Initializer, yyvsp[-1].Initializer))->Fold(); ; break;} case 30: -#line 398 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 399 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Initializer = (new BinOpInit(BinOpInit::STRCONCAT, yyvsp[-3].Initializer, yyvsp[-1].Initializer))->Fold(); ; break;} case 31: -#line 402 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 403 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.StrVal = new std::string(); ; break;} case 32: -#line 405 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 406 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.StrVal = yyvsp[0].StrVal; ; break;} case 33: -#line 409 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 410 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.DagValueList = new std::vector >(); yyval.DagValueList->push_back(std::make_pair(yyvsp[-1].Initializer, *yyvsp[0].StrVal)); @@ -1342,7 +1343,7 @@ case 33: ; break;} case 34: -#line 414 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 415 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyvsp[-3].DagValueList->push_back(std::make_pair(yyvsp[-1].Initializer, *yyvsp[0].StrVal)); delete yyvsp[0].StrVal; @@ -1350,24 +1351,24 @@ case 34: ; break;} case 35: -#line 420 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 421 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.DagValueList = new std::vector >(); ; break;} case 36: -#line 423 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 424 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.DagValueList = yyvsp[0].DagValueList; ; break;} case 37: -#line 426 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 427 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.BitList = new std::vector(); yyval.BitList->push_back(yyvsp[0].IntVal); ; break;} case 38: -#line 429 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 430 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { if (yyvsp[-2].IntVal < 0 || yyvsp[0].IntVal < 0) { err() << "Invalid range: " << yyvsp[-2].IntVal << "-" << yyvsp[0].IntVal << "!\n"; @@ -1384,7 +1385,7 @@ case 38: ; break;} case 39: -#line 442 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 443 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyvsp[0].IntVal = -yyvsp[0].IntVal; if (yyvsp[-1].IntVal < 0 || yyvsp[0].IntVal < 0) { @@ -1402,13 +1403,13 @@ case 39: ; break;} case 40: -#line 456 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 457 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { (yyval.BitList=yyvsp[-2].BitList)->push_back(yyvsp[0].IntVal); ; break;} case 41: -#line 458 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 459 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { if (yyvsp[-2].IntVal < 0 || yyvsp[0].IntVal < 0) { err() << "Invalid range: " << yyvsp[-2].IntVal << "-" << yyvsp[0].IntVal << "!\n"; @@ -1425,7 +1426,7 @@ case 41: ; break;} case 42: -#line 471 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 472 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyvsp[0].IntVal = -yyvsp[0].IntVal; if (yyvsp[-1].IntVal < 0 || yyvsp[0].IntVal < 0) { @@ -1443,44 +1444,44 @@ case 42: ; break;} case 43: -#line 487 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 488 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.BitList = yyvsp[0].BitList; std::reverse(yyvsp[0].BitList->begin(), yyvsp[0].BitList->end()); ; break;} case 44: -#line 489 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 490 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.BitList = 0; ; break;} case 45: -#line 489 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 490 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.BitList = yyvsp[-1].BitList; ; break;} case 46: -#line 493 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 494 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.FieldList = new std::vector(); ; break;} case 47: -#line 495 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 496 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.FieldList = yyvsp[0].FieldList; ; break;} case 48: -#line 499 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 500 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.FieldList = new std::vector(); yyval.FieldList->push_back(yyvsp[0].Initializer); ; break;} case 49: -#line 502 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 503 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { (yyval.FieldList = yyvsp[-2].FieldList)->push_back(yyvsp[0].Initializer); ; break;} case 50: -#line 506 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 507 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { std::string DecName = *yyvsp[-1].StrVal; if (ParsingTemplateArgs) { @@ -1499,13 +1500,13 @@ case 50: ; break;} case 51: -#line 523 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 524 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { delete yyvsp[-1].StrVal; ; break;} case 52: -#line 525 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 526 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { setValue(*yyvsp[-4].StrVal, yyvsp[-3].BitList, yyvsp[-1].Initializer); delete yyvsp[-4].StrVal; @@ -1513,19 +1514,19 @@ case 52: ; break;} case 57: -#line 534 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 535 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.SubClassRef = new SubClassRefTy(yyvsp[0].Rec, new std::vector()); ; break;} case 58: -#line 536 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 537 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.SubClassRef = new SubClassRefTy(yyvsp[-3].Rec, yyvsp[-1].FieldList); ; break;} case 59: -#line 540 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 541 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.SubClassList = new std::vector(); yyval.SubClassList->push_back(*yyvsp[0].SubClassRef); @@ -1533,52 +1534,52 @@ case 59: ; break;} case 60: -#line 545 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 546 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { (yyval.SubClassList=yyvsp[-2].SubClassList)->push_back(*yyvsp[0].SubClassRef); delete yyvsp[0].SubClassRef; ; break;} case 61: -#line 550 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 551 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.SubClassList = new std::vector(); ; break;} case 62: -#line 553 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 554 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.SubClassList = yyvsp[0].SubClassList; ; break;} case 63: -#line 557 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 558 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { getActiveRec()->addTemplateArg(*yyvsp[0].StrVal); delete yyvsp[0].StrVal; ; break;} case 64: -#line 560 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 561 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { getActiveRec()->addTemplateArg(*yyvsp[0].StrVal); delete yyvsp[0].StrVal; ; break;} case 65: -#line 565 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 566 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" {; break;} case 68: -#line 568 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 569 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.StrVal = yyvsp[0].StrVal; ; break;} case 69: -#line 568 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 569 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.StrVal = new std::string(); ; break;} case 70: -#line 570 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 571 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { static unsigned AnonCounter = 0; if (yyvsp[0].StrVal->empty()) @@ -1587,7 +1588,7 @@ case 70: ; break;} case 71: -#line 577 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 578 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // If a class of this name already exists, it must be a forward ref. if ((CurRec = Records.getClass(*yyvsp[0].StrVal))) { @@ -1607,7 +1608,7 @@ case 71: ; break;} case 72: -#line 595 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 596 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { CurRec = new Record(*yyvsp[0].StrVal); delete yyvsp[0].StrVal; @@ -1634,7 +1635,7 @@ case 72: ; break;} case 73: -#line 620 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 621 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { for (unsigned i = 0, e = yyvsp[0].SubClassList->size(); i != e; ++i) { addSubClass((*yyvsp[0].SubClassList)[i].first, *(*yyvsp[0].SubClassList)[i].second); @@ -1652,32 +1653,32 @@ case 73: ; break;} case 74: -#line 634 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 635 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Rec = CurRec; CurRec = 0; ; break;} case 75: -#line 639 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 640 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { ParsingTemplateArgs = true; ; break;} case 76: -#line 641 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 642 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { ParsingTemplateArgs = false; ; break;} case 77: -#line 643 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 644 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Rec = yyvsp[0].Rec; ; break;} case 78: -#line 647 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 648 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { if (CurMultiClass == 0) // Def's in multiclasses aren't really defs. yyvsp[0].Rec->resolveReferences(); @@ -1688,7 +1689,7 @@ case 78: ; break;} case 79: -#line 657 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 658 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.Rec = yyvsp[0].Rec; // Copy the template arguments for the multiclass into the def. @@ -1702,20 +1703,20 @@ case 79: ; break;} case 80: -#line 671 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 672 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.RecList = new std::vector(); yyval.RecList->push_back(yyvsp[0].Rec); ; break;} case 81: -#line 674 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 675 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { yyval.RecList->push_back(yyvsp[0].Rec); ; break;} case 82: -#line 678 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 679 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { MultiClass *&MCE = MultiClasses[*yyvsp[0].StrVal]; if (MCE) { @@ -1727,29 +1728,29 @@ case 82: ; break;} case 83: -#line 689 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 690 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { ParsingTemplateArgs = true; ; break;} case 84: -#line 691 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 692 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { ParsingTemplateArgs = false; ; break;} case 85: -#line 693 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 694 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { CurMultiClass = 0; ; break;} case 86: -#line 698 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 699 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { CurDefmPrefix = yyvsp[0].StrVal; ; break;} case 87: -#line 698 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 699 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { // To instantiate a multiclass, we need to first get the multiclass, then // instantiate each def contained in the multiclass with the SubClassRef @@ -1817,42 +1818,42 @@ case 87: ; break;} case 88: -#line 764 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 765 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" {; break;} case 89: -#line 764 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 765 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" {; break;} case 92: -#line 767 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 768 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { LetStack.back().push_back(LetRecord(*yyvsp[-3].StrVal, yyvsp[-2].BitList, yyvsp[0].Initializer)); delete yyvsp[-3].StrVal; delete yyvsp[-2].BitList; ; break;} case 95: -#line 775 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 776 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { LetStack.push_back(std::vector()); ; break;} case 97: -#line 778 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 779 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { LetStack.pop_back(); ; break;} case 98: -#line 781 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 782 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" { LetStack.pop_back(); ; break;} case 99: -#line 785 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 786 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" {; break;} case 100: -#line 785 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 786 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" {; break;} } @@ -2077,7 +2078,7 @@ yyerrhandle: } return 1; } -#line 789 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y" +#line 790 "/Users/sabre/cvs/llvm/utils/TableGen/FileParser.y" int yyerror(const char *ErrorMsg) { diff --git a/utils/TableGen/FileParser.y.cvs b/utils/TableGen/FileParser.y.cvs index 205fee45ce1..c0e478d210a 100644 --- a/utils/TableGen/FileParser.y.cvs +++ b/utils/TableGen/FileParser.y.cvs @@ -90,7 +90,8 @@ static void setValue(const std::string &ValName, std::vector *BitList, Init *V) { if (!V) return; - RecordVal *RV = CurRec->getValue(ValName); + Record *TheRec = getActiveRec(); + RecordVal *RV = TheRec->getValue(ValName); if (RV == 0) { err() << "Value '" << ValName << "' unknown!\n"; exit(1);