diff --git a/lib/Parse/ParseDeclCXX.cpp b/lib/Parse/ParseDeclCXX.cpp
index 998a497..5ce4d1f 100644
--- a/lib/Parse/ParseDeclCXX.cpp
+++ b/lib/Parse/ParseDeclCXX.cpp
@@ -1308,7 +1308,7 @@
     // C++ [class.mem]p8:
     //   A virt-specifier-seq shall contain at most one of each virt-specifier.
     const char* PrevSpec = 0;
-    if (VS.SetVirtSpecifier(Specifier, Tok.getLocation(), PrevSpec))
+    if (VS.SetSpecifier(Specifier, Tok.getLocation(), PrevSpec))
       Diag(Tok.getLocation(), diag::err_duplicate_virt_specifier)
         << PrevSpec
         << FixItHint::CreateRemoval(Tok.getLocation());
diff --git a/lib/Sema/DeclSpec.cpp b/lib/Sema/DeclSpec.cpp
index 3facfac..8fbcc7b 100644
--- a/lib/Sema/DeclSpec.cpp
+++ b/lib/Sema/DeclSpec.cpp
@@ -669,8 +669,8 @@
   }
 }
 
-bool VirtSpecifiers::SetVirtSpecifier(VirtSpecifier VS, SourceLocation Loc,
-                                      const char *&PrevSpec) {
+bool VirtSpecifiers::SetSpecifier(VirtSpecifier VS, SourceLocation Loc,
+                                  const char *&PrevSpec) {
   if (Specifiers & VS) {
     PrevSpec = getSpecifierName(VS);
     return true;
@@ -684,6 +684,7 @@
   case VS_Final:    VS_finalLoc = Loc; break;
   case VS_New:      VS_newLoc = Loc; break;
   }
+
   return false;
 }
 
@@ -695,3 +696,31 @@
   case VS_New: return "new";
   }
 }
+
+bool ClassVirtSpecifiers::SetSpecifier(ClassVirtSpecifier CVS, 
+                                       SourceLocation Loc,
+                                       const char *&PrevSpec) {
+  if (Specifiers & CVS) {
+    PrevSpec = getSpecifierName(CVS);
+    return true;
+  }
+
+  Specifiers |= CVS;
+
+  switch (CVS) {
+  default: assert(0 && "Unknown specifier!");
+  case CVS_Final: CVS_finalLoc = Loc; break;
+  case CVS_Explicit: CVS_explicitLoc = Loc; break;
+  }
+
+  return false;
+}
+
+const char *ClassVirtSpecifiers::getSpecifierName(ClassVirtSpecifier CVS) {
+  switch (CVS) {
+  default: assert(0 && "Unknown specifier");
+  case CVS_Final: return "final";
+  case CVS_Explicit: return "explicit";
+  }
+}
+
