Details
-
Improvement
-
Resolution: Fixed
-
High
-
6.10/04
-
None
-
All where ROOT also has patch https://reviews.llvm.org/D36368
-
5 - Blocker
Description
The CMS build system runs genreflex with --fail_on_warnings since we had historically found that warnings eventually lead to problems during production.
CMS is now attempting to deploy a new feature which uses variadic templates and requires a ROOT dictionary. However, genreflex issues a warning about a problem that actually does not affect what CMS wishes to do. The problem can be reproduced via
----classes_test.h---
|
#include <string>
|
namespace edm {
|
template <typename... T>
|
class Table {};
|
}
|
-------
|
|
---classes_test_def.xml---
|
<lcgdict>
|
<class name="edm::Table<float,int,std::string>" />
|
</lcgdict>
|
------
|
Then issue the following command line
/cvmfs/cms-ib.cern.ch/nweek-02487/slc6_amd64_gcc630/lcg/root/6.10.04-akfcbo/bin/genreflex classes_test.h -s classes_test_def.xml -o classes_test_xr.cc --deep --rootmap=classes_test_xr.rootmap --rootmap-lib=dummy.so
|
[this example used CMS' genreflex but should work with any that also used C++14 when compiling.
We need a suggestion or code change to get around this that does not involve disabling the use of --fail_on_warnings since that has been crucial in the past.