From 3346570ae99b4f51a9b5b0a52f58765726d4ee2b Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 20 Mar 2023 10:02:59 -0400 Subject: Tests: Comment RunCMake.Ninja ShowIncludes sample input languages --- Tests/RunCMake/showIncludes.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Tests') diff --git a/Tests/RunCMake/showIncludes.c b/Tests/RunCMake/showIncludes.c index 4ea2bccdb2..4078d8cb72 100644 --- a/Tests/RunCMake/showIncludes.c +++ b/Tests/RunCMake/showIncludes.c @@ -28,6 +28,7 @@ int main() printf("OEM code page: %u\n", GetOEMCP()); printf("VSLANG: %s\n", vslang); + // German. if (strcmp(vslang, "1031") == 0) { if (cp == 437 || cp == 65001) { printf("Hinweis: Einlesen der Datei: C:\\foo.h\n"); @@ -35,6 +36,7 @@ int main() } } + // English. if (strcmp(vslang, "1033") == 0) { if (cp == 437 || cp == 65001) { printf("Note: including file: C:\\foo.h\n"); @@ -42,6 +44,7 @@ int main() } } + // French. if (strcmp(vslang, "1036") == 0) { if (cp == 437 || cp == 863) { printf("Remarque\xff: inclusion du fichier\xff: C:\\foo.h\n"); @@ -53,6 +56,7 @@ int main() } } + // Italian. if (strcmp(vslang, "1040") == 0) { if (cp == 437 || cp == 65001) { printf("Nota: file incluso C:\\foo.h\n"); @@ -60,6 +64,7 @@ int main() } } + // Japanese. if (strcmp(vslang, "1041") == 0) { if (cp == 932) { printf("\x83\x81\x83\x82: " @@ -75,6 +80,7 @@ int main() } } + // Chinese. if (strcmp(vslang, "2052") == 0) { if (cp == 54936 || cp == 936) { printf("\xd7\xa2\xd2\xe2: " -- cgit v1.2.1 From 843fc607de7654bd24eab1b6d97d69ee989a8f9c Mon Sep 17 00:00:00 2001 From: YR Chen Date: Sat, 18 Mar 2023 15:34:39 +0800 Subject: Ninja: Restore detection of clang-cl showIncludes prefix Since commit 8f82e755f3 (Ninja: Fix detection of MSVC showIncludes prefix in Italian, 2023-01-26, v3.26.0-rc1~20^2) our regex no longer matches the output from `clang-cl`, which uses a relative path, forward slashes, and is always in English [1]: Note: including file: ./foo.h Update the regex to match that too. [1] https://github.com/llvm/llvm-project/blob/llvmorg-16.0.0/clang/lib/Frontend/HeaderIncludeGen.cpp#L102 Co-authored-by: Brad King --- Tests/RunCMake/Ninja/RunCMakeTest.cmake | 1 + Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-check.cmake | 3 +++ Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-stdout.txt | 1 + Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl.cmake | 3 +++ Tests/RunCMake/showIncludes.c | 8 ++++++++ 5 files changed, 16 insertions(+) create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-check.cmake create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-stdout.txt create mode 100644 Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl.cmake (limited to 'Tests') diff --git a/Tests/RunCMake/Ninja/RunCMakeTest.cmake b/Tests/RunCMake/Ninja/RunCMakeTest.cmake index 9214e9092d..520d9c7ee9 100644 --- a/Tests/RunCMake/Ninja/RunCMakeTest.cmake +++ b/Tests/RunCMake/Ninja/RunCMakeTest.cmake @@ -46,6 +46,7 @@ if(WIN32) if(RunCMake_MAKE_PROGRAM) set(maybe_MAKE_PROGRAM "-DRunCMake_MAKE_PROGRAM=${RunCMake_MAKE_PROGRAM}") endif() + run_cmake_script(ShowIncludes-437-ClangCl -DshowIncludes=${showIncludes} ${maybe_MAKE_PROGRAM}) run_cmake_script(ShowIncludes-437-English -DshowIncludes=${showIncludes} ${maybe_MAKE_PROGRAM}) run_cmake_script(ShowIncludes-437-French -DshowIncludes=${showIncludes} ${maybe_MAKE_PROGRAM}) run_cmake_script(ShowIncludes-437-German -DshowIncludes=${showIncludes} ${maybe_MAKE_PROGRAM}) diff --git a/Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-check.cmake b/Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-check.cmake new file mode 100644 index 0000000000..6136463b6c --- /dev/null +++ b/Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-check.cmake @@ -0,0 +1,3 @@ +# 'clang-cl /showIncludes' prefix. +set(expect "Note: including file: ") +include(${CMAKE_CURRENT_LIST_DIR}/ShowIncludes-check.cmake) diff --git a/Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-stdout.txt b/Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-stdout.txt new file mode 100644 index 0000000000..bda7eaba1f --- /dev/null +++ b/Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl-stdout.txt @@ -0,0 +1 @@ +-- showIncludes='Note: including file: ' diff --git a/Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl.cmake b/Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl.cmake new file mode 100644 index 0000000000..7eca3d3050 --- /dev/null +++ b/Tests/RunCMake/Ninja/ShowIncludes-437-ClangCl.cmake @@ -0,0 +1,3 @@ +set(CODEPAGE 437) +set(VSLANG "clang-cl") # Special case for test, not a real VS value. +include(${CMAKE_CURRENT_LIST_DIR}/ShowIncludes.cmake) diff --git a/Tests/RunCMake/showIncludes.c b/Tests/RunCMake/showIncludes.c index 4078d8cb72..5afe04a03c 100644 --- a/Tests/RunCMake/showIncludes.c +++ b/Tests/RunCMake/showIncludes.c @@ -28,6 +28,14 @@ int main() printf("OEM code page: %u\n", GetOEMCP()); printf("VSLANG: %s\n", vslang); + // clang-cl (special case for test, not a real VS value). + if (strcmp(vslang, "clang-cl") == 0) { + if (cp == 437 || cp == 65001) { + printf("Note: including file: ./foo.h\n"); + return 0; + } + } + // German. if (strcmp(vslang, "1031") == 0) { if (cp == 437 || cp == 65001) { -- cgit v1.2.1