[cpp.pragma.op] Colocate the two pragma specifications#8100
Conversation
|
I think there's some logic to what we have right now, which is that However, I would be slightly happier if |
|
I did consider whether it was intentional to sparate the operator specification from the directives specification. The only directive that gets split from the rest is the null directive, so I considered moving that to In order to avoid such splittage, but on balance chose to keep the initial PR minimal. Plus, I had at least two ideas for where the null directive might move: 1) immediately before the pragma directive, so the smallest localized change 2) make it the very first directive, getting the trivial case out of the way before jumping into more detailed features. That also inspired 3) move the error directives to the top too, giving an easy intro to the simplest directives. All of those changes seemed more appropriate to a follow-up PR, although there was also last option that seemed too heavy handed: 4) operators and directives mix together in earlier subclauses where they are related, so open up a new parent for both the pragma directive and the pragma operator. My personal choice would be option 3, although I have listed the 4 options in roughly the order I think would br least to most controversial :) |
8805a5e to
60ec9e5
Compare
jensmaurer
left a comment
There was a problem hiding this comment.
Is this promised to be just-moving-text-around?
Then I'm lukewarm ok with it, although it does create rather needless inconsistency with the C presentation of the preprocessor.
For @tkoeppe to decide.
Yes. If someone spots a difference in the text (and I reviewed after rebasing onto a recent |
|
I seriously struggle to muster motivation for this change. Yeah, we could, but if the shoe were on the other foot I could just as well imagine arguing for the opposite move. I'm somewhat hesitant to perform a large number of "just because we could" churn-ish permutations that don't solve any obvious defect in clarity. |
|
I am withdrawing this PR rather than leave it hanging in limbo. |
Moves the specification for the
_Pragmaoperator to follow the specification for thepragmadirective, to provide clearer context.