summaryrefslogtreecommitdiffstats
path: root/docs/user-guide
diff options
context:
space:
mode:
authorDarren Wihandi <65404740+fairywreath@users.noreply.github.com>2024-12-03 16:40:09 -0500
committerGitHub <noreply@github.com>2024-12-03 13:40:09 -0800
commit98cab6fa86c9e594fb69571cf1d864294b0aae45 (patch)
tree37528d00b3d280c6ea68f26657aafa539c7b5636 /docs/user-guide
parent600cce28606ba36b31756bf0422d892d0e242b63 (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.md7
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: