Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This drops
#pragma once
instl/inc
(and the generatorgrapheme_break_property_data_gen.py
), relying on our classic idempotency guards (combined with modern compiler abilities to recognize and optimize them; C1XX gained that ability a while ago, so there should be no throughput regressions). This is an attempt to fix VSO-1830439 "[Feedback][std:c++latest] C++: 'is not a member' error when importing modules", a scenario which I don't fully understand, but which @cdacamar says will be fixed if the STL stops using#pragma once
.Elsewhere, we generally rely on
#pragma once
alone, which is fine. This contains a couple of tiny related cleanups for that (as they are extremely tiny and isolated into separate commits, they shouldn't interfere with reviewing the large mechanical change):#pragma once
to the top oftests/std/include/new_counter.hpp
.#pragma once
intests/tr1/include/cvt_xtest.h
, as it isn't product code anymore.tr1
. In this case, I thought it was worth a change to follow the principle "product code avoids#pragma once
, test code uses it".