1[PATCH] ensure internal print operations are declared before use 2 3Stock rapidxml-1.13 does not allow implementers of the 4`rapidxml_print.hpp` header to build under GCC 4.7 (or newer) due to 5compliation issues. This is a result of "Name lookup changes" introduced 6in GCC 4.7 [1]. The following adds forward declarations required to 7compile with GCC 4.7+. 8 9This issue has been mentioned upstream [2], but it has yet to be fixed 10in official sources. 11 12[1]: https://gcc.gnu.org/gcc-4.7/porting_to.html 13[2]: https://sourceforge.net/p/rapidxml/bugs/16/ 14 15Signed-off-by: James Knight <james.knight@rockwellcollins.com> 16 17Index: b/rapidxml_print.hpp 18=================================================================== 19--- a/rapidxml_print.hpp 20+++ b/rapidxml_print.hpp 21@@ -101,7 +101,16 @@ 22 23 /////////////////////////////////////////////////////////////////////////// 24 // Internal printing operations 25- 26+ 27+ template<class OutIt, class Ch> inline OutIt print_cdata_node(OutIt out, const xml_node<Ch> *node, int flags, int indent); 28+ template<class OutIt, class Ch> inline OutIt print_children(OutIt out, const xml_node<Ch> *node, int flags, int indent); 29+ template<class OutIt, class Ch> inline OutIt print_comment_node(OutIt out, const xml_node<Ch> *node, int flags, int indent); 30+ template<class OutIt, class Ch> inline OutIt print_data_node(OutIt out, const xml_node<Ch> *node, int flags, int indent); 31+ template<class OutIt, class Ch> inline OutIt print_declaration_node(OutIt out, const xml_node<Ch> *node, int flags, int indent); 32+ template<class OutIt, class Ch> inline OutIt print_doctype_node(OutIt out, const xml_node<Ch> *node, int flags, int indent); 33+ template<class OutIt, class Ch> inline OutIt print_element_node(OutIt out, const xml_node<Ch> *node, int flags, int indent); 34+ template<class OutIt, class Ch> inline OutIt print_pi_node(OutIt out, const xml_node<Ch> *node, int flags, int indent); 35+ 36 // Print node 37 template<class OutIt, class Ch> 38 inline OutIt print_node(OutIt out, const xml_node<Ch> *node, int flags, int indent) 39