On Thu, 2016-06-30 at 12:59 +0200, john smith wrote: > On 6/30/16, Goswin von Brederlow <goswin-v-b@xxxxxx> wrote: > > > > On Thu, Jun 30, 2016 at 11:55:27AM +0200, john smith wrote: > > > > > > All static symbol have a short number attached to its name, for > > > example: > > > > > > static const int def[9999999] = {1}; > > > > > > shows up as: > > > > > > 0000000000400920 r def.2802 > > > > > > > ok, maybe I wasn't clear enough. I wonder how are these numbers > chosen? It's not a random number because it stays the same after > every > compilation. It's not a hash made from an object name because it > stays > the same after changing the name. It might be inherited from the internal representation format, gimple. This numbers just about everything in the code, including labels on statements, so that loops, conditionals etc can be translated to "goto"s. This happens before the optimisation passes transform it and eliminate whatever they can. You could test this by compiling with the -fdump-tree-gimple flag. https://gcc.gnu.org/onlinedocs/gccint/GIMPLE.html -- Brian