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


Binary
Compatibility
Source
Compatibility

Test Info


Library Namelibsample_c
Version #11.0
Version #22.0
Archx86
GCC Version4.9.4
SubjectBinary Compatibility

Test Results


Total Header Files1
Total Shared Libraries1
Total Symbols / Types87 / 87
Compatibility 47.7%

Problem Summary


SeverityCount
Added Symbols-4
Removed SymbolsHigh1
Problems with
Data Types
High13
Medium25
Low21
Problems with
Symbols
High16
Medium31
Low24
Problems with
Constants
Low4
Other Changes
in Data Types
-1
Other Changes
in Constants
-2

Added Symbols  4 


libsample.h, libsample.so
addedFunc FUNCPTR_TYPE*const** f )
addedFunc2 int(*func)(int, int) )
addedFunc3 float p1, ... )
addedFunc4 int param )

to the top

Removed Symbols  1 


libsample.h, libsample.so
removedFunc int param )

to the top

Problems with Data Types, High Severity  13 


libsample.h
[+] struct AddedFieldAndSize  1 
[+] struct AddedMiddleFieldAndSize  1 
[+] struct AnonTypedef  1 
[+] struct ArrayFieldSize  1 
[+] struct ArrayFieldType  1 
[+] struct FieldPointerLevelAndSize  1 
[+] struct FieldTypeAndSize  1 
[+] struct RemovedFieldAndSize  1 
[+] struct RemovedMiddleField  2 
[+] struct TypeSize  1 
[+] struct UnnamedTypeSize  1 
[+] union UnionTypeAddedField  1 

to the top

Problems with Symbols, High Severity  16 


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 
[+] 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 
[+] parameterCallingConvention int p1, int p2, int p3 )  1 
[+] parameterPointerLevel int* param )  1 
[+] parameterPointerLevelAndSize long long param )  2 
[+] parameterTypeAndSize int param, int other_param )  1 
[+] parameterTypeAndSizeBecameNonConst int*const param, int other_param )  1 
[+] returnTypeChangeFromStructToVoid int param )  1 
[+] returnTypeChangeFromVoidToLong int param )  1 
[+] returnTypeChangeFromVoidToStruct int param )  1 
[+] returnTypeChangeFromVoidToVoidPtr int param )  1 
[+] returnTypeChangeToVoid int param )  1 

to the top

Problems with Data Types, Medium Severity  25 


libsample.h
[+] enum EnumMemberValue  2 
[+] enum EnumMiddleMemberRemoved  2 
[+] struct AddedMiddleFieldAndSize  1 
[+] struct ArrayFieldSize  1 
[+] struct DType  1 
[+] struct FieldPointerLevel  1 
[+] struct FieldPointerLevelAndSize  2 
[+] struct FieldSizePadded  1 
[+] struct FieldType  1 
[+] struct FieldTypeAndSize  1 
[+] struct FieldTypeFormat  1 
[+] struct RemovedFieldAndSize  2 
[+] struct SomeStruct2  1 
[+] struct SomeStruct3  1 
[+] struct TypeSize  2 
[+] struct UnnamedTypeSize  1 
[+] typedef TYPEDEF_TYPE  1 
[+] typedef TYPEDEF_TYPE_2  1 
[+] union UnionTypeAddedField  1 
[+] union UnnamedTypeSize::anon-union-libsample.h-301  1 

to the top

Problems with Symbols, Medium Severity  31 


libsample.h, libsample.so
[+] addedParameter int param )  2 
[+] 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 
[+] returnPointerLevelAndSize int param )  1 
[+] returnType int param )  1 
[+] returnTypeAndSize 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 

to the top

Problems with Data Types, Low Severity  21 


libsample.h
[+] enum EnumMemberName  2 
[+] enum EnumMemberRemoved  1 
[+] enum EnumMiddleMemberRemoved  1 
[+] struct AddedFieldAndSize  2 
[+] struct AddedMiddleField  1 
[+] struct AnonTypedef  1 
[+] struct ArrayFieldType  1 
[+] struct FieldBaseType  1 
[+] struct FieldPointerLevel  1 
[+] struct GlobalDataSize  2 
[+] struct RenamedField  1 
[+] struct SomeStruct2  1 
[+] struct SomeStruct3  1 
[+] struct UsedReserved  2 
[+] typedef PARAM_TYPEDEF  1 
[+] union RenamedUnionField  1 
[+] union UnnamedTypeSize::anon-union-libsample.h-301  1 

to the top

Problems with Symbols, Low Severity  24 


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 
[+] parameterVaList int param1, int param2 )  2 
[+] returnPointerLevel int param )  2 
[+] returnPointerLevelAndSize int param )  1 
[+] returnTypeBecameConst int param )  1 
[+] returnTypeBecameConst2 int param )  1 
[+] returnTypeBecameConst3 int param )  1 
[+] returnTypeBecameVolatile int param )  2 
[+] 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

Shared Libraries  1 


libsample.so

to the top



Test Info


Library Namelibsample_c
Version #11.0
Version #22.0
Archx86
SubjectSource Compatibility

Test Results


Total Header Files1
Total Shared Libraries1
Total Symbols / Types87 / 87
Compatibility 77%

Problem Summary


SeverityCount
Added Symbols-4
Removed SymbolsHigh1
Problems with
Data Types
High10
Medium3
Low21
Problems with
Symbols
High0
Medium22
Low27
Problems with
Constants
Low4
Other Changes
in Data Types
-8
Other Changes
in Symbols
-13
Other Changes
in Constants
-2

Added Symbols  4 


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

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  3 


libsample.h
[+] struct DType  1 
[+] struct FieldPointerLevel  1 
[+] struct FieldPointerLevelAndSize  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  21 


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 SomeStruct3  1 
[+] struct TypeSize  2 
[+] typedef PARAM_TYPEDEF  1 
[+] typedef TYPEDEF_TYPE  1 
[+] typedef TYPEDEF_TYPE_2  1 
[+] union UnnamedTypeSize::anon-union-libsample.h-301  1 

to the top

Problems with Symbols, Low Severity  27 


libsample.h
[+] 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 
[+] globalDataBecameConst [data]  1 
[+] globalDataBecameNonConst [data]  1 
[+] globalDataBecameNonConst_Typedef [data]  1 
[+] globalDataType [data]  1 
[+] globalDataTypeAndSize [data]  1 
[+] globalStructDataBecameNonConst [data]  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  8 


libsample.h
[+] enum AddedEnumMember  1 
[+] enum EnumMemberValue  2 
[+] enum EnumMiddleMemberRemoved  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

Shared Libraries  1 


libsample.so

to the top