[clang] [Sema] Fix format-strings test on 32-bit Arm (PR #178450)
Leandro Lupori via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 28 07:42:19 PST 2026
https://github.com/luporl created https://github.com/llvm/llvm-project/pull/178450
None
>From 21b1f228a259fa22ae4326f581c0e5144eebb791 Mon Sep 17 00:00:00 2001
From: Leandro Lupori <leandro.lupori at linaro.org>
Date: Tue, 27 Jan 2026 21:26:14 +0000
Subject: [PATCH] [Sema] Fix format-strings test on 32-bit Arm
---
clang/test/Sema/format-strings.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/clang/test/Sema/format-strings.c b/clang/test/Sema/format-strings.c
index cdac83fc0bb91..3a2c2701cfcfc 100644
--- a/clang/test/Sema/format-strings.c
+++ b/clang/test/Sema/format-strings.c
@@ -3,10 +3,12 @@
// RUN: %clang_cc1 -fblocks -fsyntax-only -verify -Wformat-nonliteral -isystem %S/Inputs -triple=x86_64-unknown-fuchsia %s
// RUN: %clang_cc1 -fblocks -fsyntax-only -verify -Wformat-nonliteral -isystem %S/Inputs -triple=x86_64-linux-android %s
+#include <limits.h>
#include <stdarg.h>
#include <stddef.h>
#define __need_wint_t
#include <stddef.h> // For wint_t and wchar_t
+#include <stdint.h>
typedef struct _FILE FILE;
int fprintf(FILE *, const char *restrict, ...);
@@ -986,8 +988,16 @@ void test_promotion(void) {
void test_bool(_Bool b, _Bool* bp)
{
+#if SIZE_MAX != UINT_MAX
printf("%zu", b); // expected-warning-re{{format specifies type 'size_t' (aka '{{.+}}') but the argument has type '_Bool'}}
+#else
+ printf("%zu", b); // no-warning
+#endif
+#if PTRDIFF_MAX != INT_MAX
printf("%td", b); // expected-warning-re{{format specifies type 'ptrdiff_t' (aka '{{.+}}') but the argument has type '_Bool'}}
+#else
+ printf("%td", b); // no-warning
+#endif
printf("%jd", b); // expected-warning-re{{format specifies type 'intmax_t' (aka '{{.+}}') but the argument has type '_Bool'}}
printf("%lld", b); // expected-warning{{format specifies type 'long long' but the argument has type '_Bool'}}
printf("%ld", b); // expected-warning{{format specifies type 'long' but the argument has type '_Bool'}}
More information about the cfe-commits
mailing list