[MSVC Compat] Implementation of __unaligned (MS extension) as a type qualifier
authorAndrey Bokhanko <andreybokhanko@gmail.com>
Fri, 15 Apr 2016 08:03:51 +0000 (08:03 +0000)
committerAndrey Bokhanko <andreybokhanko@gmail.com>
Fri, 15 Apr 2016 08:03:51 +0000 (08:03 +0000)
commitf7fa634887cf327ebca2a71327631ee00f0057a8
tree6115bdd74d32215b36ca02a348f2eb780a95b716
parent18e69f4f635434eefadb35caffef71d2b429933c
[MSVC Compat] Implementation of __unaligned (MS extension) as a type qualifier

This patch implements __unaligned as a type qualifier; before that, it was
modeled as an attribute. Proper mangling of __unaligned is implemented as well.
Some OpenCL code/tests are tangenially affected, as they relied on existing
number and sizes of type qualifiers.

Differential Revision: http://reviews.llvm.org/D18596

llvm-svn: 266415
20 files changed:
clang/include/clang/AST/Type.h
clang/include/clang/Basic/AddressSpaces.h
clang/include/clang/Basic/Attr.td
clang/include/clang/Sema/DeclSpec.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/MicrosoftMangle.cpp
clang/lib/AST/TypePrinter.cpp
clang/lib/Parse/ParseDecl.cpp
clang/lib/Parse/ParseTentative.cpp
clang/lib/Sema/DeclSpec.cpp
clang/lib/Sema/SemaCodeComplete.cpp
clang/lib/Sema/SemaDecl.cpp
clang/lib/Sema/SemaDeclObjC.cpp
clang/lib/Sema/SemaExpr.cpp
clang/lib/Sema/SemaType.cpp
clang/test/CodeGenCXX/mangle-ms-cxx11.cpp
clang/test/Sema/MicrosoftExtensions.c
clang/test/Sema/address_spaces.c
clang/test/Sema/invalid-assignment-constant-address-space.c
clang/test/SemaCXX/MicrosoftExtensions.cpp