Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Findings from CI in Multiprecision on MSVC 14_0 #1016

Closed
ckormanyos opened this issue Aug 22, 2023 · 6 comments
Closed

Findings from CI in Multiprecision on MSVC 14_0 #1016

ckormanyos opened this issue Aug 22, 2023 · 6 comments

Comments

@ckormanyos
Copy link
Member

ckormanyos commented Aug 22, 2023

In Multiprecision Issues like this we find stuff maybe relevant for Math.

  • MSVC 14.0 does not comprehend /std:c++17 and the CI run(s) should use [14, latest] in the standard matrix.
  • MSVC 14.0 seems to not comprehend the preprocessor jargon for testing if it has the header <stdfloat>. We need to do some preprocessor exclusions around here. This one is probably running wild in the field so maybe we get to it for 1.84.

On the second topic, something like below?

#if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
#if __has_include(<stdfloat>)
#  include <stdfloat>
#endif

But I don't know 1f 14.1 comprehends __has_include so we need to check that too.

@ckormanyos
Copy link
Member Author

I can take a crack at these items.

Cc: @jzmaddock and @mborland

@jzmaddock
Copy link
Collaborator

You should use #ifdef __has_Include to verify it's existence.

@ckormanyos
Copy link
Member Author

use #ifdef __has_Include to verify it's existence

#if (defined(__has_include) && __has_include(<stdfloat>))
#  include <stdfloat>
#endif

Like that. Thx John.
I will try. But it was a problem with lexical parsing so I'm not sure it works. I will report after trying it out...

@ckormanyos
Copy link
Member Author

See also #1017

@mborland
Copy link
Member

Since MSVC 14.0 is not really C++14 compliant this is another vote from me to drop support for it entirely. I don't think its worth the effort to add workarounds for something that we're going to continue to break as the code is modernized/features added.

@ckormanyos
Copy link
Member Author

ckormanyos commented Aug 22, 2023

Since MSVC 14.0 is not really C++14 compliant this is another vote from me to drop support for it entirely. I don't think its worth the effort to add workarounds for something that we're going to continue to break as the code is modernized/features added.

Yea. I'd be ready to drop it any time. It's going to be a nuisance with constexpr anyway, ...

Yet, this workaround at the moment is just about finished. I'd just go ahead and finish it. Then we could continue the drop vc140 discussion at another place/time?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants