-
Notifications
You must be signed in to change notification settings - Fork 1.6k
add /Zc:preprocessor to our tests #677
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
add /Zc:preprocessor to our tests #677
Conversation
|
FYI, the test failures are because the Windows SDK triggers C5105 warnings (which is largely why the conforming preprocessor isn't yet the default). I assume we'll need to suppress them with |
|
@CaseyCarter noted that in the near future, |
c742bbc to
732dca1
Compare
StephanTLavavej
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Can you describe your rationale for which configurations are being altered - i.e. what kind of coverage you want? (e.g. ensuring that we cover IDL=0/2, CXX=14/17/20)
- Also, why aren't more matrices being updated, like the native_matrix? Those exist because some tests are incompatible with clr etc. but the conformant preprocessor is still interesting for them. Basically, for all of the matrices in tests/std/tests, I'd like to see them updated, or a rationale why not.
- We test libcxx in the most conformant mode available - this implies that tests/libcxx/usual_matrix.lst should now be updated to use /Zc:preprocessor.
|
Still need (At one point, we were trying to keep |
for some reason I thought we only ran libcxx with clang-cl, which, in hindsight, makes zero sense. Change made |
disable warning 5105 re-add zc:pp actually disable the warnings. disable warnings in tests I forgot about
cdd2fc3 to
9cac95b
Compare
CaseyCarter
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good modulo the issue to track removing /wd5105.
StephanTLavavej
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also observe that the concepts_matrix isn't being modified, but since it's used by a fair number of modern tests, I think it should be added. (The other matrices are either inapplicable or old and obscure.)
fixed |
CaseyCarter
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approve with persnickety suggestion to reformat the comments.
|
Thanks for improving this test coverage and making it easier to write conformant code! 😺 |
This adds /Zc:preprocessor to each of our main test matrices. In an effort to avoid adding addtional test configurations I've tacked it on to existing configurations in each matrix to cover the latest and oldest language modes, and IDL=0/2. There is no coverage of release mode since debug is more likely to break.
I have verified that the tests fail with the code from #662