Type::isIntegerType() returns true for types between Bool and LongLong.
Put WChar between them to make it integer type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54882 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/AST/Type.h b/include/clang/AST/Type.h
index 502b387..73cf7ca 100644
--- a/include/clang/AST/Type.h
+++ b/include/clang/AST/Type.h
@@ -471,14 +471,13 @@
     
     Char_S,   // This is 'char' for targets where char is signed.
     SChar,    // This is explicitly qualified signed char.
+    WChar,    // This is 'wchar_t' for C++.
     Short,
     Int,
     Long,
     LongLong,
     
-    Float, Double, LongDouble,
-
-    WChar     // This is 'wchar_t' for C++.
+    Float, Double, LongDouble
   };
 private:
   Kind TypeKind;
diff --git a/test/SemaCXX/wchar_t.cpp b/test/SemaCXX/wchar_t.cpp
index 43dd6ee..e3cd77a 100644
--- a/test/SemaCXX/wchar_t.cpp
+++ b/test/SemaCXX/wchar_t.cpp
@@ -5,4 +5,5 @@
   wchar_t x;
   unsigned wchar_t y; // expected-warning {{'wchar_t' cannot be signed or unsigned}}
   signed wchar_t z; // expected-warning {{'wchar_t' cannot be signed or unsigned}}
+  ++x;
 }