Skip to content

[rootcling] genreflex --cxxmodule generates a truncated .pcm file #9448

Open
@jalopezg-git

Description

@jalopezg-git
  • Checked for duplicates

Describe the bug

genreflex --cxxmodule ... generates a truncated xxx_rflx.pcm file (0 bytes). The equivalent invocation of rootcling --cxxmodule using a linkdef.h instead of a XML file works as expected.

Expected behavior

genreflex should generate a valid cxxmodule file.

To Reproduce

Run genreflex/rootcling as follows. The contents of the required files are provided below.

$ genreflex --cxxmodule -s classes.xml classes.h
$ # or
$ rootcling --cxxmodule -f out.cpp -s ./libclasses.so classes.h classes_linkdef.h

classes.h:

#ifndef CLASSES_H
#define CLASSES_H

struct Foo {
   Foo(int _i) : i(_i) {}
   int i = 0;
};

#endif

classes_linkdef.h:

#ifdef __CINT__
#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;

#pragma link C++ class Foo+;
#endif

classes.xml:

<lcgdict>
  <class name="Foo"/>
</lcgdict>

Setup

ROOT master, Arch Linux x86_64

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions