// Test lexing of pp-numbers does not allow digit separators that do // not form part of the pp-number syntax, when the code is valid with // correct lexing but not with too many characters accepted in the // pp-number (bug 97604). // { dg-do compile { target c++14 } } static_assert (0x0'e-0xe == 0, "signs"); #define a0 '.' - #define acat(x) a ## x static_assert (acat (0'.') == 0, "."); // This case was not actually buggy. #define c0(x) 0 #define b0 c0 ( #define bcat(x) b ## x static_assert (bcat (0'\u00c0')) == 0, "identifier-nondigit");