[PATCH] D79673: Allow 32-bit pointer extensions to be used without -fms-extensions

David Zarzycki via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat May 9 09:01:07 PDT 2020


davezarzycki added a comment.

In D79673#2028204 <https://reviews.llvm.org/D79673#2028204>, @rnk wrote:

> Needs a test.
>
> I believe these are only implemented for x86 in LLVM. What happens if you try to use this on non-x86? I wouldn't be surprised if we crash, but we should probably produce a proper error and test it.


I just tested top-of-tree `clang -fms-extensions -target arm64-unknown-linux` (sans this patch) and apparently the attributes are ignored, which could cause crashes at run time if a later compiler actually honors this attributes on non-x86 targets and people try to mix object files created by older and newer compilers.

I agree that the bugs you point out are worth fixing. That being said, I'm not looking to fix all of the bugs with these attributes with this patch. If it's okay, I'd like to focus on exposing the feature outside of `-fms-extensions`. If people want to ignore the Microsoft extension and design how this feature "should" work, that's fine too.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79673/new/

https://reviews.llvm.org/D79673





More information about the cfe-commits mailing list