Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 23 Dec 2003 02:29:44 +0000 (02:29 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 23 Dec 2003 02:29:44 +0000 (02:29 +0000)
2003-12-22  Jakub Jelinek  <jakub@redhat.com>

* posix/regcomp.c: Remove C99-ism.
* posix/tst-rxspencer.c: Likewise.
Based on a patch by Alex Davis <alex14641@yahoo.com>.

2002-12-17  Paolo Bonzini  <bonzini@gnu.org>

* posix/regex_internal.h [!_LIBC] (internal_function): Define.
(re_string_allocate, re_string_construct, re_string_reconstruct,
re_string_realloc_buffers, build_wcs_buffer,
build_wcs_upper_buffer, build_upper_buffer,
re_string_translate_buffer, re_string_destruct,
re_string_elem_size_at, re_string_char_size_at,
re_string_wchar_at, re_string_context_at,
re_node_set_alloc, re_node_set_init_1
re_node_set_init_2, re_node_set_init_copy,
re_node_set_add_intersect, re_node_set_init_union,
re_node_set_merge, re_node_set_insert
re_node_set_compare, re_node_set_contains
re_node_set_remove_at, re_dfa_add_node,
re_acquire_state, re_acquire_state_context,
free_state): Add internal_function to declaration.

* posix/regexec.c (match_ctx_init, match_ctx_clean,
match_ctx_free, match_ctx_free_subtops,
match_ctx_add_entry, search_cur_bkref_entry,
match_ctx_clear_flag, match_ctx_add_subtop,
match_ctx_add_sublast, sift_ctx_init,
re_search_internal, re_search_2_stub, re_search_stub,
re_copy_regs, acquire_init_state_context,
prune_impossible_nodes, check_matching,
check_halt_node_context, check_halt_state_context
update_regs, proceed_next_node, push_fail_stack,
pop_fail_stack, set_regs, free_fail_stack_return,
sift_states_iter_mb, sift_states_backward
update_cur_sifted_state, add_epsilon_src_nodes,
sub_epsilon_src_nodes, check_dst_limits,
check_dst_limits_calc_pos, check_subexp_limits,
sift_states_bkref, clean_state_log_if_need,
merge_state_array, transit_state,
check_subexp_matching_top, transit_state_sb,
transit_state_mb, transit_state_bkref,
get_subexp, get_subexp_sub, find_subexp_node,
check_arrival, check_arrival_add_next_nodes,
find_collation_sequence_value, check_arrival_expand_ecl,
check_arrival_expand_ecl_sub, expand_bkref_cache,
build_trtable, check_node_accept_bytes, extend_buffers,
group_nodes_into_DFAstates, check_node_accept): Likewise.

* posix/regex_internal.c (re_string_construct_common,
re_string_skip_chars, create_newstate_common,
register_state, create_ci_newstate, create_cd_newstate,
calc_state_hash): Likewise.
(re_string_peek_byte_case, re_fetch_byte_case): Change
declaration from ANSI to K&R.

2002-12-16  Paolo Bonzini  <bonzini@gnu.org>

* posix/regexec.c (build_trtable): Don't allocate the trtable
until state->word_trtable is known.  Don't hardcode UINT_BITS
iterations on each bitset item.

ChangeLog
localedata/ChangeLog
localedata/tst-numeric.data
posix/regcomp.c
posix/regex_internal.c
posix/regex_internal.h
posix/tst-rxspencer.c

index ca16f87..31f1cb4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,66 @@
+2003-12-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * posix/regcomp.c: Remove C99-ism.
+       * posix/tst-rxspencer.c: Likewise.
+       Based on a patch by Alex Davis <alex14641@yahoo.com>.
+
+2002-12-17  Paolo Bonzini  <bonzini@gnu.org>
+
+       * posix/regex_internal.h [!_LIBC] (internal_function): Define.
+       (re_string_allocate, re_string_construct, re_string_reconstruct,
+       re_string_realloc_buffers, build_wcs_buffer,
+       build_wcs_upper_buffer, build_upper_buffer,
+       re_string_translate_buffer, re_string_destruct,
+       re_string_elem_size_at, re_string_char_size_at,
+       re_string_wchar_at, re_string_context_at,
+       re_node_set_alloc, re_node_set_init_1
+       re_node_set_init_2, re_node_set_init_copy,
+       re_node_set_add_intersect, re_node_set_init_union,
+       re_node_set_merge, re_node_set_insert
+       re_node_set_compare, re_node_set_contains
+       re_node_set_remove_at, re_dfa_add_node,
+       re_acquire_state, re_acquire_state_context,
+       free_state): Add internal_function to declaration.
+
+       * posix/regexec.c (match_ctx_init, match_ctx_clean,
+       match_ctx_free, match_ctx_free_subtops,
+       match_ctx_add_entry, search_cur_bkref_entry,
+       match_ctx_clear_flag, match_ctx_add_subtop,
+       match_ctx_add_sublast, sift_ctx_init,
+       re_search_internal, re_search_2_stub, re_search_stub,
+       re_copy_regs, acquire_init_state_context,
+       prune_impossible_nodes, check_matching,
+       check_halt_node_context, check_halt_state_context
+       update_regs, proceed_next_node, push_fail_stack,
+       pop_fail_stack, set_regs, free_fail_stack_return,
+       sift_states_iter_mb, sift_states_backward
+       update_cur_sifted_state, add_epsilon_src_nodes,
+       sub_epsilon_src_nodes, check_dst_limits,
+       check_dst_limits_calc_pos, check_subexp_limits,
+       sift_states_bkref, clean_state_log_if_need,
+       merge_state_array, transit_state,
+       check_subexp_matching_top, transit_state_sb,
+       transit_state_mb, transit_state_bkref,
+       get_subexp, get_subexp_sub, find_subexp_node,
+       check_arrival, check_arrival_add_next_nodes,
+       find_collation_sequence_value, check_arrival_expand_ecl,
+       check_arrival_expand_ecl_sub, expand_bkref_cache,
+       build_trtable, check_node_accept_bytes, extend_buffers,
+       group_nodes_into_DFAstates, check_node_accept): Likewise.
+
+       * posix/regex_internal.c (re_string_construct_common,
+       re_string_skip_chars, create_newstate_common,
+       register_state, create_ci_newstate, create_cd_newstate,
+       calc_state_hash): Likewise.
+       (re_string_peek_byte_case, re_fetch_byte_case): Change
+       declaration from ANSI to K&R.
+
+2002-12-16  Paolo Bonzini  <bonzini@gnu.org>
+
+       * posix/regexec.c (build_trtable): Don't allocate the trtable
+       until state->word_trtable is known.  Don't hardcode UINT_BITS
+       iterations on each bitset item.
+
 2003-12-22  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
 
        * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init):
