-
scott snyder authored
In gcc7, ubsan will warn if the distance between a vtable pointer and the beginning of an object is greater than a sanity check threshold, hardcoded as 1<<20. This implies that classes larger than this that use virtual derivation can get warnings from ubsan. While this is in principle a false positive, it's probably not really a good idea to have such large class objects. (gdb also complains, because in some cases it needs to copy objects.) One such class is CaloCellNoiseAlg. Rework so that the bulk of the size is factored out into a separately-allocated block. This fixes the ubsan warnings. Former-commit-id: 59ac4ad0
a3458b91