[cfe-dev] Clang-Cl - Representation of NAN; Code to reproduce
Gaier, Bjoern via cfe-dev
cfe-dev at lists.llvm.org
Tue Feb 5 01:33:14 PST 2019
I discovered something new, that is interesting:
When I compile:
volatile const double result = 0.0/0.0;
This will result in "0x7FF8000000000000"
But:
volatile const double bla = 0.0;
volatile const double result = 0.0/bla;
Will result in "0xFFF8000000000000"
Both compiled with Clang of course!
From: cfe-dev <cfe-dev-bounces at lists.llvm.org> On Behalf Of Gaier, Bjoern via cfe-dev
Sent: Dienstag, 5. Februar 2019 09:29
To: cfe-dev at lists.llvm.org
Subject: [cfe-dev] Clang-Cl - Representation of NAN
Hello everyone,
we are currently using clang-cl (build with LLVM7) in our project, which previously used the MSVC2017 compiler. We noticed a major difference with the representation of the NAN value.
Clang generates 0x7FF8000000000000 for an NAN
MSVC generates 0xFFF8000000000000 for an NAN
This difference leads to problems with C#, because it interacts with our C++ code and 'misses' the NAN.
Is there a way to change the representation of the NAN via a compiler flag?
Could we also change the source code of clang to force this representation of NAL? Or is this to much effort for a workaround?
Kind greetings
Björn
Als GmbH eingetragen im Handelsregister Bad Homburg v.d.H. HRB 9816, USt.ID-Nr. DE 114 165 789 Geschäftsführer: Dr. Hiroshi Nakamura, Dr. Robert Plank, Markus Bode, Heiko Lampert, Takashi Nagano, Takeshi Fukushima. Junichi Tajika
Als GmbH eingetragen im Handelsregister Bad Homburg v.d.H. HRB 9816, USt.ID-Nr. DE 114 165 789 Geschäftsführer: Dr. Hiroshi Nakamura, Dr. Robert Plank, Markus Bode, Heiko Lampert, Takashi Nagano, Takeshi Fukushima. Junichi Tajika
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190205/7055a690/attachment.html>
More information about the cfe-dev
mailing list