From a6f85da576d5d1fafce01bb6c3070c408adba913 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 6 Apr 2012 15:22:19 +0200 Subject: Fix template argument-dependant lookup errors (GCC 4.7 and Clang) --- libxsd/xsd/cxx/parser/expat/elements.txx | 12 +++--- libxsd/xsd/cxx/parser/non-validating/parser.txx | 32 ++++++++-------- libxsd/xsd/cxx/parser/validating/parser.txx | 50 ++++++++++++------------- libxsd/xsd/cxx/zc-istream.txx | 2 +- 4 files changed, 48 insertions(+), 48 deletions(-) diff --git a/libxsd/xsd/cxx/parser/expat/elements.txx b/libxsd/xsd/cxx/parser/expat/elements.txx index c33f2c5..21dff58 100644 --- a/libxsd/xsd/cxx/parser/expat/elements.txx +++ b/libxsd/xsd/cxx/parser/expat/elements.txx @@ -594,7 +594,7 @@ namespace xsd { try { - start_element (ns, name, 0); + this->start_element (ns, name, 0); } catch (const schema_exception& e) { @@ -621,7 +621,7 @@ namespace xsd { try { - start_element (ns, name, 0); + this->start_element (ns, name, 0); } catch (const schema_exception& e) { @@ -693,7 +693,7 @@ namespace xsd } ro_string ro_id (id); - start_element (ns, name, &ro_id); + this->start_element (ns, name, &ro_id); } catch (const schema_exception& e) { @@ -713,7 +713,7 @@ namespace xsd try { - attribute (ns, name, value); + this->attribute (ns, name, value); } catch (const schema_exception& e) { @@ -748,7 +748,7 @@ namespace xsd try { - end_element (ns, name); + this->end_element (ns, name); } catch (const schema_exception& e) { @@ -777,7 +777,7 @@ namespace xsd try { - characters (str); + this->characters (str); } catch (const schema_exception& e) { diff --git a/libxsd/xsd/cxx/parser/non-validating/parser.txx b/libxsd/xsd/cxx/parser/non-validating/parser.txx index 3dcc7e5..329c0c9 100644 --- a/libxsd/xsd/cxx/parser/non-validating/parser.txx +++ b/libxsd/xsd/cxx/parser/non-validating/parser.txx @@ -164,15 +164,15 @@ namespace xsd if (ns == xml::bits::xmlns_namespace ()) return; - if (!_attribute_impl (ns, name, value)) - _any_attribute (ns, name, value); + if (!this->_attribute_impl (ns, name, value)) + this->_any_attribute (ns, name, value); } template void simple_content:: _characters (const ro_string& str) { - _characters_impl (str); + this->_characters_impl (str); } @@ -190,15 +190,15 @@ namespace xsd if (s.depth_++ > 0) { if (s.any_) - _start_any_element (ns, name, type); + this->_start_any_element (ns, name, type); else if (s.parser_) s.parser_->_start_element (ns, name, type); } else { - if (!_start_element_impl (ns, name, type)) + if (!this->_start_element_impl (ns, name, type)) { - _start_any_element (ns, name, type); + this->_start_any_element (ns, name, type); s.any_ = true; } else if (s.parser_ != 0) @@ -235,7 +235,7 @@ namespace xsd this->_post_impl (); - if (!_end_element_impl (ns, name)) + if (!this->_end_element_impl (ns, name)) assert (false); } } @@ -246,7 +246,7 @@ namespace xsd if (--s.depth_ > 0) { if (s.any_) - _end_any_element (ns, name); + this->_end_any_element (ns, name); else if (s.parser_) s.parser_->_end_element (ns, name); } @@ -255,10 +255,10 @@ namespace xsd if (s.parser_ != 0 && !s.any_) s.parser_->_post_impl (); - if (!_end_element_impl (ns, name)) + if (!this->_end_element_impl (ns, name)) { s.any_ = false; - _end_any_element (ns, name); + this->_end_any_element (ns, name); } } } @@ -292,14 +292,14 @@ namespace xsd if (s.depth_ > 0) { if (s.any_) - _any_attribute (ns, name, value); + this->_any_attribute (ns, name, value); else if (s.parser_) s.parser_->_attribute (ns, name, value); } else { - if (!_attribute_impl (ns, name, value)) - _any_attribute (ns, name, value); + if (!this->_attribute_impl (ns, name, value)) + this->_any_attribute (ns, name, value); } } @@ -312,14 +312,14 @@ namespace xsd if (s.depth_ > 0) { if (s.any_) - _any_characters (str); + this->_any_characters (str); else if (s.parser_) s.parser_->_characters (str); } else { - if (!_characters_impl (str)) - _any_characters (str); + if (!this->_characters_impl (str)) + this->_any_characters (str); } } diff --git a/libxsd/xsd/cxx/parser/validating/parser.txx b/libxsd/xsd/cxx/parser/validating/parser.txx index 1f7a898..54a1968 100644 --- a/libxsd/xsd/cxx/parser/validating/parser.txx +++ b/libxsd/xsd/cxx/parser/validating/parser.txx @@ -93,8 +93,8 @@ namespace xsd const ro_string& name, const ro_string* type) { - if (!_start_element_impl (ns, name, type)) - _unexpected_element (ns, name); + if (!this->_start_element_impl (ns, name, type)) + this->_unexpected_element (ns, name); } template @@ -102,8 +102,8 @@ namespace xsd _end_element (const ro_string& ns, const ro_string& name) { - if (!_end_element_impl (ns, name)) - _unexpected_element (ns, name); + if (!this->_end_element_impl (ns, name)) + this->_unexpected_element (ns, name); } template @@ -129,16 +129,16 @@ namespace xsd if (ns == xml::bits::xmlns_namespace ()) return; - if (!_attribute_impl (ns, name, value)) - _unexpected_attribute (ns, name, value); + if (!this->_attribute_impl (ns, name, value)) + this->_unexpected_attribute (ns, name, value); } template void empty_content:: _characters (const ro_string& s) { - if (!_characters_impl (s)) - _unexpected_characters (s); + if (!this->_characters_impl (s)) + this->_unexpected_characters (s); } // @@ -218,15 +218,15 @@ namespace xsd if (ns == xml::bits::xmlns_namespace ()) return; - if (!_attribute_impl (ns, name, value)) - _unexpected_attribute (ns, name, value); + if (!this->_attribute_impl (ns, name, value)) + this->_unexpected_attribute (ns, name, value); } template void simple_content:: _characters (const ro_string& str) { - if (!_characters_impl (str)) + if (!this->_characters_impl (str)) { // Mixed content is implemented in the generated code // by overriding _characters_impl and forwarding to @@ -245,7 +245,7 @@ namespace xsd c != C (0x0D) && // carriage return c != C (0x09) && // tab c != C (0x0A)) - _unexpected_characters (str); + this->_unexpected_characters (str); } } } @@ -322,14 +322,14 @@ namespace xsd if (s.depth_++ > 0) { if (s.any_) - _start_any_element (ns, name, type); + this->_start_any_element (ns, name, type); else if (s.parser_) s.parser_->_start_element (ns, name, type); } else { - if (!_start_element_impl (ns, name, type)) - _unexpected_element (ns, name); + if (!this->_start_element_impl (ns, name, type)) + this->_unexpected_element (ns, name); else if (s.parser_ != 0) s.parser_->_pre_impl (); } @@ -364,7 +364,7 @@ namespace xsd this->_post_impl (); - if (!_end_element_impl (ns, name)) + if (!this->_end_element_impl (ns, name)) assert (false); } } @@ -375,7 +375,7 @@ namespace xsd if (--s.depth_ > 0) { if (s.any_) - _end_any_element (ns, name); + this->_end_any_element (ns, name); else if (s.parser_) s.parser_->_end_element (ns, name); } @@ -384,8 +384,8 @@ namespace xsd if (s.parser_ != 0 && !s.any_) s.parser_->_post_impl (); - if (!_end_element_impl (ns, name)) - _unexpected_element (ns, name); + if (!this->_end_element_impl (ns, name)) + this->_unexpected_element (ns, name); } } } @@ -418,14 +418,14 @@ namespace xsd if (s.depth_ > 0) { if (s.any_) - _any_attribute (ns, name, value); + this->_any_attribute (ns, name, value); else if (s.parser_) s.parser_->_attribute (ns, name, value); } else { - if (!_attribute_impl (ns, name, value)) - _unexpected_attribute (ns, name, value); + if (!this->_attribute_impl (ns, name, value)) + this->_unexpected_attribute (ns, name, value); } } @@ -438,13 +438,13 @@ namespace xsd if (s.depth_ > 0) { if (s.any_) - _any_characters (str); + this->_any_characters (str); else if (s.parser_) s.parser_->_characters (str); } else { - if (!_characters_impl (str)) + if (!this->_characters_impl (str)) { // Mixed content is implemented in the generated code // by overriding _characters_impl and forwarding to @@ -463,7 +463,7 @@ namespace xsd c != C (0x0D) && // carriage return c != C (0x09) && // tab c != C (0x0A)) - _unexpected_characters (str); + this->_unexpected_characters (str); } } } diff --git a/libxsd/xsd/cxx/zc-istream.txx b/libxsd/xsd/cxx/zc-istream.txx index f59e378..fdb057c 100644 --- a/libxsd/xsd/cxx/zc-istream.txx +++ b/libxsd/xsd/cxx/zc-istream.txx @@ -32,7 +32,7 @@ namespace xsd C* b (const_cast (str_.data ())); C* e (b + str_.size ()); - setg (b, b, e); + this->setg (b, b, e); } template -- cgit v1.1