[PATCH] D18596: [MSVC] PR27132: Proper mangling for __unaligned qualifier
Andrey Bokhanko via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 8 06:56:05 PDT 2016
andreybokhanko updated this revision to Diff 53022.
andreybokhanko added a comment.
This patch implements "__unaligned" as a qualifier (as per David Majnemer's request).
Most of the changes are miscellaneous small stuff one has to add when adding a new qualifier.
Other notable things are:
- One bit is stolen from "AddressSpace" to store __unaligned. This resulted in changes in OpenCL code and tests, that implicitly assumed that AddressSpace size is 24 bits.
- Sema checks added. It verifies that __unaligned can be used with non-pointers, for overloading and that it doesn't get recognized without -fms-compatibility option.
- Proper mangling (along with tests) for __unaligned added. Note that non-pointer __unaligned args don't affect mangling.
Andrey
http://reviews.llvm.org/D18596
Files:
include/clang/AST/Type.h
include/clang/Basic/AddressSpaces.h
include/clang/Basic/Attr.td
include/clang/Sema/DeclSpec.h
include/clang/Sema/Sema.h
lib/AST/MicrosoftMangle.cpp
lib/Parse/ParseDecl.cpp
lib/Parse/ParseTentative.cpp
lib/Sema/DeclSpec.cpp
lib/Sema/SemaCodeComplete.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaDeclObjC.cpp
lib/Sema/SemaType.cpp
test/CodeGenCXX/mangle-ms-cxx11.cpp
test/Sema/address_spaces.c
test/Sema/invalid-assignment-constant-address-space.c
test/SemaCXX/MicrosoftExtensions.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18596.53022.patch
Type: text/x-patch
Size: 22226 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160408/c5cdc843/attachment-0001.bin>
More information about the cfe-commits
mailing list