From e180a4085d8d2f82a05f037e465708cfc16bd2bf Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Tue, 14 Jun 2016 20:31:12 -0300
Subject: [PATCH] Kill compatibility bits

Kill ABI compatibility bits, we don't need them.
Fixes build failures on non-ELF targets.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 pcrecpp.cc | 16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/pcrecpp.cc b/pcrecpp.cc
index d09c9ab..6910db0 100644
--- a/pcrecpp.cc
+++ b/pcrecpp.cc
@@ -58,22 +58,6 @@ static const int kVecSize = (1 + kMaxArgs) * 3;  // results + PCRE workspace
 // Special object that stands-in for no argument
 Arg RE::no_arg((void*)NULL);
 
-// This is for ABI compatibility with old versions of pcre (pre-7.6),
-// which defined a global no_arg variable instead of putting it in the
-// RE class.  This works on GCC >= 3, at least.  It definitely works
-// for ELF, but may not for other object formats (Mach-O, for
-// instance, does not support aliases.)  We could probably have a more
-// inclusive test if we ever needed it.  (Note that not only the
-// __attribute__ syntax, but also __USER_LABEL_PREFIX__, are
-// gnu-specific.)
-#if defined(__GNUC__) && __GNUC__ >= 3 && defined(__ELF__) && !defined(__INTEL_COMPILER)
-# define ULP_AS_STRING(x)            ULP_AS_STRING_INTERNAL(x)
-# define ULP_AS_STRING_INTERNAL(x)   #x
-# define USER_LABEL_PREFIX_STR       ULP_AS_STRING(__USER_LABEL_PREFIX__)
-extern Arg no_arg
-  __attribute__((alias(USER_LABEL_PREFIX_STR "_ZN7pcrecpp2RE6no_argE")));
-#endif
-
 // If a regular expression has no error, its error_ field points here
 static const string empty_string;
 
-- 
2.7.3

