aaron.ballman added inline comments.
================ Comment at: clang/lib/Sema/SemaExprCXX.cpp:6682 + isPtrSizeAddressSpace(Q2.getAddressSpace())) + MaybeQ1 = true; + else ---------------- akhuang wrote: > aaron.ballman wrote: > > I'm pretty sure this is correct based on my inspection of what code MSVC is > > generating. But it would be helpful to have some codegen tests in Clang for > > this functionality as well. > ha, I apparently didn't check that the behavior actually matches.. apparently > in MSVC a ptr32 isn't equivalent to a ptr64 Oh! I had tested this: ``` int test1(int * __ptr32 __uptr p32u, int * __ptr32 __sptr p32s, int * __ptr64 p64) { return (p32u == p64); } int test2(int * __ptr32 __uptr p32u, int * __ptr32 __sptr p32s, int * __ptr64 p64) { return (p64 == p32u); } ``` to see whether the order of the operands mattered as to which conversion "won" and I thought I saw that your patch generates the same code that MSVC does. However, I could have messed my testing up somehow, so double-checking is a good idea. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D110670/new/ https://reviews.llvm.org/D110670 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits