https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120978

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The way I read the standard is the following:
during phase 4:
Preprocessing directives are executed,

And it is invalid for `#` or the `##` operator to be outside of `the
replacement list of a function-like macro,` as far as I can tell during phase
4.



Because otherwise it would mean:
```
[[ignored(
#)]]int main(){}
```

Would be invalid C while:
```
[[ignored(#)]]int main(){}
```

Would be valid.  That is white space of a return would matter which I am not
sure is the expected behavior at all.

Reply via email to