diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp
index b261390..ebe26cf 100644
--- a/clang/lib/Parse/ParseDecl.cpp
+++ b/clang/lib/Parse/ParseDecl.cpp
@@ -609,6 +609,7 @@
     case tok::kw___ptr64:
     case tok::kw___w64:
     case tok::kw___ptr32:
+    case tok::kw___unaligned:
     case tok::kw___sptr:
     case tok::kw___uptr: {
       IdentifierInfo *AttrName = Tok.getIdentifierInfo();
@@ -3086,11 +3087,6 @@
       break;
     }
 
-    case tok::kw___unaligned:
-      isInvalid = DS.SetTypeQual(DeclSpec::TQ_unaligned, Loc, PrevSpec, DiagID,
-                                 getLangOpts());
-      break;
-
     case tok::kw___sptr:
     case tok::kw___uptr:
     case tok::kw___ptr64:
@@ -3101,6 +3097,7 @@
     case tok::kw___fastcall:
     case tok::kw___thiscall:
     case tok::kw___vectorcall:
+    case tok::kw___unaligned:
       ParseMicrosoftTypeAttributes(DS.getAttributes());
       continue;
 
@@ -4822,10 +4819,6 @@
       ParseOpenCLQualifiers(DS.getAttributes());
       break;
 
-    case tok::kw___unaligned:
-      isInvalid = DS.SetTypeQual(DeclSpec::TQ_unaligned, Loc, PrevSpec, DiagID,
-                                 getLangOpts());
-      break;
     case tok::kw___uptr:
       // GNU libc headers in C mode use '__uptr' as an identifer which conflicts
       // with the MS modifier keyword.
@@ -4843,6 +4836,7 @@
     case tok::kw___fastcall:
     case tok::kw___thiscall:
     case tok::kw___vectorcall:
+    case tok::kw___unaligned:
       if (AttrReqs & AR_DeclspecAttributesParsed) {
         ParseMicrosoftTypeAttributes(DS.getAttributes());
         continue;
@@ -5065,8 +5059,7 @@
                                                 DS.getConstSpecLoc(),
                                                 DS.getVolatileSpecLoc(),
                                                 DS.getRestrictSpecLoc(),
-                                                DS.getAtomicSpecLoc(),
-                                                DS.getUnalignedSpecLoc()),
+                                                DS.getAtomicSpecLoc()),
                     DS.getAttributes(),
                     SourceLocation());
     else
