Skip to content

Conversation

@Teemperor
Copy link
Contributor

See the specific commits for changes.

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

@phsft-bot
Copy link

Build failed on ubuntu14/native.
See console output.

Errors:

  • /mnt/vdb/lsf/workspace/root-pullrequests-build/root/core/dictgen/src/rootcling_impl.cxx:2366:42: error: ‘const string’ has no member named ‘str’
  • /mnt/vdb/lsf/workspace/root-pullrequests-build/root/core/dictgen/src/rootcling_impl.cxx:4287:9: error: ‘argvCompile’ was not declared in this scope

@phsft-bot
Copy link

Build failed on centos7/gcc49.
See console output.

Errors:

  • /mnt/build/jenkins/workspace/root-pullrequests-build/root/core/dictgen/src/rootcling_impl.cxx:2366:42: error: ‘const string’ has no member named ‘str’
  • /mnt/build/jenkins/workspace/root-pullrequests-build/root/core/dictgen/src/rootcling_impl.cxx:4287:9: error: ‘argvCompile’ was not declared in this scope

@phsft-bot
Copy link

Build failed on slc6/gcc49.
See console output.

Errors:

  • /mnt/build/jenkins/workspace/root-pullrequests-build/root/core/dictgen/src/rootcling_impl.cxx:2366:42: error: ‘const string’ has no member named ‘str’
  • /mnt/build/jenkins/workspace/root-pullrequests-build/root/core/dictgen/src/rootcling_impl.cxx:4287:9: error: ‘argvCompile’ was not declared in this scope

@phsft-bot
Copy link

Build failed on slc6/gcc62.
See console output.

Errors:

  • /mnt/build/jenkins/workspace/root-pullrequests-build/root/core/dictgen/src/rootcling_impl.cxx:2366:42: error: ‘const string {aka const class std::__cxx11::basic_string<char>}’ has no member named ‘str’
  • /mnt/build/jenkins/workspace/root-pullrequests-build/root/core/dictgen/src/rootcling_impl.cxx:4287:9: error: ‘argvCompile’ was not declared in this scope

@phsft-bot
Copy link

Build failed on mac1012/native.
See console output.

Errors:

  • /Volumes/HDD2/ec/build/workspace/root-pullrequests-build/root/core/dictgen/src/rootcling_impl.cxx:2366:42: error: no member named 'str' in 'std::__1::basic_string<char>'
  • /Volumes/HDD2/ec/build/workspace/root-pullrequests-build/root/core/dictgen/src/rootcling_impl.cxx:4287:9: error: use of undeclared identifier 'argvCompile'

@Teemperor Teemperor force-pushed the EnableModulesCIFactory branch 2 times, most recently from 3685e10 to 3164d9c Compare September 4, 2017 09:36
@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

1 similar comment
@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

@Teemperor
Copy link
Contributor Author

@phsft-bot build

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

@phsft-bot
Copy link

Build failed on ubuntu14/native.
See console output.

Failing tests:

@phsft-bot
Copy link

@phsft-bot
Copy link

Build failed on mac1012/native.
See console output.

Failing tests:

@phsft-bot
Copy link

@phsft-bot
Copy link

Build failed on centos7/gcc49.
See console output.

Failing tests:

Copy link
Member

@Axel-Naumann Axel-Naumann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice progress!

auto &headerList = module->Headers[i];
// Include all headers from this module.
for (const clang::Module::Header &moduleHeader : headerList) {
// FIXME: Shall we include the absolute path here?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's much more performant to first generate the string containing all #includes and then declare() that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, thanks!

for (clang::Module *subModule : M->submodules())
modules.insert(subModule);
}
// Now we include all header files from the previously collected modules.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the includes be ordered leaf-modules to module, i.e. the inverse? In case any of the headers has a missing #include?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to do this the way clang is doing it which is by marking each header as a submodule and then let the visibility settings inside the module enforce this (e.g., the order doesn't matter, but clang ensures that each header first needs to import the submodules of the used headers, and if it doesn't it can't see the specific decls from this header even if they were parsed before and errors out with a nice error message that shows what include is missing).

This will either happen when we get the GenerateModuleAction from clang (which would still be the best solution) or until I get around and check out how to do this from rootcling.
I'll add a FIXME: that this is documented.

if (StringRef(moduleName).endswith("_rdict.pcm")) {
auto lengthWithoutSuffix = moduleName.size() - strlen("_rdict.pcm");
moduleName = moduleName.substr(0, lengthWithoutSuffix) + ".so";
while (!LinkdefPath.empty()) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this warrants at least a comment. I also think that it's generally wrong, as it seems to e.g. add my home directory as include path for every ROOT build that's within my home directory structure.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was a workaround we need for finding the modulemaps. I move this to its own PR and repropose when we see the hit the issue in the master branch.

}

