4.1.4
C99 language function
This section describes the C99 language functions supported by the CC-RH.
Text from two slashes (//) until a newline character is a comment. If there is a backslash character (\) immediately before the newline, then the next line is treated as a continuation of the current comment.
(2) | Concatenating wide character strings |
The result of concatenating a character string constant with a wide character string constant is a wide character string constant.
_Bool type is supported.
long long int type is supported. long long int type is 8-byte of integer type.
Appending "LL" to a constant value is also supported. It is also possible to specify this for bit field types.
In accordance with support for types _Bool and long long, integer promotion is also in accordance with the C99 specification.
(6) | Existing argument expansion |
In accordance with support for types _Bool and long long, existing argument expansion is also in accordance with the C99 specification..
- | Functions are called after expanding type _Bool_ to type int (4 bytes). |
- | Functions are called with type (unsigned) long long remaining as an 8 bytes value. |
(7) | Comma permission behind the last enumeration child of a enum definition |
When defining an enum type, it is permissible for the last enumerator in the enumeration to be followed by a comma (,).
(8) | Inline keyword (inline function) |
Inline keyword is supported.
This can also be specified using a pragma directive, via the following format.
#pragma inline [(]function-name[, function-name, ...][)]
|
For the details of expansion specification, see "4.2.4.3 Inline expansion".
(9) | Types of integer constants |
In accordance with the addition of type long long, the types of integer constants are as follows.
The type of an integer constant will be the first type in the lists below capable of representing that value.
Table 4.6 | Types of Integer Constants (If type long long is enabled (when -Xansi is not specified)) |
|
|
|
None
|
int
long int
unsigned long intNote
long long int
|
int
unsigned int
long int
unsigned long int
long long int
unsigned long long int
|
u or U
|
unsigned int
unsigned long int
unsigned long long int
|
unsigned int
unsigned long int
unsigned long long int
|
l or L
|
long int
long long int
|
long int
unsigned long int
long long int
unsigned long long int
|
Both u or U, and l or L
|
unsigned long int
unsigned long long int
|
unsigned long int
unsigned long long int
|
ll or LL
|
long long int
|
long long int
unsigned long long int
|
Both u or U, and ll or LL
|
unsigned long long int
|
unsigned long long int
|
Note | Different from C99 specification |
Table 4.7 | Types of Integer Constants (If type long long is disabled (when -Xansi is specified)) |
|
|
|
None
|
int
long int
unsigned long int
|
int
unsigned int
long int
unsigned long int
|
u or U
|
unsigned int
unsigned long int
|
unsigned int
unsigned long int
|
l or L
|
long int
|
long int
unsigned long int
|
Both u or U, and l or L
|
unsigned long int
|
unsigned long int
|