diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Support/regcomp.c')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/Support/regcomp.c | 32 | 
1 files changed, 10 insertions, 22 deletions
diff --git a/contrib/llvm-project/llvm/lib/Support/regcomp.c b/contrib/llvm-project/llvm/lib/Support/regcomp.c index 4e9082cec456..990aef32a396 100644 --- a/contrib/llvm-project/llvm/lib/Support/regcomp.c +++ b/contrib/llvm-project/llvm/lib/Support/regcomp.c @@ -190,8 +190,8 @@ static struct cname {   * other clumsinesses   */  struct parse { -	char *next;		/* next character in RE */ -	char *end;		/* end of string (-> NUL normally) */ +	const char *next;	/* next character in RE */ +	const char *end;	/* end of string (-> NUL normally) */  	int error;		/* has an error been seen? */  	sop *strip;		/* malloced strip */  	sopno ssize;		/* malloced strip size (allocated) */ @@ -329,15 +329,7 @@ llvm_regcomp(llvm_regex_t *preg, const char *pattern, int cflags)  	/* set things up */  	p->g = g; -	/* suppress warning from the following explicit cast. */ -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wcast-qual" -#endif /* __GNUC__ */ -	p->next = (char *)pattern;	/* convenience; we do not modify it */ -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif /* __GNUC__ */ +	p->next = pattern;  	p->end = p->next + len;  	p->error = 0;  	p->ncsalloc = 0; @@ -948,7 +940,7 @@ p_b_term(struct parse *p, cset *cs)  static void  p_b_cclass(struct parse *p, cset *cs)  { -	char *sp = p->next; +	const char *sp = p->next;  	struct cclass *cp;  	size_t len;  	const char *u; @@ -1012,7 +1004,7 @@ static char			/* value of collating element */  p_b_coll_elem(struct parse *p,      int endc)			/* name ended by endc,']' */  { -	char *sp = p->next; +	const char *sp = p->next;  	struct cname *cp;  	size_t len; @@ -1056,8 +1048,8 @@ othercase(int ch)  static void  bothcases(struct parse *p, int ch)  { -	char *oldnext = p->next; -	char *oldend = p->end; +	const char *oldnext = p->next; +	const char *oldend = p->end;  	char bracket[3];  	ch = (uch)ch; @@ -1098,16 +1090,12 @@ ordinary(struct parse *p, int ch)  static void  nonnewline(struct parse *p)  { -	char *oldnext = p->next; -	char *oldend = p->end; -	char bracket[4]; +	const char *oldnext = p->next; +	const char *oldend = p->end; +	static const char bracket[4] = {'^', '\n', ']', '\0'};  	p->next = bracket;  	p->end = bracket+3; -	bracket[0] = '^'; -	bracket[1] = '\n'; -	bracket[2] = ']'; -	bracket[3] = '\0';  	p_bracket(p);  	assert(p->next == bracket+3);  	p->next = oldnext;  | 
