[PATCH] D33398: Mangle __unaligned in Itanium ABI

Richard Smith - zygoloid via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 1 13:07:23 PDT 2017


rsmith accepted this revision.
rsmith added a comment.

Looks great, thanks!



================
Comment at: lib/AST/ItaniumMangle.cpp:2210
+  if (Quals.hasUnaligned())
+      mangleVendorQualifier("__unaligned");
+
----------------
rogfer01 wrote:
> rsmith wrote:
> > Too much indentation here. Also, the ABI requires the "unordered" vendor qualifiers to be emitted in reverse alphabetical order, so this should be emitted after `__weak` and `__strong` but before `__autoreleasing`.
> I think you meant after `__weak` but before `__strong` and `__autoreleasing`? Maybe I'm misinterpreting something here.
> 
> The current patch emits `__weak`, then `__unaligned` and then the remaining ARC ones.
The alphabet is hard, apparently :) Yes, thanks!


================
Comment at: lib/AST/ItaniumMangle.cpp:2184
+  //
+  // Note: we emit first __weak to preserve the order as
+  // required by the Itanium ABI.
----------------
first `__weak` -> `__weak` first


https://reviews.llvm.org/D33398





More information about the cfe-commits mailing list