diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2017-06-25 11:39:05 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2017-06-25 11:39:05 +0200 |
commit | 2d3392bd42e16b5c8894c357f250dbde245e96fe (patch) | |
tree | d3bc528e7cb996034a43a478c50a509e41c6bad5 /libiberty/cp-demangle.h | |
parent | 5cc4ca837deac7dc962d8a3741aa120c50ab41da (diff) | |
download | gdb-2d3392bd42e16b5c8894c357f250dbde245e96fe.zip gdb-2d3392bd42e16b5c8894c357f250dbde245e96fe.tar.gz gdb-2d3392bd42e16b5c8894c357f250dbde245e96fe.tar.bz2 |
Sync libiberty with upstream GCC.
libiberty/ChangeLog:
PR demangler/80513
* cp-demangle.c (d_number): Check for overflow.
* cplus-dem.c (consume_count): Fix overflow check.
(gnu_special): Check for underscore after thunk delta.
* testsuite/demangle-expected: Add tests for overflows and invalid
characters in thunks.
* cp-demangle.c (MAX_RECURSION_COUNT): New constant.
(struct d_print_info): Add recursion field.
(d_print_init): Initialize recursion.
(d_print_comp): Check and update d_print_info recursion depth.
* cp-demangle.c (d_substitution): Return NULL if d_add_substitution
fails.
* cp-demangle.h (struct d_info): Remove did_subs field.
* cp-demangle.c (struct d_info_checkpoint): Likewise.
(d_template_param): Don't update did_subs.
(d_substitution): Likewise.
(d_checkpoint): Don't assign did_subs.
(d_backtrack): Likewise.
(cplus_demangle_init_info): Don't initialize did_subs.
Diffstat (limited to 'libiberty/cp-demangle.h')
-rw-r--r-- | libiberty/cp-demangle.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h index a265775..d4a4ab6 100644 --- a/libiberty/cp-demangle.h +++ b/libiberty/cp-demangle.h @@ -111,10 +111,6 @@ struct d_info int next_sub; /* The number of available entries in the subs array. */ int num_subs; - /* The number of substitutions which we actually made from the subs - array, plus the number of template parameter references we - saw. */ - int did_subs; /* The last name we saw, for constructors and destructors. */ struct demangle_component *last_name; /* A running total of the length of large expansions from the |