API compatibility report for the libsample_cpp library between 1.0 and 2.0 versions on x86


Binary
Compatibility
Source
Compatibility

Test Info


Library Namelibsample_cpp
Version #11.0
Version #22.0
Archx86
GCC Version10.2.0
SubjectBinary Compatibility

Test Results


Total Header Files1
Total Libraries1
Total Symbols / Types226 / 124
Compatibility 48.7%

Problem Summary


SeverityCount
Added Symbols-37
Removed SymbolsHigh38
Problems with
Data Types
High52
Medium31
Low45
Problems with
Symbols
High15
Medium10
Low24
Problems with
Constants
Low1
Other Changes
in Data Types
-4
Other Changes
in Symbols
-3

Added Symbols  37 


libsample.h, libsample.so
namespace TestNS
AddedBaseClass::__ct [C1] ( )
AddedBaseClass::__ct [C2] ( )
AddedBaseClass::method ( )
AddedFirstVirtualMethod::addedMethod ( int param )
addedFunc ( FUNCPTR_TYPE*const** f )
addedFunc2 ( void*** param )
addedFunc3 ( struct DStruct* p )
AddedInterface::added_func ( AddedInterface param )
addedParameter ( int param, int added_param )
AddedVariable::i1 [data]
AddedVariable::i2 [data]
AddedVirtualMethod::addedMethod ( int param )
AddedVirtualMethodAtEnd::addedMethod ( int param )
AddedVirtualMethodAtEnd_DefaultConstructor::addedMethod ( int param )
DefaultConstructor::addedMethod ( int param )
funcParameterBaseType ( long long* param )
funcParameterPointerLevel ( int** param )
funcParameterPointerLevelAndSize ( long long* param )
funcParameterType ( float param, int other_param )
funcParameterTypeAndSize ( long long param, int other_param )
globalDataBecameNonConst [data]
MethodBecameConst::method ( int param ) const
MethodBecameConstVolatile::method ( int param ) const volatile
MethodBecameNonConst::method ( int param )
MethodBecameVolatile::method ( int param ) volatile
parameterTypedefChange ( int param )
PureVirtualReplacement_Derived::methodNew ( int param )
RemovedAddedVirtualSymbol::addedMethod ( int param )
removedParameter ( int param )
renamedFunc_NewName ( int param )
UnsafeVirtualOverride::bar ( )
VirtualReplacement::methodNew ( int param )
VirtualTableSize::addedMethod ( int param )
vtable for AddedFirstVirtualMethod [data]
vtable for AddedVirtualBase1 [data]
vtable for AddedVirtualBase2 [data]
vtable for BaseClassBecameVirtuallyInherited [data]

to the top

Removed Symbols  38 


libsample.h, libsample.so
namespace TestNS
addedParameter ( int param )
BaseTemplate<int>::~__dt [D0] ( )
BaseTemplate<int>::~__dt [D1] ( )
BaseTemplate<int>::~__dt [D2] ( )
funcParameterBaseType ( int* param )
funcParameterPointerLevel ( int* param )
funcParameterPointerLevelAndSize ( long long param )
funcParameterType ( int param, int other_param )
funcParameterTypeAndSize ( int param, int other_param )
functionBecameInline ( int param )
globalDataBecameConst [data]
GlobalDataBecameConst::Data [data]
MethodBecameConst::method ( int param )
MethodBecameConstVolatile::method ( int param )
MethodBecameNonConst::method ( int param ) const
MethodBecameVolatile::method ( int param )
OverriddenVirtualMethodB::method2 ( int param )
parameterTypedefChange ( float param )
PureVirtualReplacement_Derived::methodOld ( int param )
RemovedAddedVirtualSymbol::removedMethod ( int param )
RemovedBaseClass::method ( )
RemovedBaseClass::__ct [C1] ( )
RemovedBaseClass::__ct [C2] ( )
RemovedConstOverload::removed ( ) const
removedFunc2 ( void*** param )
RemovedInlineVirtualFunction::removedMethod ( int param )
RemovedInterface::removed_func ( RemovedInterface param )
RemovedLastVirtualSymbol::removedMethod ( int param )
removedParameter ( int param, int removed_param )
RemovedVirtualDestructor::~__dt [D0] ( )
RemovedVirtualDestructor::~__dt [D1] ( )
RemovedVirtualDestructor::~__dt [D2] ( )
RemovedVirtualSymbol::removedMethod ( int param )
renamedFunc ( int param )
TestRemovedTemplate<7u, char>::method ( int p1 )
VirtualReplacement::methodOld ( int param )
vtable for RemovedLastVirtualMethod [data]
vtable for RemovedLastVirtualSymbol [data]

to the top

Problems with Data Types, High Severity  52 


libsample.h
[+] class OutsideNS  1 

libsample.h
namespace TestNS
[+] class AddedBitfield  1 
[+] class AddedFieldAndSize  1 
[+] class AddedFirstVirtualMethod  2 
[+] class AddedMiddleFieldAndSize  1 
[+] class AddedPrivateVirtualSymbol  1 
[+] class AddedPureVirtualMethod  1 
[+] class AddedVariable  3 
[+] class AddedVirtualBase1  1 
[+] class AddedVirtualBase2  1 
[+] class AddedVirtualMethod  1 
[+] class AllocableClassSize  1 
[+] class BaseTemplate<int>  1 
[+] class BecameVirtualMethod  1 
[+] class Callback  1 
[+] class ChangedBaseClassAndSize  3 
[+] class CopyingClassSize  1 
[+] class FieldPointerLevelAndSize  1 
[+] class FieldTypeAndSize  1 
[+] class ObjectAddedMember  1 
[+] class PureVirtualFunctionPosition  2 
[+] class RemovedFieldAndSize  1 
[+] class RemovedInlineVirtualFunction  1 
[+] class RemovedLastVirtualMethod  3 
[+] class RemovedLastVirtualSymbol  3 
[+] class RemovedMiddleFieldAndSize  2 
[+] class RemovedPureSymbol  1 
[+] class RemovedPureVirtualMethodFromEnd  1 
[+] class RemovedVirtualFunction  1 
[+] class RemovedVirtualMethodFromEnd  1 
[+] class RemovedVirtualSymbol  1 
[+] class TypeSize  1 
[+] class VirtualFunctionPosition  2 
[+] class VirtualMethodPosition  2 
[+] class VirtualTableSize  1 
[+] struct AnonTypedef  1 
[+] struct UnnamedTypeSize  1 
[+] union UnionAddedField  1 
[+] union UnionRemovedField  1 

to the top

Problems with Symbols, High Severity  15 


libsample.h, libsample.so
namespace TestNS
[+] addedParameter ( int param )  1 
[+] funcParameterBaseType ( int* param )  1 
[+] funcParameterPointerLevel ( int* param )  1 
[+] funcParameterPointerLevelAndSize ( long long param )  1 
[+] funcParameterType ( int param, int other_param )  1 
[+] funcParameterTypeAndSize ( int param, int other_param )  1 
[+] MethodBecameConst::method ( int param )  1 
[+] MethodBecameConstVolatile::method ( int param )  2 
[+] MethodBecameNonConst::method ( int param ) const  1 
[+] MethodBecameNonStatic::becameNonStatic ( MethodBecameNonStatic param ) [static]  1 
[+] MethodBecameStatic::becameStatic ( MethodBecameStatic param )  1 
[+] MethodBecameVolatile::method ( int param )  1 
[+] parameterTypedefChange ( float param )  1 
[+] removedParameter ( int param, int removed_param )  1 

to the top

Problems with Data Types, Medium Severity  31 


libsample.h
namespace TestNS
[+] class AddedBitfield  1 
[+] class AddedMiddleFieldAndSize  1 
[+] class AddedVirtualBase1  1 
[+] class AddedVirtualBase2  1 
[+] class AddedVirtualMethodAtEnd_DefaultConstructor  1 
[+] class BitfieldSize  1 
[+] class DecreasedClassSize  1 
[+] class DefaultConstructor  1 
[+] class FieldPointerLevelAndSize  2 
[+] class FieldTypeAndSize  1 
[+] class MemberType  1 
[+] class MovedField  2 
[+] class PureVirtualReplacement  1 
[+] class RemovedAddedVirtualSymbol  1 
[+] class RemovedBitfield  1 
[+] class RemovedFieldAndSize  2 
[+] class RemovedMiddleBitfield  1 
[+] class UnsafeVirtualOverride  1 
[+] class VirtualReplacement  1 
[+] enum EnumMemberValue  2 
[+] struct FieldTypeFormat  1 
[+] struct StructBecameOpaque  1 
[+] struct TestRefChange  1 
[+] typedef TYPEDEF_TYPE_2  1 
[+] union UnionAddedField  1 
[+] union UnionBecameOpaque  1 
[+] union UnionRemovedField  1 

to the top

Problems with Symbols, Medium Severity  10 


libsample.h
namespace TestNS
[+] globalDataBecameNonConst [data]  1 

libsample.h, libsample.so
namespace TestNS
[+] funcReturnBaseType ( int param )  1 
[+] funcReturnPointerLevelAndSize ( int param )  1 
[+] funcReturnType ( int param )  1 
[+] funcReturnTypeAndSize ( int param )  1 
[+] funcReturnTypeBecameVoid ( int param )  1 
[+] globalDataBecameConst [data]  1 
[+] GlobalDataBecameConst::Data [data]  1 
[+] GlobalDataBecameNonConst::data [data]  1 
[+] ParameterBecameRestrict::method ( int* param )  1 

to the top

Problems with Data Types, Low Severity  45 


libsample.h
[+] class OutsideNS  1 

libsample.h
namespace TestNS
[+] class AddedBitfield  1 
[+] class AddedFieldAndSize  2 
[+] class AddedMiddlePaddedField  1 
[+] class AddedTailField  1 
[+] class AllocableClassSize  1 
[+] class BaseClassBecameVirtuallyInherited  1 
[+] class ChangedBaseClass  2 
[+] class CopyingClassSize  1 
[+] class DecreasedClassSize  2 
[+] class DecreasedClassSize_SubClass  1 
[+] class FieldBaseType  1 
[+] class FieldBecameConst  2 
[+] class FieldBecameConstTypedef  2 
[+] class FieldBecameMutable  1 
[+] class FieldBecameNonMutable  1 
[+] class FieldBecameNonVolatile  1 
[+] class FieldBecamePrivate  1 
[+] class FieldBecameProtected  1 
[+] class FieldBecameVolatile  2 
[+] class FieldPointerLevel  2 
[+] class FieldRemovedConst  1 
[+] class ObjectAddedMember  2 
[+] class OverriddenVirtualMethod  1 
[+] class OverriddenVirtualMethodB  1 
[+] class RenamedField  1 
[+] class TypeSize  2 
[+] class UnsafeVirtualOverride  1 
[+] enum EnumMemberRename  2 
[+] struct DType  2 
[+] struct FieldTypeFormat_FuncPtr  1 
[+] struct TestRefChange  1 
[+] typedef TestFieldPtr::Field  1 
[+] typedef TestMethodPtr::Method  1 

to the top

Problems with Symbols, Low Severity  24 


libsample.h
namespace TestNS
[+] globalDataBecameNonConst [data]  1 
[+] GlobalDataValue::Char [data]  1 
[+] GlobalDataValue::Integer [data]  1 
[+] globalDataValue_Char [data]  1 
[+] globalDataValue_Integer [data]  1 

libsample.h, libsample.so
namespace TestNS
[+] funcReturnPointerLevel ( int param )  2 
[+] funcReturnPointerLevelAndSize ( int param )  1 
[+] globalDataBecameConst [data]  1 
[+] GlobalDataBecameConst::Data [data]  1 
[+] GlobalDataBecameNonConst::data [data]  1 
[+] GlobalDataBecamePrivate::data [data]  1 
[+] MethodBecamePrivate::method ( )  1 
[+] MethodBecameProtected::method ( )  1 
[+] OverriddenVirtualMethod::method3 ( int param )  1 
[+] OverriddenVirtualMethod::__ct [C1] ( )  1 
[+] OverriddenVirtualMethod::__ct [C2] ( )  1 
[+] paramDefaultValueChanged_Bool ( bool param )  1 
[+] paramDefaultValueChanged_Char ( char param )  1 
[+] paramDefaultValueChanged_Integer ( int param )  1 
[+] paramDefaultValueChanged_String ( char const* param )  1 
[+] ParameterBecameNonRestrict::method ( int*restrict param )  1 
[+] ParameterBecameRestrict::method ( int* param )  1 
[+] parameterDefaultValueRemoved ( int param )  1 

to the top

Problems with Constants, Low Severity  1 


libsample.h
[+] PUBLIC_CONSTANT

to the top

Other Changes in Data Types  4 


libsample.h
namespace TestNS
[+] class AddedVirtualMethodAtEnd  1 
[+] class FieldBecameNonVolatile  1 
[+] class FieldRemovedConst  1 
[+] enum AddedEnumMember  1 

to the top

Other Changes in Symbols  3 


libsample.h, libsample.so
namespace TestNS
[+] MethodBecamePublic::method ( )  1 
[+] ParameterBecameNonRestrict::method ( int*restrict param )  1 
[+] parameterDefaultValueAdded ( int param )  1 

to the top

Header Files  1 


libsample.h

to the top

Libraries  1 


libsample.so

to the top



Test Info


Library Namelibsample_cpp
Version #11.0
Version #22.0
Archx86
SubjectSource Compatibility

Test Results


Total Header Files1
Total Libraries1
Total Symbols / Types233 / 129
Compatibility 77.7%

Problem Summary


SeverityCount
Added Symbols-33
Removed SymbolsHigh26
Problems with
Data Types
High16
Medium12
Low32
Problems with
Symbols
High6
Medium16
Low10
Problems with
Constants
Low2
Other Changes
in Data Types
-10
Other Changes
in Symbols
-19
Other Changes
in Constants
-1

Added Symbols  33 


libsample.h
namespace TestNS
AddedBaseClass::__ct [C1] ( )
AddedBaseClass::__ct [C2] ( )
AddedBaseClass::method ( )
AddedFirstVirtualMethod::addedMethod ( int param )
addedFunc ( FUNCPTR_TYPE*const** f )
addedFunc2 ( void*** param )
addedFunc3 ( struct DStruct* p )
AddedInterface::added_func ( AddedInterface param )
addedParameter ( int param, int added_param )
AddedVariable::i1 [data]
AddedVariable::i2 [data]
AddedVirtualBase1::__ct [C1] ( )
AddedVirtualBase2::__ct [C1] ( )
AddedVirtualMethod::addedMethod ( int param )
AddedVirtualMethodAtEnd::addedMethod ( int param )
AddedVirtualMethodAtEnd_DefaultConstructor::addedMethod ( int param )
BaseClassBecameVirtuallyInherited::__ct [C1] ( )
DefaultConstructor::addedMethod ( int param )
funcParameterBaseType ( long long* param )
funcParameterPointerLevel ( int** param )
funcParameterPointerLevelAndSize ( long long* param )
funcParameterType ( float param, int other_param )
funcParameterTypeAndSize ( long long param, int other_param )
OpaqueStruct::__ct [C1] ( )
OpaqueStruct::__ct [C2] ( )
parameterTypedefChange ( int param )
PureVirtualReplacement_Derived::methodNew ( int param )
RemovedAddedVirtualSymbol::addedMethod ( int param )
removedParameter ( int param )
renamedFunc_NewName ( int param )
UnsafeVirtualOverride::bar ( )
VirtualReplacement::methodNew ( int param )
VirtualTableSize::addedMethod ( int param )

to the top

Removed Symbols  26 


libsample.h
namespace TestNS
removedTemplateSpec<char> ( char p1 )
addedParameter ( int param )
funcParameterBaseType ( int* param )
funcParameterPointerLevel ( int* param )
funcParameterPointerLevelAndSize ( long long param )
funcParameterType ( int param, int other_param )
funcParameterTypeAndSize ( int param, int other_param )
OverriddenVirtualMethodB::method2 ( int param )
parameterTypedefChange ( float param )
PureVirtualReplacement_Derived::methodOld ( int param )
RemovedAddedVirtualSymbol::removedMethod ( int param )
RemovedBaseClass::method ( )
RemovedBaseClass::__ct [C1] ( )
RemovedBaseClass::__ct [C2] ( )
RemovedConstOverload::removed ( ) const
removedFunc2 ( void*** param )
RemovedInlineVirtualFunction::removedMethod ( int param )
RemovedInterface::removed_func ( RemovedInterface param )
RemovedLastVirtualSymbol::removedMethod ( int param )
removedParameter ( int param, int removed_param )
RemovedVirtualDestructor::~__dt [D0] ( )
RemovedVirtualDestructor::~__dt [D1] ( )
RemovedVirtualDestructor::~__dt [D2] ( )
RemovedVirtualSymbol::removedMethod ( int param )
TestRemovedTemplate<7u, char>::method ( int p1 )
VirtualReplacement::methodOld ( int param )

to the top

Problems with Data Types, High Severity  16 


libsample.h
namespace TestNS
[+] class AddedPureVirtualMethod  1 
[+] class AddedVariable  2 
[+] class Callback  1 
[+] class RemovedBitfield  1 
[+] class RemovedFieldAndSize  2 
[+] class RemovedMiddleBitfield  1 
[+] class RemovedMiddleFieldAndSize  1 
[+] class RemovedPureSymbol  1 
[+] class RemovedPureVirtualMethodFromEnd  1 
[+] class RenamedField  1 
[+] enum EnumMemberRename  2 
[+] struct TestRefChange  1 
[+] union UnionRemovedField  1 

to the top

Problems with Symbols, High Severity  6 


libsample.h
namespace TestNS
[+] GlobalDataBecamePrivate::data [data]  1 
[+] MethodBecameNonStatic::becameNonStatic ( MethodBecameNonStatic param ) [static]  1 
[+] MethodBecamePrivate::method ( )  1 
[+] OverriddenVirtualMethod::method3 ( int param )  1 
[+] OverriddenVirtualMethod::__ct [C1] ( )  1 
[+] OverriddenVirtualMethod::__ct [C2] ( )  1 

to the top

Problems with Data Types, Medium Severity  12 


libsample.h
namespace TestNS
[+] class FieldBecameConst  1 
[+] class FieldBecameConstTypedef  1 
[+] class FieldBecameNonMutable  1 
[+] class FieldBecamePrivate  1 
[+] class FieldBecameProtected  1 
[+] class FieldPointerLevel  1 
[+] class FieldPointerLevelAndSize  1 
[+] class RemovedConstOverload  1 
[+] struct DType  2 
[+] struct StructBecameOpaque  1 
[+] union UnionBecameOpaque  1 

to the top

Problems with Symbols, Medium Severity  16 


libsample.h
namespace TestNS
[+] addedParameter ( int param )  1 
[+] funcParameterBaseType ( int* param )  1 
[+] funcParameterPointerLevel ( int* param )  1 
[+] funcParameterPointerLevelAndSize ( long long param )  1 
[+] funcParameterType ( int param, int other_param )  1 
[+] funcParameterTypeAndSize ( int param, int other_param )  1 
[+] funcReturnPointerLevel ( int param )  1 
[+] funcReturnPointerLevelAndSize ( int param )  1 
[+] funcReturnTypeBecameVoid ( int param )  1 
[+] globalDataBecameConst [data]  1 
[+] GlobalDataBecameConst::Data [data]  1 
[+] MethodBecameNonConst::method ( int param ) const  1 
[+] MethodBecameProtected::method ( )  1 
[+] parameterDefaultValueRemoved ( int param )  1 
[+] parameterTypedefChange ( float param )  1 
[+] removedParameter ( int param, int removed_param )  1 

to the top

Problems with Data Types, Low Severity  32 


libsample.h
[+] class OutsideNS  1 

libsample.h
namespace TestNS
[+] class AddedBitfield  2 
[+] class AddedFieldAndSize  2 
[+] class AddedMiddleFieldAndSize  1 
[+] class AddedMiddlePaddedField  1 
[+] class AddedTailField  1 
[+] class AllocableClassSize  1 
[+] class ChangedBaseClass  2 
[+] class ChangedBaseClassAndSize  2 
[+] class CopyingClassSize  1 
[+] class DecreasedClassSize  1 
[+] class FieldBaseType  1 
[+] class FieldPointerLevel  1 
[+] class FieldPointerLevelAndSize  1 
[+] class FieldTypeAndSize  1 
[+] class MemberType  1 
[+] class ObjectAddedMember  2 
[+] class OverriddenVirtualMethod  1 
[+] class OverriddenVirtualMethodB  1 
[+] class TypeSize  2 
[+] class UnsafeVirtualOverride  1 
[+] struct FieldTypeFormat  1 
[+] struct FieldTypeFormat_FuncPtr  1 
[+] typedef TestFieldPtr::Field  1 
[+] typedef TestMethodPtr::Method  1 
[+] typedef TYPEDEF_TYPE_2  1 

to the top

Problems with Symbols, Low Severity  10 


libsample.h
namespace TestNS
[+] funcReturnBaseType ( int param )  1 
[+] funcReturnPointerLevel ( int param )  1 
[+] funcReturnPointerLevelAndSize ( int param )  1 
[+] funcReturnType ( int param )  1 
[+] funcReturnTypeAndSize ( int param )  1 
[+] globalDataBecameConst [data]  1 
[+] GlobalDataBecameConst::Data [data]  1 
[+] globalDataBecameNonConst [data]  1 
[+] GlobalDataBecameNonConst::data [data]  1 
[+] InlineMethod::foo ( )  1 

to the top

Problems with Constants, Low Severity  2 


libsample.h
[+] PUBLIC_CONSTANT
[+] PUBLIC_VERSION

to the top

Other Changes in Data Types  10 


libsample.h
namespace TestNS
[+] class FieldBecameMutable  1 
[+] class FieldBecameNonVolatile  1 
[+] class FieldBecameVolatile  1 
[+] class FieldRemovedConst  1 
[+] class MovedField  2 
[+] enum AddedEnumMember  1 
[+] enum EnumMemberValue  2 
[+] union UnionAddedField  1 

to the top

Other Changes in Symbols  19 


libsample.h
namespace TestNS
[+] globalDataBecameNonConst [data]  1 
[+] GlobalDataBecameNonConst::data [data]  1 
[+] GlobalDataValue::Char [data]  1 
[+] GlobalDataValue::Integer [data]  1 
[+] globalDataValue_Char [data]  1 
[+] globalDataValue_Integer [data]  1 
[+] MethodBecameConst::method ( int param )  1 
[+] MethodBecameConstVolatile::method ( int param )  2 
[+] MethodBecamePublic::method ( )  1 
[+] MethodBecameStatic::becameStatic ( MethodBecameStatic param )  1 
[+] MethodBecameVolatile::method ( int param )  1 
[+] paramDefaultValueChanged_Bool ( bool param )  1 
[+] paramDefaultValueChanged_Char ( char param )  1 
[+] paramDefaultValueChanged_Integer ( int param )  1 
[+] paramDefaultValueChanged_String ( char const* param )  1 
[+] ParameterBecameNonRestrict::method ( int*restrict param )  1 
[+] ParameterBecameRestrict::method ( int* param )  1 
[+] parameterDefaultValueAdded ( int param )  1 

to the top

Other Changes in Constants  1 


libsample.h
[+] renamedFunc

to the top

Header Files  1 


libsample.h

to the top

Libraries  1 


libsample.so

to the top