From 2e552aea8d2391ea3ab8afdb58caf214954a2129 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Thu, 9 May 2019 21:16:33 +0200
Subject: [PATCH] Fix build against ICU 64.1 and later

Summary:
See also: https://unicode-org.atlassian.net/browse/ICU-20530

Lots of errors of the same kind (libxml/tree.h included within extern "C"):

```
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/shared_ptr.h:52,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/memory:81,
                 from /usr/include/unicode/localpointer.h:45,
                 from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from /var/tmp/portage/kde-misc/tellico-9999/work/tellico-9999/src/translators/xslthandler.h:34,
                 from /var/tmp/portage/kde-misc/tellico-9999/work/tellico-9999/src/translators/xsltimporter.cpp:26:
/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/shared_ptr_base.h:338:3: error: template with C linkage
   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
   ^~~~~~~~
```

Test Plan: Builds fine against ICU 64.2.

Reviewers: #tellico

Differential Revision: https://phabricator.kde.org/D21103
---
 src/translators/xslthandler.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/translators/xslthandler.h b/src/translators/xslthandler.h
index ebbb010b..bb2112da 100644
--- a/src/translators/xslthandler.h
+++ b/src/translators/xslthandler.h
@@ -29,9 +29,10 @@
 #include <QHash>
 #include <QString>
 
-extern "C" {
 // for xmlDocPtr
 #include <libxml/tree.h>
+
+extern "C" {
 // for xsltStyleSheetPtr
 #include <libxslt/xsltInternals.h>
 }
-- 
2.21.0

