I'm building some code that I want to make sure produces the same bits each time. I ran into a case where the only difference between the result from two different compilation is the names of some of the symbols. For example, I may see the symbol name: __PRETTY_FUNCTION__.20638 in the first build, and then: __PRETTY_FUNCTION__.20694 in the second build. I can believe that gcc might need to generate a suffix to disambiguate function-scoped static variables with the same name, but I need it to do so in a deterministic fashion. Over a large code base, this only shows up a few times, so that seems strange. Can someone help to explain this or point me towards the place in the compiler where it is generating this suffix? Thanks, Michael