https://github.com/Bigcheese updated https://github.com/llvm/llvm-project/pull/128103
>From d33995d72fd71c25da0505ca13610f0fd1f3398e Mon Sep 17 00:00:00 2001 From: Michael Spencer <bigchees...@gmail.com> Date: Thu, 20 Feb 2025 17:23:24 -0800 Subject: [PATCH] [clang] Improve module out of date error message When a pcm file has a different size or modification time than it had when it was written to another module's IMPORT table Clang emits: `<pcm> is out of date and needs to be rebuilt: module file out of date` This is difficult to understand what's happening because there are a lot of reasons that a module file can be out of date. This changes the latter part of that message to: `module file has a different size or mtime than expected` Which makes it clearer what the issue is. For future work it would be nice if a more detailed explanation of the issue could be emitted as a note instead. --- clang/lib/Serialization/ModuleManager.cpp | 2 +- clang/test/Modules/explicit-build.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/lib/Serialization/ModuleManager.cpp b/clang/lib/Serialization/ModuleManager.cpp index ba78c9ef5af67..4ecb776513d6f 100644 --- a/clang/lib/Serialization/ModuleManager.cpp +++ b/clang/lib/Serialization/ModuleManager.cpp @@ -119,7 +119,7 @@ ModuleManager::addModule(StringRef FileName, ModuleKind Type, // Note: ExpectedSize and ExpectedModTime will be 0 for MK_ImplicitModule // when using an ASTFileSignature. if (lookupModuleFile(FileName, ExpectedSize, ExpectedModTime, Entry)) { - ErrorStr = "module file out of date"; + ErrorStr = "module file has a different size or mtime than expected"; return OutOfDate; } diff --git a/clang/test/Modules/explicit-build.cpp b/clang/test/Modules/explicit-build.cpp index 7fca0082ea28a..fb65508ccf091 100644 --- a/clang/test/Modules/explicit-build.cpp +++ b/clang/test/Modules/explicit-build.cpp @@ -199,6 +199,6 @@ // RUN: -fmodule-file=%t/c.pcm \ // RUN: %s -DHAVE_A -DHAVE_B -DHAVE_C 2>&1 | FileCheck --check-prefix=CHECK-MISMATCHED-B %s // -// CHECK-MISMATCHED-B: fatal error: module file '{{.*}}b.pcm' is out of date and needs to be rebuilt: module file out of date +// CHECK-MISMATCHED-B: fatal error: module file '{{.*}}b.pcm' is out of date and needs to be rebuilt: module file has a different size or mtime than expected // CHECK-MISMATCHED-B-NEXT: note: imported by module 'c' // CHECK-MISMATCHED-B-NOT: note: _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits