1From e180a4085d8d2f82a05f037e465708cfc16bd2bf Mon Sep 17 00:00:00 2001 2From: Gustavo Zacarias <gustavo@zacarias.com.ar> 3Date: Tue, 14 Jun 2016 20:31:12 -0300 4Subject: [PATCH] Kill compatibility bits 5 6Kill ABI compatibility bits, we don't need them. 7Fixes build failures on non-ELF targets. 8 9Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> 10[Fabrice: update for 8.44] 11Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 12--- 13 pcrecpp.cc | 16 ---------------- 14 1 file changed, 16 deletions(-) 15 16diff --git a/pcrecpp.cc b/pcrecpp.cc 17index d09c9ab..6910db0 100644 18--- a/pcrecpp.cc 19+++ b/pcrecpp.cc 20@@ -58,23 +58,6 @@ static const int kVecSize = (1 + kMaxArgs) * 3; // results + PCRE workspace 21 // Special object that stands-in for no argument 22 Arg RE::no_arg((void*)NULL); 23 24-// This is for ABI compatibility with old versions of pcre (pre-7.6), 25-// which defined a global no_arg variable instead of putting it in the 26-// RE class. This works on GCC >= 3, at least. It definitely works 27-// for ELF, but may not for other object formats (Mach-O, for 28-// instance, does not support aliases.) We could probably have a more 29-// inclusive test if we ever needed it. (Note that not only the 30-// __attribute__ syntax, but also __USER_LABEL_PREFIX__, are 31-// gnu-specific.) 32-#if defined(__GNUC__) && __GNUC__ >= 3 && defined(__ELF__) \ 33- && !defined(__INTEL_COMPILER) && !defined(__LCC__) 34-# define ULP_AS_STRING(x) ULP_AS_STRING_INTERNAL(x) 35-# define ULP_AS_STRING_INTERNAL(x) #x 36-# define USER_LABEL_PREFIX_STR ULP_AS_STRING(__USER_LABEL_PREFIX__) 37-extern Arg no_arg 38- __attribute__((alias(USER_LABEL_PREFIX_STR "_ZN7pcrecpp2RE6no_argE"))); 39-#endif 40- 41 // If a regular expression has no error, its error_ field points here 42 static const string empty_string; 43 44-- 452.7.3 46 47