Fixing build bot breakage due to using a local type as a template argument.

llvm-svn: 201516
diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp b/clang/utils/TableGen/ClangAttrEmitter.cpp
index f2bfa79..58d8fc1 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -2677,6 +2677,13 @@
   OS << "\n";
 }
 
+enum SpellingKind {
+  GNU = 1 << 0,
+  CXX11 = 1 << 1,
+  Declspec = 1 << 2,
+  Keyword = 1 << 3
+};
+
 static void WriteDocumentation(const DocumentationData &Doc,
                                raw_ostream &OS) {
   // FIXME: there is no way to have a per-spelling category for the attribute
@@ -2715,13 +2722,6 @@
   // semantic characters are still acceptable.
   std::vector<std::string> Names;
 
-  enum SpellingKind {
-    GNU = 1 << 0,
-    CXX11 = 1 << 1,
-    Declspec = 1 << 2,
-    Keyword = 1 << 3
-  };
-
   unsigned SupportedSpellings = 0;
   for (std::vector<FlattenedSpelling>::const_iterator I = Spellings.begin(),
        E = Spellings.end(); I != E; ++I) {