diff options
| author | Darren Wihandi <65404740+fairywreath@users.noreply.github.com> | 2024-12-03 16:40:09 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-03 13:40:09 -0800 |
| commit | 98cab6fa86c9e594fb69571cf1d864294b0aae45 (patch) | |
| tree | 37528d00b3d280c6ea68f26657aafa539c7b5636 /docs/user-guide | |
| parent | 600cce28606ba36b31756bf0422d892d0e242b63 (diff) | |
Conform non-suffixed integer literals (#5717)
* Make non-suffixed integer literal type resolution conform to C
* Update integer literal tests
* Clean up integer literal implementation a bit
* Update docs on integer literals
* Clean up docs update
* Clean up docs update
* Add comment on INT64_MIN edge case
* Fixed failing test, fixed formatting and cleaned up code
---------
Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'docs/user-guide')
| -rw-r--r-- | docs/user-guide/02-conventional-features.md | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/docs/user-guide/02-conventional-features.md b/docs/user-guide/02-conventional-features.md index 58554928e..f4d6816db 100644 --- a/docs/user-guide/02-conventional-features.md +++ b/docs/user-guide/02-conventional-features.md @@ -39,8 +39,11 @@ The following integer types are provided: All targets support the 32-bit `int` and `uint` types, but support for the other types depends on the capabilities of each target platform. -Integer literals can be both decimal and hexadecimal, and default to the `int` type. -A literal can be explicitly made unsigned with a `u` suffix. +Integer literals can be both decimal and hexadecimal. An integer literal can be explicitly made unsigned +with a `u` suffix, and explicitly made 64-bit with the `ll` suffix. The type of a decimal non-suffixed integer literal is the first integer type from +the list [`int`, `int64_t`] which can represent the specified literal value. If the value cannot fit, the literal is represented as +an `uint64_t` and a warning is given. The type of hexadecimal non-suffixed integer literal is the first type from the list +[`int`, `uint`, `int64_t`, `uint64_t`] that can represent the specified literal value. For more information on 64 bit integer literals see the documentation on [64 bit type support](../64bit-type-support.md). The following floating-point type are provided: |
