[clang] [MSP430] Default to unsigned char (PR #115964)
Alexander Richardson via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 12 16:02:31 PST 2024
https://github.com/arichardson created https://github.com/llvm/llvm-project/pull/115964
This matches the ABI document at https://www.ti.com/lit/pdf/slaa534 as
well as the GCC implementation.
Partially fixes https://github.com/llvm/llvm-project/issues/115957.
>From 712bbc59b1976a35c8aba4bdea8728d7e9f2b425 Mon Sep 17 00:00:00 2001
From: Alex Richardson <alexrichardson at google.com>
Date: Tue, 12 Nov 2024 16:02:17 -0800
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
=?UTF-8?q?l=20version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Created using spr 1.3.6-beta.1
---
clang/lib/Driver/ToolChains/Clang.cpp | 1 +
clang/test/Driver/msp430-char.c | 5 +++++
2 files changed, 6 insertions(+)
create mode 100644 clang/test/Driver/msp430-char.c
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 0952262c360185..75379e0a00b981 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -1341,6 +1341,7 @@ static bool isSignedCharDefault(const llvm::Triple &Triple) {
return false;
case llvm::Triple::hexagon:
+ case llvm::Triple::msp430:
case llvm::Triple::ppcle:
case llvm::Triple::ppc64le:
case llvm::Triple::riscv32:
diff --git a/clang/test/Driver/msp430-char.c b/clang/test/Driver/msp430-char.c
new file mode 100644
index 00000000000000..4f62eb167e1c84
--- /dev/null
+++ b/clang/test/Driver/msp430-char.c
@@ -0,0 +1,5 @@
+/// Check that char is unsigned by default.
+// RUN: %clang -### %s --target=msp430 -c 2>&1
+// RUN: %clang -### %s --target=msp430 -c 2>&1 | FileCheck%s
+// CHECK: "-cc1" "-triple" "msp430"
+// CHECK-SAME: "-fno-signed-char"
More information about the cfe-commits
mailing list