mirror of https://github.com/AxioDL/tinyxml2.git
Merge branch 'gccWeffc' of git://github.com/lelegard/tinyxml2 into lelegard-gccWeffc
This commit is contained in:
commit
7abfa6b1a0
7
Makefile
7
Makefile
|
@ -1,3 +1,10 @@
|
|||
# Extended C++ warning policy
|
||||
CXXFLAGS += -Werror -Wall -Wextra -Wshadow -Wpedantic -Wformat-nonliteral \
|
||||
-Wformat-security -Wswitch-default -Wuninitialized -Wundef \
|
||||
-Wpointer-arith -Woverloaded-virtual -Wctor-dtor-privacy \
|
||||
-Wnon-virtual-dtor -Woverloaded-virtual -Wsign-promo \
|
||||
-Wno-unused-parameter -Weffc++
|
||||
|
||||
all: xmltest staticlib
|
||||
|
||||
rebuild: clean all
|
||||
|
|
14
tinyxml2.cpp
14
tinyxml2.cpp
|
@ -741,6 +741,7 @@ bool XMLDocument::Accept( XMLVisitor* visitor ) const
|
|||
XMLNode::XMLNode( XMLDocument* doc ) :
|
||||
_document( doc ),
|
||||
_parent( 0 ),
|
||||
_value(),
|
||||
_parseLineNum( 0 ),
|
||||
_firstChild( 0 ), _lastChild( 0 ),
|
||||
_prev( 0 ), _next( 0 ),
|
||||
|
@ -2000,9 +2001,16 @@ XMLDocument::XMLDocument( bool processEntities, Whitespace whitespaceMode ) :
|
|||
_processEntities( processEntities ),
|
||||
_errorID(XML_SUCCESS),
|
||||
_whitespaceMode( whitespaceMode ),
|
||||
_errorStr1(),
|
||||
_errorStr2(),
|
||||
_errorLineNum( 0 ),
|
||||
_charBuffer( 0 ),
|
||||
_parseCurLineNum( 0 )
|
||||
_parseCurLineNum( 0 ),
|
||||
_unlinked(),
|
||||
_elementPool(),
|
||||
_attributePool(),
|
||||
_textPool(),
|
||||
_commentPool()
|
||||
{
|
||||
// avoid VC++ C4355 warning about 'this' in initializer list (C4355 is off by default in VS2012+)
|
||||
_document = this;
|
||||
|
@ -2374,12 +2382,14 @@ void XMLDocument::Parse()
|
|||
|
||||
XMLPrinter::XMLPrinter( FILE* file, bool compact, int depth ) :
|
||||
_elementJustOpened( false ),
|
||||
_stack(),
|
||||
_firstElement( true ),
|
||||
_fp( file ),
|
||||
_depth( depth ),
|
||||
_textDepth( -1 ),
|
||||
_processEntities( true ),
|
||||
_compactMode( compact )
|
||||
_compactMode( compact ),
|
||||
_buffer()
|
||||
{
|
||||
for( int i=0; i<ENTITY_RANGE; ++i ) {
|
||||
_entityFlag[i] = false;
|
||||
|
|
35
tinyxml2.h
35
tinyxml2.h
|
@ -192,10 +192,11 @@ template <class T, int INITIAL_SIZE>
|
|||
class DynArray
|
||||
{
|
||||
public:
|
||||
DynArray() {
|
||||
_mem = _pool;
|
||||
_allocated = INITIAL_SIZE;
|
||||
_size = 0;
|
||||
DynArray() :
|
||||
_mem( _pool ),
|
||||
_allocated( INITIAL_SIZE ),
|
||||
_size( 0 )
|
||||
{
|
||||
}
|
||||
|
||||
~DynArray() {
|
||||
|
@ -333,7 +334,7 @@ template< int ITEM_SIZE >
|
|||
class MemPoolT : public MemPool
|
||||
{
|
||||
public:
|
||||
MemPoolT() : _root(0), _currentAllocs(0), _nAllocs(0), _maxAllocs(0), _nUntracked(0) {}
|
||||
MemPoolT() : _blockPtrs(), _root(0), _currentAllocs(0), _nAllocs(0), _maxAllocs(0), _nUntracked(0) {}
|
||||
~MemPoolT() {
|
||||
Clear();
|
||||
}
|
||||
|
@ -1211,7 +1212,7 @@ public:
|
|||
private:
|
||||
enum { BUF_SIZE = 200 };
|
||||
|
||||
XMLAttribute() : _parseLineNum( 0 ), _next( 0 ), _memPool( 0 ) {}
|
||||
XMLAttribute() : _name(), _value(),_parseLineNum( 0 ), _next( 0 ), _memPool( 0 ) {}
|
||||
virtual ~XMLAttribute() {}
|
||||
|
||||
XMLAttribute( const XMLAttribute& ); // not supported
|
||||
|
@ -1947,16 +1948,13 @@ class TINYXML2_LIB XMLHandle
|
|||
{
|
||||
public:
|
||||
/// Create a handle from any node (at any depth of the tree.) This can be a null pointer.
|
||||
XMLHandle( XMLNode* node ) {
|
||||
_node = node;
|
||||
XMLHandle( XMLNode* node ) : _node( node ) {
|
||||
}
|
||||
/// Create a handle from a node.
|
||||
XMLHandle( XMLNode& node ) {
|
||||
_node = &node;
|
||||
XMLHandle( XMLNode& node ) : _node( &node ) {
|
||||
}
|
||||
/// Copy constructor
|
||||
XMLHandle( const XMLHandle& ref ) {
|
||||
_node = ref._node;
|
||||
XMLHandle( const XMLHandle& ref ) : _node( ref._node ) {
|
||||
}
|
||||
/// Assignment
|
||||
XMLHandle& operator=( const XMLHandle& ref ) {
|
||||
|
@ -2030,14 +2028,11 @@ private:
|
|||
class TINYXML2_LIB XMLConstHandle
|
||||
{
|
||||
public:
|
||||
XMLConstHandle( const XMLNode* node ) {
|
||||
_node = node;
|
||||
XMLConstHandle( const XMLNode* node ) : _node( node ) {
|
||||
}
|
||||
XMLConstHandle( const XMLNode& node ) {
|
||||
_node = &node;
|
||||
XMLConstHandle( const XMLNode& node ) : _node( &node ) {
|
||||
}
|
||||
XMLConstHandle( const XMLConstHandle& ref ) {
|
||||
_node = ref._node;
|
||||
XMLConstHandle( const XMLConstHandle& ref ) : _node( ref._node ) {
|
||||
}
|
||||
|
||||
XMLConstHandle& operator=( const XMLConstHandle& ref ) {
|
||||
|
@ -2252,6 +2247,10 @@ private:
|
|||
bool _restrictedEntityFlag[ENTITY_RANGE];
|
||||
|
||||
DynArray< char, 20 > _buffer;
|
||||
|
||||
// Prohibit cloning, intentionally not implemented
|
||||
XMLPrinter( const XMLPrinter& );
|
||||
XMLPrinter& operator=( const XMLPrinter& );
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -2067,6 +2067,8 @@ int main( int argc, const char ** argv )
|
|||
{
|
||||
struct TestUtil: XMLVisitor
|
||||
{
|
||||
TestUtil() : str() {}
|
||||
|
||||
void TestParseError(const char *testString, const char *docStr, XMLError expected_error, int expectedLine)
|
||||
{
|
||||
XMLDocument doc;
|
||||
|
|
Loading…
Reference in New Issue