Thanks Jens;
I should've used the terms from the 2nd paragraph linked
> A preprocessing number does not have a type or a value;
> it acquires both after a successful conversion to an
>
integer-literal token or a
floating-point-literal token.
The final conversion doesn't happen until phase-7, but also
during phase-4 when #if preprocessing directives are executed
> After all replacements due to macro expansion and evaluations
> ... each preprocessing token is converted into a token.
and I guess that's my answer - only for #if conditional evaluation.