hubert-reinterpretcast wrote: > With respect to the relative positioning for `2` and `3`, we have a situation > where all implementations behave one way and the wording implies another.
My earlier reading missed the words "before removal of placemarker tokens, rescanning, and further replacement" in the description of the tokens that a va-opt-replacement is replaced with. The earlier example reduces to a question of whether the following should produce `"hi"` or `"MACRO"`: ```cpp #define STR0(X) #X #define MACRO hi #define F(...) STR0(__VA_OPT__(MACRO)) static_assert(0, F(_)); ``` Producing `"MACRO"` is correct (just as `2 3` is correct in the earlier example). https://github.com/llvm/llvm-project/pull/162662 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
