Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-8980

variadic template warning in genreflex prohibits use in CMS build system

    XMLWordPrintable

Details

    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.

      Attachments

        Activity

          People

            axel Axel Naumann
            chrjones Christopher Jones
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: