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

Doxygen comment affects the exclamation mark indicating non-persistent data member

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Blocker
    • Resolution: Clarified
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:

      Root master on Ubuntu 14.10, compiled with clang

    • Development:

      Description

      An AliRoot class contains the following data members:

      // data members
      mutable TExMap fMap; //!< Transient map class
      TObjArray fObjects; ///< Array of objects
      TArrayL fKeys; ///< Array of keys

      When I write this class, I clearly see that fMap is persistent (using gDebug=2):

      StreamerInfo for class: AliMpExMap, version=1, checksum=0x727b088
      TObject BASE offset= 0 type=66 Basic ROOT object
      TExMap fMap offset= 16 type=61 Transient map class
      TObjArray fObjects offset= 48 type=61 Array of objects
      TArrayL fKeys offset=112 type=62 Array of keys
      i= 0, TObject type= 66, offset= 0, len=1, method=0
      i= 1, fMap type= 61, offset= 16, len=1, method=0
      i= 2, fObjects type= 61, offset= 48, len=1, method=0
      i= 3, fKeys type= 62, offset=112, len=1, method=0
      WriteBuffer, class:AliMpExMap, name=TObject, fType[0]=66, TStreamerBase, bufpos=77, arr=0x7fffa4026828, offset=0
      WriteBuffer, class:AliMpExMap, name=fMap, fType[0]=61, TStreamerObject, bufpos=87, arr=0x7fffa4026828, offset=16
      WriteBuffer, class:AliMpExMap, name=fObjects, fType[0]=61, TStreamerObject, bufpos=671, arr=0x7fffa4026828, offset=48
      WriteBuffer, class:AliMpExMap, name=fKeys, fType[0]=62, TStreamerObjectAny, bufpos=1064, arr=0x7fffa4026828, offset=112
      TKey Writing 486 bytes at address 228 for ID= AliMpExMap Title= Root persistent TExMap
      I-TFile::WriteStreamerInfo: called for file testmpexmap.root
      -class: AliMpExMap info number 18 saved

      Now I remove the doxygen part of the comment, recompile and rerun

      // data members
      mutable TExMap fMap; //! Transient map class
      TObjArray fObjects; ///< Array of objects
      TArrayL fKeys; ///< Array of keys

      The fMap is not persistent as it should be also in the first case:

      StreamerInfo for class: AliMpExMap, version=1, checksum=0x1be35f37
      TObject BASE offset= 0 type=66 Basic ROOT object
      TObjArray fObjects offset= 48 type=61 Array of objects
      TArrayL fKeys offset=112 type=62 Array of keys
      i= 0, TObject type= 66, offset= 0, len=1, method=0
      i= 1, fObjects type= 61, offset= 48, len=1, method=0
      i= 2, fKeys type= 62, offset=112, len=1, method=0
      WriteBuffer, class:AliMpExMap, name=TObject, fType[0]=66, TStreamerBase, bufpos=77, arr=0x7fff5db47fd8, offset=0
      WriteBuffer, class:AliMpExMap, name=fObjects, fType[0]=61, TStreamerObject, bufpos=87, arr=0x7fff5db47fd8, offset=48
      WriteBuffer, class:AliMpExMap, name=fKeys, fType[0]=62, TStreamerObjectAny, bufpos=480, arr=0x7fff5db47fd8, offset=112
      TKey Writing 261 bytes at address 228 for ID= AliMpExMap Title= Root persistent TExMap

        Attachments

          Activity

            People

            • Assignee:
              mato Pere Mato Vila
              Reporter:
              hristov Peter Hristov
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: