about summary refs log tree commit diff
path: root/posix/regex_internal.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-12-23 02:29:44 +0000
committerUlrich Drepper <drepper@redhat.com>2003-12-23 02:29:44 +0000
commit8cae99dba5e26eb9fdd118e1bc9abba00d7f8b5b (patch)
tree2ec87f62df12fe1a46fc80e0455c3a019277ac1c /posix/regex_internal.h
parent3ce12656a8f3bf28042231df9407a9193626f26f (diff)
downloadglibc-8cae99dba5e26eb9fdd118e1bc9abba00d7f8b5b.tar.gz
glibc-8cae99dba5e26eb9fdd118e1bc9abba00d7f8b5b.tar.xz
glibc-8cae99dba5e26eb9fdd118e1bc9abba00d7f8b5b.zip
Update.
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.
Diffstat (limited to 'posix/regex_internal.h')
-rw-r--r--posix/regex_internal.h69
1 files changed, 39 insertions, 30 deletions
diff --git a/posix/regex_internal.h b/posix/regex_internal.h
index ea9a30c16e..8f11ba7a44 100644
--- a/posix/regex_internal.h
+++ b/posix/regex_internal.h
@@ -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