https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125048
--- Comment #1 from Halalaluyafail3 <luigighiron at gmail dot com> ---
Here is an example of where it could validly occur:
#define A(...)B(B(B(B(__VA_ARGS__##__VA_OPT__()))))
#define B(...)C(C(C(C(__VA_ARGS__##__VA_OPT__()))))
#define C(...)D(D(D(D(__VA_ARGS__##__VA_OPT__()))))
#define D(...)E(E(E(E(__VA_ARGS__##__VA_OPT__()))))
#define E(...)__VA_ARGS__
using B=int;
using C=int;
using D=int;
int main(){
+A();//+D(D(D(C(C(C(B(B(B()))))))))
}
Removing the argument F fixes the ICE.