mwoehlke wrote:
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_ :-).

--
Matthew
KATE: Awesome Text Editor

Reply via email to