mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 14:16:31 +00:00
rapidxml: add patch to fix usage with gcc 4.7+
The official `rapidxml` package release only supports up to GCC 4.6.x for all capabilities. Implementers attempting to include the file "rapidxml_print.hpp" will all result in a compilation failure when using a currently supported Buildroot GCC version (all 4.7+ at this time). With the provided patch, dependent packages will be able to use all of rapidxml's capabilities using a generated toolchain from Buildroot (let alone external toolchains). Signed-off-by: James Knight <james.knight@rockwellcollins.com> [Thomas: rework patch so that it contains the proper line endings, and applies properly without a pre-patch hook to convert the line endings beforehand.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
46a373e2f5
commit
b3532dec37
@ -0,0 +1,38 @@
|
|||||||
|
[PATCH] ensure internal print operations are declared before use
|
||||||
|
|
||||||
|
Stock rapidxml-1.13 does not allow implementers of the
|
||||||
|
`rapidxml_print.hpp` header to build under GCC 4.7 (or newer) due to
|
||||||
|
compliation issues. This is a result of "Name lookup changes" introduced
|
||||||
|
in GCC 4.7 [1]. The following adds forward declarations required to
|
||||||
|
compile with GCC 4.7+.
|
||||||
|
|
||||||
|
This issue has been mentioned upstream [2], but it has yet to be fixed
|
||||||
|
in official sources.
|
||||||
|
|
||||||
|
[1]: https://gcc.gnu.org/gcc-4.7/porting_to.html
|
||||||
|
[2]: https://sourceforge.net/p/rapidxml/bugs/16/
|
||||||
|
|
||||||
|
Signed-off-by: James Knight <james.knight@rockwellcollins.com>
|
||||||
|
|
||||||
|
Index: b/rapidxml_print.hpp
|
||||||
|
===================================================================
|
||||||
|
--- a/rapidxml_print.hpp
|
||||||
|
+++ b/rapidxml_print.hpp
|
||||||
|
@@ -101,7 +101,16 @@
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// Internal printing operations
|
||||||
|
-
|
||||||
|
+
|
||||||
|
+ template<class OutIt, class Ch> inline OutIt print_cdata_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
|
||||||
|
+ template<class OutIt, class Ch> inline OutIt print_children(OutIt out, const xml_node<Ch> *node, int flags, int indent);
|
||||||
|
+ template<class OutIt, class Ch> inline OutIt print_comment_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
|
||||||
|
+ template<class OutIt, class Ch> inline OutIt print_data_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
|
||||||
|
+ template<class OutIt, class Ch> inline OutIt print_declaration_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
|
||||||
|
+ template<class OutIt, class Ch> inline OutIt print_doctype_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
|
||||||
|
+ template<class OutIt, class Ch> inline OutIt print_element_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
|
||||||
|
+ template<class OutIt, class Ch> inline OutIt print_pi_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
|
||||||
|
+
|
||||||
|
// Print node
|
||||||
|
template<class OutIt, class Ch>
|
||||||
|
inline OutIt print_node(OutIt out, const xml_node<Ch> *node, int flags, int indent)
|
Loading…
x
Reference in New Issue
Block a user