index 08079a3..24601c3 100644 (file)
@@ -1,3 +1,7 @@
+2003-12-22  Ulrich Drepper  <drepper@redhat.com>
+
+       * tst-numeric.data: Remove reliance on nb_NO.ISO-8859-1 locale.
+
 2003-12-05  Ulrich Drepper  <drepper@redhat.com>
 
        * SUPPORTED: Add az_ZA.UTF-8, bn_BD, bn_IN, br_FR@euro, tt_RU, zh_SG.
index 37c90b0..fc914a6 100644 (file)
@@ -41,9 +41,7 @@ C     *%g*    1.23    *1.23*
 C      %9g     1.23         1.23
 C      %9g     -1.23       -1.23
 #
-# check both the norwegian locales and snprintf with that data
+# Locale-dependent test.
 #
-nb_NO.ISO-8859-1       %'g     123.45  123,45
-nb_NO.ISO-8859-1       %'g     -123.45 -123,45
 nn_NO.ISO-8859-1       %'g     123.45  123,45
 nn_NO.ISO-8859-1       %'g     -123.45 -123,45
index f44c3f3..1a7e519 100644 (file)
@@ -2968,6 +2968,7 @@ parse_bracket_exp (regexp, dfa, token, syntax, err)
 #endif /* not RE_ENABLE_I18N */
   bin_tree_t *work_tree;
   int token_len;
+  int first_round = 1;
 #ifdef _LIBC
   collseqmb = (const unsigned char *)
     _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQMB);
@@ -3027,7 +3028,6 @@ parse_bracket_exp (regexp, dfa, token, syntax, err)
   if (token->type == OP_CLOSE_BRACKET)
     token->type = CHARACTER;
 
-  int first_round = 1;
   while (1)
     {
       bracket_elem_t start_elem, end_elem;
index ed377eb..45b45aa 100644 (file)
 static void re_string_construct_common (const char *str, int len,
                                        re_string_t *pstr,
                                        RE_TRANSLATE_TYPE trans, int icase,
-                                       const re_dfa_t *dfa);
+                                       const re_dfa_t *dfa) internal_function;
 #ifdef RE_ENABLE_I18N
 static int re_string_skip_chars (re_string_t *pstr, int new_raw_idx,
-                                wint_t *last_wc);
+                                wint_t *last_wc) internal_function;
 #endif /* RE_ENABLE_I18N */
 static re_dfastate_t *create_newstate_common (re_dfa_t *dfa,
                                              const re_node_set *nodes,
-                                             unsigned int hash);
+                                             unsigned int hash) internal_function;
 static reg_errcode_t register_state (re_dfa_t *dfa, re_dfastate_t *newstate,
-                                    unsigned int hash);
+                                    unsigned int hash) internal_function;
 static re_dfastate_t *create_ci_newstate (re_dfa_t *dfa,
                                          const re_node_set *nodes,
-                                         unsigned int hash);
+                                         unsigned int hash) internal_function;
 static re_dfastate_t *create_cd_newstate (re_dfa_t *dfa,
                                          const re_node_set *nodes,
                                          unsigned int context,
-                                         unsigned int hash);
+                                         unsigned int hash) internal_function;
 static unsigned int inline calc_state_hash (const re_node_set *nodes,
-                                           unsigned int context);
+                                           unsigned int context) internal_function;
 \f
 /* Functions for string operation.  */
 
@@ -746,8 +746,9 @@ re_string_reconstruct (pstr, idx, eflags, newline)
 }
 
 static unsigned char
-re_string_peek_byte_case (const re_string_t *pstr,
-                         int idx)
+re_string_peek_byte_case (pstr, idx)
+     const re_string_t *pstr;
+     int idx;
 {
   int ch, off;
 
@@ -784,7 +785,8 @@ re_string_peek_byte_case (const re_string_t *pstr,
 }
 
 static unsigned char
-re_string_fetch_byte_case (re_string_t *pstr)
+re_string_fetch_byte_case (pstr)
+     re_string_t *pstr;
 {
   int ch;
 
index ea9a30c..8f11ba7 100644 (file)
@@ -349,35 +349,44 @@ typedef struct re_string_t re_string_t;
 
 struct re_dfa_t;
 typedef struct re_dfa_t re_dfa_t;
+
+#ifndef _LIBC
+# ifdef __i386__
+#  define internal_function   __attribute ((regparm (3), stdcall))
+# else
+#  define internal_function
+# endif
+#endif
+
 #ifndef RE_NO_INTERNAL_PROTOTYPES
 static reg_errcode_t re_string_allocate (re_string_t *pstr, const char *str,
                                         int len, int init_len,
                                         RE_TRANSLATE_TYPE trans, int icase,
-                                        const re_dfa_t *dfa);
+                                        const re_dfa_t *dfa) internal_function;
 static reg_errcode_t re_string_construct (re_string_t *pstr, const char *str,
                                          int len, RE_TRANSLATE_TYPE trans,
-                                         int icase, const re_dfa_t *dfa);
+                                         int icase, const re_dfa_t *dfa) internal_function;
 static reg_errcode_t re_string_reconstruct (re_string_t *pstr, int idx,
-                                           int eflags, int newline);
+                                           int eflags, int newline) internal_function;
 static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr,
-                                               int new_buf_len);
+                                               int new_buf_len) internal_function;
 # ifdef RE_ENABLE_I18N
-static void build_wcs_buffer (re_string_t *pstr);
-static int build_wcs_upper_buffer (re_string_t *pstr);
+static void build_wcs_buffer (re_string_t *pstr) internal_function;
+static int build_wcs_upper_buffer (re_string_t *pstr) internal_function;
 # endif /* RE_ENABLE_I18N */
-static void build_upper_buffer (re_string_t *pstr);
-static void re_string_translate_buffer (re_string_t *pstr);
-static void re_string_destruct (re_string_t *pstr);
+static void build_upper_buffer (re_string_t *pstr) internal_function;
+static void re_string_translate_buffer (re_string_t *pstr) internal_function;
+static void re_string_destruct (re_string_t *pstr) internal_function;
 # ifdef RE_ENABLE_I18N
-static int re_string_elem_size_at (const re_string_t *pstr, int idx);
-static inline int re_string_char_size_at (const re_string_t *pstr, int idx);
-static inline wint_t re_string_wchar_at (const re_string_t *pstr, int idx);
+static int re_string_elem_size_at (const re_string_t *pstr, int idx) internal_function;
+static inline int re_string_char_size_at (const re_string_t *pstr, int idx) internal_function;
+static inline wint_t re_string_wchar_at (const re_string_t *pstr, int idx) internal_function;
 # endif /* RE_ENABLE_I18N */
 static unsigned int re_string_context_at (const re_string_t *input, int idx,
-                                         int eflags, int newline_anchor);
+                                         int eflags, int newline_anchor) internal_function;
 static unsigned char re_string_peek_byte_case (const re_string_t *pstr,
-                                              int idx);
-static unsigned char re_string_fetch_byte_case (re_string_t *pstr);
+                                              int idx) internal_function;
+static unsigned char re_string_fetch_byte_case (re_string_t *pstr) internal_function;
 #endif
 #define re_string_peek_byte(pstr, offset) \
   ((pstr)->mbs[(pstr)->cur_idx + offset])
@@ -629,38 +638,38 @@ struct re_dfa_t
 };
 
 #ifndef RE_NO_INTERNAL_PROTOTYPES
-static reg_errcode_t re_node_set_alloc (re_node_set *set, int size);
-static reg_errcode_t re_node_set_init_1 (re_node_set *set, int elem);
+static reg_errcode_t re_node_set_alloc (re_node_set *set, int size) internal_function;
+static reg_errcode_t re_node_set_init_1 (re_node_set *set, int elem) internal_function;
 static reg_errcode_t re_node_set_init_2 (re_node_set *set, int elem1,
-                                        int elem2);
+                                        int elem2) internal_function;
 #define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set))
 static reg_errcode_t re_node_set_init_copy (re_node_set *dest,
-                                           const re_node_set *src);
+                                           const re_node_set *src) internal_function;
 static reg_errcode_t re_node_set_add_intersect (re_node_set *dest,
                                                const re_node_set *src1,
-                                               const re_node_set *src2);
+                                               const re_node_set *src2) internal_function;
 static reg_errcode_t re_node_set_init_union (re_node_set *dest,
                                             const re_node_set *src1,
-                                            const re_node_set *src2);
+                                            const re_node_set *src2) internal_function;
 static reg_errcode_t re_node_set_merge (re_node_set *dest,
-                                       const re_node_set *src);
-static int re_node_set_insert (re_node_set *set, int elem);
+                                       const re_node_set *src) internal_function;
+static int re_node_set_insert (re_node_set *set, int elem) internal_function;
 static int re_node_set_compare (const re_node_set *set1,
-                               const re_node_set *set2);
-static int re_node_set_contains (const re_node_set *set, int elem);
-static void re_node_set_remove_at (re_node_set *set, int idx);
+                               const re_node_set *set2) internal_function;
+static int re_node_set_contains (const re_node_set *set, int elem) internal_function;
+static void re_node_set_remove_at (re_node_set *set, int idx) internal_function;
 #define re_node_set_remove(set,id) \
   (re_node_set_remove_at (set, re_node_set_contains (set, id) - 1))
 #define re_node_set_empty(p) ((p)->nelem = 0)
 #define re_node_set_free(set) re_free ((set)->elems)
-static int re_dfa_add_node (re_dfa_t *dfa, re_token_t token, int mode);
+static int re_dfa_add_node (re_dfa_t *dfa, re_token_t token, int mode) internal_function;
 static re_dfastate_t *re_acquire_state (reg_errcode_t *err, re_dfa_t *dfa,
-                                       const re_node_set *nodes);
+                                       const re_node_set *nodes) internal_function;
 static re_dfastate_t *re_acquire_state_context (reg_errcode_t *err,
                                                re_dfa_t *dfa,
                                                const re_node_set *nodes,
-                                               unsigned int context);
-static void free_state (re_dfastate_t *state);
+                                               unsigned int context) internal_function;
+static void free_state (re_dfastate_t *state) internal_function;
 #endif
 \f
 
index e9a61ea..cb40421 100644 (file)
@@ -214,6 +214,7 @@ test (const char *pattern, int cflags, const char *string, int eflags,
   n = regcomp (&re, pattern, cflags);
   if (n != 0)
     {
+      char buf[500];
       if (eflags == -1)
        {
          static struct { reg_errcode_t code; const char *name; } codes []
@@ -239,7 +240,6 @@ test (const char *pattern, int cflags, const char *string, int eflags,
          return 1;
        }
 
-      char buf[500];
       regerror (n, &re, buf, sizeof (buf));
       printf ("%s regcomp failed: %s\n", fail, buf);
       return 1;