Skip to content

Commit 3f2177d

Browse files
committed
regression test for #18363
1 parent 0c4a7b6 commit 3f2177d

File tree

5 files changed

+58
-0
lines changed

5 files changed

+58
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
ROOTTEST_GENERATE_REFLEX_DICTIONARY(size_tTemplateDict Objects.h SELECTION selection.xml FIXTURES_SETUP size_tTemplate_lib)
2+
3+
ROOTTEST_ADD_TEST(size_tTemplateName
4+
MACRO size_tTemplateNameTest.C
5+
OUTREF size_tTemplateNameTest.ref
6+
FIXTURES_REQUIRED size_tTemplate_lib)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#ifndef Objects_18363_hxx
2+
#define Objects_18363_hxx
3+
4+
namespace reco {
5+
template <size_t I, bool B> struct PFRecHitSoALayout {
6+
template <size_t II, bool B1, bool B2, bool B3> struct ViewTemplateFreeParams {};
7+
using View = ViewTemplateFreeParams<I, B, true, true>;
8+
};
9+
using PFRecHitSoA = PFRecHitSoALayout<128UL,false>; // try with 128ul
10+
}
11+
12+
static reco::PFRecHitSoA abc;
13+
static reco::PFRecHitSoALayout<128UL,false> a2;
14+
15+
#endif
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<lcgdict>
2+
<class name="reco::PFRecHitSoA"/>
3+
<class name="reco::PFRecHitSoA::View"/>
4+
</lcgdict>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
TFile pcmfile("size_tTemplateDict_rdict.pcm");
3+
if (pcmfile.IsZombie()) {
4+
std::cerr << "Error: Failed to open root pcm file: " << pcmfile.GetName() << '\n';
5+
return 1;
6+
}
7+
TObjArray *protoArray = pcmfile.Get<TObjArray>("__ProtoClasses");
8+
if (!protoArray) {
9+
std::cerr << "Error: Failed to retrieve __ProtoClasses\n";
10+
return 2;
11+
}
12+
protoArray->Print();
13+
14+
const char *classname = "reco::PFRecHitSoALayout<128,false>::ViewTemplateFreeParams<128,false,true,true>";
15+
auto cl = TClass::GetClass(classname);
16+
gInterpreter->Print("autoparsed");
17+
if (!cl) {
18+
std::cerr << "Error: Could not get the TClass for " << classname << "\n";
19+
return 3;
20+
}
21+
if (!cl->IsLoaded()) {
22+
std::cerr << "Error: The TClass is not loaded for " << classname << "\n";
23+
return 4;
24+
}
25+
26+
return 0;
27+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
Processing /Users/pcanal/root_working/roottest/root/meta/naming/issue-18363/size_tTemplateNameTest.C...
3+
Collection name='TObjArray', class='TObjArray', size=16
4+
OBJ: TProtoClass reco::PFRecHitSoALayout<128,false>
5+
OBJ: TProtoClass reco::PFRecHitSoALayout<128,false>::ViewTemplateFreeParams<128,false,true,true>
6+
Auto parsed classes:

0 commit comments

Comments
 (0)