if (sharedLibraryPathName.empty()) {
sharedLibraryPathName = dictpathname;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This breaks the requirement (of the following if) that the library path name must be stated for the multidict case. I'm also not sure why this assignment is valid in the general case. E.g. IIRC CMS is using the same dictionary name for basically all its libraries.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, this is from the master branch, I just moved it up because I needed to replicate the TModuleGenerator logic (due to the cyclic dependency that I explained in the comment below):

if (sharedLibraryPathName.empty()) {

unsigned Verbose : 1;
unsigned CxxModules : 1;
// The output path of any C++ PCMs we're building on demand.
std::string CachePath;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you throw in what you're caching, I guess ModuleCachePath?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, thanks!


// If user has enabled C++ modules we add some special module flags to the
// compiler invocation. C++ modules don't make any sense when we are anyway
// supposed to Lex the input, so let's not do it in the OnlyLex mode.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't OnlyLex the tab completion flag? In that case modules would help, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to document what we discussed: It's only used by the LinkdefReader from what I can see. And here we can't use modules (as the LinkdefReader can't parse headers because __CINT__is defined when we parse Linkdefs, and this define breaks user code).

But this check was indeed only back when we used the global ROOT_MODULES setting. so I think this check can indeed can go away so one can use this setting in cling.

// Code below from the (private) code in the GenerateModuleAction class.
llvm::SmallVector<char, 256> Output;
llvm::sys::path::append(Output, COpts.CachePath,
COpts.ModuleName + ".pcm");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we mark these ROOT-specific PCMs by giving them a more distinctive name?

// With C++ modules, we now attach the consumers that will handle the
// generation of the PCM file itself.
if (COpts.CxxModules) {
// Code below from the (private) code in the GenerateModuleAction class.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would the use of WriteAST() simplify things?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you were on vacation when the discussion about this happened, but to sum it up: Modules can't just be written via WriteAST(). They need a listener that we attach here that keeps track on things like what other module we load and in what order. This code wraps the WriteAST, the creation/attaching of the listener, etc. in the way with the least amount of copy pasted code from clang.

In the future we can either drop this code once I get rootcling into a form where we can reuse the whole GenerateModuleAction from clang or we make it public that we can easily reuse it. But first I want to see how far the rootcling refactor idea allows us to go :)

CI->getFrontendOpts().ModuleFileExtensions,
/*AllowASTWithErrors=*/false,
/*IncludeTimestamps=*/
+CI->getFrontendOpts().BuildingImplicitModule));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That leading + is ... weird.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's the way it's in the original source code, I'll drop it and also remove it upstream.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, this seems to had a purpose. Back to this way.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to ask Richard about the semantics of this but forgot...

case options::OPT_nostdincxx: NoCXXInc = true; break;
case options::OPT_v: Verbose = true; break;
case options::OPT_fmodules: CxxModules = true; break;
case options::OPT_fmodule_name_EQ:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add // explicit fall-through here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are in LLVM here, so we can even use the explicit LLVM fallthrough :). Fixed, thanks!

@vgvassilev
Copy link
Member

@phsft-bot build with flags -Druntime_cxxmodules=On

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON -Druntime_cxxmodules=On
How to customize builds

@phsft-bot
Copy link

Build failed on centos7/gcc49.
See console output.

Failing tests:

@phsft-bot
Copy link

Build failed on ubuntu14/native.
See console output.

Failing tests:

@phsft-bot
Copy link

Build failed on mac1012/native.
See console output.

Failing tests:

@phsft-bot
Copy link

@phsft-bot
Copy link

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON
How to customize builds

This makes it easier for cling to check if -fmodules and/or
-fmodule-name is passed so that we can act on these flags in the
CIFactory.
This patch adds support for writing out modules to the CIFactory.
If the user has passed -fmodule-name and -fmodules, we start
extending the CI instance with support for C++ modules and also
optionally setup AST consumers for writing out modules files
alongside the interpreter.
This patch enables C++ modules support in rootcling. We now
add the correct cling flags that will trigger the modules
setup in the CIFactory.

We also start reusing the normal clang code for generating
modules as far as possible. For this we had to hack around
a few bugs in ROOT like the fact that we actually never
call many of the interpreter destructors (or if we do,
we don't call the in a consistent way between rootcling
and rootcling_stage1), mainly manually calling the end
of the translation unit.
@phsft-bot
Copy link

Build failed on slc6/gcc49.
See console output.

Errors:

  • ERROR: Timeout after 10 minutes
  • ERROR: Error fetching remote repo 'origin'
  • stderr: error: RPC failed; result=18, HTTP code = 200
  • error: fetch-pack died of signal 15
  • ERROR: Error fetching remote repo 'origin'

@Teemperor
Copy link
Contributor Author

