https://github.com/wenju-he updated https://github.com/llvm/llvm-project/pull/134529
>From ac389b8b92fbb77c8884515d8f7293b4af17dfa5 Mon Sep 17 00:00:00 2001 From: Wenju He <wenju...@intel.com> Date: Sun, 6 Apr 2025 18:30:42 +0800 Subject: [PATCH 1/4] [clang-format] Add 'cl' to enable OpenCL kernel file formatting --- clang/tools/clang-format/git-clang-format | 1 + 1 file changed, 1 insertion(+) diff --git a/clang/tools/clang-format/git-clang-format b/clang/tools/clang-format/git-clang-format index 85eff4761e289..ba324b14ab80d 100755 --- a/clang/tools/clang-format/git-clang-format +++ b/clang/tools/clang-format/git-clang-format @@ -126,6 +126,7 @@ def main(): "pb.txt", "textproto", "asciipb", # TextProto + "cl", # OpenCL ] ) >From 88c11747fcc8db1921dfd8f73c9330c662f7fd91 Mon Sep 17 00:00:00 2001 From: Wenju He <wenju...@intel.com> Date: Mon, 7 Apr 2025 16:17:39 -0700 Subject: [PATCH 2/4] return C language format style for OpenCL --- clang/lib/Format/Format.cpp | 5 +++++ clang/test/Format/dump-config-opencl-stdin.cl | 7 +++++++ clang/test/Format/lit.local.cfg | 3 ++- clang/unittests/Format/FormatTest.cpp | 3 +++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 clang/test/Format/dump-config-opencl-stdin.cl diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 226d39f635676..0565d6d46eb32 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -4094,6 +4094,9 @@ static FormatStyle::LanguageKind getLanguageByFileName(StringRef FileName) { FileName.ends_with_insensitive(".vh")) { return FormatStyle::LK_Verilog; } + // OpenCL is based on C99 and C11. + if (FileName.ends_with(".cl")) + return FormatStyle::LK_C; return FormatStyle::LK_Cpp; } @@ -4121,6 +4124,8 @@ static FormatStyle::LanguageKind getLanguageByComment(const Environment &Env) { return FormatStyle::LK_Cpp; if (Text == "ObjC") return FormatStyle::LK_ObjC; + if (Text == "OpenCL") + return FormatStyle::LK_C; } return FormatStyle::LK_None; diff --git a/clang/test/Format/dump-config-opencl-stdin.cl b/clang/test/Format/dump-config-opencl-stdin.cl new file mode 100644 index 0000000000000..d02a3fb287a42 --- /dev/null +++ b/clang/test/Format/dump-config-opencl-stdin.cl @@ -0,0 +1,7 @@ +// RUN: clang-format -assume-filename=foo.cl -dump-config | FileCheck %s + +// RUN: clang-format -dump-config - < %s | FileCheck %s + +// CHECK: Language: C + +void foo() {} diff --git a/clang/test/Format/lit.local.cfg b/clang/test/Format/lit.local.cfg index b060c79226cbd..3717ee0dac577 100644 --- a/clang/test/Format/lit.local.cfg +++ b/clang/test/Format/lit.local.cfg @@ -20,7 +20,8 @@ config.suffixes = [ ".textpb", ".asciipb", ".td", - ".test" + ".test", + ".cl" ] # AIX 'diff' command doesn't support --strip-trailing-cr, but the internal diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 69c9ee1d1dcb2..146ec9e0a1616 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -25187,6 +25187,9 @@ TEST_F(FormatTest, GetLanguageByComment) { EXPECT_EQ(FormatStyle::LK_ObjC, guessLanguage("foo.h", "// clang-format Language: ObjC\n" "int i;")); + EXPECT_EQ(FormatStyle::LK_C, + guessLanguage("foo.h", "// clang-format Language: OpenCL\n" + "int i;")); } TEST_F(FormatTest, TypenameMacros) { >From 69825a4bd73df7bdfaf21c52880ed1441c1d4d6b Mon Sep 17 00:00:00 2001 From: Wenju He <wenju...@intel.com> Date: Mon, 7 Apr 2025 23:48:38 -0700 Subject: [PATCH 3/4] Revert "return C language format style for OpenCL" This reverts commit 88c11747fcc8db1921dfd8f73c9330c662f7fd91. --- clang/lib/Format/Format.cpp | 5 ----- clang/test/Format/dump-config-opencl-stdin.cl | 7 ------- clang/test/Format/lit.local.cfg | 3 +-- clang/unittests/Format/FormatTest.cpp | 3 --- 4 files changed, 1 insertion(+), 17 deletions(-) delete mode 100644 clang/test/Format/dump-config-opencl-stdin.cl diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 0565d6d46eb32..226d39f635676 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -4094,9 +4094,6 @@ static FormatStyle::LanguageKind getLanguageByFileName(StringRef FileName) { FileName.ends_with_insensitive(".vh")) { return FormatStyle::LK_Verilog; } - // OpenCL is based on C99 and C11. - if (FileName.ends_with(".cl")) - return FormatStyle::LK_C; return FormatStyle::LK_Cpp; } @@ -4124,8 +4121,6 @@ static FormatStyle::LanguageKind getLanguageByComment(const Environment &Env) { return FormatStyle::LK_Cpp; if (Text == "ObjC") return FormatStyle::LK_ObjC; - if (Text == "OpenCL") - return FormatStyle::LK_C; } return FormatStyle::LK_None; diff --git a/clang/test/Format/dump-config-opencl-stdin.cl b/clang/test/Format/dump-config-opencl-stdin.cl deleted file mode 100644 index d02a3fb287a42..0000000000000 --- a/clang/test/Format/dump-config-opencl-stdin.cl +++ /dev/null @@ -1,7 +0,0 @@ -// RUN: clang-format -assume-filename=foo.cl -dump-config | FileCheck %s - -// RUN: clang-format -dump-config - < %s | FileCheck %s - -// CHECK: Language: C - -void foo() {} diff --git a/clang/test/Format/lit.local.cfg b/clang/test/Format/lit.local.cfg index 3717ee0dac577..b060c79226cbd 100644 --- a/clang/test/Format/lit.local.cfg +++ b/clang/test/Format/lit.local.cfg @@ -20,8 +20,7 @@ config.suffixes = [ ".textpb", ".asciipb", ".td", - ".test", - ".cl" + ".test" ] # AIX 'diff' command doesn't support --strip-trailing-cr, but the internal diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 146ec9e0a1616..69c9ee1d1dcb2 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -25187,9 +25187,6 @@ TEST_F(FormatTest, GetLanguageByComment) { EXPECT_EQ(FormatStyle::LK_ObjC, guessLanguage("foo.h", "// clang-format Language: ObjC\n" "int i;")); - EXPECT_EQ(FormatStyle::LK_C, - guessLanguage("foo.h", "// clang-format Language: OpenCL\n" - "int i;")); } TEST_F(FormatTest, TypenameMacros) { >From c365f72d53fccb2edde3552eb28960d6d3643c35 Mon Sep 17 00:00:00 2001 From: Wenju He <wenju...@intel.com> Date: Tue, 8 Apr 2025 00:48:45 -0700 Subject: [PATCH 4/4] move after line 108 --- clang/tools/clang-format/git-clang-format | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/tools/clang-format/git-clang-format b/clang/tools/clang-format/git-clang-format index ba324b14ab80d..b81077a3f5ab9 100755 --- a/clang/tools/clang-format/git-clang-format +++ b/clang/tools/clang-format/git-clang-format @@ -106,6 +106,7 @@ def main(): "c++m", # C++ Modules "cu", "cuh", # CUDA + "cl", # OpenCL # Other languages that clang-format supports "proto", "protodevel", # Protocol Buffers @@ -126,7 +127,6 @@ def main(): "pb.txt", "textproto", "asciipb", # TextProto - "cl", # OpenCL ] ) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits