
On 25/11/2010 20:01, Roman Leshchinskiy wrote:
On 25/11/2010, at 10:33, José Pedro Magalhães wrote:
Is this a bug, or is the value of spec-constr-count being manipulated in some way for certain passes?
spec-constr-count decreases for nested specialisations. For instance, if spec-constr-count is 6 and SpecConstr generates 2 specialisations for a function foo, then spec-constr-count will be 3 for all functions nested in foo. You can turn it off completely with -fno-spec-constr-count.
The messages are a bit counter-intuitive though - I encountered this recently too, and was baffled by the fact that the suggested flag, -fspec-constr-count, didn't seem to have any effect. Also, these messages should be clearly labelled as warnings, and there should be a way to disable them (I realise they're being generated by the SpecConstr pass and we don't normally generate warnings beyond the desugarer, but still.) Cheers, Simon