From 2a08d0d05a161f51fff6f667317e0b314895135c Mon Sep 17 00:00:00 2001
From: Axel Naumann <Axel.Naumann@cern.ch>
Date: Wed, 26 Mar 2014 11:06:32 +0100
Subject: [PATCH] Fix MacOS missing symbol
 __ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEi.

This is triggered by emitting operator<< 'class std::__1::basic_ostream<char,
struct std::__1::char_traits<char> > &(int)' even though its marked as exported
in general. Now that clang and libc++ agree on the handling of exported
templates we can remove our work-around.
---
 build/unix/makeonepcm.sh                                     | 2 +-
 .../cling/include/cling/Interpreter/RuntimeUniverse.h        | 5 -----
 2 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/build/unix/makeonepcm.sh b/build/unix/makeonepcm.sh
index bd89b9f431e..2ca30c55338 100755
--- a/build/unix/makeonepcm.sh
+++ b/build/unix/makeonepcm.sh
@@ -61,7 +61,7 @@ if [ ! -x core/utils/src/rootcling_tmp ]; then
   exit 0
 fi
 
-cxxflags="-D_LIBCPP_EXTERN_TEMPLATE(...)= -D__CLING__ -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -Iinclude -Ietc -Ietc/cling `cat cppflags.txt | sort | uniq`"
+cxxflags="-D__CLING__ -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -Iinclude -Ietc -Ietc/cling `cat cppflags.txt | sort | uniq`"
 rm cppflags.txt
 
 # generate one large pcm
diff --git a/interpreter/cling/include/cling/Interpreter/RuntimeUniverse.h b/interpreter/cling/include/cling/Interpreter/RuntimeUniverse.h
index 32556c9871d..ce1c586663f 100644
--- a/interpreter/cling/include/cling/Interpreter/RuntimeUniverse.h
+++ b/interpreter/cling/include/cling/Interpreter/RuntimeUniverse.h
@@ -23,11 +23,6 @@
 
 #ifdef __cplusplus
 
-#ifdef _LIBCPP_EXTERN_TEMPLATE
-#undef _LIBCPP_EXTERN_TEMPLATE
-#endif
-#define _LIBCPP_EXTERN_TEMPLATE(...)
-
 #include "cling/Interpreter/RuntimeException.h"
 
 namespace cling {
-- 
GitLab