benlangmuir wrote:
> I don't think we can ever get rid of that pattern and we will keep relying on
> Clang supporting this.
> We would need to example I shared above to keep working.
> I think the change we want is to always prioritize modular over textual,
> before we look at non-private vs p
benlangmuir wrote:
> I don't think we can ever get rid of that pattern and we will keep relying on
> Clang supporting this.
> We would need to example I shared above to keep working.
I don't have a strong opinion on the best path forward here, but I'm not clear
if you're actually willing to
@@ -0,0 +1,49 @@
+// This test checks that the module cache gets invalidated when the
SDKSettings.json file changes.
+
+// RUN: rm -rf %t
+// RUN: split-file %s %t
+
+//--- AppleTVOS15.0.sdk/SDKSettings-old.json
+{
+ "DisplayName": "tvOS 15.0",
+ "Version": "15.0",
+ "Canonica
https://github.com/benlangmuir approved this pull request.
Nice find, thanks for fixing.
https://github.com/llvm/llvm-project/pull/139751
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commit
https://github.com/benlangmuir edited
https://github.com/llvm/llvm-project/pull/139751
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/135405
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -116,7 +116,7 @@ class ASTUnit {
std::shared_ptr PP;
IntrusiveRefCntPtr Ctx;
std::shared_ptr TargetOpts;
- std::shared_ptrHSOpts;
+ std::unique_ptr HSOpts;
benlangmuir wrote:
Is there still a reason to keep this a poi
@@ -48,7 +48,7 @@ void ASTMergeAction::ExecuteAction() {
/*ShouldOwnClient=*/true));
std::unique_ptr Unit = ASTUnit::LoadFromASTFile(
ASTFiles[I], CI.getPCHContainerReader(), ASTUnit::LoadEverything,
Diags,
-CI.getFileSys
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/134404
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/134284
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
Sounds great, thanks for explaining!
https://github.com/llvm/llvm-project/pull/133467
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cf
https://github.com/benlangmuir edited
https://github.com/llvm/llvm-project/pull/132984
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir commented:
Basically LGTM but there are two clients that I'm not familiar with.
https://github.com/llvm/llvm-project/pull/132984
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailm
@@ -569,7 +569,7 @@
CrossTranslationUnitContext::ASTLoader::loadFromDump(StringRef ASTDumpPath) {
return ASTUnit::LoadFromASTFile(
ASTDumpPath, CI.getPCHContainerOperations()->getRawReader(),
ASTUnit::LoadEverything, Diags, CI.getFileSystemOpts(),
- CI.getHe
benlangmuir wrote:
Are you planning to do the same for LangOpts and HSOpts? What's the ultimate
goal here?
There's also this comment on `CompilerInvocationBase`:
```
/// ... It keeps individual option objects
/// behind reference-counted pointers, which is useful for clients that want to
/// ke
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/132063
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/131940
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/130634
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -739,6 +795,12 @@ ModuleDepCollectorPP::handleTopLevelModule(const Module
*M) {
MDC.ScanInstance.getASTReader()->visitInputFileInfos(
*MF, /*IncludeSystem=*/true,
[&](const serialization::InputFileInfo &IFI, bool IsSystem) {
+if (MD.IsShareable) {
+
@@ -157,6 +157,32 @@ static void optimizeCWD(CowCompilerInvocation
&BuildInvocation, StringRef CWD) {
}
}
+/// Check a subset of invocation options to determine whether the current
+/// context can safely be considered as shareable.
+static bool areOptionsInSharedDir(CowCom
@@ -157,42 +157,35 @@ class RemoveUniqueLockFileOnSignal {
} // end anonymous namespace
-LockFileManager::LockFileManager(StringRef FileName)
-{
- this->FileName = FileName;
- if (std::error_code EC = sys::fs::make_absolute(this->FileName)) {
-std::string S("failed to o
@@ -248,39 +236,14 @@ LockFileManager::LockFileManager(StringRef FileName)
// There is a lock file that nobody owns; try to clean it up and get
// ownership.
-if ((EC = sys::fs::remove(LockFileName))) {
- std::string S("failed to remove lockfile ");
- S.a
@@ -739,6 +748,12 @@ ModuleDepCollectorPP::handleTopLevelModule(const Module
*M) {
MDC.ScanInstance.getASTReader()->visitInputFileInfos(
*MF, /*IncludeSystem=*/true,
[&](const serialization::InputFileInfo &IFI, bool IsSystem) {
+if (MD.IsInSysroot) {
+
https://github.com/benlangmuir edited
https://github.com/llvm/llvm-project/pull/130634
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -739,6 +748,12 @@ ModuleDepCollectorPP::handleTopLevelModule(const Module
*M) {
MDC.ScanInstance.getASTReader()->visitInputFileInfos(
*MF, /*IncludeSystem=*/true,
[&](const serialization::InputFileInfo &IFI, bool IsSystem) {
+if (MD.IsInSysroot) {
+
https://github.com/benlangmuir edited
https://github.com/llvm/llvm-project/pull/130634
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -835,6 +850,13 @@ void ModuleDepCollectorPP::addAllSubmoduleDeps(
});
}
+void ModuleDepCollectorPP::addClangModule(const Module *M, const ModuleID ID,
benlangmuir wrote:
How about something like "addOneModuleDep"? If find it hard to guess from the
name
https://github.com/benlangmuir commented:
I have a similar concern to @jansvoboda11 that we probably need to check the
invocation paths as well.
> I would think that if ModuleDepCollector only found dependency inputs that
> resolve to sysroot locations, the command line for building the spec
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/131193
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,44 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apac
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/130395
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/130627
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir closed
https://github.com/llvm/llvm-project/pull/129774
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/128959
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -130,11 +130,11 @@ class DependencyScanningWorker {
DependencyActionController &Controller,
StringRef ModuleName);
- bool shouldEagerLoadModules() const { return EagerLoadModules; }
-
llvm::vfs::FileSys
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/119740
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir closed
https://github.com/llvm/llvm-project/pull/122955
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir closed
https://github.com/llvm/llvm-project/pull/127110
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir commented:
There's another call to finish() in DependencyScanningWorker that should be
removed if we do this.
https://github.com/llvm/llvm-project/pull/100681
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https
https://github.com/benlangmuir created
https://github.com/llvm/llvm-project/pull/127110
When using the clang dependency scanner with an arbitrary DiagnosticConsumer,
it is important that we always call finish(). Previously, if there was an error
preventing us from reaching the scanning action,
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/125111
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,111 @@
+// UNSUPPORTED: target=powerpc64-ibm-aix{{.*}}
+
+// RUN: rm -rf %t
+// RUN: split-file %s %t
+
+//--- module.modulemap
+module root { header "root.h" }
+module direct { header "direct.h" }
+module transitive { header "transitive.h" }
+module addition { header "
@@ -0,0 +1,111 @@
+// UNSUPPORTED: target=powerpc64-ibm-aix{{.*}}
+
+// RUN: rm -rf %t
+// RUN: split-file %s %t
+
+//--- module.modulemap
+module root { header "root.h" }
+module direct { header "direct.h" }
+module transitive { header "transitive.h" }
+module addition { header "
benlangmuir wrote:
Failure looks unrelated. Merging.
https://github.com/llvm/llvm-project/pull/125098
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir closed
https://github.com/llvm/llvm-project/pull/125098
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir created
https://github.com/llvm/llvm-project/pull/125098
This reverts commit d6524c8dfa37634257050ca71d16e117b802181c. This reverts
commit b1bd73700a1fb6f450e0f6f9c405a9c8bde2cae7.
This was causing bot failures on Darwin
https://green.lab.llvm.org/job/llvm.org/j
benlangmuir wrote:
There's probably a better way, but I just built my first clang normally then
built a second one with
`-DCMAKE_C_COMPILER` and `-DCMAKE_CXX_COMPILER` pointing to the first one, and
`-DLLVM_ENABLE_MODULES=1` to enable modules.
https://github.com/llvm/llvm-project/pull/122726
_
benlangmuir wrote:
I see that this change has already been reverted by @ilya-biryukov , but FYI
before this is re-applied: I am seeing crashes from this change if I attempt to
bootstrap a build of clang with modules enabled on Darwin. I haven't yet
managed to minimize a test case, but compili
https://github.com/benlangmuir created
https://github.com/llvm/llvm-project/pull/124003
With the changes in 48d0eb518, the CodeGenOptions used to emit .pcm files with
-fmodule-format=obj (-gmodules) were the ones from the original invocation,
rather than the ones specifically crafted for outpu
https://github.com/benlangmuir created
https://github.com/llvm/llvm-project/pull/122955
When we mark a module visible, we normally mark all of its non-explicit
submodules and other exports as visible. However, when we first enter a
submodule we should not make them visible to the submodule its
https://github.com/benlangmuir commented:
I'm happy with the way this split of the code worked out!
> Currently this has no effect other than slightly changing diagnostics.
Can you say more about the ordering changes? I understand we can't always emit
diagnostics in source order, but it's help
@@ -0,0 +1,141 @@
+//===- ModuleMapFile.h - Parsing and representation -*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
https://github.com/benlangmuir edited
https://github.com/llvm/llvm-project/pull/119740
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3157,25 +2140,18 @@ bool ModuleMap::parseModuleMapFile(FileEntryRef File,
bool IsSystem,
assert((!Offset || *Offset <= Buffer->getBufferSize()) &&
"invalid buffer offset");
- // Parse this module map file.
- Lexer L(SourceMgr.getLocForStartOfFile(ID), MMapLan
@@ -0,0 +1,141 @@
+//===- ModuleMapFile.h - Parsing and representation -*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -350,9 +350,8 @@ enum ControlRecordTypes {
/// and information about the compiler used to build this AST file.
METADATA = 1,
- /// Record code for the list of other AST files imported by
- /// this AST file.
- IMPORTS,
+ /// Record code for other AST file imported b
https://github.com/benlangmuir approved this pull request.
Gotta love having three copies of this code 😬 but obviously not something you
need to fix here. LGTM
https://github.com/llvm/llvm-project/pull/116095
___
cfe-commits mailing list
cfe-commits@
https://github.com/benlangmuir edited
https://github.com/llvm/llvm-project/pull/116095
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
LGTM, thanks!
https://github.com/llvm/llvm-project/pull/115237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/115239
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -661,8 +661,8 @@ class ASTWriter : public ASTDeserializationListener,
/// Write a precompiled header for the given semantic analysis.
///
- /// \param SemaRef a reference to the semantic analysis object that processed
- /// the AST to be written into the precompiled h
@@ -4858,14 +4860,21 @@ time_t ASTWriter::getTimestampForOutput(const FileEntry
*E) const {
return IncludeTimestamps ? E->getModificationTime() : 0;
}
-ASTFileSignature ASTWriter::WriteAST(Sema &SemaRef, StringRef OutputFile,
- Module *Wr
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/115235
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4753,15 +4755,12 @@ void ASTWriter::AddString(StringRef Str, RecordDataImpl
&Record) {
}
bool ASTWriter::PreparePathForOutput(SmallVectorImpl &Path) {
- assert(Context && "should have context when outputting path");
-
// Leave special file names as they are.
String
@@ -4753,15 +4755,12 @@ void ASTWriter::AddString(StringRef Str, RecordDataImpl
&Record) {
}
bool ASTWriter::PreparePathForOutput(SmallVectorImpl &Path) {
- assert(Context && "should have context when outputting path");
-
// Leave special file names as they are.
String
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/114457
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/115065
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/114085
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
benlangmuir wrote:
Okay, sounds impractical
https://github.com/llvm/llvm-project/pull/114085
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/114460
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/114459
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/114330
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/113984
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1342,19 +1343,47 @@ class ASTReader
bool Complain = true);
/// Buffer we use as temporary storage backing resolved paths.
- SmallString<256> PathBuf;
+ std::optional> PathBuf{{}};
+
+ /// A RAII wrapper around \c StringRef that
@@ -1342,19 +1343,47 @@ class ASTReader
bool Complain = true);
/// Buffer we use as temporary storage backing resolved paths.
- SmallString<256> PathBuf;
+ std::optional> PathBuf{{}};
+
+ /// A RAII wrapper around \c StringRef that
https://github.com/benlangmuir commented:
Can this be tested?
https://github.com/llvm/llvm-project/pull/114085
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -34,8 +34,8 @@ module mod { header "mod.h" }
// CHECK:],
// CHECK-NEXT: "context-hash": "[[HASH_MOD:.*]]",
// CHECK-NEXT: "file-deps": [
-// CHECK-NEXT: "[[PREFIX]]/mod.h"
-// CHECK-NEXT: "[[PREFIX]]/module.modulemap"
+// CHECK-DAG:
@@ -472,7 +465,8 @@ class FullDeps {
JOS.attributeArray("command-line",
toJSONStrings(JOS, MD.getBuildArguments()));
JOS.attribute("context-hash", StringRef(MD.ID.ContextHash));
-JOS.attributeArray("file-deps",
@@ -1341,9 +1341,22 @@ class ASTReader
serialization::InputFile getInputFile(ModuleFile &F, unsigned ID,
bool Complain = true);
+ /// Buffer we use as temporary storage backing resolved paths.
+ SmallString<256> PathBuf;
@@ -34,8 +34,8 @@ module mod { header "mod.h" }
// CHECK:],
// CHECK-NEXT: "context-hash": "[[HASH_MOD:.*]]",
// CHECK-NEXT: "file-deps": [
-// CHECK-NEXT: "[[PREFIX]]/mod.h"
-// CHECK-NEXT: "[[PREFIX]]/module.modulemap"
+// CHECK-DAG:
@@ -472,7 +465,8 @@ class FullDeps {
JOS.attributeArray("command-line",
toJSONStrings(JOS, MD.getBuildArguments()));
JOS.attribute("context-hash", StringRef(MD.ID.ContextHash));
-JOS.attributeArray("file-deps",
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/113726
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3018,13 +3019,19 @@ void ASTWriter::WriteSubmodules(Module *WritingModule) {
SourceLocationEncoding::RawLocEncoding DefinitionLoc =
getRawSourceLocationEncoding(getAdjustedLocation(Mod->DefinitionLoc));
+ModuleMap &ModMap = PP->getHeaderSearchInfo().getModu
@@ -541,11 +541,11 @@ class ModuleMap {
///
/// \param IsExplicit Whether this is an explicit submodule.
///
- /// \returns The found or newly-created module, along with a boolean value
- /// that will be true if the module is newly-created.
- std::pair findOrCreateMod
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/113391
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/113389
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -34,6 +34,7 @@ def deprecated_driver_command :
F<"deprecated-driver-command", "use a single dri
defm resource_dir_recipe : Eq<"resource-dir-recipe", "How to produce missing
'-resource-dir' argument">;
def print_timing : F<"print-timing", "Print timing information">;
+def
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/113718
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -88,6 +88,7 @@ static bool DeprecatedDriverCommand;
static ResourceDirRecipeKind ResourceDirRecipe;
static bool Verbose;
static bool PrintTiming;
+static bool NoPrintTimingHeader;
benlangmuir wrote:
Nit: even if the command-line argument is "-no" I would ph
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/112452
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/112795
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
benlangmuir wrote:
Right, that's what I meant by "Is it trying to set it too early before the VFS
is created or something?". We could make the driver setup the VFS like the
frontend would and do that before checking the -working-directory; not sure if
there's a reason we don't do that already
benlangmuir wrote:
@sheredom I think I'm missing something. What's the actual failure? Setting
`-working-directory` causes `FileManager` to prepend to paths the configured
directory, so the VFS lookups would then be absolute paths not relative. I see
the driver checks if the path in `-working
benlangmuir wrote:
> We tried setting -working-directory=Z:/working, but the VFS requires that
> this is a real path.
What error are you seeing if it's not? Is it trying to set it too early before
the VFS is created or something?
https://github.com/llvm/llvm-project/pull/106577
__
@@ -450,58 +458,65 @@ class FullDeps {
ModuleIDs.push_back(M.first);
llvm::sort(ModuleIDs);
-using namespace llvm::json;
-
-Array OutModules;
-for (auto &&ModID : ModuleIDs) {
- auto &MD = Modules[ModID];
- Object O{{"name", MD.ID.ModuleName},
-
https://github.com/benlangmuir approved this pull request.
https://github.com/llvm/llvm-project/pull/111734
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
benlangmuir wrote:
> Build machine A with a path E:/foo/header.h which wants to make a PCH from
> it. We want it to remap E:/foo -> Z:/fake.
What I have in mind is that you have a VFS on build machine A that maps Z:/fake
(virtual path) -> E:/foo (external path), with use-external-names: false.
benlangmuir wrote:
I think it's something much earlier in clang is not using the VFS at all when
looking up the main input path, so then it only knows the external path for
that case. My guess is that if that were fixed then the ASTWriter/Reader would
do the right thing here.
https://githu
benlangmuir wrote:
> `-emit-pch -o "%t.pch" %t/From/../From/B.h`
> `'could not find file
> 'D:\llvm-project\build\tools\clang\test\VFS\Output\remap-to-fake.c.tmp\From\..\From\B.h'`
Isn't that the same issue I mentioned, that it doesn't appear to work for the
main PCH input file? If you remov
benlangmuir wrote:
It looks like it almost works: if I create a module in a virtual path and use
`use-external-names: false`, then the module stores the virtual path for its
input files.
E.g.
```
{
"version": 0,
"use-external-names": false,
"roots": [
{
"contents": [
1 - 100 of 451 matches
Mail list logo