Development Log

  • GNAT Pro
    Jul 24th, 2008

    Improved concatenation efficiency
    String concatenation is now done inline instead of using library routines. This is far more efficient, avoiding use of the secondary stack, and extra unnecessary copies, as well as extra code for computing bounds in many cases where it is now unnecessary. A side effect of this change is that there are more cases where length checks can be anticipated at compile time, resulting in useful warnings. The non-string case shares this new approach, so that there is also a big reduction in generated code and improved efficiency for the non-string case.