1
2004-02-16 Matt Kraai <kraai@alumni.cmu.edu>
3
* regex.c: Include <ansidecl.h>.
4
(regcomp): Cast i to int.
5
(regerror): Add ATTRIBUTE_UNUSED to parameter preg.
7
2004-01-25 Ian Lance Taylor <ian@wasabisystems.com>
9
* configure.ac: Add m4_pattern_allow(LIBOBJS).
10
* configure: Regenerate.
12
2004-01-22 DJ Delorie <dj@redhat.com>
14
* Makefile.in: Convert to ./ throughout. Rebuild dependencies
15
with explicit build rules.
18
* configure.ac (pexecute, LIBOBJS): Add ./ .
19
* maint-tool: Build dependencies with explicit rules.
21
2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
23
* strdup.c (strdup): Constify the argument.
25
2004-01-14 Loren J. Rittle <ljrittle@acm.org>
27
* Makefile.in (distclean): Remove config.cache.
29
2004-01-13 Daniel Jacobowitz <drow@mvista.com>
31
* cp-demangle.c (d_make_comp): DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE
33
* cp-demint.c (cplus_demangle_fill_component): Likewise.
35
2004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
37
* cp-demangle.c: Include "cp-demangle.h". If IN_GLIBCPP_V3 is
38
defined, rename some functions which are to become static via
40
(CP_STATIC_IF_GLIBCPP_V3): Define.
41
(struct d_operator_info): Move definition to cp-demangle.h, and
42
rename to demangle_operator_info. Change all uses.
43
(enum d_builtin_type_print): Move definition to cp-demangle.h.
44
(struct d_builtin_type_info): Move definition to cp-demangle.h,
45
and rename to demangle_builtin_type_info. Change all uses.
46
(enum d_comp_type): Move definition to include/demangle.h, and
47
rename to demangle_component_type, and change all enums to start
48
with DEMANGLE_COMPONENT_ instead of D_. Change all uses.
49
(struct d_comp): Move definition to include/demangle.h, and rename
50
to demangle_component. Change all uses.
51
(struct d_info): Move definition to cp-demangle.h.
52
(cplus_demangle_fill_name): New function.
53
(cplus_demangle_fill_extended_operator): New function.
54
(cplus_demangle_fill_ctor): New function.
55
(cplus_demangle_fill_dtor): New function.
56
(d_make_empty): Remove type parameter. Change all callers.
57
(d_make_name): Use cplus_demangle_fill_name.
58
(d_make_extended_operator): Use
59
cplus_demangle_fill_extended_operator.
60
(d_make_ctor): Use cplus_demangle_fill_ctor.
61
(d_make_dtor): Use cplus_demangle_fill_dtor.
62
(cplus_demangle_mangled_name): Rename from d_mangled_name. Make
63
non-static by default. Change all callers.
64
(cplus_demangle_operators): Rename from d_operators. Change all
65
uses. Make non-static by default. Add sentinel at end of array.
66
(d_operator_name): Adjust initialization of high for new sentinel
67
in cplus_demangle_operators.
68
(cplus_demangle_builtin_types): Rename from d_builtin_types.
69
Change all uses. Make non-static by default. Change initializer
70
to use D_BUILTIN_TYPE_COUNT instead of magic number 26.
71
(cplus_demangle_type): Rename from d_type. Make non-static by
72
default. Change all callers.
73
(cplus_demangle_init_info): Rename from d_init_info. Make
74
non-static by default. Change all callers.
75
* cp-demangle.h: New file.
76
* cp-demint.c: New file.
77
* Makefile.in: Rebuild dependencies.
78
(CFILES): Add cp-demint.c.
79
(REQUIRED_OFILES): Add cp-demint.o.
81
2004-01-09 Kelley Cook <kcook@gcc.gnu.org>
83
* configure.in: Rename file to ...
84
* configure.ac: ... this.
85
* Makefile.in: Update a comment for above change.
87
* config.in: Regenerate.
89
2004-01-02 Ian Lance Taylor <ian@wasabisystems.com>
91
* cp-demangle.c (d_encoding): When DMGL_PARAMS is not set, strip
92
CV-qualifiers from D_COMP_LOCAL_NAME right subtree.
93
* cplus-dem.c (demangle_arm_hp_template): Set DMGL_PARAMS when
94
demangling template parameters.
95
* testsuite/test-demangle.c (fail): New static function.
96
(main): Support new options in input file: --no-params,
97
--is-v3-ctor, and --is-v3-dtor.
98
* testsuite/demangle-expected: Add --no-params to most tests, and
99
add the correct result when parameters are not demangled. Add
100
some simple tests for V3 constructor/destructor recognition.
102
2003-12-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
104
* cp-demangle.c (is_ctor_or_dtor): Fix error in last change.
106
2003-12-22 Daniel Jacobowitz <drow@mvista.com>
109
* Makefile.in (lbasename.o): Depend on filenames.h.
110
* lbasename.c: Include "filenames.h" instead of defining
113
2003-12-22 Ian Lance Taylor <ian@wasabisystems.com>
115
* cp-demangle.c (CP_DYNAMIC_ARRAYS): Define if compiler supports
117
(struct d_operator_info): Add len field.
118
(struct d_builtin_type_info): Add len and java_len fields.
119
(struct d_standard_sub_info): Add simple_len, full_len, and
120
set_last_name_len fields.
121
(struct d_comp): Add len field to s_string.
122
(struct d_info): Add send, did_subs, and expansion fields.
123
(d_append_string_constant): Define.
124
(d_append_string): Remove. Change all users to use
125
d_append_string_constant or d_append_buffer instead.
126
(d_make_sub): Add len parameter. Change all callers.
127
(d_name): Increase expansion when substituting std::.
128
(d_unqualified_name): Increase expansion for an operator.
129
(d_number): Don't use multiplication for negative numbers.
130
(d_identifier): Make sure there are enough characters in the
131
string for the specified length. Adjust expansion for an
133
(d_operators): Initialize len field.
134
(d_special_name, d_ctor_dtor_name): Increase expansion.
135
(d_builtin_types): Initialize len and java_len fields.
136
(d_type): Increase expansion for a builtin type.
137
(d_cv_qualifiers): Increase expansion for each qualifier.
138
(d_bare_function_type): Decrease expansion when removing single
140
(d_template_param): Increment did_subs.
141
(d_expression): Increase expansion for an operator.
142
(d_expr_primary): Decrease expansion for a type we will print
144
(standard_subs): Initialize new fields.
145
(d_substitution): Increment did_subs when doing a normal
146
substitution. Increase expansion for a special substitution.
147
(d_print): Add estimate parameter. Change all callers.
148
(d_print_comp) [D_COMP_NAME]: Handle C++ case inline.
149
(d_print_comp) [D_COMP_BINARY]: Use length to avoid strcmp call.
150
(d_print_java_identifier): Rename from d_print_identifier. Handle
151
only Java case. Change caller.
152
(d_init_info): Change return type to void. Change all callers.
153
Initialize send, did_subs, and expansion fields. Do not
154
initialize comps and subs fields.
155
(d_demangle): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and subs
156
arrays on stack. Make an estimate of the length of the demangled
157
name. Ifdef CP_DEMANGLE_DEBUG, print estimation failures.
158
(is_ctor_or_dtor): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and
159
subs arrays on stack.
161
2003-12-20 Ian Lance Taylor <ian@wasabisystems.com>
163
* cp-demangle.c (d_identifier): In Java mode, skip an optional '$'
164
after the identifier.
165
* testsuite/demangle-expected: Add test case.
167
2003-12-19 Ian Lance Taylor <ian@wasabisystems.com>
169
Fix for PR c++/13447:
170
* cp-demangle.c (enum d_comp_type): Add D_COMP_LOCAL_NAME.
171
(d_dump, d_make_comp): Handle D_COMP_LOCAL_NAME.
172
(is_ctor_dtor_or_conversion): Handle D_COMP_LOCAL_NAME like
174
(is_ctor_or_dtor): Likewise.
175
(d_local_name): Use D_COMP_LOCAL_NAME rather than
177
(d_print_comp) [D_COMP_LOCAL_NAME]: New.
178
(d_prinT_comp) [D_COMP_TYPED_NAME]: If the left tree is
179
D_COMP_LOCAL_NAME, pull any qualifiers off its right subtree.
180
(d_print_mod_list): Handle D_COMP_LOCAL_NAME.
181
* testsuite/demangle-expected: Add two test cases.
183
* cp-demangle.c (d_print_function_type): Clear the global modifier
184
list when printing the modifiers, not just when printing the
186
* testsuite/demangle-expected: Add two test cases.
188
2003-12-15 Ian Lance Taylor <ian@wasabisystems.com>
190
* cp-demangle.c (d_print_function_type): Print the function
191
parameters with no modifiers.
192
* testsuite/demangle-expected: Add test case.
194
* cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't
195
expect that we've read the entire string.
196
(is_ctor_or_dtor): Don't expect that we've read the entire
197
string--reverse patch of 2003-11-29.
199
2003-12-15 Brendan Kehoe <brendan@zen.org>
201
* libiberty/Makefile.in (floatformat.o): Add dependency on
202
config.h to accompany change of 2003-12-03.
204
2003-12-15 Ian Lance Taylor <ian@wasabisystems.com>
206
Fix handling of constructor/destructor of standard substitution:
207
* cp-demangle.c (struct d_standard_sub_info): Define.
208
(d_substitution): Add prefix argument. Change all callers.
209
Rework handling of standard substitutions to print full name when
210
qualifying a constructor/destructor, or when DMGL_VERBOSE is set.
211
* testsuite/demangle-expected: Add test case.
213
Fix handling of negative literal constants:
214
* cp-demangle.c (enum d_comp_type): Add D_COMP_LITERAL_NEG.
215
(d_dump, d_make_comp): Handle D_COMP_LITERAL_NEG.
216
(d_expr_primary): Use D_COMP_LITERAL_NEG for a negative number.
217
(d_print_comp): Handle D_COMP_LITERAL_NEG.
218
* testsuite/demangle-expected: Add test case.
220
2003-12-04 Ian Lance Taylor <ian@wasabisystems.com>
222
* cp-demangle.c (IS_UPPER, IS_LOWER): Define.
223
(d_last_char): Define new macro.
224
(d_make_name): Reject an empty name.
225
(d_prefix, d_unqualified_name, d_type): Use new IS_* macros.
226
(d_substitution, d_print_identifier): Likewise.
227
(d_print_comp) [D_COMP_OPERATOR]: Likewise.
228
(d_print_comp) [D_COMP_TEMPLATE]: Use new d_last_char macro.
229
(d_print_mod) Use new d_last_char macro.
230
(d_print_cast): Use new d_last_char macro.
231
(is_ctor_or_dtor): Don't leak memory.
233
Fix handling of member function modifiers:
234
* cp-demangle.c (enum d_comp_type): Add D_COMP_RESTRICT_THIS,
235
D_COMP_VOLATILE_THIS, and D_COMP_CONST_THIS.
236
(d_dump): Dump new d_comp_type values.
237
(d_make_comp): Accept new d_comp_type values.
238
(has_return_type): Only accept _THIS variants of qualifiers.
239
(d_encoding): Without DMGL_PARAMS, only remove _THIS variants of
241
(d_cv_qualifiers): Add member_fn parameter. Change all callers.
242
(d_print_comp) [D_COMP_TYPED_NAME]: Rather than removing
243
qualifiers and printing them at the end, add _THIS qualifiers to
245
(d_print_comp) [D_COMP_*_THIS]: New cases.
246
(d_print_comp) [D_COMP_PTRMEM_TYPE]: Remove special handling of
248
(d_print_mod_list): Add suffix parameter. Change all callers.
249
Keep walking the list even if the current modifier has been
251
(d_print_mod): Handle new _THIS qualifiers.
252
(d_print_function_type): Handle new _THIS qualifiers when deciding
253
whether to print a parenthesis. Put a space before the
254
parenthesis in some cases. Call d_print_mod_list again at the
255
end, passing suffix as 1.
256
(is_ctor_or_dtor): Look for new _THIS qualifiers.
257
* testsuite/demangle-expected: Add test case.
259
Fix for PR gcc/13304:
260
* cp-demangle.c (d_print_comp) [D_COMP_TEMPLATE]: If the character
261
before the '<' is itself a '<', insert a space.
262
(d_print_cast): Likewise.
263
* testsuite/demangle-expected: Add test case.
265
Fix for PR gcc/13244:
266
* cp-demangle.c (d_print_comp) [D_COMP_BINARY]: Wrap an expression
267
which uses the '>' operator in an extra layer of parens.
268
* testsuite/demangle-expected: Add test case.
270
2003-12-03 Ian Lance Taylor <ian@wasabisystems.com>
272
* floatformat.c: Include "config.h" and <string.h> if available.
273
(INFINITY, NAN): Define if not defined by <math.h>.
274
(floatformat_to_double): Handle NaN, infinity, and denormalized
276
(floatformat_from_double): Likewise.
277
(ieee_test): In debugging code, use little endian rather than big
278
endian. Correct tests to handle NaN and to check correct sign of
279
zero. Omit m68k extended test.
280
(main): Add more debugging cases.
282
2003-11-29 Ian Lance Taylor <ian@wasabisystems.com>
284
* cp-demangle.c (d_demangle): Only return success if we consumed
285
the entire demangled string.
286
(is_ctor_or_dtor): Likewise.
288
* testsuite/demangle-expected: Revert one part of 2003-06-26 patch
289
to restore expected result of EDG test case to original expected
292
2003-11-26 Ian Lance Taylor <ian@wasabisystems.com>
294
* cp-demangle.c (struct d_print_mod): Add templates field.
295
(d_make_builtin_type): Check for NULL type.
296
(d_make_extended_operator): Check for NULL name.
297
(d_make_ctor, d_make_dtor): Likewise.
298
(d_mangled_name): Add top_level parameter. Change all callers.
299
(d_encoding): If DMGL_PARAMS is not set, strip off initial
301
(d_type): Check some return values we rely on.
302
(d_bare_function_type, d_array_type): Likewise.
303
(d_pointer_to_member_type, d_template_args): Likewise.
304
(d_add_substitution): Fail if argument is NULL.
305
(d_print_resize): Check whether buf is NULL.
306
(d_print_comp): Save current templates list with each modifier.
307
Don't pass the modifier list down when printing a template.
308
(d_print_cast): Don't pass the modifier list down when printing a
310
(d_print_mod_list): Temporarily set templates list while printing
312
(d_print_mod): Check that buf is not NULL before using it.
313
(d_print_function_type): Print parens if there is no modifier.
314
(d_init_info): Permit as many substitutions as there are
315
characters in the mangled name.
316
* testsuite/demangle-expected: Add two new test cases.
318
2003-11-25 Ian Lance Taylor <ian@wasabisystems.com>
320
* cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS to
323
2003-11-22 Ian Lance Taylor <ian@wasabisystems.com>
325
* cp-demangle.c (d_encoding): Add top_level parameter. Change all
327
(print_usage): Display new -p option.
328
(long_options): Add --no-params.
329
(main): Accept and handle -p.
331
2003-11-21 Ian Lance Taylor <ian@wasabisystems.com>
333
* cp-demangle.c (has_return_type): Skip qualifiers when checking
334
whether we have a template.
335
* testsuite/demangle-expected: Add four new tests.
337
2003-11-20 Ian Lance Taylor <ian@wasabisystems.com>
339
* testsuite/demangle-expected: Minor changes to match output of
340
new demangler: adjust whitespace in four tests, and change order
341
of qualifiers in one test.
343
* cp-demangle.c: Complete rewrite.
345
2003-11-19 Mark Mitchell <mark@codesourcery.com>
347
* cp-demangle.c (demangle_type): Correct thinko in substitution
350
2003-11-18 Ian Lance Taylor <ian@wasabisystems.com>
352
* cp-demangle.c (demangle_operator_name): Remove space before
354
(demangle_type_ptr): Put qualifiers in the right place. Handle
355
qualifiers in pointer to member specially.
356
(demangle_type): Handle qualifiers for pointer or reference
357
specially. Handle function type.
358
(demangle_local_name): Save and restore caret around demangling of
361
* testsuite/test-demangle.c (main): Don't pass DMGL_VERBOSE to
364
* testsuite/Makefile.in (test-demangle): Depend upon libiberty.a.
366
2003-10-31 Andreas Jaeger <aj@suse.de>
368
* floatformat.c (floatformat_always_valid): Add unused attribute.
370
2003-10-30 Josef Zlomek <zlomekj@suse.cz>
372
Jan Hubicka <jh@suse.cz>
373
* vasprintf.c (int_vasprintf): Pass va_list by value.
374
Use va_copy for copying va_list.
375
(vasprintf): Pass va_list by value.
377
2003-10-30 Josef Zlomek <zlomekj@suse.cz>
379
* hashtab.c (htab_find_slot_with_hash): Decrease n_deleted
380
instead of increasing n_elements when inserting to deleted slot.
1
382
2003-10-20 J. Brobecker <brobecker@gnat.com>
3
384
* cplus-dem.c (demangle_template): Register a new Btype only