backport: re PR other/56245 (-fsanitize=address miscompiles GCC)
Backported from mainline 2013-02-09 Jakub Jelinek <jakub@redhat.com> PR other/56245 * regex.c (PTR_INT_TYPE): Define. (EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE. From-SVN: r196148
This commit is contained in:
parent
11ba2b86b5
commit
3b1dcb5baf
|
@ -1,3 +1,12 @@
|
|||
2013-02-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Backported from mainline
|
||||
2013-02-09 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR other/56245
|
||||
* regex.c (PTR_INT_TYPE): Define.
|
||||
(EXTEND_BUFFER): Change incr type from int to PTR_INT_TYPE.
|
||||
|
||||
2013-01-31 Kai Tietz <ktietz@redhat.com>
|
||||
|
||||
Merged from trunk
|
||||
|
|
|
@ -46,9 +46,11 @@
|
|||
|
||||
# if defined STDC_HEADERS && !defined emacs
|
||||
# include <stddef.h>
|
||||
# define PTR_INT_TYPE ptrdiff_t
|
||||
# else
|
||||
/* We need this for `regex.h', and perhaps for the Emacs include files. */
|
||||
# include <sys/types.h>
|
||||
# define PTR_INT_TYPE long
|
||||
# endif
|
||||
|
||||
# define WIDE_CHAR_SUPPORT (HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC)
|
||||
|
@ -2045,7 +2047,7 @@ static reg_errcode_t byte_compile_range (unsigned int range_start,
|
|||
/* How many characters the new buffer can have? */ \
|
||||
wchar_count = bufp->allocated / sizeof(UCHAR_T); \
|
||||
if (wchar_count == 0) wchar_count = 1; \
|
||||
/* Truncate the buffer to CHAR_T align. */ \
|
||||
/* Truncate the buffer to CHAR_T align. */ \
|
||||
bufp->allocated = wchar_count * sizeof(UCHAR_T); \
|
||||
RETALLOC (COMPILED_BUFFER_VAR, wchar_count, UCHAR_T); \
|
||||
bufp->buffer = (char*)COMPILED_BUFFER_VAR; \
|
||||
|
@ -2054,7 +2056,7 @@ static reg_errcode_t byte_compile_range (unsigned int range_start,
|
|||
/* If the buffer moved, move all the pointers into it. */ \
|
||||
if (old_buffer != COMPILED_BUFFER_VAR) \
|
||||
{ \
|
||||
int incr = COMPILED_BUFFER_VAR - old_buffer; \
|
||||
PTR_INT_TYPE incr = COMPILED_BUFFER_VAR - old_buffer; \
|
||||
MOVE_BUFFER_POINTER (b); \
|
||||
MOVE_BUFFER_POINTER (begalt); \
|
||||
if (fixup_alt_jump) \
|
||||
|
@ -2082,7 +2084,7 @@ static reg_errcode_t byte_compile_range (unsigned int range_start,
|
|||
/* If the buffer moved, move all the pointers into it. */ \
|
||||
if (old_buffer != COMPILED_BUFFER_VAR) \
|
||||
{ \
|
||||
int incr = COMPILED_BUFFER_VAR - old_buffer; \
|
||||
PTR_INT_TYPE incr = COMPILED_BUFFER_VAR - old_buffer; \
|
||||
MOVE_BUFFER_POINTER (b); \
|
||||
MOVE_BUFFER_POINTER (begalt); \
|
||||
if (fixup_alt_jump) \
|
||||
|
|
Loading…
Reference in New Issue