Skip to content
  • Simon Peyton Jones's avatar
    Transmit inline pragmas faithfully · 39dd1943
    Simon Peyton Jones authored
    *** WARNING: you will need to recompile your libraries 
    ***	     when you pull this patch (make clean; make)
    
    The inline pragma on wrapper-functions was being lost; this patch 
    makes it be transmitted faithfully.
    
    The reason is that we don't write the full inlining for a wrapper into
    an interface file, because it's generated algorithmically from its strictness
    info.  But previously the inline pragma as being written out only when we
    wrote out an unfolding, and hence it was lost for a wrapper.
    
    This makes a particular difference when a function has a NOINLINE[k] pragma.
    Then it may be w/w'd, and we must retain the pragma.  It's the only consistent
    thing to do really.
    
    The change does change the binary format of interface files, slightly.
    So you need to recompile all your libraries.
    39dd1943