[llvm-bugs] [Bug 40531] TEST 'libomp :: ompt/synchronization/lock.c' FAILED on 32-bit x86

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Feb 21 04:19:28 PST 2019


https://bugs.llvm.org/show_bug.cgi?id=40531

Joachim Protze <protze at itc.rwth-aachen.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|FIXED                       |---
             Status|RESOLVED                    |REOPENED

--- Comment #7 from Joachim Protze <protze at itc.rwth-aachen.de> ---
gcc and clang seem to have a different idea of what should be the result on 32
bit arch for:

`int a;
(uint64_t)&a;`

I still can reproduce the issue when using gcc as test compiler after compiling
the runtime with clang or vice versa.

I must admit, that I do not fully understand the type conversion rule applied
here, but from my understanding gcc and clang disagree in the signedness of
void*?


For a compatible result the following cast should help:

(ompt_wait_id_t)(uintptr_t)&a;

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190221/08f42063/attachment.html>


More information about the llvm-bugs mailing list