]> granicus.if.org Git - clang/commit
Mangle __unaligned in Itanium ABI
authorRoger Ferrer Ibanez <roger.ferreribanez@arm.com>
Fri, 2 Jun 2017 07:14:34 +0000 (07:14 +0000)
committerRoger Ferrer Ibanez <roger.ferreribanez@arm.com>
Fri, 2 Jun 2017 07:14:34 +0000 (07:14 +0000)
commit4c7454ba51c05f2083859db5ccacc42b151d98ce
tree22e882d3aa54bf00c93c30af23d349e50459646a
parentfae6a43ca3b185e456ad8c478f913cf83b36908a
Mangle __unaligned in Itanium ABI

__unaligned is not currently mangled in any way in the Itanium ABI. This causes
failures when using -fms-extensions and C++ in targets using Itanium ABI.

As suggested by @rsmith the simplest thing to do here is actually mangle the
qualifier as a vendor extension.

This patch also removes the change done in D31976 and updates its test to the
new reality.

This fixes
  https://bugs.llvm.org/show_bug.cgi?id=33080
  https://bugs.llvm.org/show_bug.cgi?id=33178

Differential Revision: https://reviews.llvm.org/D33398

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@304523 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/ItaniumMangle.cpp
test/CodeGenCXX/pr33080.cpp [new file with mode: 0644]
test/CodeGenCXX/unaligned-member-qualifier.cpp [new file with mode: 0644]
test/CodeGenObjCXX/arc-mangle.mm