Binary compatibility report for the Clipper library between 6.1.2 and 6.1.3 versions on x86
Test Info
Library Name | Clipper |
Version #1 | 6.1.2 |
Version #2 | 6.1.3 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 1 |
Total Shared Libraries | 1 |
Total Symbols / Types | 64 / 61 |
Verdict | Incompatible (10.2%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 4 |
Removed Symbols | High | 2 |
Problems with Data Types | High | 0 |
Medium | 1 |
Low | 1 |
Problems with Symbols | High | 1 |
Medium | 0 |
Low | 2 |
Problems with Constants | Low | 0 |
Added Symbols (4)
clipper.hpp,
libpolyclipping.so.16.0.0
namespace ClipperLib
MinkowskiDiff ( Path const& poly1, Path const& poly2, Paths& solution )
[symbol: _ZN10ClipperLib13MinkowskiDiffERKSt6vectorINS_8IntPointESaIS1_EES5_RS0_IS3_SaIS3_EE]
MinkowskiSum ( Path const& pattern, Paths const& paths, Paths& solution, enum PolyFillType pathFillType, bool pathIsClosed )
[symbol: _ZN10ClipperLib12MinkowskiSumERKSt6vectorINS_8IntPointESaIS1_EERKS0_IS3_SaIS3_EERS7_NS_12PolyFillTypeEb]
PointInPolygon ( IntPoint const& pt, Path const& path )
[symbol: _ZN10ClipperLib14PointInPolygonERKNS_8IntPointERKSt6vectorIS0_SaIS0_EE]
SimplifyPolygon ( Path const& in_poly, Paths& out_polys, enum PolyFillType fillType )
[symbol: _ZN10ClipperLib15SimplifyPolygonERKSt6vectorINS_8IntPointESaIS1_EERS0_IS3_SaIS3_EENS_12PolyFillTypeE]
to the top
Removed Symbols (2)
clipper.hpp,
libpolyclipping.so.15.0.0
namespace ClipperLib
Clipper::Clear ( )
[symbol: _ZN10ClipperLib7Clipper5ClearEv]
MinkowskiDiff ( Path const& poly, Path const& path, Paths& solution, bool isClosed )
[symbol: _ZN10ClipperLib13MinkowskiDiffERKSt6vectorINS_8IntPointESaIS1_EES5_RS0_IS3_SaIS3_EEb]
to the top
Problems with Symbols, High Severity (1)
clipper.hpp,
libpolyclipping.so.15.0.0
namespace ClipperLib
[+] MinkowskiDiff ( Path const& poly, Path const& path, Paths& solution, bool isClosed ) (1)
changed to:MinkowskiDiff ( Path const& poly1, Path const& poly2, Paths& solution )
[symbol: _ZN10ClipperLib13MinkowskiDiffERKSt6vectorINS_8IntPointESaIS1_EES5_RS0_IS3_SaIS3_EEb]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN10ClipperLib13MinkowskiDiffERKSt6vectorINS_8IntPointESaIS1_EES5_RS0_IS3_SaIS3_EEb to _ZN10ClipperLib13MinkowskiDiffERKSt6vectorINS_8IntPointESaIS1_EES5_RS0_IS3_SaIS3_EE. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Medium Severity (1)
clipper.hpp
namespace ClipperLib
[+] class Clipper (1)
| Change |
Effect |
1 | The layout of v-table has been changed for unknown reason. | Call of any method in this class may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 17 entries | Virtual Table (New) - 16 entries |
---|
0 |
104u |
104u |
4 |
(int (*)(...))0 |
(int (*)(...))0 |
8 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
12 |
~Clipper |
~Clipper |
16 |
~Clipper |
~Clipper |
20 |
Clipper::Clear |
Clipper::Reset |
24 |
Clipper::Reset |
Clipper::ExecuteInternal |
28 |
Clipper::ExecuteInternal |
-104u |
32 |
-104u |
(int (*)(...))0 |
36 |
-104u |
-104u |
40 |
-104u |
(int (*)(...))-0x000000068 |
44 |
(int (*)(...))-0x000000068 |
(int (*)(...))(& typeinfo) |
48 |
(int (*)(...))(& typeinfo) |
Clipper::_ZTv0_n12_N10ClipperLib7ClipperD1Ev |
52 |
Clipper::_ZTv0_n12_N10ClipperLib7ClipperD1Ev |
Clipper::_ZTv0_n12_N10ClipperLib7ClipperD0Ev |
56 |
Clipper::_ZTv0_n12_N10ClipperLib7ClipperD0Ev |
ClipperBase::Clear |
60 |
Clipper::_ZTv0_n16_N10ClipperLib7Clipper5ClearEv |
Clipper::_ZTv0_n20_N10ClipperLib7Clipper5ResetEv |
64 |
Clipper::_ZTv0_n20_N10ClipperLib7Clipper5ResetEv |
|
[+] affected symbols (7)
Clipper::Clear ( )This method is from 'Clipper' class.
Clipper::Clipper [in-charge] ( int initOptions )This constructor is from 'Clipper' class.
Clipper::Execute ( enum ClipType clipType, PolyTree& polytree, enum PolyFillType subjFillType, enum PolyFillType clipFillType )This method is from 'Clipper' class.
Clipper::Execute ( enum ClipType clipType, Paths& solution, enum PolyFillType subjFillType, enum PolyFillType clipFillType )This method is from 'Clipper' class.
Clipper::ExecuteInternal ( )This method is from 'Clipper' class.
Clipper::Reset ( )This method is from 'Clipper' class.
Clipper::~Clipper [in-charge] ( )This method is from 'Clipper' class.
to the top
Problems with Data Types, Low Severity (1)
clipper.hpp
namespace ClipperLib
[+] class Clipper (1)
| Change |
Effect |
1 | Virtual method Clipper::Clear ( ) has been overridden by ClipperBase::Clear ( ). | Method ClipperBase::Clear ( ) will be called instead of Clipper::Clear ( ) by old applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 17 entries | Virtual Table (New) - 16 entries |
---|
0 |
104u |
104u |
4 |
(int (*)(...))0 |
(int (*)(...))0 |
8 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
12 |
~Clipper |
~Clipper |
16 |
~Clipper |
~Clipper |
20 |
Clipper::Clear |
Clipper::Reset |
24 |
Clipper::Reset |
Clipper::ExecuteInternal |
28 |
Clipper::ExecuteInternal |
-104u |
32 |
-104u |
(int (*)(...))0 |
36 |
-104u |
-104u |
40 |
-104u |
(int (*)(...))-0x000000068 |
44 |
(int (*)(...))-0x000000068 |
(int (*)(...))(& typeinfo) |
48 |
(int (*)(...))(& typeinfo) |
Clipper::_ZTv0_n12_N10ClipperLib7ClipperD1Ev |
52 |
Clipper::_ZTv0_n12_N10ClipperLib7ClipperD1Ev |
Clipper::_ZTv0_n12_N10ClipperLib7ClipperD0Ev |
56 |
Clipper::_ZTv0_n12_N10ClipperLib7ClipperD0Ev |
ClipperBase::Clear |
60 |
Clipper::_ZTv0_n16_N10ClipperLib7Clipper5ClearEv |
Clipper::_ZTv0_n20_N10ClipperLib7Clipper5ResetEv |
64 |
Clipper::_ZTv0_n20_N10ClipperLib7Clipper5ResetEv |
|
[+] affected symbols (1)
Clipper::Clear ( )The method 'ClipperBase::Clear ()' will be called instead of this method.
to the top
Problems with Symbols, Low Severity (2)
clipper.hpp,
libpolyclipping.so.15.0.0
namespace ClipperLib
[+] MinkowskiSum ( Path const& poly, Path const& path, Paths& solution, bool isClosed ) (2)
changed to:MinkowskiSum ( Path const& pattern, Path const& path, Paths& solution, bool pathIsClosed )
[symbol: _ZN10ClipperLib12MinkowskiSumERKSt6vectorINS_8IntPointESaIS1_EES5_RS0_IS3_SaIS3_EEb]
| Change | Effect |
---|
1 | 1st parameter poly has been renamed to pattern. | Renaming of a parameter may indicate a change in its semantic meaning. |
2 | 4th parameter isClosed has been renamed to pathIsClosed. | Renaming of a parameter may indicate a change in its semantic meaning. |
to the top
Header Files (1)
clipper.hpp
to the top
Shared Libraries (1)
libpolyclipping.so.15.0.0
to the top