> +/* Compute X &= Y, taking into account the possibility that > + X may become the maximum set. */ > > Hmm, how can X become the maximum set if it was not the maximum set > before? Thus, shouldn't this simply be > > if (y == all_module_statics) > /* do nothing */; > else > ... > > ?
No. The local sets contain all initially considered static vars, but this set is later pruned to the "really" static vars. See the code below the comment "/* Now we know what vars are really statics; prune out those that aren't. */". It may happen (and apparently it frequently does happen, going on my memory numbers) that after pruning, a local set becomes equivalent to the maximum set. > Otherwise ok Also OK with the above not changed? > (the patch could have been split though). I know. I'll try to behave next time :-) Ciao! Steven