================ @@ -492,8 +492,23 @@ static std::string getModuleContextHash(const ModuleDeps &MD, auto &FSOpts = const_cast<FileSystemOptions &>(CI.getFileSystemOpts()); if (CWD && !IgnoreCWD) HashBuilder.add(*CWD); - else + else { FSOpts.WorkingDir.clear(); + auto &CGOpts = const_cast<CodeGenOptions &>(CI.getCodeGenOpts()); ---------------- jansvoboda11 wrote:
Please don't use `const_cast` here. This breaks invariants of `CowCompilerInvocation` that relies on clients using `getMut*Opts()` which create a copy behind the scenes whenever the `CodeGenOptions` instance is shared with other compiler invocation instances. I think a better place to do this mutation is in `makeCommonInvocationForModuleBuild()` (unless I'm missing some nuance here). https://github.com/llvm/llvm-project/pull/128446 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits