Closed tapika closed 4 years ago
Confirmed.
NaN for single and double precision is now processed as -nan(ind)
instead of (00 00 C0 FF)
and (00 00 00 00 00 00 F8 FF)
, respectively.
Temporary solution: as it was already noticed, please use either our IL Assembler or custom path to any official version less than 4.8
Optional NaNToken patching has been planned for 1.7.3
.field = float32(-nan(ind)) -> 0xFFC00000
.field = float64(-nan(ind)) -> 0xFFF8000000000000
ldc.r8 -nan(ind) -> 00 00 00 00 00 00 F8 FF
ldc.r4 -nan(ind) -> 00 00 C0 FF
You can check this via related CI build 9f26c9ba2dfa3be47c62653855e0b89f5d57637e
Steps to reproduce:
Create demo project with function, which returns
DllExport -version
: 1.7.1 With Visual studio 2017 it works. I have tried to start development prompt:Same code does not work with Visual Studio 2019.
I have tried to override this by modifying project settings and enforcing specific tool version, like this:
After that project compiled in both Visual studios.
Suspect some ildasm bug, at least looks somehow similar to: https://github.com/3F/DllExport/issues/128#issuecomment-565651841 =>
https://developercommunity.visualstudio.com/content/problem/545431/ildasmexe-regression-with-infinum-floating-point-v.html
Is this the same problem perhaps ?
I have vs2019 16.6.0, but there is update available, need to try it on.