[GiNaC-list] removed function in 1.7.1 without soname bump

Richard B. Kreckel kreckel at in.terlu.de
Wed Oct 5 10:16:14 CEST 2016


On 10/05/2016 12:08 AM, Richard B. Kreckel wrote:
> I will do a release 1.7.2 these days with just this fixed.

No, wait!

The function 'method virtual GiNaC::ex
GiNaC::pointer_to_map_function_1arg<const GiNaC::ex&>::operator()(const
GiNaC::ex&)' removed from the ABI is this template class method
operator() declared in <ginac/ex.h>:

template<class T1>
class pointer_to_map_function_1arg : public map_function {
    ex (*ptr)(const ex &, T1);
    T1 arg1;
    explicit pointer_to_map_function_1arg(ex x(const ex &, T1), T1 a1) :
ptr(x), arg1(a1) {}
    ex operator()(const ex & e) override { return ptr(e, arg1); } //!!!

What happend is that a GiNaC-internal static function has stopped using
a pointer_to_map_function_1arg<const GiNaC::ex&> object.

Please correct me if I'm wrong, but I suppose that any program/library
linked against GiNaC will have to get its own copy of that method at
compile time. And that makes this *not* an ABI breakage, right?

Richard B. Kreckel

More information about the GiNaC-list mailing list