diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-13 02:43:16 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-13 02:43:16 +0000 |
commit | 17ee7790ebfac94e22da60c8d4618acb90b11bbf (patch) | |
tree | 9b6873aeaaf57603e96839aaac2b6634121b7cfb /gcc/varray.c | |
parent | 282b8eed94ece927ed51e3a240360a046bc9b311 (diff) | |
download | gcc-17ee7790ebfac94e22da60c8d4618acb90b11bbf.tar.gz |
* varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
(VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
* varray.c: No need to prototype error.
(varray_check_failed): Wrap long string onto two lines.
(varray_underflow): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75786 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/varray.c')
-rw-r--r-- | gcc/varray.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/varray.c b/gcc/varray.c index aca4b6bccf4..b748d438e9a 100644 --- a/gcc/varray.c +++ b/gcc/varray.c @@ -118,15 +118,22 @@ varray_clear (varray_type va) #if defined ENABLE_CHECKING && (GCC_VERSION >= 2007) -extern void error (const char *, ...) ATTRIBUTE_PRINTF_1; - void varray_check_failed (varray_type va, size_t n, const char *file, int line, const char *function) { - internal_error ("virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d", + internal_error ("virtual array %s[%lu]: element %lu out of bounds " + "in %s, at %s:%d", va->name, (unsigned long) va->num_elements, (unsigned long) n, function, trim_filename (file), line); } +void +varray_underflow (varray_type va, const char *file, int line, + const char *function) +{ + internal_error ("underflowed virtual array %s in %s, at %s:%d", + va->name, function, trim_filename (file), line); +} + #endif |