Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[backport] gcc12's regex header file relies on a std::vector<int> instance, expo… #11573

Merged

Conversation

vgvassilev
Copy link
Member

…rt it.

The C++ modules marks the std::vector instantiation as not visible because it came from the regex header file which we did not explicitly include.

a785402 introduces checks if certain declaration is visible in dictionary generation time which was intending to semantically improve the coherence by what the user "allowed" (or requested) rootcling to see vs what it can see globally. While this model works well it seems to not work for template instantiations as they won't be re-instantiated with visible modifier.

This patch works around the current issue seen with libstdc++ 12 but a better solution would be to implement a finer grained control over the implicit template instatiations when generating a dictionary.

Fixes #11329

…rt it.

The C++ modules marks the std::vector<int> instantiation as not visible because
it came from the `regex` header file which we did not explicitly include.

root-project/root@a785402 introduces checks if certain declaration is visible
in dictionary generation time which was intending to semantically improve the
coherence by what the user "allowed" (or requested) rootcling to see vs what
it can see globally. While this model works well it seems to not work for
template instantiations as they won't be re-instantiated with visible modifier.

This patch works around the current issue seen with libstdc++ 12 but a better
solution would be to implement a finer grained control over the implicit template
instatiations when generating a dictionary.

Fixes root-project#11329
@phsft-bot
Copy link
Collaborator

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac1015/cxx17, mac11/cxx14, windows10/cxx14
How to customize builds

@phsft-bot
Copy link
Collaborator

Build failed on windows10/cxx14.
See console output.

@phsft-bot
Copy link
Collaborator

Build failed on ROOT-ubuntu18.04/nortcxxmod.
Running on sft-ubuntu-1804-3.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2022-10-15T11:13:38.853Z] fatal error: PCH file '/mnt/build/workspace/root-pullrequests-build/build/etc//allDict.cxx.pch' not found: module file not found
  • [2022-10-15T11:13:41.380Z] FAILED: tmva/sofie/test/CMakeFiles/SofieCompileModels_ROOT.util

@Axel-Naumann Axel-Naumann merged commit cad4eba into root-project:v6-26-00-patches Oct 15, 2022
@Axel-Naumann
Copy link
Member

Failure is unrelated and fixed in the meantime

@vgvassilev vgvassilev deleted the backport-modules branch October 16, 2022 06:05
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.

3 participants