[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