[clang] [Clang][Driver] default-on include path backslash warning on PS5 (PR #202300)
Rose Hudson via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 9 05:34:11 PDT 2026
https://github.com/rosefromthedead updated https://github.com/llvm/llvm-project/pull/202300
>From eea0a0578efbb19ba716795e33014615aa729ec1 Mon Sep 17 00:00:00 2001
From: Rose Hudson <rose.hudson at sony.com>
Date: Thu, 28 May 2026 16:38:53 +0100
Subject: [PATCH 1/2] [Clang][Driver] default-on include path backslash warning
on PS5
It seems like there is precedent for using addClangWarningOptions in the
driver to set warning default states per-target, in e.g. AMDGPU.
These warnings are usually disabled by default to avoid overdiagnosing
common patterns on Windows host+target builds which don't care about
portability. Since PS5 builds are cross-compiled it makes less sense to
assume things about the host, so we want to diagnose portability issues
more eagerly.
---
clang/lib/Driver/ToolChains/PS4CPU.cpp | 5 +++++
clang/lib/Driver/ToolChains/PS4CPU.h | 2 ++
clang/test/Driver/ps4-ps5-toolchain.c | 5 +++++
3 files changed, 12 insertions(+)
diff --git a/clang/lib/Driver/ToolChains/PS4CPU.cpp b/clang/lib/Driver/ToolChains/PS4CPU.cpp
index e40127bc2baeb..00e6e54a4fda5 100644
--- a/clang/lib/Driver/ToolChains/PS4CPU.cpp
+++ b/clang/lib/Driver/ToolChains/PS4CPU.cpp
@@ -650,6 +650,11 @@ void toolchains::PS4PS5Base::addClangTargetOptions(
}
}
+void toolchains::PS4PS5Base::addClangWarningOptions(ArgStringList &CC1Args) const {
+ CC1Args.push_back("-Wnonportable-include-path-separator");
+ CC1Args.push_back("-Wnonportable-system-include-path");
+}
+
// PS4 toolchain.
toolchains::PS4CPU::PS4CPU(const Driver &D, const llvm::Triple &Triple,
const llvm::opt::ArgList &Args)
diff --git a/clang/lib/Driver/ToolChains/PS4CPU.h b/clang/lib/Driver/ToolChains/PS4CPU.h
index e555847b7d5c4..baa14ee06c1dc 100644
--- a/clang/lib/Driver/ToolChains/PS4CPU.h
+++ b/clang/lib/Driver/ToolChains/PS4CPU.h
@@ -114,6 +114,8 @@ class LLVM_LIBRARY_VISIBILITY PS4PS5Base : public Generic_ELF {
const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args,
Action::OffloadKind DeviceOffloadingKind) const override;
+ void addClangWarningOptions(llvm::opt::ArgStringList &CC1Args) const override;
+
llvm::DenormalMode getDefaultDenormalModeForType(
const llvm::opt::ArgList &DriverArgs, const JobAction &JA,
const llvm::fltSemantics *FPType) const override {
diff --git a/clang/test/Driver/ps4-ps5-toolchain.c b/clang/test/Driver/ps4-ps5-toolchain.c
index c9987c2b5758b..f87f1fae491e4 100644
--- a/clang/test/Driver/ps4-ps5-toolchain.c
+++ b/clang/test/Driver/ps4-ps5-toolchain.c
@@ -16,3 +16,8 @@
// RUN: %clang %s -target x86_64-sie-ps5 -### 2>&1 | FileCheck -check-prefix=JUMPTABLESIZES %s
// JUMPTABLESIZES: "-mllvm" "-emit-jump-table-sizes-section"
// JUMPTABLESIZES: "-plugin-opt=-emit-jump-table-sizes-section"
+
+// Verify non-portable include path diagnostics are enabled.
+// RUN: %clang %s -target x86_64-sie-ps5 -### 2>&1 | FileCheck --check-prefix=NONPORTABLE-INCLUDE %s
+// NONPORTABLE-INCLUDE: "-Wnonportable-include-path-separator"
+// NONPORTABLE-INCLUDE: "-Wnonportable-system-include-path"
>From 026aceb404d7b0ed176636c988c272813aeffd64 Mon Sep 17 00:00:00 2001
From: Rose Hudson <rose.hudson at sony.com>
Date: Tue, 9 Jun 2026 13:33:31 +0100
Subject: [PATCH 2/2] apply clang-format diff
---
clang/lib/Driver/ToolChains/PS4CPU.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/clang/lib/Driver/ToolChains/PS4CPU.cpp b/clang/lib/Driver/ToolChains/PS4CPU.cpp
index 00e6e54a4fda5..8f5d3ec8a6f91 100644
--- a/clang/lib/Driver/ToolChains/PS4CPU.cpp
+++ b/clang/lib/Driver/ToolChains/PS4CPU.cpp
@@ -650,7 +650,8 @@ void toolchains::PS4PS5Base::addClangTargetOptions(
}
}
-void toolchains::PS4PS5Base::addClangWarningOptions(ArgStringList &CC1Args) const {
+void toolchains::PS4PS5Base::addClangWarningOptions(
+ ArgStringList &CC1Args) const {
CC1Args.push_back("-Wnonportable-include-path-separator");
CC1Args.push_back("-Wnonportable-system-include-path");
}
More information about the cfe-commits
mailing list