[GiNaC-devel] unintended? abi change in ginac 1.7.3

Richard B. Kreckel kreckel at in.terlu.de
Sun Feb 18 23:23:41 CET 2018


Hi,

On 18.02.2018 21:06, Zbigniew Jędrzejewski-Szmek wrote:
> in recent release, GiNaC::matrix::inverse() const was inlined, which
> changes the ABI, and there were some other backwards-incompatible
> changes. See the abi diff report [1], and the bug report where this
> was discussed [2]. Was this intentional?

Thanks for reporting a bug.

What was intentional is this: To add a new signature
    matrix::inverse(unsigned) const    (1)
while retaining the existing
    matrix::inverse() const            (2)
as a mere special case of (1), cf.
https://www.ginac.de/ginac.git/?p=ginac.git;a=commit;h=1be7026a705dfefedcd838e6b60795ca6d469bf9

Why does the compiler not add a (weak) symbol of (2) even though it's
declared inline (implicitly)? What's the proper way to handle this
common situation?

  -richy.


More information about the GiNaC-devel mailing list