Mike Williams wrote:
mwoehlke did utter on 11/09/2006 17:44:
Bram Moolenaar wrote:
I don't know what the rules are in all kinds of C, but at least things
like 0x0L, 0x0u, 0x0UL are valid.
Using a match instead of region would be simpler.
If one takes KATE's c.xml as canonical, supported suffixes (but not
necessarily on all build configurations) are all combinations of 'U',
'L' and 'L', with no mention of 'u'. That makes: ULL, LUL, LLU, LL,
UL, LU, L and U. As a regexp, 'U?L?L?|L?(UL|LU)'.
Standard C only allows the following suffixes (in lower or uppercase):
u, ul, ull, l, lu, and llu.
D'oh! I looked again, and I see that c.xml says 'insensitive="TRUE"', so
all of the above are case-insensitive. But you are saying that
'ull'/'llu' are supported, but NOT 'll'? That can't be right? I would
not be surprised if 'lul' is not well-supported, however.
...and I don't think it is. According to a cross-platform-support header
we use, 'LL' is supported on the default compilers for HPUX, Linux,
Irix, and Solaris (in 32-bit mode); possibly others as well.
Microsoft's compiler, being the non-standard aberration it is, of course
uses 'i64' for 64-bit integral constants. I don't think we need to worry
about supporting _that_ :-).
KATE: Awesome Text Editor