Skip to content

Library autoloading based on typedef fails with module-based dictionary (but works with rootmap files) #12495

Open
@pcanal

Description

@pcanal

With:

using name_of_typedef = name_of_class;

and requesting a dictionary entry for both name_of_typedef and name_of_class (possibly in 2 distinct libraries)
when doing:

auto cl = TClass::GetClass("name_of_typedef");

we should have the library/libraries corresponding for both the typedef and the class being autooaded.

This works properly in the rootmap case. It fails in the dictionary are build requesting the 'cxxmodule'.

With typedef02.tgz
you can reproduce the problem:

tar xfz typedef02.tgz
cd typedef02
cd run_withmodule
sh ../build.rootcling.module
root.exe -b -l -q ../testtypedef.C

and you will get:


Processing ../testtypedef.C...
The TClass for the typedef has IsLoaded: 0

where the last line should not be printed.

you can see the rootmap in action with:

cd run_nomodule

sh ../build
root.exe -b -l -q ../testtypedef.C

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions