3.3.2. long long

The ARM compiler supports 64-bit integer types through the type specifiers long long and unsigned long long. They behave analogously to long and unsigned long with respect to the usual arithmetic conversions. __int64 is a synonym for long long.

Integer constants can have:

Format specifiers for printf() and scanf() can include ll to specify that the following conversion applies to a long long argument, as7 in %lld or %llu.

Also, a plain integer constant is of type long long or unsigned long long if its value is large enough. There is a warning message from the compiler indicating the change. For example, in strict 1990 ISO Standard C 2147483648 has type unsigned long. In ARM C and C++ it has the type long long. One consequence of this is the value of an expression such as:

2147483648 > -1 

This expression evaluates to 0 in strict C and C++, and to 1 in ARM C and C++.

The long long types are accommodated in the usual arithmetic conversions.

See also

Copyright © 2007, 2010 ARM Limited. All rights reserved.ARM DUI 0348A
Non-Confidential