https://codereview.appspot.com/561390043/diff/567180043/lily/include/smobs.hh File lily/include/smobs.hh (right):
https://codereview.appspot.com/561390043/diff/567180043/lily/include/smobs.hh#newcode312 lily/include/smobs.hh:312: static size_t count; On 2020/02/09 03:29:26, Dan Eble wrote: > It seems that this is initialized to zero because it is static, but if it simply > had an "= 0", I wouldn't have had to go refresh my memory with a web search. > > Is it correct that there are no static Smobs anywhere in the program? Depends on what you call "Smob". Protected_scm is a data type _explicitly_ intended for static variables containing SCM values. But it must not contain anything but "immediate" values at program start time since the memory protection machinery does not start until well into main. > If there > were, it would be responsible to spend some time checking whether this could be > affected by the "static initialization order fiasco." (Maybe you already have.) There was something where code was getting run by constructors inserting into a static STL vector that had its own constructors not yet run. Don't remember the details. I think it was part of the motivation to create Protected_scm . https://codereview.appspot.com/561390043/