Skip to content

Conversation

@Q-Minh
Copy link
Contributor

@Q-Minh Q-Minh commented Apr 16, 2025

Fixes #227

I think these are generally desirable defaults, but I don't like imposing any flags on dependent projects. However, I haven't tested whether /permissive- and/or /Zc:preprocessor are even necessary with more recent versions of MSVC, but I guess we can still impose these MSVC options for backwards compatibility. If I find some time in the future to test this, I'll let you know and maybe we can only impose these options up to a certain MSVC_VERSION.

@Q-Minh
Copy link
Contributor Author

Q-Minh commented Apr 19, 2025

@Morwenn

@Morwenn Morwenn merged commit 37a535f into Morwenn:1.x.y-develop Apr 20, 2025
9 of 17 checks passed
@Morwenn
Copy link
Owner

Morwenn commented Apr 20, 2025

Hi, sorry for the delay, I've been away from home for a few days. The pull request looks good, thanks for putting in the work 👍

As for whether the flags are necessary: I know that /permissive- was necessary for sure and that it definitely could not compile without (I think there were issues linked to old versions of MSVC not correctly implementing two-phase name lookup). I don't know whether /Zc:preprocessor was ever useful though.

I plan to remove support for old compilers and to break some retrocompatibility in cpp-sort 2.0.0, on which I've been working for a few years, so for now I'm fine with being conservative and going the extra mile to let the 1.x.y branch target older compilers.

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

Successfully merging this pull request may close these issues.

Why must /permissive- and /Zc:preprocessor compile options be imposed on the user?

2 participants