[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2] lib/posixtm.c: Fixe build error with clang-18
From: |
Khem Raj |
Subject: |
[PATCH v2] lib/posixtm.c: Fixe build error with clang-18 |
Date: |
Tue, 16 Jan 2024 15:38:03 -0800 |
Clang-18 detects this and flags it as error
x86_64-yoe-linux-clang -target x86_64-yoe-linux -m64 -march=core2 -mtune=core2
-msse3 -mfpmath=sse -mlittle-endian --dyld-prefix=/usr -Qunused-arguments
-fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security
-Werror=format-security
--sysroot=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/coreutils/9.4/recipe-sysroot
-I. -I../coreutils-9.4 -I./lib -Ilib -I../coreutils-9.4/lib -Isrc
-I../coreutils-9.4/src -Wno-cast-qual -Wno-conversion -Wno-float-equal
-Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter
-Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion
-Wno-type-limits -O2 -pipe -g -feliminate-unused-debug-types
-fmacro-prefix-map=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/coreutils/9.4/coreutils-9.4=/usr/src/debug/coreutils/9.4
-fdebug-prefix-map=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/coreutils/9.4/coreutils-9.4=/usr/src/debug/coreutils/9.4
-fmacro-prefix-map=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/coreutils/9.4/build=/usr/src/debug/coreutils/9.4
-fdebug-prefix-map=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/coreutils/9.4/build=/usr/src/debug/coreutils/9.4
-fdebug-prefix-map=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/coreutils/9.4/recipe-sysroot=
-fmacro-prefix-map=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/coreutils/9.4/recipe-sysroot=
-fdebug-prefix-map=/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/coreutils/9.4/recipe-sysroot-native=
-c -o lib/libcoreutils_a-posixtm.o `test -f 'lib/posixtm.c'
lib/posixtm.c:194:15: error: operand argument to checked integer operation must
be an integer type other than plain 'char', 'bool', bit-precise, or an
enumeration ('bool' invalid)
194 | if (ckd_add (&t, t, leapsec))
| ^~~~~~~~~~~~~~~~~~~~~~~~
usr/lib/clang/18/include/stdckdint.h:37:54: note: expanded from macro 'ckd_add'
37 | #define ckd_add(R, A, B) __builtin_add_overflow((A), (B), (R))
| ^~~
1 error generated.
* lib/posixtm.c (posixtime): Fix operand argument to checked
integer operation.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
ChangeLog | 5 +++++
lib/posixtm.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index e42d2c31ab..daca27a917 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-01-15 Khem Raj <raj.khem@gmail.com>
+
+ * lib/posixtm.c (posixtime): Fix operand argument to checked
+ integer operation.
+
2024-01-07 Jim Meyering <meyering@meta.com>
update-copyright: handle more cases
diff --git a/lib/posixtm.c b/lib/posixtm.c
index ef9f55f873..23397a6672 100644
--- a/lib/posixtm.c
+++ b/lib/posixtm.c
@@ -159,7 +159,7 @@ bool
posixtime (time_t *p, const char *s, unsigned int syntax_bits)
{
struct tm tm0;
- bool leapsec = false;
+ int leapsec = 0;
if (! posix_time_parse (&tm0, s, syntax_bits))
return false;
--
2.43.0
- [PATCH v2] lib/posixtm.c: Fixe build error with clang-18,
Khem Raj <=