Add support for Set statements without {}'s.  Now we can just say
set Foo = bar in
  def blah: blahclass {}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7355 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/FileParser.y b/utils/TableGen/FileParser.y
index ab1819c..b0161f2 100644
--- a/utils/TableGen/FileParser.y
+++ b/utils/TableGen/FileParser.y
@@ -438,13 +438,20 @@
 
 Object : ClassInst | DefInst;
 
-// Support Set commands wrapping objects...
-Object : SET ID OptBitList '=' Value IN {
-            SetStack.push_back(std::make_pair(std::make_pair(*$2, $3), $5));
-	    delete $2;
-          } '{' ObjectList '}' {
-	    delete SetStack.back().first.second; // Delete OptBitList
-	    SetStack.pop_back();
+// SETCommand - A 'SET' statement start...
+SETCommand : SET ID OptBitList '=' Value IN {
+  SetStack.push_back(std::make_pair(std::make_pair(*$2, $3), $5));
+  delete $2;
+};
+
+// Support Set commands wrapping objects... both with and without braces.
+Object : SETCommand '{' ObjectList '}' {
+    delete SetStack.back().first.second; // Delete OptBitList
+    SetStack.pop_back();
+  }
+  | SETCommand Object {
+    delete SetStack.back().first.second; // Delete OptBitList
+    SetStack.pop_back();
   };
 
 ObjectList : Object {} | ObjectList Object {};