From c14e2b2bb0f56af1d8170fa0a2cd4d710cf3ac83 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Tue, 15 Oct 2024 22:34:49 -0700 Subject: [PATCH 1/3] WIP --- utils/build-windows-toolchain.bat | 6 ++++-- utils/build.ps1 | 3 ++- utils/update_checkout/update_checkout/update_checkout.py | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/utils/build-windows-toolchain.bat b/utils/build-windows-toolchain.bat index 42f3309fe895f..f6cd11b1c776c 100644 --- a/utils/build-windows-toolchain.bat +++ b/utils/build-windows-toolchain.bat @@ -10,6 +10,8 @@ setlocal enableextensions enabledelayedexpansion +SET + :: Work around CI invocation in vsdevcmd :: The build relies on build.ps1, which should not be called in a vs dev cmd if "%VSCMD_ARG_HOST_ARCH%"=="" goto Start @@ -57,10 +59,10 @@ set TEMP=%BuildRoot%\tmp set TMP=%BuildRoot%\tmp set TMPDIR=%BuildRoot%\tmp -set NINJA_STATUS=[%%f/%%t][%%p][%%es] +set NINJA_STATUS=[%%f/%%t][%%p][%%es] :: Build the -Test argument, if any, by subtracting skipped tests -set TestArg=-Test lld,swift,dispatch,foundation,xctest, +set TestArg=-Test lld,swift,dispatch,foundation,xctest,swift-format, for %%I in (%SKIP_TESTS%) do (call set TestArg=%%TestArg:%%I,=%%) if "%TestArg:~-1%"=="," (set TestArg=%TestArg:~0,-1%) else (set TestArg= ) diff --git a/utils/build.ps1 b/utils/build.ps1 index 05b9e9f115295..8ea9620b30bfc 100644 --- a/utils/build.ps1 +++ b/utils/build.ps1 @@ -1251,7 +1251,8 @@ function Build-SPMProject { "-Xbuild-tools-swiftc", "-I$SDKInstallRoot\usr\lib\swift", "-Xbuild-tools-swiftc", "-L$SDKInstallRoot\usr\lib\swift\windows", "-Xcc", "-I$SDKInstallRoot\usr\lib\swift", - "-Xlinker", "-L$SDKInstallRoot\usr\lib\swift\windows" + "-Xlinker", "-L$SDKInstallRoot\usr\lib\swift\windows", + "--verbose" ) if ($DebugInfo) { if ($SwiftDebugFormat -eq "dwarf") { diff --git a/utils/update_checkout/update_checkout/update_checkout.py b/utils/update_checkout/update_checkout/update_checkout.py index 01cb9dd0e38be..162f6f5b7e859 100755 --- a/utils/update_checkout/update_checkout/update_checkout.py +++ b/utils/update_checkout/update_checkout/update_checkout.py @@ -244,6 +244,8 @@ def run_for_repo_and_each_submodule_rec(cmd): full_target = full_target_name('origin', checkout_target) shell.run(['git', 'reset', '--hard', full_target], echo=True, prefix=prefix) + shell.run(['git', 'status'], + echo=True, prefix=prefix) return # Query whether we have a "detached HEAD", which will mean that From cb587aa122ea15f1b28f34b597144e470eed5173 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Tue, 15 Oct 2024 23:31:39 -0700 Subject: [PATCH 2/3] Clean in update checkout --- utils/build-windows-toolchain.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/build-windows-toolchain.bat b/utils/build-windows-toolchain.bat index f6cd11b1c776c..76134e3e97d89 100644 --- a/utils/build-windows-toolchain.bat +++ b/utils/build-windows-toolchain.bat @@ -109,7 +109,7 @@ set "args=%args% --skip-repository swift-integration-tests" set "args=%args% --skip-repository swift-stress-tester" set "args=%args% --skip-repository swift-xcode-playground-support" -call "%SourceRoot%\swift\utils\update-checkout.cmd" %args% --clone --skip-history --reset-to-remote --github-comment "%ghprbCommentBody%" +call "%SourceRoot%\swift\utils\update-checkout.cmd" %args% --reset-to-remote --clone --skip-history --clean --github-comment "%ghprbCommentBody%" goto :eof endlocal From 2610f3109903a3a4a6a021b52404f0c15feeb3f2 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Wed, 16 Oct 2024 16:04:44 -0700 Subject: [PATCH 3/3] Dump output file map --- include/swift/AST/DiagnosticsFrontend.def | 4 ++-- lib/Frontend/ArgsToFrontendOutputsConverter.cpp | 5 ++++- .../batch_mode_output_file_map_missing_primary.swift | 8 -------- 3 files changed, 6 insertions(+), 11 deletions(-) delete mode 100644 test/Frontend/batch_mode_output_file_map_missing_primary.swift diff --git a/include/swift/AST/DiagnosticsFrontend.def b/include/swift/AST/DiagnosticsFrontend.def index 91f14ce4d7e01..ae85adaf152de 100644 --- a/include/swift/AST/DiagnosticsFrontend.def +++ b/include/swift/AST/DiagnosticsFrontend.def @@ -208,9 +208,9 @@ ERROR(error_unable_to_load_supplementary_output_file_map, none, (StringRef, StringRef)) ERROR(error_missing_entry_in_supplementary_output_file_map, none, - "supplementary output file map '%0' is missing an entry for '%1' " + "supplementary output file map '%0' is missing an entry for '%1' contents: '%2'" "(this likely indicates a compiler issue; " SWIFT_BUG_REPORT_MESSAGE ")", - (StringRef, StringRef)) + (StringRef, StringRef, StringRef)) ERROR(error_repl_requires_no_input_files,none, "REPL mode requires no input files", ()) diff --git a/lib/Frontend/ArgsToFrontendOutputsConverter.cpp b/lib/Frontend/ArgsToFrontendOutputsConverter.cpp index 8f03512de13b5..91686c9e487ae 100644 --- a/lib/Frontend/ArgsToFrontendOutputsConverter.cpp +++ b/lib/Frontend/ArgsToFrontendOutputsConverter.cpp @@ -672,10 +672,13 @@ SupplementaryOutputPathsComputer::readSupplementaryOutputFileMap() const { const TypeToPathMap *mapForInput = OFM->getOutputMapForInput(input.getFileName()); if (!mapForInput) { + llvm::SmallString<128> t; + llvm::raw_svector_ostream os(t); + OFM->dump(os); Diags.diagnose( SourceLoc(), diag::error_missing_entry_in_supplementary_output_file_map, - supplementaryFileMapPath, input.getFileName()); + supplementaryFileMapPath, input.getFileName(), os.str()); hadError = true; } outputPaths.push_back(createFromTypeToPathMap(mapForInput)); diff --git a/test/Frontend/batch_mode_output_file_map_missing_primary.swift b/test/Frontend/batch_mode_output_file_map_missing_primary.swift deleted file mode 100644 index 09f332b6cf82f..0000000000000 --- a/test/Frontend/batch_mode_output_file_map_missing_primary.swift +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %empty-directory(%t) -// RUN: echo 'print("Hello, World!")' >%t/main.swift -// RUN: touch %t/file-01.swift -// RUN: cd %t -// RUN: not %target-swift-frontend -parse -primary-file main.swift -primary-file file-01.swift -supplementary-output-file-map %S/Inputs/supplementary_output_filemap_missing_a_primary.yaml >%t/errs.txt 2>&1 -// RUN: %FileCheck %s <%t/errs.txt - -// CHECK: error: supplementary output file map '{{.*}}supplementary_output_filemap_missing_a_primary.yaml' is missing an entry for 'file-01.swift' (this likely indicates a compiler issue; please submit a bug report (https://swift.org/contributing/#reporting-bugs)){{$}}