sheredom 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": [ > { > "external-contents": "/tmp/a/t.h", > "name": "t.h", > "type": "file" > }, > { > "external-contents": "/tmp/b/prefix.h", > "name": "prefix.h", > "type": "file" > }, > { > "external-contents": "/tmp/a/module.modulemap", > "name": "module.modulemap", > "type": "file" > } > ], > "name": "/root", > "type": "directory" > }, > ] > } > ``` > > Compiled with > > ``` > clang -x c-header /tmp/b/prefix.h -I/root -ivfsoverlay vfs -fmodules -o > prefix.h.pch > ``` > > The references to t.h and module.modulemap seem to be stored with `/root` > (the virtual path). > > However, I can't remap the prefix header itself > > ``` > clang -x c-header /root/prefix.h -I/root -ivfsoverlay vfs -fmodules -o > prefix.h.pch > clang: error: no such file or directory: '/root/prefix.h' > clang: error: no input files > ``` > > I guess it's resolving that path outside the VFS. Maybe that's fixable though?
Ok I tried to change my test over like you suggested, and it fails with: https://github.com/llvm/llvm-project/pull/106577 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits