API compatibility report for the NAME library between 1.0 and 2.0 versions on x86_64


Binary
Compatibility
Source
Compatibility

Test Info


Library NameNAME
Version #11.0
Version #22.0
Archx86_64
GCC Version9
SubjectBinary Compatibility

Test Results


Total Header Files1
Total Libraries1
Total Symbols / Types103 / 61
Compatibility 57.3%

Problem Summary


SeverityCount
Added Symbols-9
Removed SymbolsHigh3
Problems with
Data Types
High8
Medium23
Low30
Problems with
Symbols
High13
Medium33
Low28
Problems with
Constants
Low4
Other Changes
in Data Types
-1
Other Changes
in Constants
-2

Added Symbols  9 


libsample.h, libsample.so
addedFunc ( FUNCPTR_TYPE*const** f )
addedFunc2 ( int(*func)(int, int) )
addedFunc3 ( float p1, ... )
addedFunc4 ( int param )
badVersioning ( int param ) @ VERSION_2.0
changedDefaultVersion ( long param ) @@ VERSION_3.0
changedVersion ( int param ) @ VERSION_3.0
goodVersioning ( int param ) @ VERSION_2.0
testCppKeywords4 ( int* param, int p2 )

to the top

Removed Symbols  3 


libsample.h, libsample.so
changedDefaultVersion ( int param ) @@ VERSION_2.0
changedVersion ( int param ) @ VERSION_2.0
removedFunc ( int param )

to the top

Problems with Data Types, High Severity  8 


libsample.h
[+] struct AddedFieldAndSize  1 
[+] struct AnonTypedef  1 
[+] struct ArrayFieldSize  1 
[+] struct ArrayFieldType  1 
[+] struct RemovedFieldAndSize  1 
[+] struct TypeSize  1 
[+] struct UnnamedTypeSize  1 
[+] union UnionTypeAddedField  1 

to the top

Problems with Symbols, High Severity  13 


libsample.h, libsample.so
[+] callConv ( int e, int f, struct POD1 s, int g, int h, long double ld, double m, double n, int i, int j, int k )  1 
[+] changedVersionToDefault ( int param )  1 
[+] changedVersionToNonDefault ( int param )  1 
[+] parameterCallingConvention ( int p1, int p2, int p3 )  1 
[+] parameterPointerLevel ( int* param )  1 
[+] parameterPointerLevelAndSize ( long long param )  1 
[+] parameterTypeAndSize ( int param, int other_param )  1 
[+] parameterTypeAndSizeBecameNonConst ( int*const param, int other_param )  1 
[+] returnTypeChangeFromIntToStruct ( int param )  1 
[+] returnTypeChangeFromStructToInt ( int param )  1 
[+] returnTypeChangeFromStructToIntWithNoParams ( )  1 
[+] returnTypeChangeFromStructToVoid ( int param )  1 
[+] returnTypeChangeFromVoidToStruct ( int param )  1 

to the top

Problems with Data Types, Medium Severity  23 


libsample.h
[+] enum EnumMemberValue  2 
[+] enum EnumMiddleMemberRemoved  2 
[+] struct DType  1 
[+] struct FieldPointerLevel  1 
[+] struct FieldPointerLevelAndSize  1 
[+] struct FieldSizePadded  1 
[+] struct FieldType  1 
[+] struct FieldTypeFormat  1 
[+] struct RemovedFieldAndSize  2 
[+] struct RemovedMiddleField  1 
[+] struct SomeStruct2  1 
[+] struct SomeStruct3  3 
[+] struct StructToUnion  1 
[+] struct UnnamedTypeSize  1 
[+] typedef TYPEDEF_TYPE  1 
[+] typedef TYPEDEF_TYPE_2  1 
[+] union UnionTypeAddedField  1 
[+] union UnnamedTypeSize::anon-union-libsample.h-320  1 

to the top

Problems with Symbols, Medium Severity  33 


libsample.h, libsample.so
[+] addedParameter ( int param )  2 
[+] badVersioning ( int param ) @ VERSION_1.0  1 
[+] callConv2 ( struct POD i, int j )  1 
[+] callConv3 ( struct POD2 i, int j )  1 
[+] callConv4 ( union UNION i, int j )  1 
[+] callConv5 ( struct ARRAY i, int j )  1 
[+] globalDataBecameConst [data]  1 
[+] globalDataBecameNonConst [data]  1 
[+] globalDataBecameNonConst_Typedef [data]  1 
[+] globalDataSize [data]  1 
[+] globalDataType [data]  1 
[+] globalDataTypeAndSize [data]  2 
[+] globalStructDataBecameNonConst [data]  1 
[+] parameterBaseTypeChange ( int* param )  1 
[+] parameterBecameNonConst ( int const* param )  1 
[+] parameterBecameNonConstNonVolatile ( int const volatile* param )  1 
[+] parameterBecameRegister ( int arg )  1 
[+] parameterCallingConvention ( int p1, int p2, int p3 )  1 
[+] parameterType ( int param, int other_param )  1 
[+] parameterTypeAndSizeBecameNonConst ( int*const param, int other_param )  2 
[+] parameterTypeFormat ( struct DType1 param )  1 
[+] parameterTypeFormat2 ( struct DType param )  1 
[+] removedParameter ( int param, int removed_param )  1 
[+] returnBaseTypeChange ( int param )  1 
[+] returnType ( int param )  1 
[+] returnTypeAndSize ( int param )  1 
[+] returnTypeBecameConst ( int param )  1 
[+] returnTypeBecameConst2 ( int param )  1 
[+] returnTypeBecameConst3 ( int param )  1 
[+] returnTypeChangeToVoid ( int param )  1 

to the top

Problems with Data Types, Low Severity  30 


libsample.h
[+] enum EnumMemberName  2 
[+] enum EnumMemberRemoved  1 
[+] enum EnumMiddleMemberRemoved  1 
[+] struct AddedFieldAndSize  2 
[+] struct AddedMiddleField  1 
[+] struct AddedMiddleFieldAndSize  1 
[+] struct AnonTypedef  1 
[+] struct ArrayFieldSize  1 
[+] struct ArrayFieldType  1 
[+] struct FieldBaseType  1 
[+] struct FieldPointerLevel  1 
[+] struct FieldPointerLevelAndSize  1 
[+] struct FieldTypeAndSize  1 
[+] struct GlobalDataSize  2 
[+] struct InternalType  1 
[+] struct OpaqueType  1 
[+] struct RenamedField  1 
[+] struct SomeStruct2  1 
[+] struct SomeStruct3  2 
[+] struct TypeSize  2 
[+] struct UsedReserved  2 
[+] typedef PARAM_TYPEDEF  1 
[+] union RenamedUnionField  1 
[+] union UnnamedTypeSize::anon-union-libsample.h-320  1 

to the top

Problems with Symbols, Low Severity  28 


libsample.h, libsample.so
[+] globalDataBecameConst [data]  1 
[+] globalDataBecameNonConst [data]  1 
[+] globalDataBecameNonConst_Typedef [data]  1 
[+] globalDataValue_Char [data]  1 
[+] globalDataValue_Integer [data]  1 
[+] globalStructDataBecameNonConst [data]  1 
[+] parameterBecameNonConst ( int const* param )  1 
[+] parameterBecameNonConstNonVolatile ( int const volatile* param )  2 
[+] parameterNonVaList ( int param, ... )  2 
[+] parameterPointerLevel ( int* param )  1 
[+] parameterPointerLevelAndSize ( long long param )  1 
[+] parameterVaList ( int param1, int param2 )  2 
[+] returnPointerLevel ( int param )  2 
[+] returnPointerLevelAndSize ( int param )  2 
[+] returnTypeBecameConst ( int param )  1 
[+] returnTypeBecameConst2 ( int param )  1 
[+] returnTypeBecameConst3 ( int param )  1 
[+] returnTypeBecameVolatile ( int param )  2 
[+] returnTypeChangeFromVoidToLong ( int param )  1 
[+] returnTypeChangeFromVoidToVoidPtr ( int param )  1 
[+] returnTypeChangeToVoidPtr ( int param )  1 
[+] typedefToFunction ( int(*p)(int) )  1 

to the top

Problems with Constants, Low Severity  4 


libsample.h
[+] PUBLIC_CONSTANT
[+] REMOVED_CNST
[+] REMOVED_CONSTANT
[+] SOME_CONSTANT

to the top

Other Changes in Data Types  1 


libsample.h
[+] enum AddedEnumMember  1 

to the top

Other Changes in Constants  2 


libsample.h
[+] ADDED_CNST
[+] ADDED_CONSTANT

to the top

Header Files  1 


libsample.h

to the top

Libraries  1 


libsample.so

to the top



Test Info


Library NameNAME
Version #11.0
Version #22.0
Archx86_64
SubjectSource Compatibility

Test Results


Total Header Files1
Total Libraries1
Total Symbols / Types103 / 61
Compatibility 80.1%

Problem Summary


SeverityCount
Added Symbols-7
Removed SymbolsHigh1
Problems with
Data Types
High10
Medium4
Low24
Problems with
Symbols
High0
Medium22
Low32
Problems with
Constants
Low4
Other Changes
in Data Types
-10
Other Changes
in Symbols
-13
Other Changes
in Constants
-2

Added Symbols  7 


libsample.h
addedFunc ( FUNCPTR_TYPE*const** f )
addedFunc2 ( int(*func)(int, int) )
addedFunc3 ( float p1, ... )
addedFunc4 ( int param )
badVersioningOld ( int param )
goodVersioningOld ( int param )
testCppKeywords4 ( int* param, int p2 )

to the top

Removed Symbols  1 


libsample.h
removedFunc ( int param )

to the top

Problems with Data Types, High Severity  10 


libsample.h
[+] enum EnumMemberName  2 
[+] enum EnumMemberRemoved  1 
[+] enum EnumMiddleMemberRemoved  1 
[+] struct RemovedFieldAndSize  2 
[+] struct RemovedMiddleField  1 
[+] struct RenamedField  1 
[+] struct SomeStruct2  1 
[+] union RenamedUnionField  1 

to the top

Problems with Data Types, Medium Severity  4 


libsample.h
[+] struct DType  1 
[+] struct FieldPointerLevel  1 
[+] struct FieldPointerLevelAndSize  1 
[+] struct StructToUnion  1 

to the top

Problems with Symbols, Medium Severity  22 


libsample.h
[+] addedParameter ( int param )  2 
[+] globalDataBecameConst [data]  1 
[+] parameterBecameNonConst ( int const* param )  1 
[+] parameterBecameNonConstNonVolatile ( int const volatile* param )  1 
[+] parameterNonVaList ( int param, ... )  1 
[+] parameterPointerLevel ( int* param )  1 
[+] parameterPointerLevelAndSize ( long long param )  1 
[+] parameterTypeAndSizeBecameNonConst ( int*const param, int other_param )  2 
[+] parameterTypeFormat2 ( struct DType param )  1 
[+] removedParameter ( int param, int removed_param )  1 
[+] returnPointerLevel ( int param )  1 
[+] returnPointerLevelAndSize ( int param )  1 
[+] returnTypeBecameConst ( int param )  1 
[+] returnTypeBecameConst2 ( int param )  1 
[+] returnTypeBecameConst3 ( int param )  1 
[+] returnTypeChangeFromIntToStruct ( int param )  1 
[+] returnTypeChangeFromStructToInt ( int param )  1 
[+] returnTypeChangeFromStructToIntWithNoParams ( )  1 
[+] returnTypeChangeFromStructToVoid ( int param )  1 
[+] returnTypeChangeToVoid ( int param )  1 

to the top

Problems with Data Types, Low Severity  24 


libsample.h
[+] struct AddedFieldAndSize  2 
[+] struct AddedMiddleField  1 
[+] struct AddedMiddleFieldAndSize  1 
[+] struct ArrayFieldSize  1 
[+] struct ArrayFieldType  1 
[+] struct FieldBaseType  1 
[+] struct FieldPointerLevel  1 
[+] struct FieldPointerLevelAndSize  1 
[+] struct FieldSizePadded  1 
[+] struct FieldType  1 
[+] struct FieldTypeAndSize  1 
[+] struct FieldTypeFormat  1 
[+] struct GlobalDataSize  1 
[+] struct InternalType  1 
[+] struct OpaqueType  1 
[+] struct SomeStruct3  2 
[+] struct TypeSize  2 
[+] typedef PARAM_TYPEDEF  1 
[+] typedef TYPEDEF_TYPE  1 
[+] typedef TYPEDEF_TYPE_2  1 
[+] union UnnamedTypeSize::anon-union-libsample.h-320  1 

to the top

Problems with Symbols, Low Severity  32 


libsample.h
[+] badVersioning ( int param )  1 
[+] callConv ( int e, int f, struct POD1 s, int g, int h, long double ld, double m, double n, int i, int j, int k )  1 
[+] callConv2 ( struct POD i, int j )  1 
[+] callConv3 ( struct POD2 i, int j )  1 
[+] callConv4 ( union UNION i, int j )  1 
[+] callConv5 ( struct ARRAY i, int j )  1 
[+] changedDefaultVersion ( int param )  1 
[+] changedVersionToDefault ( int param )  1 
[+] changedVersionToNonDefault ( int param )  1 
[+] globalDataBecameConst [data]  1 
[+] globalDataBecameNonConst [data]  1 
[+] globalDataBecameNonConst_Typedef [data]  1 
[+] globalDataType [data]  1 
[+] globalDataTypeAndSize [data]  1 
[+] globalStructDataBecameNonConst [data]  1 
[+] goodVersioning ( int param )  1 
[+] parameterBaseTypeChange ( int* param )  1 
[+] parameterCallingConvention ( int p1, int p2, int p3 )  2 
[+] parameterPointerLevel ( int* param )  1 
[+] parameterPointerLevelAndSize ( long long param )  1 
[+] parameterType ( int param, int other_param )  1 
[+] parameterTypeAndSize ( int param, int other_param )  1 
[+] parameterTypeAndSizeBecameNonConst ( int*const param, int other_param )  1 
[+] parameterTypeFormat ( struct DType1 param )  1 
[+] returnBaseTypeChange ( int param )  1 
[+] returnPointerLevel ( int param )  1 
[+] returnPointerLevelAndSize ( int param )  1 
[+] returnType ( int param )  1 
[+] returnTypeAndSize ( int param )  1 
[+] returnTypeChangeToVoidPtr ( int param )  1 
[+] typedefToFunction ( int(*p)(int) )  1 

to the top

Problems with Constants, Low Severity  4 


libsample.h
[+] PUBLIC_CONSTANT
[+] REMOVED_CNST
[+] REMOVED_CONSTANT
[+] SOME_CONSTANT

to the top

Other Changes in Data Types  10 


libsample.h
[+] enum AddedEnumMember  1 
[+] enum EnumMemberValue  2 
[+] enum EnumMiddleMemberRemoved  2 
[+] struct SomeStruct3  2 
[+] struct UsedReserved  2 
[+] union UnionTypeAddedField  1 

to the top

Other Changes in Symbols  13 


libsample.h
[+] globalDataBecameNonConst [data]  1 
[+] globalDataBecameNonConst_Typedef [data]  1 
[+] globalDataValue_Char [data]  1 
[+] globalDataValue_Integer [data]  1 
[+] globalStructDataBecameNonConst [data]  1 
[+] parameterBecameNonConstNonVolatile ( int const volatile* param )  1 
[+] parameterNonVaList ( int param, ... )  1 
[+] parameterVaList ( int param1, int param2 )  2 
[+] returnTypeBecameVolatile ( int param )  1 
[+] returnTypeChangeFromVoidToLong ( int param )  1 
[+] returnTypeChangeFromVoidToStruct ( int param )  1 
[+] returnTypeChangeFromVoidToVoidPtr ( int param )  1 

to the top

Other Changes in Constants  2 


libsample.h
[+] ADDED_CNST
[+] ADDED_CONSTANT

to the top

Header Files  1 


libsample.h

to the top

Libraries  1 


libsample.so

to the top