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> ^~~~~~~~