Hi all,

When compiling some program with -O2 using ghc-7.0.1, I got warnings like
SpecConstr
    Function `$j_s7Xo{v} [lid]'
      has three call patterns, but the limit is 1
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations
SpecConstr
    Function `$j_s7YI{v} [lid]' has 7 call patterns, but the limit is 3
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations

I proceeded to compile with -fspec-constr-count=10, but I still got
SpecConstr
    Function `$j_s7Xo{v} [lid]' has 7 call patterns, but the limit is 1
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations

With -fspec-constr-count=55, I got
SpecConstr
    Function `$j_s7Xo{v} [lid]' has 7 call patterns, but the limit is 6
    Use -fspec-constr-count=n to set the bound
    Use -dppr-debug to see specialisations

Finally, with -fspec-constr-count=56, the warnings disappear.
Is this a bug, or is the value of spec-constr-count being manipulated in some way for certain passes?


Thanks,
Pedro