* regex_internal.h: Blank `pure' for GNUC < 3.
authorDerek R. Price <derek@ximbiot.com>
Thu, 15 Sep 2005 19:14:23 +0000 (19:14 +0000)
committerDerek R. Price <derek@ximbiot.com>
Thu, 15 Sep 2005 19:14:23 +0000 (19:14 +0000)
* regex_internal.c: Ditto, using this...
(__GNUC_PREREQ): ...new macro.
* regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1 using...
(__GNUC_PREREQ): ...this new macro.

lib/ChangeLog
lib/regcomp.c
lib/regex_internal.c
lib/regex_internal.h
lib/regexec.c

index 493218c..8042262 100644 (file)
@@ -1,5 +1,11 @@
 2005-09-15  Derek Price  <derek@ximbiot.com>
 
+       * regex_internal.h: Blank `pure' for GNUC < 3.
+       * regex_internal.c: Ditto, using this...
+       (__GNUC_PREREQ): ...new macro.
+       * regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1 using...
+       (__GNUC_PREREQ): ...this new macro.
+
        * strstr.h: Include string.h. Define strstr as a macro here.
 
 2005-09-13  Derek Price  <derek@ximbiot.com>
index 279b20c..847f385 100644 (file)
    with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
 
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_MINOR__
+#  define __GNUC_PREREQ(maj, min) \
+       ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#if !__GNUC_PREREQ (3, 1)
+# define always_inline
+#endif
+
 static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern,
                                          Idx length, reg_syntax_t syntax);
 static void re_compile_fastmap_iter (regex_t *bufp,
index ad618cf..349ec52 100644 (file)
    with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
 
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_MINOR__
+#  define __GNUC_PREREQ(maj, min) \
+       ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#if !__GNUC_PREREQ (3, 0)
+# define pure
+#endif
+
 static void re_string_construct_common (const char *str, Idx len,
                                        re_string_t *pstr,
                                        REG_TRANSLATE_TYPE trans, bool icase,
index 0208759..c342710 100644 (file)
@@ -89,6 +89,7 @@
 #else
 # define BE(expr, val) (expr)
 # define inline
+# define pure
 #endif
 
 /* Number of single byte character.  */
index a85077c..9abdd77 100644 (file)
    with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
 
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_MINOR__
+#  define __GNUC_PREREQ(maj, min) \
+       ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#if !__GNUC_PREREQ (3, 1)
+# define always_inline
+#endif
+
 static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags,
                                     Idx n) internal_function;
 static void match_ctx_clean (re_match_context_t *mctx) internal_function;