[PATCH] D34873: Fix miscompiled 32bit binaries by mingw

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 14 17:57:10 PDT 2017

rnk added a subscriber: gbiv.
rnk added a comment.

I looked at the blame, and I added this alignment thing in https://reviews.llvm.org/rL289575 to deal with some PointerIntPair assertions. Those probably started in @gbiv's https://reviews.llvm.org/rL270781, which introduced a `PointerIntPair<EvalInfo*,1,bool>` field. I think we can just fix this problem by not being so clever. We can unpack the boolean and the pointer, and everything will work fine.

In https://reviews.llvm.org/D34873#831698, @martell wrote:

> @rnk isn't this related to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78936
>  Assuming this is in fact a gcc bug this will most likely cause a regression with the standalone clang mingw toolchains we are on the verge of having.
>  This is of course assuming clang does not have the same regression gcc does.

It's possible, but nobody has debugged any of these crashes and shown the same `ret $imm` inconsistencies that I was pointing out in that bug. This seems unrelated at first.


More information about the cfe-commits mailing list