From: Chris Lattner Date: Mon, 2 Dec 2002 16:43:43 +0000 (+0000) Subject: Add support for field exprs X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=34a7769b0b53179c85854203e075b3c10267b154;p=llvm Add support for field exprs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4850 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/support/tools/TableGen/FileParser.y b/support/tools/TableGen/FileParser.y index 624a7978953..38efb83fa86 100644 --- a/support/tools/TableGen/FileParser.y +++ b/support/tools/TableGen/FileParser.y @@ -258,6 +258,13 @@ Value : INTVAL { } | '[' DefList ']' { $$ = new ListInit(*$2); delete $2; + } | Value '.' ID { + if (!$1->getFieldType(*$3)) { + err() << "Cannot access field '" << *$3 << "' of value '" << *$1 << "!\n"; + abort(); + } + $$ = new FieldInit($1, *$3); + delete $3; }; DefList : /*empty */ { diff --git a/utils/TableGen/FileParser.y b/utils/TableGen/FileParser.y index 624a7978953..38efb83fa86 100644 --- a/utils/TableGen/FileParser.y +++ b/utils/TableGen/FileParser.y @@ -258,6 +258,13 @@ Value : INTVAL { } | '[' DefList ']' { $$ = new ListInit(*$2); delete $2; + } | Value '.' ID { + if (!$1->getFieldType(*$3)) { + err() << "Cannot access field '" << *$3 << "' of value '" << *$1 << "!\n"; + abort(); + } + $$ = new FieldInit($1, *$3); + delete $3; }; DefList : /*empty */ {