@phsft-bot build with flags -Druntime_cxxmodules=On

@phsft-bot
Copy link

Starting build on centos7/gcc49, mac1012/native, slc6/gcc49, slc6/gcc62, ubuntu14/native with flags -Dvc=OFF -Dimt=ON -Dccache=ON -Druntime_cxxmodules=On
How to customize builds

@phsft-bot
Copy link

Build failed on slc6/gcc62.
See console output.

Errors:

  • /usr/include/wctype.h:74:3: error: redefinition of enumerator '__ISwupper'
  • /usr/include/wctype.h:75:3: error: redefinition of enumerator '__ISwlower'
  • /usr/include/wctype.h:76:3: error: redefinition of enumerator '__ISwalpha'
  • /usr/include/wctype.h:77:3: error: redefinition of enumerator '__ISwdigit'
  • /usr/include/wctype.h:78:3: error: redefinition of enumerator '__ISwxdigit'
  • /usr/include/wctype.h:79:3: error: redefinition of enumerator '__ISwspace'
  • /usr/include/wctype.h:80:3: error: redefinition of enumerator '__ISwprint'
  • /usr/include/wctype.h:81:3: error: redefinition of enumerator '__ISwgraph'
  • /usr/include/wctype.h:82:3: error: redefinition of enumerator '__ISwblank'
  • /usr/include/wctype.h:83:3: error: redefinition of enumerator '__ISwcntrl'

And 10 more

Warnings:

  • /mnt/build/jenkins/workspace/root-pullrequests-build/build/include/TSystem.h:359:62: warning: ambiguous use of internal linkage declaration 'ignore' defined in multiple modules [-Wmodules-ambiguous-internal-linkage]
  • /mnt/build/jenkins/workspace/root-pullrequests-build/build/include/TSystem.h:360:51: warning: ambiguous use of internal linkage declaration 'ignore' defined in multiple modules [-Wmodules-ambiguous-internal-linkage]
  • /mnt/build/jenkins/workspace/root-pullrequests-build/build/include/TUnixSystem.h:56:62: warning: ambiguous use of internal linkage declaration 'ignore' defined in multiple modules [-Wmodules-ambiguous-internal-linkage]
  • /mnt/build/jenkins/workspace/root-pullrequests-build/build/include/TUnixSystem.h:97:56: warning: ambiguous use of internal linkage declaration 'ignore' defined in multiple modules [-Wmodules-ambiguous-internal-linkage]
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module Core:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module vectorDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module unordered_setDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module multisetDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module map2Dict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module dequeDict:

And 11 more

@phsft-bot
Copy link

Build failed on slc6/gcc49.
See console output.

Errors:

  • /usr/include/wctype.h:74:3: error: redefinition of enumerator '__ISwupper'
  • /usr/include/wctype.h:75:3: error: redefinition of enumerator '__ISwlower'
  • /usr/include/wctype.h:76:3: error: redefinition of enumerator '__ISwalpha'
  • /usr/include/wctype.h:77:3: error: redefinition of enumerator '__ISwdigit'
  • /usr/include/wctype.h:78:3: error: redefinition of enumerator '__ISwxdigit'
  • /usr/include/wctype.h:79:3: error: redefinition of enumerator '__ISwspace'
  • /usr/include/wctype.h:80:3: error: redefinition of enumerator '__ISwprint'
  • /usr/include/wctype.h:81:3: error: redefinition of enumerator '__ISwgraph'
  • /usr/include/wctype.h:82:3: error: redefinition of enumerator '__ISwblank'
  • /usr/include/wctype.h:83:3: error: redefinition of enumerator '__ISwcntrl'

And 10 more

Warnings:

  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module Core:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module multisetDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module unordered_multisetDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module dequeDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module multimapDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module multimap2Dict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module mapDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module forward_listDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module vectorDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module unordered_setDict:

And 7 more

@phsft-bot
Copy link

Build failed on centos7/gcc49.
See console output.

Errors:

  • /usr/include/wctype.h:73:3: error: redefinition of enumerator '__ISwupper'
  • /usr/include/wctype.h:74:3: error: redefinition of enumerator '__ISwlower'
  • /usr/include/wctype.h:75:3: error: redefinition of enumerator '__ISwalpha'
  • /usr/include/wctype.h:76:3: error: redefinition of enumerator '__ISwdigit'
  • /usr/include/wctype.h:77:3: error: redefinition of enumerator '__ISwxdigit'
  • /usr/include/wctype.h:78:3: error: redefinition of enumerator '__ISwspace'
  • /usr/include/wctype.h:79:3: error: redefinition of enumerator '__ISwprint'
  • /usr/include/wctype.h:80:3: error: redefinition of enumerator '__ISwgraph'
  • /usr/include/wctype.h:81:3: error: redefinition of enumerator '__ISwblank'
  • /usr/include/wctype.h:82:3: error: redefinition of enumerator '__ISwcntrl'

