Binary compatibility report for the pugixml library between 1.0 and 1.2 versions on x86
Test Info
Library Name | pugixml |
Version #1 | 1.0 |
Version #2 | 1.2 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 2 |
Total Shared Libraries | 1 |
Total Symbols / Types | 281 / 123 |
Verdict | Incompatible (4.6%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 51 |
Removed Symbols | High | 13 |
Problems with Data Types | High | 0 |
Medium | 0 |
Low | 2 |
Problems with Symbols | High | 13 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Other Changes in Data Types | - | 1 |
Added Symbols (51)
pugixml.hpp,
libpugixml.so.1.2
namespace pugi
xml_attribute::as_bool ( bool def ) const
[symbol: _ZNK4pugi13xml_attribute7as_boolEb]
xml_attribute::as_double ( double def ) const
[symbol: _ZNK4pugi13xml_attribute9as_doubleEd]
xml_attribute::as_float ( float def ) const
[symbol: _ZNK4pugi13xml_attribute8as_floatEf]
xml_attribute::as_int ( int def ) const
[symbol: _ZNK4pugi13xml_attribute6as_intEi]
xml_attribute::as_string ( char_t const* def ) const
[symbol: _ZNK4pugi13xml_attribute9as_stringEPKc]
xml_attribute::as_uint ( unsigned int def ) const
[symbol: _ZNK4pugi13xml_attribute7as_uintEj]
xml_attribute::operator xml_attribute::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi13xml_attributecvPFvPPPS0_EEv]
xml_attribute_iterator::operator* ( ) const
[symbol: _ZNK4pugi22xml_attribute_iteratordeEv]
xml_attribute_iterator::operator-> ( ) const
[symbol: _ZNK4pugi22xml_attribute_iteratorptEv]
xml_named_node_iterator::operator!= ( xml_named_node_iterator const& rhs ) const
[symbol: _ZNK4pugi23xml_named_node_iteratorneERKS0_]
xml_named_node_iterator::operator* ( ) const
[symbol: _ZNK4pugi23xml_named_node_iteratordeEv]
xml_named_node_iterator::operator++ ( )
[symbol: _ZN4pugi23xml_named_node_iteratorppEv]
xml_named_node_iterator::operator++ ( int p1 )
[symbol: _ZN4pugi23xml_named_node_iteratorppEi]
xml_named_node_iterator::operator-> ( ) const
[symbol: _ZNK4pugi23xml_named_node_iteratorptEv]
xml_named_node_iterator::operator == ( xml_named_node_iterator const& rhs ) const
[symbol: _ZNK4pugi23xml_named_node_iteratoreqERKS0_]
xml_named_node_iterator::xml_named_node_iterator [in-charge] ( )
[symbol: _ZN4pugi23xml_named_node_iteratorC1Ev]
xml_named_node_iterator::xml_named_node_iterator [in-charge] ( xml_node const& node, char_t const* name )
[symbol: _ZN4pugi23xml_named_node_iteratorC1ERKNS_8xml_nodeEPKc]
xml_named_node_iterator::xml_named_node_iterator [not-in-charge] ( )
[symbol: _ZN4pugi23xml_named_node_iteratorC2Ev]
xml_named_node_iterator::xml_named_node_iterator [not-in-charge] ( xml_node const& node, char_t const* name )
[symbol: _ZN4pugi23xml_named_node_iteratorC2ERKNS_8xml_nodeEPKc]
xml_node::attributes ( ) const
[symbol: _ZNK4pugi8xml_node10attributesEv]
xml_node::children ( ) const
[symbol: _ZNK4pugi8xml_node8childrenEv]
xml_node::children ( char_t const* name ) const
[symbol: _ZNK4pugi8xml_node8childrenEPKc]
xml_node::operator xml_node::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi8xml_nodecvPFvPPPS0_EEv]
xml_node::text ( ) const
[symbol: _ZNK4pugi8xml_node4textEv]
xml_node_iterator::operator* ( ) const
[symbol: _ZNK4pugi17xml_node_iteratordeEv]
xml_node_iterator::operator-> ( ) const
[symbol: _ZNK4pugi17xml_node_iteratorptEv]
xml_text::as_bool ( bool def ) const
[symbol: _ZNK4pugi8xml_text7as_boolEb]
xml_text::as_double ( double def ) const
[symbol: _ZNK4pugi8xml_text9as_doubleEd]
xml_text::as_float ( float def ) const
[symbol: _ZNK4pugi8xml_text8as_floatEf]
xml_text::as_int ( int def ) const
[symbol: _ZNK4pugi8xml_text6as_intEi]
xml_text::as_string ( char_t const* def ) const
[symbol: _ZNK4pugi8xml_text9as_stringEPKc]
xml_text::as_uint ( unsigned int def ) const
[symbol: _ZNK4pugi8xml_text7as_uintEj]
xml_text::data ( ) const
[symbol: _ZNK4pugi8xml_text4dataEv]
xml_text::empty ( ) const
[symbol: _ZNK4pugi8xml_text5emptyEv]
xml_text::get ( ) const
[symbol: _ZNK4pugi8xml_text3getEv]
xml_text::operator xml_text::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi8xml_textcvPFvPPPS0_EEv]
xml_text::operator! ( ) const
[symbol: _ZNK4pugi8xml_textntEv]
xml_text::operator = ( bool rhs )
[symbol: _ZN4pugi8xml_textaSEb]
xml_text::operator = ( double rhs )
[symbol: _ZN4pugi8xml_textaSEd]
xml_text::operator = ( int rhs )
[symbol: _ZN4pugi8xml_textaSEi]
xml_text::operator = ( char_t const* rhs )
[symbol: _ZN4pugi8xml_textaSEPKc]
xml_text::operator = ( unsigned int rhs )
[symbol: _ZN4pugi8xml_textaSEj]
xml_text::set ( bool rhs )
[symbol: _ZN4pugi8xml_text3setEb]
xml_text::set ( double rhs )
[symbol: _ZN4pugi8xml_text3setEd]
xml_text::set ( int rhs )
[symbol: _ZN4pugi8xml_text3setEi]
xml_text::set ( char_t const* rhs )
[symbol: _ZN4pugi8xml_text3setEPKc]
xml_text::set ( unsigned int rhs )
[symbol: _ZN4pugi8xml_text3setEj]
xml_text::xml_text [in-charge] ( )
[symbol: _ZN4pugi8xml_textC1Ev]
xml_text::xml_text [not-in-charge] ( )
[symbol: _ZN4pugi8xml_textC2Ev]
xpath_node::operator xpath_node::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi10xpath_nodecvPFvPPPS0_EEv]
xpath_query::operator xpath_query::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi11xpath_querycvPFvPPPS0_EEv]
to the top
Removed Symbols (13)
pugixml.hpp,
libpugixml.so
namespace pugi
xml_attribute::as_bool ( ) const
[symbol: _ZNK4pugi13xml_attribute7as_boolEv]
xml_attribute::as_double ( ) const
[symbol: _ZNK4pugi13xml_attribute9as_doubleEv]
xml_attribute::as_float ( ) const
[symbol: _ZNK4pugi13xml_attribute8as_floatEv]
xml_attribute::as_int ( ) const
[symbol: _ZNK4pugi13xml_attribute6as_intEv]
xml_attribute::as_uint ( ) const
[symbol: _ZNK4pugi13xml_attribute7as_uintEv]
xml_attribute::operator xml_attribute::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi13xml_attributecvMS0_PNS_20xml_attribute_structEEv]
xml_attribute_iterator::operator* ( )
[symbol: _ZN4pugi22xml_attribute_iteratordeEv]
xml_attribute_iterator::operator-> ( )
[symbol: _ZN4pugi22xml_attribute_iteratorptEv]
xml_node::operator xml_node::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi8xml_nodecvMS0_PNS_15xml_node_structEEv]
xml_node_iterator::operator* ( )
[symbol: _ZN4pugi17xml_node_iteratordeEv]
xml_node_iterator::operator-> ( )
[symbol: _ZN4pugi17xml_node_iteratorptEv]
xpath_node::operator xpath_node::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi10xpath_nodecvMS0_NS_8xml_nodeEEv]
xpath_query::operator xpath_query::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi11xpath_querycvMS0_PvEv]
to the top
Problems with Symbols, High Severity (13)
pugixml.hpp,
libpugixml.so
namespace pugi
[+] xml_attribute::as_bool ( ) const (1)
changed to:xml_attribute::as_bool ( bool def ) const
[symbol: _ZNK4pugi13xml_attribute7as_boolEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK4pugi13xml_attribute7as_boolEv to _ZNK4pugi13xml_attribute7as_boolEb. This may cause "undefined reference" linker error in old client applications. |
[+] xml_attribute::as_double ( ) const (1)
changed to:xml_attribute::as_double ( double def ) const
[symbol: _ZNK4pugi13xml_attribute9as_doubleEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK4pugi13xml_attribute9as_doubleEv to _ZNK4pugi13xml_attribute9as_doubleEd. This may cause "undefined reference" linker error in old client applications. |
[+] xml_attribute::as_float ( ) const (1)
changed to:xml_attribute::as_float ( float def ) const
[symbol: _ZNK4pugi13xml_attribute8as_floatEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK4pugi13xml_attribute8as_floatEv to _ZNK4pugi13xml_attribute8as_floatEf. This may cause "undefined reference" linker error in old client applications. |
[+] xml_attribute::as_int ( ) const (1)
changed to:xml_attribute::as_int ( int def ) const
[symbol: _ZNK4pugi13xml_attribute6as_intEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK4pugi13xml_attribute6as_intEv to _ZNK4pugi13xml_attribute6as_intEi. This may cause "undefined reference" linker error in old client applications. |
[+] xml_attribute::as_uint ( ) const (1)
changed to:xml_attribute::as_uint ( unsigned int def ) const
[symbol: _ZNK4pugi13xml_attribute7as_uintEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK4pugi13xml_attribute7as_uintEv to _ZNK4pugi13xml_attribute7as_uintEj. This may cause "undefined reference" linker error in old client applications. |
[+] xml_attribute::operator xml_attribute::unspecified_bool_type ( ) const (1)
changed to:xml_attribute::operator xml_attribute::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi13xml_attributecvMS0_PNS_20xml_attribute_structEEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK4pugi13xml_attributecvMS0_PNS_20xml_attribute_structEEv to _ZNK4pugi13xml_attributecvPFvPPPS0_EEv. This may cause "undefined reference" linker error in old client applications. |
[+] xml_attribute_iterator::operator* ( ) (1)
changed to:xml_attribute_iterator::operator* ( ) const
[symbol: _ZN4pugi22xml_attribute_iteratordeEv]
| Change | Effect |
---|
1 | Method became const. | The name of the appropriate symbol for this function on binary level has been changed from _ZN4pugi22xml_attribute_iteratordeEv to _ZNK4pugi22xml_attribute_iteratordeEv. This may cause "undefined reference" linker error in old client applications. |
[+] xml_attribute_iterator::operator-> ( ) (1)
changed to:xml_attribute_iterator::operator-> ( ) const
[symbol: _ZN4pugi22xml_attribute_iteratorptEv]
| Change | Effect |
---|
1 | Method became const. | The name of the appropriate symbol for this function on binary level has been changed from _ZN4pugi22xml_attribute_iteratorptEv to _ZNK4pugi22xml_attribute_iteratorptEv. This may cause "undefined reference" linker error in old client applications. |
[+] xml_node::operator xml_node::unspecified_bool_type ( ) const (1)
changed to:xml_node::operator xml_node::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi8xml_nodecvMS0_PNS_15xml_node_structEEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK4pugi8xml_nodecvMS0_PNS_15xml_node_structEEv to _ZNK4pugi8xml_nodecvPFvPPPS0_EEv. This may cause "undefined reference" linker error in old client applications. |
[+] xml_node_iterator::operator* ( ) (1)
changed to:xml_node_iterator::operator* ( ) const
[symbol: _ZN4pugi17xml_node_iteratordeEv]
| Change | Effect |
---|
1 | Method became const. | The name of the appropriate symbol for this function on binary level has been changed from _ZN4pugi17xml_node_iteratordeEv to _ZNK4pugi17xml_node_iteratordeEv. This may cause "undefined reference" linker error in old client applications. |
[+] xml_node_iterator::operator-> ( ) (1)
changed to:xml_node_iterator::operator-> ( ) const
[symbol: _ZN4pugi17xml_node_iteratorptEv]
| Change | Effect |
---|
1 | Method became const. | The name of the appropriate symbol for this function on binary level has been changed from _ZN4pugi17xml_node_iteratorptEv to _ZNK4pugi17xml_node_iteratorptEv. This may cause "undefined reference" linker error in old client applications. |
[+] xpath_node::operator xpath_node::unspecified_bool_type ( ) const (1)
changed to:xpath_node::operator xpath_node::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi10xpath_nodecvMS0_NS_8xml_nodeEEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK4pugi10xpath_nodecvMS0_NS_8xml_nodeEEv to _ZNK4pugi10xpath_nodecvPFvPPPS0_EEv. This may cause "undefined reference" linker error in old client applications. |
[+] xpath_query::operator xpath_query::unspecified_bool_type ( ) const (1)
changed to:xpath_query::operator xpath_query::unspecified_bool_type ( ) const
[symbol: _ZNK4pugi11xpath_querycvMS0_PvEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK4pugi11xpath_querycvMS0_PvEv to _ZNK4pugi11xpath_querycvPFvPPPS0_EEv. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Low Severity (2)
pugixml.hpp
namespace pugi
[+] class xml_attribute_iterator (1)
| Change |
Effect |
1 | Field _wrap became mutable. | The value of this field can begin to change in ways outside the control of old client applications. |
[+] affected symbols (10)
xml_attribute_iterator::operator!= ( xml_attribute_iterator const& rhs ) const1st parameter 'rhs' (reference) has base type 'xml_attribute_iterator'.
xml_attribute_iterator::operator++ ( )This method is from 'xml_attribute_iterator' class.
xml_attribute_iterator::operator++ ( int p1 )This method is from 'xml_attribute_iterator' class.
xml_attribute_iterator::operator-- ( )This method is from 'xml_attribute_iterator' class.
xml_attribute_iterator::operator-- ( int p1 )This method is from 'xml_attribute_iterator' class.
xml_attribute_iterator::operator == ( xml_attribute_iterator const& rhs ) const1st parameter 'rhs' (reference) has base type 'xml_attribute_iterator'.
xml_attribute_iterator::xml_attribute_iterator [in-charge] ( )This constructor is from 'xml_attribute_iterator' class.
xml_attribute_iterator::xml_attribute_iterator [in-charge] ( xml_attribute const& attr, xml_node const& parent )This constructor is from 'xml_attribute_iterator' class.
xml_node::attributes_begin ( ) constReturn value has base type 'xml_attribute_iterator'.
xml_node::attributes_end ( ) constReturn value has base type 'xml_attribute_iterator'.
[+] class xml_node_iterator (1)
| Change |
Effect |
1 | Field _wrap became mutable. | The value of this field can begin to change in ways outside the control of old client applications. |
[+] affected symbols (10)
xml_node::begin ( ) constReturn value has base type 'xml_node_iterator'.
xml_node::end ( ) constReturn value has base type 'xml_node_iterator'.
xml_node_iterator::operator!= ( xml_node_iterator const& rhs ) const1st parameter 'rhs' (reference) has base type 'xml_node_iterator'.
xml_node_iterator::operator++ ( )This method is from 'xml_node_iterator' class.
xml_node_iterator::operator++ ( int p1 )This method is from 'xml_node_iterator' class.
xml_node_iterator::operator-- ( )This method is from 'xml_node_iterator' class.
xml_node_iterator::operator-- ( int p1 )This method is from 'xml_node_iterator' class.
xml_node_iterator::operator == ( xml_node_iterator const& rhs ) const1st parameter 'rhs' (reference) has base type 'xml_node_iterator'.
xml_node_iterator::xml_node_iterator [in-charge] ( )This constructor is from 'xml_node_iterator' class.
xml_node_iterator::xml_node_iterator [in-charge] ( xml_node const& node )This constructor is from 'xml_node_iterator' class.
to the top
Other Changes in Data Types (1)
pugixml.hpp
namespace pugi
[+] enum xml_encoding (1)
| Change |
Effect |
1 | The member encoding_latin1 with value 9 has been added. | No effect. |
[+] affected symbols (17)
xml_document::load ( char_t const* contents, unsigned int options )Field 'retval->encoding' in return value has type 'enum xml_encoding'.
xml_document::load ( std::basic_istream<char>& stream, unsigned int options, enum xml_encoding encoding )3rd parameter 'encoding' has type 'enum xml_encoding'.
xml_document::load ( std::basic_istream<wchar_t>& stream, unsigned int options )Field 'retval->encoding' in return value has type 'enum xml_encoding'.
xml_document::load_buffer ( void const* contents, size_t size, unsigned int options, enum xml_encoding encoding )4th parameter 'encoding' has type 'enum xml_encoding'.
xml_document::load_buffer_inplace ( void* contents, size_t size, unsigned int options, enum xml_encoding encoding )4th parameter 'encoding' has type 'enum xml_encoding'.
xml_document::load_buffer_inplace_own ( void* contents, size_t size, unsigned int options, enum xml_encoding encoding )4th parameter 'encoding' has type 'enum xml_encoding'.
xml_document::load_file ( char const* path, unsigned int options, enum xml_encoding encoding )3rd parameter 'encoding' has type 'enum xml_encoding'.
xml_document::load_file ( wchar_t const* path, unsigned int options, enum xml_encoding encoding )3rd parameter 'encoding' has type 'enum xml_encoding'.
xml_document::save ( xml_writer& writer, char_t const* indent, unsigned int flags, enum xml_encoding encoding ) const4th parameter 'encoding' has type 'enum xml_encoding'.
xml_document::save ( std::basic_ostream<char>& stream, char_t const* indent, unsigned int flags, enum xml_encoding encoding ) const4th parameter 'encoding' has type 'enum xml_encoding'.
xml_document::save_file ( char const* path, char_t const* indent, unsigned int flags, enum xml_encoding encoding ) const4th parameter 'encoding' has type 'enum xml_encoding'.
xml_document::save_file ( wchar_t const* path, char_t const* indent, unsigned int flags, enum xml_encoding encoding ) const4th parameter 'encoding' has type 'enum xml_encoding'.
xml_node::print ( xml_writer& writer, char_t const* indent, unsigned int flags, enum xml_encoding encoding, unsigned int depth ) const4th parameter 'encoding' has type 'enum xml_encoding'.
xml_node::print ( std::basic_ostream<char>& os, char_t const* indent, unsigned int flags, enum xml_encoding encoding, unsigned int depth ) const4th parameter 'encoding' has type 'enum xml_encoding'.
xml_parse_result::description ( ) constField 'this->encoding' in the object of this method has type 'enum xml_encoding'.
xml_parse_result::operator bool ( ) constField 'this->encoding' in the object of this method has type 'enum xml_encoding'.
xml_parse_result::xml_parse_result [in-charge] ( )Field 'this->encoding' in the object of this method has type 'enum xml_encoding'.
to the top
Header Files (2)
pugiconfig.hpp
pugixml.hpp
to the top
Shared Libraries (1)
libpugixml.so
to the top