[llvm-rc] Add support for the optional CLASS statement for dialogs

Differential Revision: https://reviews.llvm.org/D46875

llvm-svn: 332386
diff --git a/llvm/tools/llvm-rc/ResourceScriptStmt.h b/llvm/tools/llvm-rc/ResourceScriptStmt.h
index c9a0de0..2071ac6 100644
--- a/llvm/tools/llvm-rc/ResourceScriptStmt.h
+++ b/llvm/tools/llvm-rc/ResourceScriptStmt.h
@@ -866,6 +866,19 @@
   Error visit(Visitor *V) const override { return V->visitStyleStmt(this); }
 };
 
+// CLASS optional statement.
+//
+// Ref: msdn.microsoft.com/en-us/library/windows/desktop/aa380883(v=vs.85).aspx
+class ClassStmt : public OptionalStmt {
+public:
+  IntOrString Value;
+
+  ClassStmt(IntOrString Class) : Value(Class) {}
+  raw_ostream &log(raw_ostream &) const override;
+  Twine getResourceTypeName() const override { return "CLASS"; }
+  Error visit(Visitor *V) const override { return V->visitClassStmt(this); }
+};
+
 } // namespace rc
 } // namespace llvm