And 10 more

Warnings:

  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module Core:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module dequeDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module mapDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module multisetDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module setDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module listDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module forward_listDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module unordered_setDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module unordered_multisetDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module valarrayDict:

And 7 more

@phsft-bot
Copy link

Build failed on mac1012/native.
See console output.

Errors:

  • /usr/include/sys/_posix_availability.h:29:3: error: "Never use <sys/_posix_availability.h> directly. Use <sys/cdefs.h> instead."
  • /usr/include/sys/_types/_intptr_t.h:30:9: error: declaration of '__darwin_intptr_t' must be imported from module 'Darwin.machine._types' before it is required
  • /usr/include/sys/_types/_size_t.h:30:9: error: declaration of '__darwin_size_t' must be imported from module 'Darwin.machine._types' before it is required
  • /usr/include/sys/_types/_ct_rune_t.h:31:9: error: declaration of '__darwin_ct_rune_t' must be imported from module 'Darwin.machine._types' before it is required
  • /usr/include/sys/_types/_rune_t.h:30:9: error: declaration of '__darwin_rune_t' must be imported from module 'Darwin.machine._types' before it is required
  • /usr/include/sys/_types/_wint_t.h:31:9: error: declaration of '__darwin_wint_t' must be imported from module 'Darwin.machine._types' before it is required
  • /usr/include/mach/i386/_structs.h:321:2: error: declaration of '__uint8_t' must be imported from module 'Darwin.machine._types' before it is required
  • /usr/include/sys/_pthread/_pthread_attr_t.h:30:9: error: missing '#include <sys/_pthread/_pthread_types.h>'; declaration of '__darwin_pthread_attr_t' must be imported from module 'Darwin.sys._pthread._pthread_types' before it is required
  • /usr/include/sys/_types/_sigaltstack.h:39:2: error: declaration of '__darwin_size_t' must be imported from module 'Darwin.machine._types' before it is required
  • /usr/include/sys/_types/_ucontext.h:37:2: error: missing '#include <sys/_types.h>'; declaration of '__darwin_sigset_t' must be imported from module 'Darwin.POSIX.sys.types' before it is required

And 10 more

@phsft-bot
Copy link

Build failed on ubuntu14/native.
See console output.

Errors:

  • /usr/include/wctype.h:73:3: error: redefinition of enumerator '__ISwupper'
  • /usr/include/wctype.h:74:3: error: redefinition of enumerator '__ISwlower'
  • /usr/include/wctype.h:75:3: error: redefinition of enumerator '__ISwalpha'
  • /usr/include/wctype.h:76:3: error: redefinition of enumerator '__ISwdigit'
  • /usr/include/wctype.h:77:3: error: redefinition of enumerator '__ISwxdigit'
  • /usr/include/wctype.h:78:3: error: redefinition of enumerator '__ISwspace'
  • /usr/include/wctype.h:79:3: error: redefinition of enumerator '__ISwprint'
  • /usr/include/wctype.h:80:3: error: redefinition of enumerator '__ISwgraph'
  • /usr/include/wctype.h:81:3: error: redefinition of enumerator '__ISwblank'
  • /usr/include/wctype.h:82:3: error: redefinition of enumerator '__ISwcntrl'

And 10 more

Warnings:

  • /mnt/vdb/lsf/workspace/root-pullrequests-build/build/include/TSystem.h:359:62: warning: ambiguous use of internal linkage declaration 'ignore' defined in multiple modules [-Wmodules-ambiguous-internal-linkage]
  • /mnt/vdb/lsf/workspace/root-pullrequests-build/build/include/TSystem.h:360:51: warning: ambiguous use of internal linkage declaration 'ignore' defined in multiple modules [-Wmodules-ambiguous-internal-linkage]
  • /mnt/vdb/lsf/workspace/root-pullrequests-build/build/include/TUnixSystem.h:56:62: warning: ambiguous use of internal linkage declaration 'ignore' defined in multiple modules [-Wmodules-ambiguous-internal-linkage]
  • /mnt/vdb/lsf/workspace/root-pullrequests-build/build/include/TUnixSystem.h:97:56: warning: ambiguous use of internal linkage declaration 'ignore' defined in multiple modules [-Wmodules-ambiguous-internal-linkage]
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module Core:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module setDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module dequeDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module unordered_setDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module mapDict:
  • Warning in <GenerateModule>: warning: Couldn't find the following specified headers in the module map2Dict:

And 11 more

@Teemperor
Copy link
Contributor Author

Ok, the warnings are for the obvious modulemap mismatches we have and the errors are due to the yet missing VFS mapping. Can we get this in that I can make the follow up PRs?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants