[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