summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorricky <[email protected]>2025-04-18 17:07:57 +0800
committerGitHub <[email protected]>2025-04-18 17:07:57 +0800
commit7125e7bebd512a24427a7971ac1aff9acbae8668 (patch)
treeafc67879a73c1dbbb52122cf0014e9c04e68c933 /include
parent443c530c3c0e7235af03ffd1b2196369faf8e379 (diff)
include:rtdef.h: comment Refine the annotation of RT_ALIGN and RT_ALIGN_DOWN (#10201)
include :rtdef.h : [ Refine the annotation of RT_ALIGN and RT_ALIGN_DOWN ] This macro is vulnerable to non-2-byte alignments, but I assume that the macro definition was designed with an explicit use case of 2-byte alignments in mind. Therefore, I only modify the comment to remind the user. Solution: RT_ALIGN(size, align) ((size) + (align) - 1) / (align) * (align) RT_ALIGN_DOWN(size, align) (size) / (align) * (align) Here's what deepseek recommends more. Signed-off-by: Yucai Liu <[email protected]>
Diffstat (limited to 'include')
-rw-r--r--include/rtdef.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/rtdef.h b/include/rtdef.h
index 99ce5992d4..401a47be27 100644
--- a/include/rtdef.h
+++ b/include/rtdef.h
@@ -251,6 +251,7 @@ typedef int (*init_fn_t)(void);
* @def RT_ALIGN(size, align)
* Return the most contiguous size aligned at specified width. RT_ALIGN(13, 4)
* would return 16.
+ * @note align Must be an integer power of 2 or the result will be incorrect
*/
#define RT_ALIGN(size, align) (((size) + (align) - 1) & ~((align) - 1))
@@ -260,6 +261,7 @@ typedef int (*init_fn_t)(void);
* @def RT_ALIGN_DOWN(size, align)
* Return the down number of aligned at specified width. RT_ALIGN_DOWN(13, 4)
* would return 12.
+ * @note align Must be an integer power of 2 or the result will be incorrect
*/
#define RT_ALIGN_DOWN(size, align) ((size) & ~((align) - 1))