1 |
283 |
jeremybenn |
Mon Dec 22 11:36:27 1997 Kaveh R. Ghazi
|
2 |
|
|
|
3 |
|
|
* call.c (add_builtin_candidate): Add default case in enumeration
|
4 |
|
|
switch.
|
5 |
|
|
(build_new_op): Likewise.
|
6 |
|
|
(convert_like): Likewise.
|
7 |
|
|
* cvt.c (build_expr_type_conversion): Likewise.
|
8 |
|
|
* tree.c (real_lvalue_p): Likewise.
|
9 |
|
|
(lvalue_p): Likewise.
|
10 |
|
|
(cp_tree_equal): Likewise.
|
11 |
|
|
* typeck.c (comptypes): Likewise.
|
12 |
|
|
(build_component_ref): Likewise.
|
13 |
|
|
(build_function_call_real): Likewise.
|
14 |
|
|
(build_binary_op_nodefault): Likewise.
|
15 |
|
|
(build_unary_op): Likewise.
|
16 |
|
|
(build_modify_expr): Likewise.
|
17 |
|
|
* typeck2.c (initializer_constant_valid_p): Likewise.
|
18 |
|
|
|
19 |
|
|
Sun Dec 21 15:59:00 1997 Nick Clifton
|
20 |
|
|
|
21 |
|
|
* decl2.c (lang_decode_option): Add support for -Wunknown-pragmas.
|
22 |
|
|
|
23 |
|
|
Thu Dec 18 14:51:50 1997 Mark Mitchell
|
24 |
|
|
|
25 |
|
|
* pt.c (coerce_template_parms): Make sure to digest_init if
|
26 |
|
|
possible.
|
27 |
|
|
|
28 |
|
|
* decl.c (duplicate_decls): Make the newdecl virtual if the
|
29 |
|
|
olddecl was, just as is done with other attributes of olddecl.
|
30 |
|
|
|
31 |
|
|
Thu Dec 18 14:43:19 1997 Jason Merrill
|
32 |
|
|
|
33 |
|
|
* typeck.c (unary_complex_lvalue): Ignore op0 when taking the
|
34 |
|
|
address of an OFFSET_REF.
|
35 |
|
|
|
36 |
|
|
* cp-tree.def: Add AGGR_INIT_EXPR.
|
37 |
|
|
* error.c, tree.c, typeck.c: Replace uses of NEW_EXPR with
|
38 |
|
|
AGGR_INIT_EXPR where appropriate.
|
39 |
|
|
* expr.c (cplus_expand_expr): Likewise. Simplify.
|
40 |
|
|
|
41 |
|
|
* decl2.c (finish_file): Remove call to register_exception_table.
|
42 |
|
|
|
43 |
|
|
Wed Dec 17 17:08:52 1997 Benjamin Kosnik
|
44 |
|
|
|
45 |
|
|
* pt.c (instantiate_class_template): Don't do injection when
|
46 |
|
|
processing_template_decl is true, as pollutes current_binding_level
|
47 |
|
|
for base classes.
|
48 |
|
|
|
49 |
|
|
Wed Dec 17 21:17:39 1997 Peter Schmid
|
50 |
|
|
|
51 |
|
|
* pt.c (maybe_fold_nontype_arg): Add prototype.
|
52 |
|
|
|
53 |
|
|
Tue Dec 16 10:31:20 1997 Jason Merrill
|
54 |
|
|
|
55 |
|
|
* tree.c (mapcar): Handle TRY_CATCH_EXPR et al.
|
56 |
|
|
* error.c (dump_expr): Likewise.
|
57 |
|
|
|
58 |
|
|
Mon Dec 15 12:22:04 1997 Jason Merrill
|
59 |
|
|
|
60 |
|
|
* typeck.c (build_function_call_real): Remove "inline called before
|
61 |
|
|
definition" pedwarn.
|
62 |
|
|
|
63 |
|
|
* pt.c (coerce_template_parms): Use maybe_fold_nontype_arg.
|
64 |
|
|
|
65 |
|
|
Sun Dec 14 22:34:20 1997 Jason Merrill
|
66 |
|
|
|
67 |
|
|
* cvt.c (cp_convert_to_pointer): Fix base conversion of pm's.
|
68 |
|
|
|
69 |
|
|
* pt.c (type_unification_real): Change __null to type void* with
|
70 |
|
|
a warning.
|
71 |
|
|
|
72 |
|
|
Sun Dec 14 20:38:35 1997 Mark Mitchell
|
73 |
|
|
|
74 |
|
|
* call.c (implicit_conversion): Don't call
|
75 |
|
|
build_user_type_conversion_1 with a NULL expr, since it will
|
76 |
|
|
crash.
|
77 |
|
|
|
78 |
|
|
* pt.c (unify): Don't try to unify array bounds if either array is
|
79 |
|
|
unbounded.
|
80 |
|
|
|
81 |
|
|
Fri Dec 12 16:09:14 1997 Jason Merrill
|
82 |
|
|
|
83 |
|
|
* errfn.c (cp_pedwarn, cp_pedwarn_at, cp_error_at, cp_warning_at):
|
84 |
|
|
Replace extern decls with casts.
|
85 |
|
|
|
86 |
|
|
* decl.c (expand_start_early_try_stmts): Don't mess with a sequence.
|
87 |
|
|
Update last_parm_cleanup_insn.
|
88 |
|
|
(store_after_parms): Remove.
|
89 |
|
|
* cp-tree.h: Adjust.
|
90 |
|
|
|
91 |
|
|
Thu Dec 11 22:18:37 1997 Jason Merrill
|
92 |
|
|
|
93 |
|
|
* decl2.c (comdat_linkage): Also set DECL_COMDAT.
|
94 |
|
|
(finish_file): Check DECL_COMDAT instead of weak|one_only.
|
95 |
|
|
(import_export_vtable): Use make_decl_one_only instead of
|
96 |
|
|
comdat_linkage for win32 tweak.
|
97 |
|
|
(import_export_decl): Likewise.
|
98 |
|
|
* pt.c (mark_decl_instantiated): Likewise.
|
99 |
|
|
|
100 |
|
|
* decl2.c (finish_file): Lose handling of templates in pending_statics.
|
101 |
|
|
|
102 |
|
|
Thu Dec 11 21:12:09 1997 Jason Merrill
|
103 |
|
|
|
104 |
|
|
* decl2.c (finish_file): Lose call to expand_builtin_throw.
|
105 |
|
|
* except.c (expand_builtin_throw): Remove.
|
106 |
|
|
* cp-tree.h: Remove ptr_ptr_type_node.
|
107 |
|
|
* decl.c: Likewise.
|
108 |
|
|
|
109 |
|
|
Thu Dec 11 20:43:33 1997 Teemu Torma
|
110 |
|
|
|
111 |
|
|
* decl.c (ptr_ptr_type_node): Define.
|
112 |
|
|
(init_decl_processing): Initialize it.
|
113 |
|
|
* cp-tree.h: Declare it.
|
114 |
|
|
* exception.cc (__cp_exception_info): Use __get_eh_info.
|
115 |
|
|
(__cp_push_exception): Likewise.
|
116 |
|
|
(__cp_pop_exception): Likewise.
|
117 |
|
|
|
118 |
|
|
From Scott Snyder :
|
119 |
|
|
* except.c (expand_builtin_throw): Use get_saved_pc_ref instead of
|
120 |
|
|
saved_pc.
|
121 |
|
|
(init_exception_processing): Removed saved_pc initialization.
|
122 |
|
|
|
123 |
|
|
Wed Dec 10 11:04:45 1997 Jason Merrill
|
124 |
|
|
|
125 |
|
|
* pt.c (instantiate_decl): Defer all templates but inline functions.
|
126 |
|
|
|
127 |
|
|
Mon Dec 8 23:17:13 1997 Jason Merrill
|
128 |
|
|
|
129 |
|
|
* init.c (expand_vec_init): Don't fold a list of parameters.
|
130 |
|
|
|
131 |
|
|
* decl.c (copy_args_p): Handle copy elision for types with virtual
|
132 |
|
|
bases.
|
133 |
|
|
* call.c (build_over_call): Likewise.
|
134 |
|
|
|
135 |
|
|
Sun Dec 7 22:38:12 1997 Mark Mitchell
|
136 |
|
|
|
137 |
|
|
* pt.c (lookup_template_function): Copy the template arguments,
|
138 |
|
|
not just the list containing them, to the permanent obstack.
|
139 |
|
|
|
140 |
|
|
Sun Dec 7 15:53:06 1997 Jason Merrill
|
141 |
|
|
|
142 |
|
|
* except.c (expand_start_catch_block): suspend_momentary for the
|
143 |
|
|
terminate handler.
|
144 |
|
|
|
145 |
|
|
* error.c (dump_decl): Handle LOOKUP_EXPR.
|
146 |
|
|
|
147 |
|
|
Sun Dec 7 15:45:07 1997 Mark Mitchell
|
148 |
|
|
|
149 |
|
|
* rtti.c (build_dynamic_cast): Copy the cast-to type to the
|
150 |
|
|
permanent obstack if we are processing a template decl.
|
151 |
|
|
* typeck.c (build_static_cast): Likewise.
|
152 |
|
|
(build_const_cast): Likewise.
|
153 |
|
|
(build_reinterpret_cast): Likewise.
|
154 |
|
|
|
155 |
|
|
* pt.c (coerce_template_parms): Coerce some expressions, even
|
156 |
|
|
when processing_template_decl.
|
157 |
|
|
|
158 |
|
|
Sun Dec 7 01:46:33 1997 Bruno Haible
|
159 |
|
|
|
160 |
|
|
* typeck.c (build_binary_op_nodefault, pointer_diff): Symmetric
|
161 |
|
|
handling of pointer difference expressions.
|
162 |
|
|
|
163 |
|
|
* typeck.c (comp_target_types): Comparison of function/method types
|
164 |
|
|
is independent of nptrs.
|
165 |
|
|
|
166 |
|
|
Sun Dec 7 01:40:27 1997 Mark Mitchell
|
167 |
|
|
|
168 |
|
|
* pt.c (tsubst): Avoid creating pointer to reference and
|
169 |
|
|
reference to reference types.
|
170 |
|
|
|
171 |
|
|
Sat Dec 6 01:29:37 1997 Jason Merrill
|
172 |
|
|
|
173 |
|
|
* parse.y (do_id): New nonterminal.
|
174 |
|
|
(template_id): Use it.
|
175 |
|
|
|
176 |
|
|
Fri Dec 5 01:17:34 1997 Jason Merrill
|
177 |
|
|
|
178 |
|
|
* parse.y (template_id): do_identifier for PFUNCNAMEs, too.
|
179 |
|
|
* spew.c (yylex): Don't do_identifier here.
|
180 |
|
|
* decl2.c (build_expr_from_tree): Revert last change.
|
181 |
|
|
|
182 |
|
|
* decl2.c (build_expr_from_tree): Expand the name for a method call.
|
183 |
|
|
* parse.y (object_template_id): Don't try to take the DECL_NAME.
|
184 |
|
|
|
185 |
|
|
Wed Dec 3 20:02:39 1997 Jason Merrill
|
186 |
|
|
|
187 |
|
|
* init.c (build_new): Use a TARGET_EXPR instead of SAVE_EXPR for
|
188 |
|
|
alloc_expr.
|
189 |
|
|
* call.c (build_op_delete_call): Adjust.
|
190 |
|
|
|
191 |
|
|
* except.c (expand_end_catch_block): Lose rethrow region.
|
192 |
|
|
(expand_start_catch_block): Likewise.
|
193 |
|
|
(expand_end_catch_block): Don't expand_leftover_cleanups.
|
194 |
|
|
|
195 |
|
|
Wed Dec 3 13:24:04 1997 Benjamin Kosnik
|
196 |
|
|
|
197 |
|
|
* pt.c (tsubst): Remove tree_cons call (places redundant info into
|
198 |
|
|
DECL_TEMPLATE_INSTANTIATION).
|
199 |
|
|
|
200 |
|
|
Wed Dec 3 11:44:52 1997 Jason Merrill
|
201 |
|
|
|
202 |
|
|
* tree.c (is_overloaded_fn): Handle getting a fn template.
|
203 |
|
|
(really_overloaded_fn): Likewise.
|
204 |
|
|
* error.c (dump_decl): Handle TEMPLATE_ID_EXPRs better.
|
205 |
|
|
* pt.c (check_explicit_specialization): Tweak.
|
206 |
|
|
(determine_explicit_specialization): Tweak.
|
207 |
|
|
|
208 |
|
|
* tree.c, cp-tree.h (get_target_expr): New fn.
|
209 |
|
|
|
210 |
|
|
Wed Dec 3 08:47:27 1997 Paul Eggert
|
211 |
|
|
|
212 |
|
|
* pt.c (check_explicit_specialization): Fix misspelling in
|
213 |
|
|
diagnostic: `preceeded'.
|
214 |
|
|
* typeck.c (get_delta_difference): Fix misspelling in diagnostic:
|
215 |
|
|
`conversiona'.
|
216 |
|
|
|
217 |
|
|
1997-12-02 Mark Mitchell
|
218 |
|
|
|
219 |
|
|
* pt.c (determine_explicit_specialization): Avoid an internal
|
220 |
|
|
error for bad specializations.
|
221 |
|
|
|
222 |
|
|
* method.c (build_overload_value): Handle SCOPE_REF.
|
223 |
|
|
|
224 |
|
|
Tue Dec 2 19:18:50 1997 Mike Stump
|
225 |
|
|
|
226 |
|
|
* class.c (prepare_fresh_vtable): Enable even more complex MI
|
227 |
|
|
vtable names.
|
228 |
|
|
|
229 |
|
|
Tue Dec 2 01:37:19 1997 Jason Merrill
|
230 |
|
|
|
231 |
|
|
* exception.cc (__check_eh_spec): Optimize a bit.
|
232 |
|
|
|
233 |
|
|
* exception.cc (__cp_pop_exception): Lose handler arg.
|
234 |
|
|
* except.c (do_pop_exception): Likewise.
|
235 |
|
|
(push_eh_cleanup): Let the cleanup mechanism supply the handler.
|
236 |
|
|
(expand_end_catch_block): Likewise.
|
237 |
|
|
|
238 |
|
|
Fri Nov 28 01:58:14 1997 Jason Merrill
|
239 |
|
|
|
240 |
|
|
* pt.c (check_explicit_specialization): Complain about using a
|
241 |
|
|
template-id for a non-specialization.
|
242 |
|
|
|
243 |
|
|
Fri Nov 28 12:35:19 1997 Scott Christley
|
244 |
|
|
|
245 |
|
|
* repo.c: Prototype rindex only if needed.
|
246 |
|
|
* xref.c: Likewise.
|
247 |
|
|
|
248 |
|
|
Fri Nov 28 01:56:35 1997 Bruno Haible
|
249 |
|
|
|
250 |
|
|
* error.c (dump_decl): Handle TEMPLATE_ID_EXPR.
|
251 |
|
|
|
252 |
|
|
Thu Nov 27 00:59:46 1997 Jason Merrill
|
253 |
|
|
|
254 |
|
|
* typeck.c (build_const_cast): Handle references here instead of
|
255 |
|
|
handing off to convert_to_reference.
|
256 |
|
|
|
257 |
|
|
* except.c: Lose Unexpected, SetTerminate, SetUnexpected,
|
258 |
|
|
TerminateFunctionCall.
|
259 |
|
|
(init_exception_processing): Likewise. Terminate et al are now
|
260 |
|
|
the fns, not ADDR_EXPRs.
|
261 |
|
|
(various): Lose redundant assemble_external calls.
|
262 |
|
|
(do_unwind): s/BuiltinReturnAddress/builtin_return_address_fndecl/.
|
263 |
|
|
|
264 |
|
|
* cp-tree.h (struct lang_decl_flags): Add comdat.
|
265 |
|
|
(DECL_COMDAT): New macro.
|
266 |
|
|
* decl.c (duplicate_decls): Propagate it.
|
267 |
|
|
(cp_finish_decl): Handle it.
|
268 |
|
|
* decl2.c (import_export_decl): Just set DECL_COMDAT on VAR_DECLs.
|
269 |
|
|
|
270 |
|
|
* class.c: Remove static pending_hard_virtuals.
|
271 |
|
|
(add_virtual_function): Take pointers to pending_virtuals
|
272 |
|
|
and pending_hard_virtuals.
|
273 |
|
|
(finish_struct_1): Pass them. Declare pending_hard_virtuals.
|
274 |
|
|
|
275 |
|
|
Wed Nov 26 20:28:49 1997 Jason Merrill
|
276 |
|
|
|
277 |
|
|
* decl2.c (import_export_vtable): If we support one_only but not
|
278 |
|
|
weak symbols, mark instantiated template vtables one_only.
|
279 |
|
|
(import_export_decl): Likewise for tinfo functions.
|
280 |
|
|
(finish_vtable_vardecl): Also write out vtables from explicitly
|
281 |
|
|
instantiated template classes.
|
282 |
|
|
* pt.c (mark_class_instantiated): Revert last change.
|
283 |
|
|
|
284 |
|
|
* except.c (expand_throw): Call mark_used on the destructor.
|
285 |
|
|
|
286 |
|
|
Wed Nov 26 15:13:48 1997 Jeffrey A Law (law@cygnus.com)
|
287 |
|
|
|
288 |
|
|
* lex.c (lang_init): Enable flag_exceptions by default if no
|
289 |
|
|
command line switch was specified.
|
290 |
|
|
|
291 |
|
|
1997-11-26 Mark Mitchell
|
292 |
|
|
|
293 |
|
|
* pt.c (unify): Handle `void' template parameters in
|
294 |
|
|
specializations.
|
295 |
|
|
|
296 |
|
|
Wed Nov 26 01:11:24 1997 Jason Merrill
|
297 |
|
|
|
298 |
|
|
* rtti.c (build_dynamic_cast): Handle template case here.
|
299 |
|
|
(build_dynamic_cast_1): Not here.
|
300 |
|
|
|
301 |
|
|
* typeck2.c (digest_init): Make copies where appropriate.
|
302 |
|
|
|
303 |
|
|
* decl2.c (delete_sanity): resolve_offset_ref.
|
304 |
|
|
|
305 |
|
|
* except.c: Call terminate without caching so many bits.
|
306 |
|
|
|
307 |
|
|
* except.c (expand_start_catch_block): Fix catching a reference
|
308 |
|
|
to pointer.
|
309 |
|
|
|
310 |
|
|
Tue Nov 25 11:28:21 1997 Jason Merrill
|
311 |
|
|
|
312 |
|
|
* init.c (build_new): Copy size to the saveable obstack.
|
313 |
|
|
|
314 |
|
|
* init.c (build_new): Stick a CLEANUP_POINT_EXPR inside the
|
315 |
|
|
TRY_CATCH_EXPR for now.
|
316 |
|
|
|
317 |
|
|
Mon Nov 24 12:15:55 1997 Jason Merrill
|
318 |
|
|
|
319 |
|
|
* typeck.c (mark_addressable): Don't assume a FUNCTION_DECL
|
320 |
|
|
has DECL_LANG_SPECIFIC.
|
321 |
|
|
|
322 |
|
|
* exception.cc (struct cp_eh_info): Add handlers field.
|
323 |
|
|
(__cp_push_exception): Initialize it.
|
324 |
|
|
(__cp_pop_exception): Decrement it. Don't pop unless it's 0.
|
325 |
|
|
(__throw_bad_exception): Remove.
|
326 |
|
|
* except.c (call_eh_info): Add handlers field.
|
327 |
|
|
(get_eh_handlers): New fn.
|
328 |
|
|
(push_eh_cleanup): Increment handlers.
|
329 |
|
|
|
330 |
|
|
Fri Nov 21 12:22:07 1997 Jason Merrill
|
331 |
|
|
|
332 |
|
|
* except.c (expand_start_eh_spec): Use the try/catch code.
|
333 |
|
|
(expand_end_eh_spec): Likewise. Call __check_eh_spec instead of
|
334 |
|
|
doing everything inline.
|
335 |
|
|
(init_exception_processing): throw_type_match now takes
|
336 |
|
|
const void pointers.
|
337 |
|
|
* exception.cc (__check_eh_spec): New fn.
|
338 |
|
|
* inc/exception: Neither terminate nor unexpected return.
|
339 |
|
|
* decl.c: Make const_ptr_type_node public.
|
340 |
|
|
* tinfo2.cc (__throw_type_match_rtti): Take the typeinfos constly.
|
341 |
|
|
|
342 |
|
|
* except.c (expand_start_catch_block): We only need the rethrow
|
343 |
|
|
region for non-sjlj exceptions.
|
344 |
|
|
(expand_end_catch_block): Likewise. Use outer_context_label_stack.
|
345 |
|
|
|
346 |
|
|
Thu Nov 20 14:40:17 1997 Jason Merrill
|
347 |
|
|
|
348 |
|
|
* Make-lang.in (CXX_LIB2FUNCS): Add new op new and op delete objs.
|
349 |
|
|
(various.o): Likewise.
|
350 |
|
|
* inc/new: Add placement deletes. Add throw specs for default new.
|
351 |
|
|
* new.cc (set_new_handler): Move here from libgcc2.
|
352 |
|
|
* new1.cc (new (nothrow)): Catch a bad_alloc thrown from the handler.
|
353 |
|
|
(new): Move from libgcc2. Throw bad_alloc.
|
354 |
|
|
* new2.cc: Move the rest of the op news and op deletes from libgcc2.
|
355 |
|
|
* decl.c (init_decl_processing): Update exception specs on new and
|
356 |
|
|
delete.
|
357 |
|
|
|
358 |
|
|
* method.c (build_decl_overload_real): Don't mess with global
|
359 |
|
|
placement delete.
|
360 |
|
|
|
361 |
|
|
* init.c (build_new): Check for null throw spec, not nothrow_t.
|
362 |
|
|
|
363 |
|
|
* decl.c (duplicate_decls): Don't complain about different exceptions
|
364 |
|
|
from an internal declaration.
|
365 |
|
|
|
366 |
|
|
* call.c (build_op_delete_call): Fix check for member fns again.
|
367 |
|
|
|
368 |
|
|
* decl2.c (import_export_decl): Interface hackery affects
|
369 |
|
|
virtual synthesized methods.
|
370 |
|
|
|
371 |
|
|
Wed Nov 19 18:24:14 1997 Jason Merrill
|
372 |
|
|
|
373 |
|
|
* decl.c (start_decl): Don't just complain about a mismatched
|
374 |
|
|
scope, fix it.
|
375 |
|
|
|
376 |
|
|
* decl.c (make_implicit_typename): Handle case where t is not
|
377 |
|
|
actually from context.
|
378 |
|
|
* tree.c (get_type_decl): Lose identifier case.
|
379 |
|
|
* spew.c (yylex): Lose useless call to identifier_typedecl_value.
|
380 |
|
|
* parse.y (nonnested_type): Just use lookup_name.
|
381 |
|
|
(complex_type_name): Just use IDENTIFIER_GLOBAL_VALUE.
|
382 |
|
|
|
383 |
|
|
Wed Nov 19 11:45:07 1997 Michael Tiemann
|
384 |
|
|
|
385 |
|
|
* error.c (dump_function_name): Test DECL_LANG_SPECIFIC in case
|
386 |
|
|
T was built in C language context (for example, by
|
387 |
|
|
output_func_start_profiler).
|
388 |
|
|
|
389 |
|
|
Wed Nov 19 10:39:27 1997 Jason Merrill
|
390 |
|
|
|
391 |
|
|
* decl.c (make_implicit_typename): New fn.
|
392 |
|
|
(lookup_name_real): Use it. Use current_class_type as the context.
|
393 |
|
|
|
394 |
|
|
Mon Nov 17 23:42:03 1997 Bruno Haible
|
395 |
|
|
|
396 |
|
|
* pt.c (do_poplevel): Don't prohibit jumps into this contour.
|
397 |
|
|
|
398 |
|
|
Mon Nov 17 02:01:28 1997 Jason Merrill
|
399 |
|
|
|
400 |
|
|
* friend.c (do_friend): Warn about non-template friends in templates.
|
401 |
|
|
|
402 |
|
|
* call.c (build_op_delete_call): Fix handling of inherited delete.
|
403 |
|
|
|
404 |
|
|
* search.c (dfs_record_inheritance): Ignore template type parms.
|
405 |
|
|
|
406 |
|
|
Sat Nov 15 00:30:51 1997 Jason Merrill
|
407 |
|
|
|
408 |
|
|
* call.c (build_new_op): Fix copy error.
|
409 |
|
|
(build_op_new_call): New fn.
|
410 |
|
|
(build_op_delete_call): New fn.
|
411 |
|
|
* cp-tree.h: Declare them.
|
412 |
|
|
* init.c (build_new): Use them. Support placement delete.
|
413 |
|
|
(build_x_delete): Use build_op_delete_call.
|
414 |
|
|
(build_delete): Likewise.
|
415 |
|
|
* decl2.c (delete_sanity): Likewise.
|
416 |
|
|
(coerce_delete_type): Don't complain about placement delete.
|
417 |
|
|
|
418 |
|
|
Thu Nov 13 01:52:36 1997 Jason Merrill
|
419 |
|
|
|
420 |
|
|
* call.c (build_new_function_call): Remove unused 'obj' parm.
|
421 |
|
|
* cp-tree.h, typeck.c: Adjust.
|
422 |
|
|
|
423 |
|
|
* init.c (build_new): Make the cleanup last longer.
|
424 |
|
|
(expand_vec_init): Call do_pending_stack_adjust.
|
425 |
|
|
|
426 |
|
|
Wed Nov 12 11:04:33 1997 Jason Merrill
|
427 |
|
|
|
428 |
|
|
* pt.c (do_type_instantiation): Fix typo.
|
429 |
|
|
(mark_class_instantiated): If we support one_only but not weak
|
430 |
|
|
symbols, don't mark this as known.
|
431 |
|
|
|
432 |
|
|
* init.c (build_new): Handle vec delete in EH cleanup.
|
433 |
|
|
|
434 |
|
|
Wed Nov 12 08:11:55 1997 Benjamin Kosnik
|
435 |
|
|
|
436 |
|
|
* call.c (build_method_call): Call complete_type before checking
|
437 |
|
|
for destructor.
|
438 |
|
|
|
439 |
|
|
Sun Nov 9 01:29:55 1997 Jim Wilson (wilson@cygnus.com)
|
440 |
|
|
|
441 |
|
|
* decl.c (add_block_current_level): Delete.
|
442 |
|
|
* init.c (build_vec_delete_1): Delete build_block and
|
443 |
|
|
add_block_current_level calls.
|
444 |
|
|
|
445 |
|
|
Wed Nov 12 00:48:16 1997 Jason Merrill
|
446 |
|
|
|
447 |
|
|
* init.c (build_new): Handle freeing allocated memory when the
|
448 |
|
|
constructor throws.
|
449 |
|
|
|
450 |
|
|
* call.c (build_new_method_call): Fix flags arg.
|
451 |
|
|
|
452 |
|
|
* pt.c (do_type_instantiation): Don't try to instantiate
|
453 |
|
|
member templates.
|
454 |
|
|
(mark_decl_instantiated): If we support one_only but not
|
455 |
|
|
weak symbols, mark this one_only.
|
456 |
|
|
* decl2.c (import_export_vtable): Don't defer handling of vtables
|
457 |
|
|
if MULTIPLE_SYMBOL_SPACES.
|
458 |
|
|
|
459 |
|
|
Tue Nov 11 12:02:12 1997 Jason Merrill
|
460 |
|
|
|
461 |
|
|
* except.c (expand_end_catch_block): Lose call to __sjpopnthrow.
|
462 |
|
|
|
463 |
|
|
Tue Nov 11 02:53:44 1997 Jason Merrill
|
464 |
|
|
|
465 |
|
|
* except.c (do_pop_exception): Return a value.
|
466 |
|
|
|
467 |
|
|
Mon Nov 10 20:25:31 1997 Jason Merrill
|
468 |
|
|
|
469 |
|
|
* call.c (build_new_method_call): Handle getting a
|
470 |
|
|
TEMPLATE_ID_EXPR around a TEMPLATE_DECL. Don't look for a field
|
471 |
|
|
if we got template parms.
|
472 |
|
|
* typeck.c (build_x_function_call): Remember the TEMPLATE_ID_EXPR,
|
473 |
|
|
not just the args.
|
474 |
|
|
* decl2.c (build_expr_from_tree): Tweak last change.
|
475 |
|
|
* pt.c (tsubst_copy): Use get_first_fn instead of TREE_VALUE.
|
476 |
|
|
(maybe_fold_nontype_arg): Split out from tsubst_copy.
|
477 |
|
|
* tree.c (get_first_fn): Just return a TEMPLATE_ID_EXPR.
|
478 |
|
|
|
479 |
|
|
Mon Nov 10 20:08:38 1997 Kriang Lerdsuwanakij
|
480 |
|
|
|
481 |
|
|
* pt.c (tsubst_copy): Handle explicit template arguments in
|
482 |
|
|
function calls.
|
483 |
|
|
* typeck.c (build_x_function_call): Likewise.
|
484 |
|
|
* decl2.c (build_expr_from_tree): Lookup function name if it
|
485 |
|
|
hasn't been done.
|
486 |
|
|
|
487 |
|
|
* pt.c (tsubst): Instantiate template functions properly when
|
488 |
|
|
template parameter does not appear in function arguments and return
|
489 |
|
|
type.
|
490 |
|
|
(comp_template_args): Handle member templates required by tsubst.
|
491 |
|
|
|
492 |
|
|
Mon Nov 10 20:08:38 1997 Jason Merrill
|
493 |
|
|
|
494 |
|
|
* decl.c (grokdeclarator): Tweak conditions for pedwarn in
|
495 |
|
|
previous change.
|
496 |
|
|
|
497 |
|
|
Mon Nov 10 20:08:29 1997 Bruno Haible
|
498 |
|
|
|
499 |
|
|
* pt.c (coerce_template_parms): Tweak error message.
|
500 |
|
|
|
501 |
|
|
* decl.c (grokdeclarator): If -Wreturn-type, warn everytime a
|
502 |
|
|
return type defaults to `int', even if there are storage-class
|
503 |
|
|
specifiers.
|
504 |
|
|
|
505 |
|
|
Mon Nov 10 03:04:20 1997 Jason Merrill
|
506 |
|
|
|
507 |
|
|
Complete nested exception support.
|
508 |
|
|
* except.c (do_pop_exception): Split out...
|
509 |
|
|
(push_eh_cleanup): From here. Handle the EH region by hand.
|
510 |
|
|
(expand_start_catch_block): Add a new level for the catch parm.
|
511 |
|
|
Move the rethrow region outside the two cleanup regions.
|
512 |
|
|
Protect the initializer for the catch parm with terminate.
|
513 |
|
|
(expand_end_catch_block): Likewise. End the region for the eh_cleanup.
|
514 |
|
|
* exception.cc (__cp_pop_exception): Now takes two parms. Handle
|
515 |
|
|
popping off the middle of the stack.
|
516 |
|
|
* tree.c (lvalue_p, real_lvalue_p): Handle TRY_CATCH_EXPR,
|
517 |
|
|
WITH_CLEANUP_EXPR, and UNSAVE_EXPR.
|
518 |
|
|
(build_cplus_new): Only wrap CALL_EXPRs.
|
519 |
|
|
* init.c (expand_default_init): Handle a TRY_CATCH_EXPR around
|
520 |
|
|
the constructor call.
|
521 |
|
|
|
522 |
|
|
Sun Nov 9 18:00:26 1997 Richard Kenner
|
523 |
|
|
|
524 |
|
|
* Make-lang.in (c++.distdir): Make inc subdirectory.
|
525 |
|
|
|
526 |
|
|
Fri Nov 7 11:57:28 1997 Jason Merrill
|
527 |
|
|
|
528 |
|
|
* decl2.c (finish_file): Put back some code.
|
529 |
|
|
|
530 |
|
|
Thu Nov 6 11:28:14 1997 Jason Merrill
|
531 |
|
|
|
532 |
|
|
* decl2.c (finish_file): Remove redundant code.
|
533 |
|
|
* method.c (emit_thunk): Don't let the backend defer generic thunks.
|
534 |
|
|
|
535 |
|
|
Wed Nov 5 23:52:50 1997 Jason Merrill
|
536 |
|
|
|
537 |
|
|
* except.c (call_eh_info): Split out...
|
538 |
|
|
(push_eh_info): From here.
|
539 |
|
|
(expand_builtin_throw): Use it.
|
540 |
|
|
(expand_start_catch_block): Move region start back.
|
541 |
|
|
|
542 |
|
|
Tue Nov 4 13:45:10 1997 Doug Evans
|
543 |
|
|
|
544 |
|
|
* lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
|
545 |
|
|
(real_yylex): Record wide strings using target endianness, not host.
|
546 |
|
|
|
547 |
|
|
1997-11-03 Brendan Kehoe
|
548 |
|
|
|
549 |
|
|
* repo.c (rindex): Add decl unconditionally.
|
550 |
|
|
(get_base_filename, open_repo_file): Don't cast rindex.
|
551 |
|
|
* xref.c (rindex): Add decl unconditionally.
|
552 |
|
|
(index): Remove unused decl.
|
553 |
|
|
(open_xref_file): Don't cast rindex.
|
554 |
|
|
|
555 |
|
|
Sun Nov 2 15:04:12 1997 Jason Merrill
|
556 |
|
|
|
557 |
|
|
* class.c (build_vbase_path): Propagate the result type properly.
|
558 |
|
|
|
559 |
|
|
1997-11-01 Brendan Kehoe
|
560 |
|
|
|
561 |
|
|
* except.c (expand_builtin_throw) [!DWARF2_UNWIND_INFO]: Replace
|
562 |
|
|
remaining use of saved_throw_type with a call to get_eh_type.
|
563 |
|
|
|
564 |
|
|
1997-10-31 Brendan Kehoe
|
565 |
|
|
|
566 |
|
|
* lex.c (FILE_NAME_NONDIRECTORY): Delete macro.
|
567 |
|
|
(file_name_nondirectory): New function, doing the same as the macro.
|
568 |
|
|
(set_typedecl_interface_info): Use it instead of the macro.
|
569 |
|
|
(check_newline): Likewise.
|
570 |
|
|
(handle_cp_pragma): Likewise.
|
571 |
|
|
|
572 |
|
|
* repo.c (get_base_filename): Cast result of rindex to char*.
|
573 |
|
|
(open_repo_file): Likewise.
|
574 |
|
|
* xref.c (open_xref_file): Likewise.
|
575 |
|
|
* error.c (dump_char): Make its arg int, not char.
|
576 |
|
|
|
577 |
|
|
* except.c (push_eh_info): Pass the number of fields - 1 down, not
|
578 |
|
|
the exact number of fields.
|
579 |
|
|
|
580 |
|
|
Fri Oct 31 01:47:57 1997 Jason Merrill
|
581 |
|
|
|
582 |
|
|
Support for nested exceptions.
|
583 |
|
|
* tinfo2.cc (__is_pointer): New fn.
|
584 |
|
|
* exception.cc (struct cp_eh_info): Define.
|
585 |
|
|
(__cp_exception_info, __uncatch_exception): New fns.
|
586 |
|
|
(__cp_push_exception, __cp_pop_exception): New fns.
|
587 |
|
|
* except.c: Lose saved_throw_{type,value,cleanup,in_catch}.
|
588 |
|
|
Lose empty_fndecl.
|
589 |
|
|
(init_exception_processing): Likewise. __eh_pc is now external.
|
590 |
|
|
(push_eh_info): New fn.
|
591 |
|
|
(get_eh_{info,value,type,caught}): New fns.
|
592 |
|
|
(push_eh_cleanup): Just call __cp_pop_exception.
|
593 |
|
|
(expand_start_catch_block): Use push_eh_info. Start the eh region
|
594 |
|
|
sooner.
|
595 |
|
|
(expand_end_eh_spec): Use push_eh_info.
|
596 |
|
|
(expand_throw): Call __cp_push_exception to set up the exception info.
|
597 |
|
|
Just pass the destructor or 0 as the cleanup. Call __uncatch_exception
|
598 |
|
|
when we rethrow.
|
599 |
|
|
(expand_builtin_throw): Don't refer to empty_fndecl.
|
600 |
|
|
|
601 |
|
|
Thu Oct 23 02:01:30 1997 Jason Merrill
|
602 |
|
|
|
603 |
|
|
* pt.c (instantiate_decl): SET_DECL_IMPLICIT_INSTANTIATION on new decl.
|
604 |
|
|
|
605 |
|
|
1997-10-22 Brendan Kehoe
|
606 |
|
|
|
607 |
|
|
* method.c (build_template_parm_names, build_decl_overload_real):
|
608 |
|
|
Add static to definitions.
|
609 |
|
|
* pt.c (add_to_template_args, note_template_header,
|
610 |
|
|
processing_explicit_specialization, type_unification_real): Likewise.
|
611 |
|
|
({determine,check}_explicit_specialization): Use a single string for
|
612 |
|
|
error messages.
|
613 |
|
|
|
614 |
|
|
Mon Oct 20 12:06:34 1997 Jason Merrill
|
615 |
|
|
|
616 |
|
|
* except.c (expand_exception_blocks): Call do_pending_stack_adjust.
|
617 |
|
|
(expand_end_catch_block): Likewise.
|
618 |
|
|
(expand_end_eh_spec): Likewise.
|
619 |
|
|
|
620 |
|
|
Mon Oct 20 11:44:20 1997 Mark Mitchell
|
621 |
|
|
|
622 |
|
|
* decl.c (duplicate_decls): Handle template specializations
|
623 |
|
|
correctly.
|
624 |
|
|
* error.c (dump_function_name): Fix printing of specializations of
|
625 |
|
|
member functions that are not member templates.
|
626 |
|
|
* cp-tree.h (processing_specialization): Make global.
|
627 |
|
|
* pt.c (processing_specialization): Likewise.
|
628 |
|
|
* lex.c (cons_up_default_function): Save and restore
|
629 |
|
|
processing_specialization to avoid confusion.
|
630 |
|
|
|
631 |
|
|
Mon Oct 20 10:52:22 1997 Jason Merrill
|
632 |
|
|
|
633 |
|
|
* decl.c (init_decl_processing): Give null_node unknown* type.
|
634 |
|
|
* typeck.c (comp_target_types): Handle UNKNOWN_TYPE.
|
635 |
|
|
(common_type): Likewise.
|
636 |
|
|
* error.c (args_as_string): Recognize null_node.
|
637 |
|
|
|
638 |
|
|
Sun Oct 19 09:13:01 1997 Richard Kenner
|
639 |
|
|
|
640 |
|
|
* typeck.c (rationalize_conditional_expr): Handle {MIN,MAX}_EXPR.
|
641 |
|
|
(unary_complex_lvalue): Call it for {MIN,MAX}_EXPR.
|
642 |
|
|
|
643 |
|
|
* decl.c (init_decl_processing): Call using_eh_for_cleanups.
|
644 |
|
|
|
645 |
|
|
* Make-lang.in (g++): Include prefix.o.
|
646 |
|
|
|
647 |
|
|
Thu Oct 16 15:31:09 1997 Judy Goldberg
|
648 |
|
|
|
649 |
|
|
* pt.c (determine_explicit_specialization): Initialize "dummy"
|
650 |
|
|
to keep Purify quiet.
|
651 |
|
|
|
652 |
|
|
Thu Oct 16 00:14:48 1997 Jason Merrill
|
653 |
|
|
|
654 |
|
|
* method.c (build_overload_value): Handle TEMPLATE_CONST_PARMs here.
|
655 |
|
|
(build_overload_int): Not here.
|
656 |
|
|
|
657 |
|
|
Wed Oct 15 00:35:28 1997 Mike Stump
|
658 |
|
|
|
659 |
|
|
* class.c (build_type_pathname): Remove.
|
660 |
|
|
(prepare_fresh_vtable): Fix problem with complex MI vtable names.
|
661 |
|
|
|
662 |
|
|
1997-10-14 Brendan Kehoe
|
663 |
|
|
|
664 |
|
|
* parse.y (unary_expr): Give a pedwarn if someone tries to use the
|
665 |
|
|
&&label GNU extension.
|
666 |
|
|
|
667 |
|
|
Tue Oct 14 12:01:00 1997 Mark Mitchell
|
668 |
|
|
|
669 |
|
|
* decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it,
|
670 |
|
|
so as to avoid incorrect manglings.
|
671 |
|
|
* method.c (build_decl_overload_real): Don't mangle return types
|
672 |
|
|
for constructors.
|
673 |
|
|
|
674 |
|
|
Tue Oct 14 11:46:14 1997 Jason Merrill
|
675 |
|
|
|
676 |
|
|
* cp-tree.h (scratchalloc, build_scratch_list, make_scratch_vec,
|
677 |
|
|
scratch_tree_cons): Define as macros for now.
|
678 |
|
|
* call.c, class.c, cvt.c, decl.c, decl2.c, except.c, expr.c, init.c,
|
679 |
|
|
lex.c, method.c, parse.y, pt.c, rtti.c, search.c, tree.c, typeck.c,
|
680 |
|
|
typeck2.c: Use them and the expression_obstack variants.
|
681 |
|
|
|
682 |
|
|
Mon Oct 13 17:41:26 1997 Benjamin Kosnik
|
683 |
|
|
|
684 |
|
|
* decl.c (store_return_init): Allow classes with explicit ctors to
|
685 |
|
|
be used with the named return values extension.
|
686 |
|
|
|
687 |
|
|
Fri Oct 10 12:21:11 1997 Jason Merrill
|
688 |
|
|
|
689 |
|
|
* pt.c (instantiate_decl): Fix previous change.
|
690 |
|
|
|
691 |
|
|
Thu Oct 9 12:08:21 1997 Jason Merrill
|
692 |
|
|
|
693 |
|
|
* pt.c (tsubst): Fix thinko.
|
694 |
|
|
(instantiate_decl): Really use the original template.
|
695 |
|
|
|
696 |
|
|
* call.c (build_new_method_call): Use simple constructor_name for
|
697 |
|
|
error messages.
|
698 |
|
|
|
699 |
|
|
Wed Oct 8 22:44:42 1997 Jeffrey A Law
|
700 |
|
|
|
701 |
|
|
* method.c (build_underscore_int): Don't use ANSI specific
|
702 |
|
|
features.
|
703 |
|
|
|
704 |
|
|
Wed Oct 8 00:18:22 1997 Jason Merrill
|
705 |
|
|
|
706 |
|
|
* decl2.c (finish_prevtable_vardecl): Check DECL_REALLY_EXTERN
|
707 |
|
|
for our key method; it might have been inlined by -O3.
|
708 |
|
|
|
709 |
|
|
Tue Oct 7 23:00:12 1997 Mark Mitchell
|
710 |
|
|
|
711 |
|
|
* decl.c (make_typename_type): Do not try to call lookup_field for
|
712 |
|
|
non-aggregate types.
|
713 |
|
|
|
714 |
|
|
Tue Oct 7 22:52:10 1997 Jason Merrill
|
715 |
|
|
|
716 |
|
|
* typeck.c (build_reinterpret_cast): Tweak.
|
717 |
|
|
|
718 |
|
|
Tue Oct 7 22:45:31 1997 Alexandre Oliva
|
719 |
|
|
|
720 |
|
|
* typeck.c (build_reinterpret_cast): Converting a void pointer
|
721 |
|
|
to function pointer with a reinterpret_cast produces a warning
|
722 |
|
|
if -pedantic is issued.
|
723 |
|
|
|
724 |
|
|
Tue Oct 7 22:43:43 1997 Bruno Haible
|
725 |
|
|
|
726 |
|
|
* typeck.c (c_expand_return): Don't warn about returning a
|
727 |
|
|
reference-type variable as a reference.
|
728 |
|
|
|
729 |
|
|
Tue Oct 7 21:11:22 1997 Jason Merrill
|
730 |
|
|
|
731 |
|
|
* method.c (build_static_name): Fix typo.
|
732 |
|
|
|
733 |
|
|
1997-10-07 Brendan Kehoe
|
734 |
|
|
|
735 |
|
|
* decl.c (duplicate_decls): Make sure DECL_LANG_SPECIFIC is set on
|
736 |
|
|
OLDDECL before we try to do DECL_USE_TEMPLATE.
|
737 |
|
|
|
738 |
|
|
Tue Oct 7 00:48:36 1997 Jason Merrill
|
739 |
|
|
|
740 |
|
|
* decl.c (duplicate_decls): Don't warn about template instances.
|
741 |
|
|
|
742 |
|
|
* typeck.c (mark_addressable): Lose ancient code that unsets
|
743 |
|
|
DECL_EXTERNAL.
|
744 |
|
|
|
745 |
|
|
* pt.c (do_decl_instantiation): Lose support for instantiating
|
746 |
|
|
non-templates.
|
747 |
|
|
|
748 |
|
|
* call.c (build_new_function_call): Fix handling of null explicit
|
749 |
|
|
template args.
|
750 |
|
|
(build_new_method_call): Likewise.
|
751 |
|
|
|
752 |
|
|
Mon Oct 6 23:44:34 1997 Mark Mitchell
|
753 |
|
|
|
754 |
|
|
* method.c (build_underscore_int): Fix typo.
|
755 |
|
|
|
756 |
|
|
1997-10-06 Brendan Kehoe
|
757 |
|
|
|
758 |
|
|
* tree.c (print_lang_statistics): #if 0 call to
|
759 |
|
|
print_inline_obstack_statistics until its definition is checked in.
|
760 |
|
|
|
761 |
|
|
Mon Oct 6 09:27:29 1997 Jason Merrill
|
762 |
|
|
|
763 |
|
|
* decl2.c (finish_file): Move dump_tree_statistics to end.
|
764 |
|
|
|
765 |
|
|
* pt.c (instantiate_decl): Look for the original template.
|
766 |
|
|
(tsubst): Set DECL_IMPLICIT_INSTANTIATION on partial instantiations
|
767 |
|
|
of member templates.
|
768 |
|
|
|
769 |
|
|
Wed Oct 1 08:41:38 1997 Jason Merrill
|
770 |
|
|
|
771 |
|
|
* Makefile.in (g++FAQ.*): New rules.
|
772 |
|
|
(CONFLICTS): Update.
|
773 |
|
|
* g++FAQ.texi: Moved from libg++.
|
774 |
|
|
|
775 |
|
|
* parse.y (PFUNCNAME): Only specify the type once.
|
776 |
|
|
|
777 |
|
|
1997-10-01 Brendan Kehoe
|
778 |
|
|
|
779 |
|
|
* lex.c (real_yylex): Clean up the code to fully behave the way
|
780 |
|
|
the c-lex.c parser does for complex and real numbers.
|
781 |
|
|
|
782 |
|
|
Tue Sep 30 08:51:36 1997 Jason Merrill
|
783 |
|
|
|
784 |
|
|
* method.c (build_decl_overload_real): Reformat.
|
785 |
|
|
|
786 |
|
|
Tue Sep 30 00:18:26 1997 Jason Merrill
|
787 |
|
|
|
788 |
|
|
* method.c (synthesize_method): If at_eof, determine our linkage.
|
789 |
|
|
|
790 |
|
|
1997-09-29 Paul Eggert
|
791 |
|
|
|
792 |
|
|
* lex.c (real_yylex): Treat `$' just like `_', except issue a
|
793 |
|
|
diagnostic if !dollars_in_ident or if pedantic.
|
794 |
|
|
|
795 |
|
|
* lang-specs.h (@c++): -ansi no longer implies -$.
|
796 |
|
|
|
797 |
|
|
* decl2.c (lang_decode_option):
|
798 |
|
|
-traditional and -ansi now do not mess with
|
799 |
|
|
dollars_in_ident.
|
800 |
|
|
|
801 |
|
|
Mon Sep 29 19:57:51 1997 H.J. Lu
|
802 |
|
|
|
803 |
|
|
* Makefile.in (parse.o, decl.o): Also depend on
|
804 |
|
|
$(srcdir)/../except.h $(srcdir)/../output.h.
|
805 |
|
|
(decl2.o): Also depend on $(srcdir)/../expr.h ../insn-codes.h
|
806 |
|
|
$(srcdir)/../except.h $(srcdir)/../output.h.
|
807 |
|
|
(typeck.o, init.o): Also depend on $(srcdir)/../expr.h
|
808 |
|
|
../insn-codes.h.
|
809 |
|
|
|
810 |
|
|
* call.c, cp-tree.h, decl.c, tree.c: Finish prototyping.
|
811 |
|
|
|
812 |
|
|
* expr.c (cplus_expand_expr): Make it static.
|
813 |
|
|
|
814 |
|
|
* decl2.c, init.c, typeck.c: Include "expr.h".
|
815 |
|
|
(expand_expr): Use proper values when calling the function.
|
816 |
|
|
|
817 |
|
|
Mon Sep 29 11:05:54 1997 Alexandre Oliva
|
818 |
|
|
|
819 |
|
|
* lang-options.h: New -Wold-style-cast flag.
|
820 |
|
|
* cp-tree.h (warn_old_style_cast): New variable.
|
821 |
|
|
* decl2.c (warn_old_style_cast): Likewise.
|
822 |
|
|
(lang_decode_option): Support -Wold-style-cast.
|
823 |
|
|
(reparse_absdcl_as_casts): Produce old-style-cast warning.
|
824 |
|
|
|
825 |
|
|
Mon Sep 29 09:20:53 1997 Benjamin Kosnik
|
826 |
|
|
|
827 |
|
|
* decl.c (cp_finish_decl): Allow expand_aggr_init to set
|
828 |
|
|
TREE_USED, reset value based on already_used.
|
829 |
|
|
|
830 |
|
|
* init.c (expand_member_init): Revert change.
|
831 |
|
|
|
832 |
|
|
Mon Sep 29 08:57:53 1997 Jason Merrill
|
833 |
|
|
|
834 |
|
|
* cp-tree.h, decl.c, decl2.c, pt.c:
|
835 |
|
|
Lose DECL_C_STATIC and DECL_PUBLIC. Don't pretend statics are public.
|
836 |
|
|
|
837 |
|
|
* decl2.c (lang_decode_option): Add missing ;.
|
838 |
|
|
|
839 |
|
|
Sat Sep 27 16:22:48 1997 Jason Merrill
|
840 |
|
|
|
841 |
|
|
* friend.c (do_friend): Disable injection for all template-derived
|
842 |
|
|
decls.
|
843 |
|
|
* decl2.c (lang_decode_option): Handle -fguiding-decls.
|
844 |
|
|
* parse.y (notype_template_declarator): New nonterminal.
|
845 |
|
|
(direct_notype_declarator): Use it.
|
846 |
|
|
(complex_direct_notype_declarator): Likewise.
|
847 |
|
|
(object_template_id): Accept any kind of identifier after TEMPLATE.
|
848 |
|
|
(notype_qualified_id): Don't add template declarators here.
|
849 |
|
|
|
850 |
|
|
Sat Sep 27 16:21:58 1997 Mark Mitchell
|
851 |
|
|
|
852 |
|
|
* call.c (add_template_candidate): Add explicit_targs parameter.
|
853 |
|
|
(build_scoped_method_call): Use it.
|
854 |
|
|
(build_overload_call_real): Likewise.
|
855 |
|
|
(build_user_type_conversion_1): Likewise.
|
856 |
|
|
(build_new_function_call): Likewise.
|
857 |
|
|
(build_object_call): Likewise.
|
858 |
|
|
(build_new_op): Likewise.
|
859 |
|
|
(build_new_method_call): Likewise.
|
860 |
|
|
(build_new_function_call): Handle TEMPLATE_ID_EXPR.
|
861 |
|
|
(build_new_method_call): Likewise.
|
862 |
|
|
|
863 |
|
|
* class.c (finish_struct_methods): Add specialization pass to
|
864 |
|
|
determine which methods were specializing which other methods.
|
865 |
|
|
(instantiate_type): Handle TEMPLATE_ID_EXPR.
|
866 |
|
|
|
867 |
|
|
* cp-tree.def (TEMPLATE_ID_EXPR): New tree code.
|
868 |
|
|
|
869 |
|
|
* cp-tree.h (name_mangling_version): New variable.
|
870 |
|
|
(flag_guiding_decls): Likewise.
|
871 |
|
|
(build_template_decl_overload): New function.
|
872 |
|
|
(begin_specialization): Likewise.
|
873 |
|
|
(reset_specialization): Likewise.
|
874 |
|
|
(end_specialization): Likewise.
|
875 |
|
|
(determine_explicit_specialization): Likewise.
|
876 |
|
|
(check_explicit_specialization): Likewise.
|
877 |
|
|
(lookup_template_function): Likewise.
|
878 |
|
|
(fn_type_unification): Add explicit_targs parameter.
|
879 |
|
|
(type_unification): Likewise.
|
880 |
|
|
|
881 |
|
|
* decl.c (duplicate_decls): Add smarts for explicit
|
882 |
|
|
specializations.
|
883 |
|
|
(grokdeclarator): Handle TEMPLATE_ID_EXPR, and function
|
884 |
|
|
specializations.
|
885 |
|
|
(grokfndecl): Call check_explicit_specialization.
|
886 |
|
|
|
887 |
|
|
* decl2.c (lang_decode_option): Handle -fname-mangling-version.
|
888 |
|
|
(build_expr_from_tree): Handle TEMPLATE_ID_EXPR.
|
889 |
|
|
(check_classfn): Handle specializations.
|
890 |
|
|
|
891 |
|
|
* error.c (dump_function_name): Print specialization arguments.
|
892 |
|
|
|
893 |
|
|
* friend.c (do_friend): Don't call pushdecl for template
|
894 |
|
|
instantiations.
|
895 |
|
|
|
896 |
|
|
* init.c (build_member_call): Handle TEMPLATE_ID_EXPR.
|
897 |
|
|
|
898 |
|
|
* lang-options.h: Add -fname-mangling-version, -fguiding-decls,
|
899 |
|
|
and -fno-guiding-decls.
|
900 |
|
|
|
901 |
|
|
* lex.c (identifier_type): Return PFUNCNAME for template function
|
902 |
|
|
names.
|
903 |
|
|
|
904 |
|
|
* method.c (build_decl_overload_real): New function.
|
905 |
|
|
(build_template_parm_names): New function.
|
906 |
|
|
(build_overload_identifier): Use it.
|
907 |
|
|
(build_underscore_int): New function.
|
908 |
|
|
(build_overload_int): Use it. Add levels for template
|
909 |
|
|
parameters.
|
910 |
|
|
(build_overload_name): Likewise. Also, handle TYPENAME_TYPEs.
|
911 |
|
|
(build_overload_nested_names): Handle template type parameters.
|
912 |
|
|
(build_template_decl_overload): New function.
|
913 |
|
|
|
914 |
|
|
* parse.y (YYSTYPE): New ntype member.
|
915 |
|
|
(nested_name_specifier): Use it.
|
916 |
|
|
(nested_name_specifier_1): Likewise.
|
917 |
|
|
(PFUNCNAME): New token.
|
918 |
|
|
(template_id, object_template_id): New non-terminals.
|
919 |
|
|
(template_parm_list): Note specializations.
|
920 |
|
|
(template_def): Likewise.
|
921 |
|
|
(structsp): Likewise.
|
922 |
|
|
(fn.def2): Handle member template specializations.
|
923 |
|
|
(component_decl_1): Likewise.
|
924 |
|
|
(direct_notype_declarator): Handle template-ids.
|
925 |
|
|
(component_decl_1): Likewise.
|
926 |
|
|
(direct_notype_declarator): Handle template-ids.
|
927 |
|
|
(primary): Handle TEMPLATE_ID_EXPR, and template-ids.
|
928 |
|
|
|
929 |
|
|
* pt.c (processing_specializations): New variable.
|
930 |
|
|
(template_header_count): Likewise.
|
931 |
|
|
(type_unification_real): New function.
|
932 |
|
|
(processing_explicit_specialization): Likewise.
|
933 |
|
|
(note_template_header): Likewise.
|
934 |
|
|
(is_member_template): Handle specializations.
|
935 |
|
|
(end_template_decl): Call reset_specialization.
|
936 |
|
|
(push_template_decl): Handle member template specializations.
|
937 |
|
|
(tsubst): Likewise.
|
938 |
|
|
(tsubst_copy): Handle TEMPLATE_ID_EXPR.
|
939 |
|
|
(instantiate_template): Handle specializations.
|
940 |
|
|
(instantiate_decl): Likewise.
|
941 |
|
|
(fn_type_unification): Handle explicit_targs.
|
942 |
|
|
(type_unification): Likewise. Allow incomplete unification
|
943 |
|
|
without an error message, if allow_incomplete.
|
944 |
|
|
(get_bindings): Use new calling sequence for fn_type_unification.
|
945 |
|
|
|
946 |
|
|
* spew.c (yylex): Handle PFUNCNAME.
|
947 |
|
|
|
948 |
|
|
* tree.c (is_overloaded_fn): Handle TEMPLATE_ID_EXPR.
|
949 |
|
|
(really_overloaded_fn): Likewise.
|
950 |
|
|
(get_first_fn): Handle function templates.
|
951 |
|
|
|
952 |
|
|
* typeck.c (build_x_function_call): Use really_overloaded_fn.
|
953 |
|
|
Handle TEMPLATE_ID_EXPR.
|
954 |
|
|
(build_x_unary_op): Likewise.
|
955 |
|
|
(build_unary_op): Likewise.
|
956 |
|
|
(mark_addressable): Templates whose address is taken are marked
|
957 |
|
|
as used.
|
958 |
|
|
|
959 |
|
|
1997-09-25 Andreas Schwab
|
960 |
|
|
|
961 |
|
|
* decl.c (init_decl_processing): Declare __builtin_constant_p as
|
962 |
|
|
accepting any kind of type, not only int.
|
963 |
|
|
|
964 |
|
|
Fri Sep 26 00:22:56 1997 Jason Merrill
|
965 |
|
|
|
966 |
|
|
* search.c (get_matching_virtual): Notice virtual bases when sorrying
|
967 |
|
|
about covariant returns.
|
968 |
|
|
|
969 |
|
|
* parse.y (member_init): Also imply typename here. Remove ancient
|
970 |
|
|
extension for initializing base members.
|
971 |
|
|
|
972 |
|
|
Thu Sep 25 11:11:13 1997 Jason Merrill
|
973 |
|
|
|
974 |
|
|
Handle multi-level typenames and implicit typename in base list.
|
975 |
|
|
* parse.y (typename_sub{,[0-2]}): New rules.
|
976 |
|
|
(structsp, rule TYPENAME_KEYWORD): Use typename_sub.
|
977 |
|
|
(nonnested_type): New rule.
|
978 |
|
|
(complete_type_name): Use it.
|
979 |
|
|
(base_class.1): Use typename_sub and nonnested_type.
|
980 |
|
|
(nested_name_specifier): Don't elide std:: here.
|
981 |
|
|
* decl.c (make_typename_type): Handle getting a type for NAME.
|
982 |
|
|
(lookup_name_real): Turn std:: into :: here.
|
983 |
|
|
|
984 |
|
|
Rvalue conversions were removed in London.
|
985 |
|
|
* call.c (is_subseq): Don't consider lvalue transformations.
|
986 |
|
|
(build_conv): LVALUE_CONV and RVALUE_CONV get IDENTITY_RANK.
|
987 |
|
|
(joust): Re-enable ?: kludge.
|
988 |
|
|
|
989 |
|
|
1997-09-22 Brendan Kehoe
|
990 |
|
|
|
991 |
|
|
* decl.c (start_function): Up warning of no return type to be a
|
992 |
|
|
pedwarn.
|
993 |
|
|
|
994 |
|
|
Mon Sep 22 14:15:34 1997 Benjamin Kosnik
|
995 |
|
|
|
996 |
|
|
* init.c (expand_member_init): Don't set TREE_USED.
|
997 |
|
|
* decl.c (cp_finish_decl): Mark decls used if type has TREE_USED
|
998 |
|
|
set,don't clear TREE_USED wholesale.
|
999 |
|
|
|
1000 |
|
|
Sat Sep 20 15:31:00 1997 Jason Merrill
|
1001 |
|
|
|
1002 |
|
|
* call.c (build_over_call): Do require_complete_type before
|
1003 |
|
|
build_cplus_new.
|
1004 |
|
|
|
1005 |
|
|
Thu Sep 18 16:47:52 1997 Jason Merrill
|
1006 |
|
|
|
1007 |
|
|
* search.c (lookup_field): Call complete_type in all cases.
|
1008 |
|
|
|
1009 |
|
|
* decl.c (finish_function): Just warn about flowing off the end.
|
1010 |
|
|
|
1011 |
|
|
Wed Sep 17 10:31:25 1997 Jason Merrill
|
1012 |
|
|
|
1013 |
|
|
* decl.c (grokparms): Don't bash a permanent list node if we're
|
1014 |
|
|
in a function.
|
1015 |
|
|
|
1016 |
|
|
1997-09-17 Brendan Kehoe
|
1017 |
|
|
|
1018 |
|
|
* Makefile.in (CONFLICTS): Fix s/r conflict count to 18.
|
1019 |
|
|
|
1020 |
|
|
Tue Sep 16 14:06:56 1997 Jason Merrill
|
1021 |
|
|
|
1022 |
|
|
* call.c (build_new_op): Give better error for syntactically
|
1023 |
|
|
correct, but semantically invalid, use of undeclared template.
|
1024 |
|
|
|
1025 |
|
|
* call.c (compare_qual): Handle pmfs.
|
1026 |
|
|
|
1027 |
|
|
* decl.c (store_parm_decls): last_parm_cleanup_insn is the insn
|
1028 |
|
|
after the exception spec.
|
1029 |
|
|
|
1030 |
|
|
Mon Sep 15 11:52:13 1997 Jason Merrill
|
1031 |
|
|
|
1032 |
|
|
* call.c (null_ptr_cst_p): Integer type, not integral type.
|
1033 |
|
|
|
1034 |
|
|
* call.c (joust): Disable warnings until they can be moved to the
|
1035 |
|
|
right place.
|
1036 |
|
|
|
1037 |
|
|
Fri Sep 12 16:11:13 1997 Per Bothner
|
1038 |
|
|
|
1039 |
|
|
* Makefile.in, config-lang.in: Convert to autoconf.
|
1040 |
|
|
|
1041 |
|
|
Thu Sep 11 17:14:55 1997 Jason Merrill
|
1042 |
|
|
|
1043 |
|
|
* decl.c (lookup_name_real): Add implicit 'typename' to types from
|
1044 |
|
|
base classes.
|
1045 |
|
|
|
1046 |
|
|
* pt.c (most_specialized_class): Fix typo.
|
1047 |
|
|
(tsubst): Move constant folding to TREE_VEC case.
|
1048 |
|
|
|
1049 |
|
|
Thu Sep 11 10:08:45 1997 Mark Mitchell
|
1050 |
|
|
|
1051 |
|
|
* pt.c (do_poplevel): Don't warn about unused local variables
|
1052 |
|
|
while processing_template_decl since we don't always know whether
|
1053 |
|
|
or not they will need constructing/destructing.
|
1054 |
|
|
|
1055 |
|
|
* pt.c (uses_template_parms): Check the values of an enumeration
|
1056 |
|
|
type to make sure they don't depend on template parms.
|
1057 |
|
|
|
1058 |
|
|
* decl.c (make_typename_type): Don't lookup the field if the
|
1059 |
|
|
context uses template parms, even if we're not
|
1060 |
|
|
processing_template_decl at the moment.
|
1061 |
|
|
|
1062 |
|
|
* pt.c (coerce_template_parms): Avoid looking at the
|
1063 |
|
|
TYPE_LANG_DECL portion of a typename type, since there won't be
|
1064 |
|
|
one.
|
1065 |
|
|
(tsubst): Do constant folding as necessary to make sure that
|
1066 |
|
|
arguments passed to lookup_template_class really are constants.
|
1067 |
|
|
|
1068 |
|
|
Wed Sep 10 16:39:26 1997 Jim Wilson
|
1069 |
|
|
|
1070 |
|
|
* Make-lang.in (LN, LN_S): New macros, use where appropriate.
|
1071 |
|
|
|
1072 |
|
|
Wed Sep 10 11:21:55 1997 Jason Merrill
|
1073 |
|
|
|
1074 |
|
|
* except.c (expand_builtin_throw): #ifndef DWARF2_UNWIND_INFO.
|
1075 |
|
|
* decl2.c (finish_file): Only register exception tables if we
|
1076 |
|
|
need to.
|
1077 |
|
|
|
1078 |
|
|
* decl.c (init_decl_processing): Add __builtin_[fs]p.
|
1079 |
|
|
|
1080 |
|
|
Tue Sep 9 19:49:38 1997 Jason Merrill
|
1081 |
|
|
|
1082 |
|
|
* pt.c (unify): Just return 0 for a TYPENAME_TYPE.
|
1083 |
|
|
|
1084 |
|
|
Tue Sep 9 17:57:25 1997 Mark Mitchell
|
1085 |
|
|
|
1086 |
|
|
* error.c (dump_decl): Avoid crashing when presented with a
|
1087 |
|
|
uninitialized constant, as can occur with a template parameter.
|
1088 |
|
|
(dump_expr): Make sure that there are enough levels of
|
1089 |
|
|
current_template_parms before we start diving through them.
|
1090 |
|
|
|
1091 |
|
|
1997-09-09 Brendan Kehoe
|
1092 |
|
|
|
1093 |
|
|
* typeck.c (build_indirect_ref): Heed FLAG_VOLATILE similar to
|
1094 |
|
|
c-typeck.c.
|
1095 |
|
|
|
1096 |
|
|
Tue Sep 9 09:36:39 1997 Benjamin Kosnik
|
1097 |
|
|
|
1098 |
|
|
* except.c (expand_throw): Call build_delete for all
|
1099 |
|
|
exception types, not just objects with destructors.
|
1100 |
|
|
|
1101 |
|
|
Mon Sep 8 02:33:20 1997 Jody Goldberg
|
1102 |
|
|
|
1103 |
|
|
* decl.c (current_local_enum): Remove static.
|
1104 |
|
|
* pt.c (tsubst_enum): Save and restore value of current_local_enum
|
1105 |
|
|
in case template is expanded in enum decl.
|
1106 |
|
|
(instantiate_class_template): Use new tsubst_enum signature.
|
1107 |
|
|
(tsubst_expr): Likewise.
|
1108 |
|
|
|
1109 |
|
|
Mon Sep 8 01:21:43 1997 Mark Mitchell
|
1110 |
|
|
|
1111 |
|
|
* pt.c (begin_member_template_processing): Take a function as
|
1112 |
|
|
argument, not a set of template arguments. Use the template
|
1113 |
|
|
parameters, rather than the arguments. Handle non-type parameters
|
1114 |
|
|
correctly. Push a binding level for the parameters so that multiple
|
1115 |
|
|
member templates using the same parameter names can be declared.
|
1116 |
|
|
(end_member_template_processing): Pop the binding level.
|
1117 |
|
|
(push_template_decl): Mark member templates as static when
|
1118 |
|
|
appropriate.
|
1119 |
|
|
|
1120 |
|
|
* lex.c (do_pending_inlines): Pass the function, not its template
|
1121 |
|
|
arguments, to begin_member_template_processing.
|
1122 |
|
|
(process_next_inline): Likewise.
|
1123 |
|
|
(do_pending_defargs): Likewise.
|
1124 |
|
|
|
1125 |
|
|
* error.c (dump_expr): Obtain the correct declaration for a
|
1126 |
|
|
TEMPLATE_CONST_PARM.
|
1127 |
|
|
|
1128 |
|
|
* call.c (add_template_conv_candidate): New function.
|
1129 |
|
|
(build_object_call): Handle member templates, as done in the other
|
1130 |
|
|
build_ functions.
|
1131 |
|
|
|
1132 |
|
|
Sat Sep 6 10:20:27 1997 Mark Mitchell
|
1133 |
|
|
|
1134 |
|
|
* decl.c (replace_defag): Undo previous change.
|
1135 |
|
|
* lex.c (do_pending_defargs): Deal with member templates.
|
1136 |
|
|
|
1137 |
|
|
* pt.c (is_member_template): Avoid crashing when passed a
|
1138 |
|
|
non-function argument.
|
1139 |
|
|
|
1140 |
|
|
Fri Sep 5 17:27:38 1997 Jason Merrill
|
1141 |
|
|
|
1142 |
|
|
* class.c (grow_method): Remove check for redeclaration.
|
1143 |
|
|
|
1144 |
|
|
Fri Sep 5 01:37:17 1997 Mark Mitchell
|
1145 |
|
|
|
1146 |
|
|
* cp-tree.h (INNERMOST_TEMPLATE_PARMS): New macro.
|
1147 |
|
|
(DECL_INNERMOST_TEMPLATE_PARMS): Likewise.
|
1148 |
|
|
(PRIMARY_TEMPLATE_P): Use it.
|
1149 |
|
|
* call.c (build_overload_call_real): Use it.
|
1150 |
|
|
* class.c (instantiate_type): Likewise.
|
1151 |
|
|
* decl.c (decls_match): Likewise.
|
1152 |
|
|
* method.c (build_overload_identifier): Likewise.
|
1153 |
|
|
* pt.c (push_template_decl): Likewise.
|
1154 |
|
|
(classtype_mangled_name): Likewise.
|
1155 |
|
|
(lookup_template_class): Likewise.
|
1156 |
|
|
|
1157 |
|
|
* cp-tree.h (DECL_NTPARMS): Change name from DECL_NT_PARMS to
|
1158 |
|
|
DECL_NTPARMS to conform to usage elsewhere.
|
1159 |
|
|
* call.c (add_template_candidate): Likewise.
|
1160 |
|
|
* class.c (instantiate_type): Likewise.
|
1161 |
|
|
* pt.c (instantiate_template): Likewise.
|
1162 |
|
|
(get_bindings): Likewise.
|
1163 |
|
|
|
1164 |
|
|
* class.c (grow_method): Use DECL_FUNCTION_TEMPLATE_P instead of
|
1165 |
|
|
is_member_template.
|
1166 |
|
|
|
1167 |
|
|
* pt.c (unify): Undo changes to allow multiple levels of template
|
1168 |
|
|
parameters.
|
1169 |
|
|
(type_unification): Likewise.
|
1170 |
|
|
(fn_type_unification): Likewise.
|
1171 |
|
|
(get_class_bindings): Likewise.
|
1172 |
|
|
* cp-tree.h (Likewise).
|
1173 |
|
|
|
1174 |
|
|
* decl.c (replace_defarg): Check that the type of the default
|
1175 |
|
|
parameter does not invlove a template type before complaining
|
1176 |
|
|
about the initialization.
|
1177 |
|
|
|
1178 |
|
|
* error.c (dump_expr): Deal with template constant parameters in
|
1179 |
|
|
member templates correctly.
|
1180 |
|
|
|
1181 |
|
|
* pt.c (is_member_template): Deal with class specializations
|
1182 |
|
|
correctly.
|
1183 |
|
|
(tsubst): Handle "partial instantiation" of member templates
|
1184 |
|
|
correctly.
|
1185 |
|
|
|
1186 |
|
|
Wed Sep 3 12:30:24 1997 Mark Mitchell
|
1187 |
|
|
|
1188 |
|
|
* pt.c (type_unification): Change calling sequence to allow for
|
1189 |
|
|
multiple levels of template parameters.
|
1190 |
|
|
(tsubst_expr): Likewise.
|
1191 |
|
|
(tsubst): Likewise.
|
1192 |
|
|
(tsubst_copy): Likewise.
|
1193 |
|
|
(instantiate_template): Likewise.
|
1194 |
|
|
(unify): Likewise.
|
1195 |
|
|
* call.c (build_overload_call_real): Use it.
|
1196 |
|
|
(add_builtin_candidate): Use it.
|
1197 |
|
|
(build_new_method_call): Use it.
|
1198 |
|
|
* class.c (instantiate_type): Use it.
|
1199 |
|
|
* decl.c (grokdeclarator): Use it.
|
1200 |
|
|
* decl2.c (finish_file): Use it.
|
1201 |
|
|
* method.c (build_overload_identifier): Use it.
|
1202 |
|
|
|
1203 |
|
|
* call.c (add_template_candidate): Add additional parameter for
|
1204 |
|
|
the function return type. Call fn_type_unification istead of
|
1205 |
|
|
type_unification.
|
1206 |
|
|
(build_user_type_conversion_1): Handle member templates.
|
1207 |
|
|
(build_new_function_call): Likewise.
|
1208 |
|
|
(build_new_op): Likewise.
|
1209 |
|
|
(build_new_method_call): Likewise.
|
1210 |
|
|
|
1211 |
|
|
* class.c (grow_method): Don't give an error message indicating
|
1212 |
|
|
that two member templates with the same name are ambiguous.
|
1213 |
|
|
(finish_struct): Treat member template functions just like member
|
1214 |
|
|
functions.
|
1215 |
|
|
|
1216 |
|
|
* cp-tree.h (check_member_template): Add declaration.
|
1217 |
|
|
(begin_member_template_processing): Likewise.
|
1218 |
|
|
(end_member_template_processing): Likewise.
|
1219 |
|
|
(fn_type_unification): Likewise.
|
1220 |
|
|
(is_member_template): Likewise.
|
1221 |
|
|
(tsubst): Change prototype.
|
1222 |
|
|
(tsubst_expr): Likewise.
|
1223 |
|
|
(tsubst_copy): Likewise.
|
1224 |
|
|
(instantiate_template): Likewise.
|
1225 |
|
|
(get_bindings): Likewise.
|
1226 |
|
|
|
1227 |
|
|
* decl.c (decls_match): Handle multiple levels of template
|
1228 |
|
|
parameters.
|
1229 |
|
|
(pushdecl): Handle template type params just like other type
|
1230 |
|
|
declarations.
|
1231 |
|
|
(push_class_level_binding): Return immediately if the
|
1232 |
|
|
class_binding_level is NULL.
|
1233 |
|
|
(grokfndecl): If check_classfn() returns a member_template, use
|
1234 |
|
|
the result of the template, not the template itself.
|
1235 |
|
|
|
1236 |
|
|
* decl2.c (check_member_template): New function. Check to see
|
1237 |
|
|
that the entity declared to be a member template can be one.
|
1238 |
|
|
(check_classfn): Allow redeclaration of member template functions
|
1239 |
|
|
with different types; the new functions can be specializations or
|
1240 |
|
|
explicit instantiations.
|
1241 |
|
|
|
1242 |
|
|
* error.c (dump_decl): Handle multiple levels of template
|
1243 |
|
|
parameters.
|
1244 |
|
|
(dump_function_decl): Update to handle function templates.
|
1245 |
|
|
|
1246 |
|
|
* lex.c (do_pending_inlines): Set up template parameter context
|
1247 |
|
|
for member templates.
|
1248 |
|
|
(process_next_inline): Likewise.
|
1249 |
|
|
|
1250 |
|
|
* method.c (build_overload_identifier): Adjust for multiple levels
|
1251 |
|
|
of template parameters.
|
1252 |
|
|
|
1253 |
|
|
* parse.y (fn.def2): Add member templates.
|
1254 |
|
|
(component_decl_1): Likewise.
|
1255 |
|
|
|
1256 |
|
|
* pt.c (begin_member_template_processing): New function.
|
1257 |
|
|
(end_member_template_processing): Likewise.
|
1258 |
|
|
(is_member_template): Likewise.
|
1259 |
|
|
(fn_type_unification): Likewise.
|
1260 |
|
|
(current_template_parms): Return a vector of all the template
|
1261 |
|
|
parms, not just the innermost level of parms.
|
1262 |
|
|
(push_template_decl): Deal with the possibility of member
|
1263 |
|
|
templates.
|
1264 |
|
|
(lookup_template_class): Likewise.
|
1265 |
|
|
(uses_template_parms): Likewise.
|
1266 |
|
|
(tsubst): Modify processing to TEMPLATE_TYPE_PARM and
|
1267 |
|
|
TEMPLATE_CONST_PARM to deal with multiple levels of template
|
1268 |
|
|
arguments. Add processing of TEMPLATE_DECL to produce new
|
1269 |
|
|
TEMPLATE_DECLs from old ones.
|
1270 |
|
|
(do_decl_instantiation): Handle member templates.
|
1271 |
|
|
|
1272 |
|
|
* search.c (lookup_fnfields_1): Handle member template conversion
|
1273 |
|
|
operators.
|
1274 |
|
|
|
1275 |
|
|
* tree.c (cp_tree_equal): Check the levels, as well as the
|
1276 |
|
|
indices, of TEMPLATE_CONST_PARMs.
|
1277 |
|
|
|
1278 |
|
|
* typeck.c (comptypes): Check the levels, as well as the indices,
|
1279 |
|
|
fo TEMPLATE_TYPE_PARMs.
|
1280 |
|
|
(build_x_function_call): Treat member templates like member
|
1281 |
|
|
functions.
|
1282 |
|
|
|
1283 |
|
|
Wed Sep 3 11:09:25 1997 Jason Merrill
|
1284 |
|
|
|
1285 |
|
|
* typeck.c (c_expand_return): Always convert_for_initialization
|
1286 |
|
|
before checking for returning a pointer to local.
|
1287 |
|
|
|
1288 |
|
|
* pt.c (type_unification): If strict and the function parm doesn't
|
1289 |
|
|
use template parms, just compare types.
|
1290 |
|
|
|
1291 |
|
|
Wed Sep 3 10:35:49 1997 Klaus Espenlaub
|
1292 |
|
|
|
1293 |
|
|
* method.c (build_overloaded_value): Replace direct call
|
1294 |
|
|
to the floating point emulator with REAL_VALUE_TO_DECIMAL macro.
|
1295 |
|
|
|
1296 |
|
|
Wed Sep 3 00:02:53 1997 Jason Merrill
|
1297 |
|
|
|
1298 |
|
|
* typeck.c (convert_arguments): Don't arbitrarily choose the first
|
1299 |
|
|
of a set of overloaded functions.
|
1300 |
|
|
|
1301 |
|
|
Tue Sep 2 12:09:13 1997 Jason Merrill
|
1302 |
|
|
|
1303 |
|
|
* lex.c (real_yylex): Don't elide __FUNCTION__.
|
1304 |
|
|
|
1305 |
|
|
* method.c (build_overload_value): Add in_template parm.
|
1306 |
|
|
(build_overload_int): Likewise.
|
1307 |
|
|
(build_overload_identifier): Pass it.
|
1308 |
|
|
|
1309 |
|
|
* decl.c (duplicate_decls): Don't bash a previous template
|
1310 |
|
|
definition with a redeclaration.
|
1311 |
|
|
|
1312 |
|
|
* pt.c (unify): float doesn't match double.
|
1313 |
|
|
|
1314 |
|
|
* pt.c (do_type_instantiation): Handle getting a _TYPE or a
|
1315 |
|
|
TYPE_DECL. Handle getting non-template types.
|
1316 |
|
|
* parse.y (explicit_instantiation): Use typespec instead of
|
1317 |
|
|
aggr template_type.
|
1318 |
|
|
|
1319 |
|
|
Tue Sep 2 10:27:08 1997 Richard Henderson
|
1320 |
|
|
|
1321 |
|
|
* typeck.c (build_ptrmemfunc1): Clean up ptr->int cast warnings.
|
1322 |
|
|
|
1323 |
|
|
Mon Sep 1 13:19:04 1997 Eugene Mamchits
|
1324 |
|
|
|
1325 |
|
|
* call.c (add_builtin_candidate): Add missing TREE_TYPE.
|
1326 |
|
|
(compare_ics): Likewise.
|
1327 |
|
|
|
1328 |
|
|
Mon Sep 1 13:19:04 1997 Jason Merrill
|
1329 |
|
|
|
1330 |
|
|
* call.c (joust): Warn about choosing one conversion op over
|
1331 |
|
|
another because of 'this' argument when the other return type is
|
1332 |
|
|
better.
|
1333 |
|
|
(source_type): New fn.
|
1334 |
|
|
|
1335 |
|
|
* call.c (build_new_op): Strip leading REF_BIND from first operand
|
1336 |
|
|
to builtin operator.
|
1337 |
|
|
|
1338 |
|
|
* decl2.c (mark_vtable_entries): Mark abort_fndecl as used when we
|
1339 |
|
|
use its RTL.
|
1340 |
|
|
|
1341 |
|
|
Thu Aug 28 09:45:23 1997 Jason Merrill
|
1342 |
|
|
|
1343 |
|
|
* call.c (null_ptr_cst_p): Remove support for (void*)0.
|
1344 |
|
|
|
1345 |
|
|
Wed Aug 27 02:03:34 1997 Jeffrey A Law
|
1346 |
|
|
|
1347 |
|
|
* typeck.c (expand_target_expr): Make definition match declaration.
|
1348 |
|
|
|
1349 |
|
|
* class.c (get_basefndecls): Make definition match declaration.
|
1350 |
|
|
|
1351 |
|
|
Mon Aug 25 14:30:02 1997 Jason Merrill
|
1352 |
|
|
|
1353 |
|
|
* input.c (sub_getch): Eventually give up and release the input file.
|
1354 |
|
|
|
1355 |
|
|
* decl.c (cp_finish_decl): If #p i/i, put inline statics in the
|
1356 |
|
|
right place.
|
1357 |
|
|
|
1358 |
|
|
* call.c (joust): Tweak message.
|
1359 |
|
|
|
1360 |
|
|
Sat Aug 23 18:02:59 1997 Mark Mitchell
|
1361 |
|
|
|
1362 |
|
|
* error.c (type_as_string): Put const/volatile on template type
|
1363 |
|
|
parameters where appropriate.
|
1364 |
|
|
|
1365 |
|
|
Sat Aug 23 17:47:22 1997 Jeffrey A Law
|
1366 |
|
|
|
1367 |
|
|
* call.c (strictly_better): Make arguments unsigned ints.
|
1368 |
|
|
|
1369 |
|
|
Thu Aug 21 18:48:44 1997 Jason Merrill
|
1370 |
|
|
|
1371 |
|
|
* lex.c (real_yylex): Refer to __complex instead of complex.
|
1372 |
|
|
|
1373 |
|
|
Thu Aug 21 22:25:46 1997 J"orn Rennecke
|
1374 |
|
|
|
1375 |
|
|
* lex.c (real_yylex): Don't use getc directly.
|
1376 |
|
|
|
1377 |
|
|
Wed Aug 20 17:25:08 1997 Jason Merrill
|
1378 |
|
|
|
1379 |
|
|
* call.c (is_subseq): Don't try to be clever.
|
1380 |
|
|
|
1381 |
|
|
Wed Aug 20 03:13:36 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
1382 |
|
|
|
1383 |
|
|
* parse.y, pt.c: Include "except.h".
|
1384 |
|
|
* call.c, class.c, class.h, cp-tree.h, cvt.c, decl.c, decl2.c,
|
1385 |
|
|
error.c, except.c, expr.c, friend.c, g++spec.c, init.c, input.c,
|
1386 |
|
|
lex.c, lex.h, method.c, parse.y, pt.c, repo.c, rtti.c, search.c,
|
1387 |
|
|
sig.c, spew.c, tree.c, typeck.c, typeck2.c, xref.c: Finish
|
1388 |
|
|
prototyping.
|
1389 |
|
|
|
1390 |
|
|
Wed Aug 20 01:34:40 1997 Jason Merrill
|
1391 |
|
|
|
1392 |
|
|
* decl2.c (mark_vtable_entries): Instead of replacing pure
|
1393 |
|
|
virtuals with a reference to __pure_virtual, copy the decl and
|
1394 |
|
|
change the RTL.
|
1395 |
|
|
|
1396 |
|
|
Tue Aug 19 02:26:07 1997 Jason Merrill
|
1397 |
|
|
|
1398 |
|
|
* pt.c (lookup_nested_type_by_name): Handle typedef wierdness.
|
1399 |
|
|
|
1400 |
|
|
* typeck2.c (my_friendly_abort): Report bugs to egcs-bugs@cygnus.com.
|
1401 |
|
|
|
1402 |
|
|
* pt.c (instantiate_class_template): Call repo_template_used
|
1403 |
|
|
before finish_prevtable_vardecl.
|
1404 |
|
|
|
1405 |
|
|
* call.c (is_subseq): New fn.
|
1406 |
|
|
(compare_ics): Use it.
|
1407 |
|
|
|
1408 |
|
|
* repo.c (finish_repo): Don't crash on no args.
|
1409 |
|
|
|
1410 |
|
|
* parse.y (named_complex_class_head_sans_basetype): Handle
|
1411 |
|
|
explicit global scope.
|
1412 |
|
|
* decl2.c (handle_class_head): New fn.
|
1413 |
|
|
|
1414 |
|
|
* pt.c (unify): Add CONST_DECL case.
|
1415 |
|
|
|
1416 |
|
|
Thu Aug 14 10:05:13 1997 Brendan Kehoe
|
1417 |
|
|
|
1418 |
|
|
* rtti.c (permanent_obstack): Fix decl to not be a pointer.
|
1419 |
|
|
|
1420 |
|
|
* cp-tree.h (report_type_mismatch): Add prototype.
|
1421 |
|
|
* call.c (build_overload_call_real): Remove erroneous fourth
|
1422 |
|
|
argument to report_type_mismatch.
|
1423 |
|
|
(build_user_type_conversion_1): Remove erroneous second arg to
|
1424 |
|
|
tourney.
|
1425 |
|
|
(build_new_function_call): Likewise.
|
1426 |
|
|
(build_object_call): Likewise.
|
1427 |
|
|
(build_new_op): Likewise.
|
1428 |
|
|
(build_new_method_call): Likewise.
|
1429 |
|
|
|
1430 |
|
|
Wed Aug 13 19:19:25 1997 Jason Merrill
|
1431 |
|
|
|
1432 |
|
|
* error.c (dump_decl): Don't bother processing a function with no
|
1433 |
|
|
DECL_LANG_SPECIFIC.
|
1434 |
|
|
|
1435 |
|
|
* method.c (emit_thunk): Call init_function_start in the macro case.
|
1436 |
|
|
|
1437 |
|
|
Wed Aug 13 10:46:19 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
|
1438 |
|
|
|
1439 |
|
|
* decl2.c (DEFAULT_VTABLE_THUNKS): Define to be 0 if not
|
1440 |
|
|
defined and used to set flag_vtable_thunks.
|
1441 |
|
|
|
1442 |
|
|
Tue Aug 12 20:13:57 1997 Jason Merrill
|
1443 |
|
|
|
1444 |
|
|
* parse.y: Don't clear the inlines from their obstack until they've
|
1445 |
|
|
all been processed.
|
1446 |
|
|
|
1447 |
|
|
* decl.c (duplicate_decls): Don't complain about exception
|
1448 |
|
|
specification mismatch if flag_exceptions is off.
|
1449 |
|
|
|
1450 |
|
|
Mon Aug 11 15:01:56 1997 Marc Lehmann
|
1451 |
|
|
|
1452 |
|
|
* Make-lang.in (c++.distclean): Remove g++.c on make distclean.
|
1453 |
|
|
|
1454 |
|
|
Sun Aug 10 12:06:09 1997 Paul Eggert
|
1455 |
|
|
|
1456 |
|
|
* cp-tree.h: Replace STDIO_PROTO with PROTO in include files.
|
1457 |
|
|
* cvt.c, error.c, except.c, expr.c, friend.c, init.c, rtti.c:
|
1458 |
|
|
Include before include files that formerly used STDIO_PROTO.
|
1459 |
|
|
|
1460 |
|
|
* decl.c, g++spec.c, lex.c, method.c, repo.c:
|
1461 |
|
|
Include "config.h" first, as per autoconf manual.
|
1462 |
|
|
|
1463 |
|
|
Fri Aug 8 11:47:48 1997 Jason Merrill
|
1464 |
|
|
|
1465 |
|
|
* decl.c (duplicate_decls): Tweak wording.
|
1466 |
|
|
* lex.c (do_pending_defargs): Don't die if we see a default arg
|
1467 |
|
|
that isn't a DEFAULT_ARG.
|
1468 |
|
|
* error.c (dump_expr): Handle DEFAULT_ARG.
|
1469 |
|
|
|
1470 |
|
|
* decl2.c (lang_decode_option): Handle -fhandle-exceptions.
|
1471 |
|
|
* lang-options.h: Add -fhandle-exceptions.
|
1472 |
|
|
|
1473 |
|
|
* class.c (build_vtable): Vtables are artificial.
|
1474 |
|
|
(prepare_fresh_vtable): Likewise.
|
1475 |
|
|
|
1476 |
|
|
Wed Aug 6 11:02:36 1997 Jason Merrill
|
1477 |
|
|
|
1478 |
|
|
* cvt.c (ocp_convert): After converting to the target type, set
|
1479 |
|
|
LOOKUP_NO_CONVERSION.
|
1480 |
|
|
|
1481 |
|
|
* call.c (joust): Warn about potentially confusing promotion rules
|
1482 |
|
|
with -Wsign-promo.
|
1483 |
|
|
* cp-tree.h, lang-options.h, decl2.c: Support -Wsign-promo.
|
1484 |
|
|
|
1485 |
|
|
Tue Aug 5 15:15:07 1997 Michael Meissner
|
1486 |
|
|
|
1487 |
|
|
* exception.cc: Declare __terminate_func with noreturn attribute.
|
1488 |
|
|
|
1489 |
|
|
Fri Aug 1 03:18:15 1997 Jason Merrill
|
1490 |
|
|
|
1491 |
|
|
* parse.y: Break out eat_saved_input, handle errors.
|
1492 |
|
|
(function_try_block): Use compstmt instead of compstmt_or_error.
|
1493 |
|
|
|
1494 |
|
|
Thu Jul 31 17:14:04 1997 Jason Merrill
|
1495 |
|
|
|
1496 |
|
|
* tree.c (build_cplus_new): Don't set TREE_ADDRESSABLE.
|
1497 |
|
|
|
1498 |
|
|
Fri Jul 4 01:45:16 1997 Andreas Schwab
|
1499 |
|
|
|
1500 |
|
|
* Make-lang.in (cplib2.txt, cplib2.ready): Instead of checking for
|
1501 |
|
|
existence of cc1plus check whether $(LANGUAGES) contains C++.
|
1502 |
|
|
|
1503 |
|
|
Wed Jul 30 13:04:21 1997 Andreas Schwab
|
1504 |
|
|
|
1505 |
|
|
* method.c (do_build_copy_constructor): When copying an anonymous
|
1506 |
|
|
union member loop around to handle nested anonymous unions. Use
|
1507 |
|
|
the offset of the member relative to the outer structure, not the
|
1508 |
|
|
union.
|
1509 |
|
|
|
1510 |
|
|
Tue Jul 29 21:17:29 1997 Jason Merrill
|
1511 |
|
|
|
1512 |
|
|
* call.c (resolve_args): New fn.
|
1513 |
|
|
(build_new_function_call): Use it.
|
1514 |
|
|
(build_object_call): Likewise.
|
1515 |
|
|
(build_new_method_call): Likewise.
|
1516 |
|
|
|
1517 |
|
|
Mon Jul 28 16:02:36 1997 Jason Merrill
|
1518 |
|
|
|
1519 |
|
|
* call.c (build_over_call): tsubst all default parms from templates.
|
1520 |
|
|
|
1521 |
|
|
Wed Jul 23 13:36:25 1997 Jason Merrill
|
1522 |
|
|
|
1523 |
|
|
* decl.c (struct cp_function): Add static_labelno.
|
1524 |
|
|
(push_cp_function_context): Save it.
|
1525 |
|
|
(pop_cp_function_context): Restore it.
|
1526 |
|
|
|
1527 |
|
|
Tue Jul 22 14:43:29 1997 Jason Merrill
|
1528 |
|
|
|
1529 |
|
|
* typeck.c (build_component_ref_1): Convert from reference.
|
1530 |
|
|
|
1531 |
|
|
Tue Jul 22 11:06:23 1997 Brendan Kehoe
|
1532 |
|
|
|
1533 |
|
|
* parse.y (current_declspecs, prefix_attributes): Initialize to
|
1534 |
|
|
NULL_TREE.
|
1535 |
|
|
|
1536 |
|
|
* parse.y (initdcl0): Make sure CURRENT_DECLSPECS is non-nil
|
1537 |
|
|
before we try to force it to be a TREE_LIST.
|
1538 |
|
|
(decl): Make sure $1.t is non-nil.
|
1539 |
|
|
|
1540 |
|
|
Sun Jul 20 11:53:07 1997 Jason Merrill
|
1541 |
|
|
|
1542 |
|
|
* pt.c (uses_template_parms): Handle template first-parse codes.
|
1543 |
|
|
|
1544 |
|
|
* decl.c (cp_finish_decl): Only warn about user-defined statics.
|
1545 |
|
|
|
1546 |
|
|
Fri Jul 18 17:56:08 1997 Jason Merrill
|
1547 |
|
|
|
1548 |
|
|
* pt.c (unify): Handle BOOLEAN_TYPE.
|
1549 |
|
|
|
1550 |
|
|
* cp-tree.h: Lose PARM_DEFAULT_FROM_TEMPLATE.
|
1551 |
|
|
* pt.c (tsubst): Don't set it.
|
1552 |
|
|
* call.c (build_over_call): Use uses_template_parms.
|
1553 |
|
|
|
1554 |
|
|
Thu Jul 17 18:06:30 1997 Jason Merrill
|
1555 |
|
|
|
1556 |
|
|
* method.c (build_overload_nested_name): Use static_labelno
|
1557 |
|
|
instead of var_labelno.
|
1558 |
|
|
(build_qualified_name): New fn.
|
1559 |
|
|
(build_overload_name): Split out from here.
|
1560 |
|
|
(build_static_name): Use build_qualified_name.
|
1561 |
|
|
* decl.c (cp_finish_decl): Statics in extern inline functions
|
1562 |
|
|
have comdat linkage.
|
1563 |
|
|
(start_function): Initialize static_labelno.
|
1564 |
|
|
|
1565 |
|
|
Thu Jul 17 11:20:17 1997 Benjamin Kosnik
|
1566 |
|
|
|
1567 |
|
|
* class.c (finish_struct_methods): Add check of warn_ctor_dtor_privacy
|
1568 |
|
|
before "all member functions in class [] are private".
|
1569 |
|
|
|
1570 |
|
|
Wed Jul 16 23:47:08 1997 Jason Merrill
|
1571 |
|
|
|
1572 |
|
|
* lex.c (do_scoped_id): convert_from_reference.
|
1573 |
|
|
* init.c (build_offset_ref): Likewise.
|
1574 |
|
|
|
1575 |
|
|
Wed Jul 16 12:34:29 1997 Benjamin Kosnik
|
1576 |
|
|
|
1577 |
|
|
* error.c (dump_expr): Check TREE_OPERAND before dump_expr_list.
|
1578 |
|
|
|
1579 |
|
|
Mon Jul 14 03:23:46 1997 Jason Merrill
|
1580 |
|
|
|
1581 |
|
|
* typeck.c (get_member_function_from_ptrfunc): Promote index
|
1582 |
|
|
before saving it.
|
1583 |
|
|
|
1584 |
|
|
Sun Jul 13 00:11:52 1997 Jason Merrill
|
1585 |
|
|
|
1586 |
|
|
* tree.c (layout_basetypes): Move non-virtual destructor warning.
|
1587 |
|
|
* decl.c (xref_basetypes): Remove non-virtual destructor warning.
|
1588 |
|
|
|
1589 |
|
|
Sat Jul 12 12:47:12 1997 Jason Merrill
|
1590 |
|
|
|
1591 |
|
|
* decl.c (grokdeclarator): Call add_defarg_fn for the function
|
1592 |
|
|
type, too.
|
1593 |
|
|
* lex.c (add_defarg_fn): Adjust.
|
1594 |
|
|
(do_pending_defargs): Adjust. Don't skip the first parm.
|
1595 |
|
|
|
1596 |
|
|
Fri Jul 11 01:39:50 1997 Jason Merrill
|
1597 |
|
|
|
1598 |
|
|
* decl.c (build_enumerator): Global enumerators are also readonly.
|
1599 |
|
|
|
1600 |
|
|
* rtti.c (build_dynamic_cast_1): Renamed from build_dynamic_cast.
|
1601 |
|
|
(build_dynamic_cast): Call it and convert_from_reference.
|
1602 |
|
|
|
1603 |
|
|
* lex.c (add_defarg_fn): New fn.
|
1604 |
|
|
(snarf_defarg): Don't add to defarg_types.
|
1605 |
|
|
(do_pending_defargs): Lose defarg_types. All fns we process now
|
1606 |
|
|
have defargs.
|
1607 |
|
|
* decl.c (grokfndecl): Call add_defarg_fn.
|
1608 |
|
|
|
1609 |
|
|
* Makefile.in (CONFLICTS): Expect 18 s/r conflicts.
|
1610 |
|
|
* cp-tree.def: Add DEFAULT_ARG.
|
1611 |
|
|
* spew.c (yylex): Call snarf_defarg as appropriate.
|
1612 |
|
|
* parse.y: New tokens DEFARG and DEFARG_MARKER.
|
1613 |
|
|
(defarg_again, pending_defargs, defarg, defarg1): New rules.
|
1614 |
|
|
(structsp): Use pending_defargs.
|
1615 |
|
|
(parms, full_parm): Use defarg.
|
1616 |
|
|
* lex.c (init_lex): Initialize inline_text_firstobj.
|
1617 |
|
|
(do_pending_inlines): Never pass the obstack to feed_input.
|
1618 |
|
|
(process_next_inline): Call end_input instead of restore_pending_input.
|
1619 |
|
|
(clear_inline_text_obstack, reinit_parse_for_expr, do_pending_defargs,
|
1620 |
|
|
finish_defarg, feed_defarg, snarf_defarg, maybe_snarf_defarg): New fns.
|
1621 |
|
|
* input.c (end_input): New fn.
|
1622 |
|
|
(sub_getch): At the end of some fed input, just keep returning EOF
|
1623 |
|
|
until someone calls end_input.
|
1624 |
|
|
Remove 'obstack' field from struct input_source.
|
1625 |
|
|
* decl.c (grokparms): Handle DEFAULT_ARG.
|
1626 |
|
|
(replace_defarg): New fn.
|
1627 |
|
|
* cp-tree.h (DEFARG_LENGTH, DEFARG_POINTER): New macros.
|
1628 |
|
|
|
1629 |
|
|
Wed Jul 9 13:44:12 1997 Jason Merrill
|
1630 |
|
|
|
1631 |
|
|
* call.c (implicit_conversion): If nothing else works, try binding
|
1632 |
|
|
an rvalue to a reference.
|
1633 |
|
|
|
1634 |
|
|
Wed Jul 9 13:04:38 1997 Geoffrey Noer
|
1635 |
|
|
|
1636 |
|
|
* decl.c (init_decl_processing): Fix Jun 30 patch -- move
|
1637 |
|
|
ifndef for Cygwin32 to include SIGSEGV.
|
1638 |
|
|
|
1639 |
|
|
Thu Jul 3 01:44:05 1997 Jason Merrill
|
1640 |
|
|
|
1641 |
|
|
* class.c (finish_struct_1): Only complain about pointers without
|
1642 |
|
|
copy stuff if there are any constructors.
|
1643 |
|
|
|
1644 |
|
|
* rtti.c (build_dynamic_cast): Call complete_type on the types.
|
1645 |
|
|
|
1646 |
|
|
* decl.c (grokfndecl): If the function we chose doesn't actually
|
1647 |
|
|
match, die.
|
1648 |
|
|
|
1649 |
|
|
* decl2.c (grokclassfn): Don't specify 'const int' for the
|
1650 |
|
|
artificial destructor parm.
|
1651 |
|
|
|
1652 |
|
|
* pt.c (type_unification): If we are called recursively, nothing
|
1653 |
|
|
decays.
|
1654 |
|
|
|
1655 |
|
|
Mon Jun 30 17:53:21 1997 Geoffrey Noer
|
1656 |
|
|
|
1657 |
|
|
* decl.c (init_decl_processing): Stop trying to catch signals
|
1658 |
|
|
other than SIGABRT since the Cygwin32 library doesn't support
|
1659 |
|
|
them correctly yet. This fixes a situation in which g++ causes
|
1660 |
|
|
a hang on SIGSEGVs and other such signals in our Win32-hosted
|
1661 |
|
|
tools.
|
1662 |
|
|
|
1663 |
|
|
Mon Jun 30 14:50:01 1997 Jason Merrill
|
1664 |
|
|
|
1665 |
|
|
* tree.c (mapcar, case CALL_EXPR): Handle all the parse node data.
|
1666 |
|
|
|
1667 |
|
|
Fri Jun 27 15:18:49 1997 Jason Merrill
|
1668 |
|
|
|
1669 |
|
|
* typeck2.c (store_init_value): Always return the value if our
|
1670 |
|
|
type needs constructing.
|
1671 |
|
|
|
1672 |
|
|
* method.c (hack_identifier): Convert class statics from
|
1673 |
|
|
reference, too.
|
1674 |
|
|
|
1675 |
|
|
Thu Jun 26 11:44:46 1997 Jason Merrill
|
1676 |
|
|
|
1677 |
|
|
* Make-lang.in (cplib2.ready): Add $(LANGUAGES) dependency.
|
1678 |
|
|
|
1679 |
|
|
Thu Jun 19 16:49:28 1997 Mike Stump
|
1680 |
|
|
|
1681 |
|
|
* typeck.c (c_expand_return): Make sure we clean up temporaries at
|
1682 |
|
|
the end of return x;
|
1683 |
|
|
|
1684 |
|
|
Thu Jun 19 12:28:43 1997 Brendan Kehoe
|
1685 |
|
|
|
1686 |
|
|
* lex.c (check_for_missing_semicolon): Also check for CV_QUALIFIER.
|
1687 |
|
|
|
1688 |
|
|
Tue Jun 17 18:35:57 1997 Mike Stump
|
1689 |
|
|
|
1690 |
|
|
* except.c (expand_builtin_throw): Add support
|
1691 |
|
|
-fno-sjlj-exceptions -fPIC exception handling on the SPARC.
|
1692 |
|
|
|
1693 |
|
|
Mon Jun 16 01:24:37 1997 Jason Merrill
|
1694 |
|
|
|
1695 |
|
|
* repo.c (extract_string): Null-terminate.
|
1696 |
|
|
|
1697 |
|
|
* cp-tree.h (TI_SPEC_INFO): New macro.
|
1698 |
|
|
(CLASSTYPE_TI_SPEC_INFO): New macro.
|
1699 |
|
|
* pt.c (push_template_decl): Correctly determine # of template parms
|
1700 |
|
|
for partial specs.
|
1701 |
|
|
|
1702 |
|
|
* call.c (compare_ics): Really fix 'this' conversions.
|
1703 |
|
|
|
1704 |
|
|
* pt.c (do_decl_instantiation): Don't crash on explicit inst of
|
1705 |
|
|
non-template fn.
|
1706 |
|
|
|
1707 |
|
|
* pt.c (push_template_decl): Complain about mismatch in # of
|
1708 |
|
|
template parms between a class template and a member template.
|
1709 |
|
|
|
1710 |
|
|
Sun Jun 15 02:38:20 1997 Jason Merrill
|
1711 |
|
|
|
1712 |
|
|
* method.c (synthesize_method): You can't call
|
1713 |
|
|
function_cannot_inline_p after finish_function.
|
1714 |
|
|
* decl.c (finish_function): Turn on flag_inline_functions and turn
|
1715 |
|
|
off DECL_INLINE before handing a synthesized method to the
|
1716 |
|
|
backend.
|
1717 |
|
|
|
1718 |
|
|
Thu Jun 12 17:35:28 1997 Jason Merrill
|
1719 |
|
|
|
1720 |
|
|
* method.c (synthesize_method): Remove July 30 change to never set
|
1721 |
|
|
DECL_INLINE if at_eof.
|
1722 |
|
|
|
1723 |
|
|
Thu Jun 12 15:25:08 1997 Mike Stump
|
1724 |
|
|
|
1725 |
|
|
* xref.c (GNU_xref_member): Ensure that the node has a
|
1726 |
|
|
decl_lang_specific part before checking DECL_FRIEND_P.
|
1727 |
|
|
|
1728 |
|
|
Thu Jun 12 12:36:05 1997 Jason Merrill
|
1729 |
|
|
|
1730 |
|
|
* pt.c (instantiate_class_template): Diagnose non-class types used
|
1731 |
|
|
as bases.
|
1732 |
|
|
|
1733 |
|
|
Wed Jun 11 17:33:40 1997 Jason Merrill
|
1734 |
|
|
|
1735 |
|
|
* typeck.c (build_conditional_expr): Use convert_for_initialization
|
1736 |
|
|
instead of convert_and_check.
|
1737 |
|
|
|
1738 |
|
|
Wed Jun 11 12:31:33 1997 Brendan Kehoe
|
1739 |
|
|
|
1740 |
|
|
* parse.y (typespec): Don't pedwarn for typeof.
|
1741 |
|
|
|
1742 |
|
|
Tue Jun 10 00:22:09 1997 Jason Merrill
|
1743 |
|
|
|
1744 |
|
|
* repo.c (finish_repo): Only check changes if we would write a
|
1745 |
|
|
repo file.
|
1746 |
|
|
|
1747 |
|
|
* call.c (compare_ics): Fix handling of 'this' conversions.
|
1748 |
|
|
|
1749 |
|
|
* pt.c (do_decl_instantiation): Support static data too. Rename
|
1750 |
|
|
from do_function_instantiation.
|
1751 |
|
|
* cp-tree.h: Adjust.
|
1752 |
|
|
* parse.y: Adjust.
|
1753 |
|
|
|
1754 |
|
|
* repo.c (extract_string): New fn.
|
1755 |
|
|
(get_base_filename): Use it.
|
1756 |
|
|
(init_repo): Compare old args with current args.
|
1757 |
|
|
|
1758 |
|
|
Mon Jun 9 14:25:30 1997 Mike Stump
|
1759 |
|
|
|
1760 |
|
|
* Makefile.in, Make-lang.in: Protect C-ls with a comment
|
1761 |
|
|
character, idea from Paul Eggert .
|
1762 |
|
|
|
1763 |
|
|
Mon Jun 9 01:52:03 1997 Jason Merrill
|
1764 |
|
|
|
1765 |
|
|
* typeck.c (c_expand_return): Be more persistent in looking for
|
1766 |
|
|
returned temps.
|
1767 |
|
|
|
1768 |
|
|
* cvt.c (build_up_reference): Use NOP_EXPR for switching from
|
1769 |
|
|
pointer to reference.
|
1770 |
|
|
|
1771 |
|
|
* class.c (build_vbase_path): Don't do anything if PATH has no steps.
|
1772 |
|
|
|
1773 |
|
|
Sun Jun 8 03:07:05 1997 Jason Merrill
|
1774 |
|
|
|
1775 |
|
|
* init.c (build_member_call, build_offset_ref):
|
1776 |
|
|
Use do_scoped_id instead of do_identifier.
|
1777 |
|
|
|
1778 |
|
|
* cvt.c (convert): Remove bogosity.
|
1779 |
|
|
|
1780 |
|
|
Sat Jun 7 20:50:17 1997 Brendan Kehoe
|
1781 |
|
|
|
1782 |
|
|
* cvt.c (build_up_reference): Do checks of ARGTYPE and
|
1783 |
|
|
TARGET_TYPE before trying to use get_binfo.
|
1784 |
|
|
|
1785 |
|
|
Fri Jun 6 17:36:39 1997 Jason Merrill
|
1786 |
|
|
|
1787 |
|
|
* cvt.c (build_up_reference): Call get_binfo to get access control.
|
1788 |
|
|
|
1789 |
|
|
* decl2.c (import_export_decl): If we don't support weaks, leave
|
1790 |
|
|
statics undefined.
|
1791 |
|
|
|
1792 |
|
|
Fri Jun 6 15:55:49 1997 Mike Stump
|
1793 |
|
|
|
1794 |
|
|
* except.c (expand_builtin_throw): Add support for machines that
|
1795 |
|
|
cannot access globals after throw's epilogue when
|
1796 |
|
|
-fno-sjlj-exceptions is used.
|
1797 |
|
|
|
1798 |
|
|
Thu Jun 5 16:28:43 1997 Jason Merrill
|
1799 |
|
|
|
1800 |
|
|
* parse.y: 'std::' becomes '::'.
|
1801 |
|
|
* lex.c (real_yylex): Remove 'namespace' warning.
|
1802 |
|
|
* init.c (build_member_call): Ignore 'std::'.
|
1803 |
|
|
(build_offset_ref): Likewise.
|
1804 |
|
|
* decl2.c (do_using_directive): Ignore 'using namespace std;'.
|
1805 |
|
|
(do_toplevel_using_decl): Ignore 'using std::whatever'.
|
1806 |
|
|
* decl.c (push_namespace): Just sorry.
|
1807 |
|
|
(pop_namespace): Nop.
|
1808 |
|
|
(init_decl_processing): Declare std namespace.
|
1809 |
|
|
|
1810 |
|
|
Tue Jun 3 18:08:23 1997 Jason Merrill
|
1811 |
|
|
|
1812 |
|
|
* search.c (push_class_decls): A name which ambiguously refers to
|
1813 |
|
|
several instantiations of the same template just refers to the
|
1814 |
|
|
template.
|
1815 |
|
|
|
1816 |
|
|
Tue Jun 3 12:30:40 1997 Benjamin Kosnik
|
1817 |
|
|
|
1818 |
|
|
* decl.c (build_enumerator): Fix problem with unsigned long
|
1819 |
|
|
enumerated values being smashed to ints, causing overflow
|
1820 |
|
|
when computing next enumerated value (for enum values around
|
1821 |
|
|
MAX_VAL).
|
1822 |
|
|
|
1823 |
|
|
Mon Jun 2 17:40:56 1997 Jason Merrill
|
1824 |
|
|
|
1825 |
|
|
* typeck.c (build_component_ref): Only call mark_used on a decl.
|
1826 |
|
|
|
1827 |
|
|
Thu May 29 15:54:17 1997 Brendan Kehoe
|
1828 |
|
|
|
1829 |
|
|
* typeck.c (build_c_cast): Make the check for a ptr to function
|
1830 |
|
|
more specific before possible default_conversion call.
|
1831 |
|
|
|
1832 |
|
|
Thu May 29 13:02:06 1997 Mike Stump
|
1833 |
|
|
|
1834 |
|
|
* except.c (expand_exception_blocks): Simplify and fix and make
|
1835 |
|
|
sure we don't end a region in a sequence, as expand_end_bindings
|
1836 |
|
|
doesn't like it.
|
1837 |
|
|
|
1838 |
|
|
Wed May 28 17:08:03 1997 Mike Stump
|
1839 |
|
|
|
1840 |
|
|
* except.c (init_exception_processing): Mark terminate as not
|
1841 |
|
|
returning so that the optimizer can optimize better.
|
1842 |
|
|
|
1843 |
|
|
Tue May 27 19:49:19 1997 Mike Stump
|
1844 |
|
|
|
1845 |
|
|
* cvt.c (convert): Don't do any extra work, if we can avoid it
|
1846 |
|
|
easily.
|
1847 |
|
|
|
1848 |
|
|
Tue May 27 18:21:47 1997 Mike Stump
|
1849 |
|
|
|
1850 |
|
|
* *.[chy]: Change cp_convert to ocp_convert, change convert to
|
1851 |
|
|
cp_convert. convert is now reserved for the backend, and doesn't
|
1852 |
|
|
have the semantics a frontend person should ever want.
|
1853 |
|
|
|
1854 |
|
|
Fri May 23 10:58:31 1997 Jason Merrill
|
1855 |
|
|
|
1856 |
|
|
* lang-specs.h: Define __EXCEPTIONS if exceptions are enabled.
|
1857 |
|
|
Lose -traditional support.
|
1858 |
|
|
|
1859 |
|
|
Thu May 22 15:41:28 1997 Jason Merrill
|
1860 |
|
|
|
1861 |
|
|
* rtti.c (get_tinfo_var): Use TYPE_PRECISION (sizetype).
|
1862 |
|
|
|
1863 |
|
|
* parse.y (self_reference): Do it for templates, too.
|
1864 |
|
|
* class.c (pushclass): Don't overload_template_name; the alias
|
1865 |
|
|
generated by build_self_reference serves the same purpose.
|
1866 |
|
|
|
1867 |
|
|
* tree.c (list_hash): Make static, take more args.
|
1868 |
|
|
(list_hash_lookup): Likewise.
|
1869 |
|
|
(list_hash_add): Make static.
|
1870 |
|
|
(list_hash_canon): Lose.
|
1871 |
|
|
(hash_tree_cons): Only build a new node if one isn't already in the
|
1872 |
|
|
hashtable.
|
1873 |
|
|
(hash_tree_chain): Use hash_tree_cons.
|
1874 |
|
|
* cp-tree.h: Adjust.
|
1875 |
|
|
* decl.c (grokfndecl): Just check IDENTIFIER_GLOBAL_VALUE instead
|
1876 |
|
|
of calling lookup_name.
|
1877 |
|
|
|
1878 |
|
|
Wed May 21 18:24:19 1997 Jason Merrill
|
1879 |
|
|
|
1880 |
|
|
* pt.c (instantiate_class_template): TYPE_VALUES for an enum
|
1881 |
|
|
doesn't refer to the CONST_DECLs.
|
1882 |
|
|
|
1883 |
|
|
Tue May 20 21:09:32 1997 Bob Manson
|
1884 |
|
|
|
1885 |
|
|
* rtti.c (get_tinfo_var): Either INT_TYPE_SIZE or 32, whichever
|
1886 |
|
|
is bigger.
|
1887 |
|
|
(expand_class_desc): Convert the last argument to a sizetype.
|
1888 |
|
|
|
1889 |
|
|
Tue May 20 13:55:57 1997 Brendan Kehoe
|
1890 |
|
|
|
1891 |
|
|
* gxx.gperf (__complex, __complex__, __imag, __imag__, __real,
|
1892 |
|
|
__real__): Add reswords.
|
1893 |
|
|
* hash.h: Regenerate.
|
1894 |
|
|
* lex.h (rid): Add RID_COMPLEX.
|
1895 |
|
|
(RID_LAST_MODIFIER): Set to RID_COMPLEX.
|
1896 |
|
|
* lex.c (init_lex): Add building of RID_COMPLEX.
|
1897 |
|
|
(real_yylex): General cleanup in line with what c-lex.c also has,
|
1898 |
|
|
sans the cruft for traditional; add handling of SPEC_IMAG, complex
|
1899 |
|
|
types, and imaginary numeric constants.
|
1900 |
|
|
* parse.y (REALPART, IMAGPART): Add tokens.
|
1901 |
|
|
(unary_expr): Add REALPART and IMAGPART rules.
|
1902 |
|
|
* cp-tree.h (complex_{integer,float,double,long}_type_node): Declare.
|
1903 |
|
|
* decl.c (complex_{integer,float,double,long}_type_node): Define
|
1904 |
|
|
types.
|
1905 |
|
|
(init_decl_processing): Set up the types.
|
1906 |
|
|
(grokdeclarator): Add handling of RID_COMPLEX. Set and use
|
1907 |
|
|
DEFAULTED_INT instead of EXPLICIT_INT when we default to int type.
|
1908 |
|
|
* call.c (build_new_op): Add REALPART_EXPR and IMAGPART_EXPR cases.
|
1909 |
|
|
* cvt.c (cp_convert): Handle COMPLEX_TYPE.
|
1910 |
|
|
* error.c (dump_type_prefix, dump_type, dump_type_suffix): Add
|
1911 |
|
|
COMPLEX_TYPE case.
|
1912 |
|
|
* method.c (build_overload_name): Add handling of the different
|
1913 |
|
|
COMPLEX_TYPEs, prefixing them with `J'.
|
1914 |
|
|
* pt.c (process_template_parm): Don't let them use a COMPLEX_TYPE
|
1915 |
|
|
as a template parm.
|
1916 |
|
|
(uses_template_parms, tsubst, unify): Add COMPLEX_TYPE case.
|
1917 |
|
|
* tree.c (lvalue_p): Add REALPART_EXPR and IMAGPART_EXPR cases.
|
1918 |
|
|
(mapcar): Handle COMPLEX_CST.
|
1919 |
|
|
* typeck.c (build_binary_op_nodefault): Handle COMPLEX_TYPE.
|
1920 |
|
|
(common_type): Add code for complex types.
|
1921 |
|
|
(build_unary_op): Add REALPART_EXPR and IMAGPART_EXPR cases.
|
1922 |
|
|
(convert_for_assignment): Likewise.
|
1923 |
|
|
(mark_addressable): Add REALPART_EXPR and IMAGPART_EXPR cases.
|
1924 |
|
|
|
1925 |
|
|
Mon May 19 12:26:27 1997 Jason Merrill
|
1926 |
|
|
|
1927 |
|
|
* pt.c (tsubst): Don't pass the MINUS_EXPR for an array domain to
|
1928 |
|
|
tsubst_expr, as it might try to do overload resolution.
|
1929 |
|
|
|
1930 |
|
|
Sat May 17 10:48:31 1997 Jason Merrill
|
1931 |
|
|
|
1932 |
|
|
* pt.c (instantiate_class_template): Oops.
|
1933 |
|
|
|
1934 |
|
|
Fri May 16 14:23:57 1997 Jason Merrill
|
1935 |
|
|
|
1936 |
|
|
* cp-tree.def: Add TAG_DEFN.
|
1937 |
|
|
* pt.c (tsubst_enum): New fn.
|
1938 |
|
|
(instantiate_class_template): Use it.
|
1939 |
|
|
(tsubst_expr): Support TAG_DEFN.
|
1940 |
|
|
(tsubst): Support local enums.
|
1941 |
|
|
(tsubst_copy): Likewise.
|
1942 |
|
|
* decl.c (finish_enum): Likewise.
|
1943 |
|
|
(start_enum): If this is a local enum, switch to permanent_obstack.
|
1944 |
|
|
|
1945 |
|
|
Wed May 14 19:08:28 1997 Mike Stump
|
1946 |
|
|
|
1947 |
|
|
* decl.c (store_parm_decls): Set last_parm_cleanup_insn here.
|
1948 |
|
|
(finish_function): Put the base init code for constructors just
|
1949 |
|
|
after the parm cleanup insns.
|
1950 |
|
|
(struct cp_function): Add last_parm_cleanup_insn.
|
1951 |
|
|
(push_cp_function_context): Likewise.
|
1952 |
|
|
(pop_cp_function_context): Likewise.
|
1953 |
|
|
|
1954 |
|
|
Tue May 13 15:51:20 1997 Jason Merrill
|
1955 |
|
|
|
1956 |
|
|
* pt.c (tsubst_copy): Handle BIT_NOT_EXPR.
|
1957 |
|
|
|
1958 |
|
|
Wed May 7 11:17:59 1997 Brendan Kehoe
|
1959 |
|
|
|
1960 |
|
|
* method.c (emit_thunk) [ASM_OUTPUT_MI_THUNK]: Build up the RTL
|
1961 |
|
|
for THUNK_FNDECL before we switch to temporary allocation.
|
1962 |
|
|
|
1963 |
|
|
Mon May 5 14:46:53 1997 Jason Merrill
|
1964 |
|
|
|
1965 |
|
|
* call.c (build_new_op): Handle null arg2 for ?:.
|
1966 |
|
|
|
1967 |
|
|
Thu May 1 18:26:37 1997 Mike Stump
|
1968 |
|
|
|
1969 |
|
|
* except.c (expand_exception_blocks): Ensure that we flow through
|
1970 |
|
|
the end of the exception region for the exception specification.
|
1971 |
|
|
Move exception region for the exception specification in, so that
|
1972 |
|
|
it doesn't protect the parm cleanup. Remove some obsolete code.
|
1973 |
|
|
* decl.c (store_parm_decls): Likewise.
|
1974 |
|
|
(finish_function): Likewise.
|
1975 |
|
|
|
1976 |
|
|
Tue Apr 29 15:38:54 1997 Jason Merrill
|
1977 |
|
|
|
1978 |
|
|
* init.c (build_new): Fix nothrow handling.
|
1979 |
|
|
|
1980 |
|
|
Tue Apr 29 14:29:50 1997 Brendan Kehoe
|
1981 |
|
|
|
1982 |
|
|
* init.c (emit_base_init): Don't warn about the initialization
|
1983 |
|
|
list for an artificial member.
|
1984 |
|
|
|
1985 |
|
|
Fri Apr 25 17:47:59 1997 Brendan Kehoe
|
1986 |
|
|
|
1987 |
|
|
* expr.c (do_case): Handle !START case for the error msg.
|
1988 |
|
|
|
1989 |
|
|
Fri Apr 25 11:55:23 1997 Jason Merrill
|
1990 |
|
|
|
1991 |
|
|
* decl2.c, lang-options.h: New option -Weffc++.
|
1992 |
|
|
* class.c, decl.c, init.c, typeck.c: Move Effective C++ warnings
|
1993 |
|
|
to -Weffc++.
|
1994 |
|
|
|
1995 |
|
|
* decl2.c (finish_prevtable_vardecl): Change NO_LINKAGE_HEURISTICS
|
1996 |
|
|
to MULTIPLE_SYMBOL_SPACES.
|
1997 |
|
|
|
1998 |
|
|
Wed Apr 23 18:06:50 1997 Jason Merrill
|
1999 |
|
|
|
2000 |
|
|
* method.c (emit_thunk, generic case): Set current_function_is_thunk.
|
2001 |
|
|
|
2002 |
|
|
* method.c (emit_thunk, macro case): Set up DECL_RESULT.
|
2003 |
|
|
|
2004 |
|
|
* typeck.c (c_expand_return): Don't complain about returning void
|
2005 |
|
|
to void in an artificial function.
|
2006 |
|
|
* method.c (make_thunk): Change settings of READONLY/VOLATILE,
|
2007 |
|
|
don't set DECL_RESULT, set DECL_ARTIFICIAL.
|
2008 |
|
|
(emit_thunk, generic code): Also set up DECL_LANG_SPECIFIC.
|
2009 |
|
|
|
2010 |
|
|
Wed Apr 23 14:43:06 1997 Mike Stump
|
2011 |
|
|
|
2012 |
|
|
* init.c (init_decl_processing): Add support for setjmp/longjmp based
|
2013 |
|
|
exception handling.
|
2014 |
|
|
* except.c (init_exception_processing): Likewise.
|
2015 |
|
|
(expand_end_catch_block): Likewise.
|
2016 |
|
|
(expand_exception_blocks): Likewise.
|
2017 |
|
|
(expand_throw): Likewise.
|
2018 |
|
|
* exception.cc (__default_terminate): Likewise.
|
2019 |
|
|
|
2020 |
|
|
* init.c (perform_member_init): Use new method of expr level
|
2021 |
|
|
cleanups, instead of cleanups_this_call and friends.
|
2022 |
|
|
(emit_base_init): Likewise.
|
2023 |
|
|
(expand_aggr_vbase_init_1): Likewise.
|
2024 |
|
|
(expand_vec_init): Likewise.
|
2025 |
|
|
* decl.c (cp_finish_decl): Likewise.
|
2026 |
|
|
(expand_static_init): Likewise.
|
2027 |
|
|
(store_parm_decls): Likewise.
|
2028 |
|
|
(cplus_expand_expr_stmt): Likewise.
|
2029 |
|
|
* decl2.c (finish_file): Likewise.
|
2030 |
|
|
|
2031 |
|
|
* Make-lang.in (exception.o): Ok to compile with -O now.
|
2032 |
|
|
|
2033 |
|
|
* decl.c (maybe_build_cleanup_1): We no longer have to unsave, as
|
2034 |
|
|
we know it will be done later by the backend.
|
2035 |
|
|
|
2036 |
|
|
* decl2.c (lang_f_options): Remove support for short temps.
|
2037 |
|
|
* lang-options.h: Likewise.
|
2038 |
|
|
|
2039 |
|
|
Wed Apr 23 04:12:06 1997 Jason Merrill
|
2040 |
|
|
|
2041 |
|
|
* tree.c (varargs_function_p): New fn.
|
2042 |
|
|
* method.c (emit_thunk): Replace broken generic code with code to
|
2043 |
|
|
generate a heavyweight thunk function.
|
2044 |
|
|
|
2045 |
|
|
Tue Apr 22 02:45:18 1997 Jason Merrill
|
2046 |
|
|
|
2047 |
|
|
* pt.c (process_template_parm): pedwarn about floating-point parms.
|
2048 |
|
|
|
2049 |
|
|
* decl.c (grokdeclarator): inline no longer implies static.
|
2050 |
|
|
|
2051 |
|
|
* spew.c (yylex): Always return the TYPE_DECL if we got a scope.
|
2052 |
|
|
|
2053 |
|
|
Mon Apr 21 15:42:27 1997 Jason Merrill
|
2054 |
|
|
|
2055 |
|
|
* class.c (check_for_override): The signature of an overriding
|
2056 |
|
|
function is not changed.
|
2057 |
|
|
|
2058 |
|
|
* call.c (build_over_call): Move setting of conv into the loop.
|
2059 |
|
|
Note: this change, along with the related changes of the 18th thru
|
2060 |
|
|
the 20th of April, fix an infinite loop problem in conversions.
|
2061 |
|
|
|
2062 |
|
|
Sun Apr 20 16:24:29 1997 Jason Merrill
|
2063 |
|
|
|
2064 |
|
|
* call.c (build_user_type_conversion_1): Really ignore rvalue
|
2065 |
|
|
conversions when looking for a REFERENCE_TYPE.
|
2066 |
|
|
|
2067 |
|
|
* cvt.c (build_up_reference): Eviscerate, use build_unary_op.
|
2068 |
|
|
* cp-tree.h (TREE_REFERENCE_EXPR): #if 0.
|
2069 |
|
|
* typeck.c (decay_conversion): Don't set TREE_REFERENCE_EXPR.
|
2070 |
|
|
(build_unary_op): Likewise.
|
2071 |
|
|
* call.c (build_over_call): See through a CONVERT_EXPR around the
|
2072 |
|
|
ADDR_EXPR for on a temporary.
|
2073 |
|
|
* typeck.c (c_expand_return): See through a CONVERT_EXPR around
|
2074 |
|
|
the ADDR_EXPR for a local variable.
|
2075 |
|
|
|
2076 |
|
|
Fri Apr 18 12:11:33 1997 Jason Merrill
|
2077 |
|
|
|
2078 |
|
|
* call.c (build_user_type_conversion_1): If we're trying to
|
2079 |
|
|
convert to a REFERENCE_TYPE, only consider lvalue conversions.
|
2080 |
|
|
(build_new_function_call): Print candidates.
|
2081 |
|
|
(implicit_conversion): Try a temp binding if the lvalue conv is BAD.
|
2082 |
|
|
(reference_binding): Binding a temporary of a reference-related type
|
2083 |
|
|
is BAD.
|
2084 |
|
|
|
2085 |
|
|
Thu Apr 17 14:37:22 1997 Brendan Kehoe
|
2086 |
|
|
|
2087 |
|
|
* inc/typeinfo (type_info::before): Add cv-qualifier-seq.
|
2088 |
|
|
* tinfo2.cc (type_info::before): Likewise.
|
2089 |
|
|
|
2090 |
|
|
Mon Apr 14 12:38:17 1997 Jason Merrill
|
2091 |
|
|
|
2092 |
|
|
* call.c (implicit_conversion): Oops.
|
2093 |
|
|
|
2094 |
|
|
Fri Apr 11 02:18:30 1997 Jason Merrill
|
2095 |
|
|
|
2096 |
|
|
* call.c (implicit_conversion): Try to find a reference conversion
|
2097 |
|
|
before binding a const reference to a temporary.
|
2098 |
|
|
|
2099 |
|
|
Wed Apr 2 12:51:36 1997 Mike Stump
|
2100 |
|
|
|
2101 |
|
|
* exception.cc (__default_unexpected): Call terminate by default,
|
2102 |
|
|
so that if the user overrides terminate, the correct function will
|
2103 |
|
|
be called.
|
2104 |
|
|
|
2105 |
|
|
Wed Mar 19 14:14:45 1997 Mike Stump
|
2106 |
|
|
|
2107 |
|
|
* parse.y (left_curly): Avoid trying to use any fields of
|
2108 |
|
|
error_mark_node, as there aren't any.
|
2109 |
|
|
|
2110 |
|
|
Thu Mar 13 16:33:22 1997 Jason Merrill
|
2111 |
|
|
|
2112 |
|
|
* lex.c (do_identifier): Avoid breaking on overloaded methods
|
2113 |
|
|
as default arguments.
|
2114 |
|
|
|
2115 |
|
|
Wed Mar 12 13:55:10 1997 Hans-Peter Nilsson
|
2116 |
|
|
|
2117 |
|
|
* call.c (add_template_candidate): Initialize the variable "dummy".
|
2118 |
|
|
|
2119 |
|
|
Mon Mar 10 15:13:14 1997 Brendan Kehoe
|
2120 |
|
|
|
2121 |
|
|
* decl.c (start_decl): Make sure TYPE isn't an error_mark_node
|
2122 |
|
|
before we try to use TYPE_SIZE and TREE_CONSTANT on it.
|
2123 |
|
|
|
2124 |
|
|
Fri Mar 7 13:19:36 1997 Brendan Kehoe
|
2125 |
|
|
|
2126 |
|
|
* cp-tree.h (comp_ptr_ttypes, more_specialized): Add decl.
|
2127 |
|
|
(debug_binfo): Delete decl, not needed.
|
2128 |
|
|
|
2129 |
|
|
* tree.c (fnaddr_from_vtable_entry, function_arg_chain,
|
2130 |
|
|
promotes_to_aggr_type): Delete fns.
|
2131 |
|
|
* cp-tree.h (FNADDR_FROM_VTABLE_ENTRY,
|
2132 |
|
|
SET_FNADDR_FROM_VTABLE_ENTRY, FUNCTION_ARG_CHAIN,
|
2133 |
|
|
PROMOTES_TO_AGGR_TYPE): Delete alternates to #if 1.
|
2134 |
|
|
|
2135 |
|
|
* decl.c (pending_invalid_xref{,_file,_line}): Delete unused vars.
|
2136 |
|
|
|
2137 |
|
|
* friend.c (is_friend_type): Delete fn.
|
2138 |
|
|
* cp-tree.h (is_friend_type): Delete decl.
|
2139 |
|
|
|
2140 |
|
|
* decl.c (original_result_rtx, double_ftype_double,
|
2141 |
|
|
double_ftype_double_double, int_ftype_int, long_ftype_long,
|
2142 |
|
|
float_ftype_float, ldouble_ftype_ldouble, last_dtor_insn): Make static.
|
2143 |
|
|
* typeck.c (original_result_rtx, warn_synth): Delete extern decls.
|
2144 |
|
|
|
2145 |
|
|
* decl.c (push_overloaded_decl{,_top_level}): Make static, adding
|
2146 |
|
|
fwd decls.
|
2147 |
|
|
* cp-tree.h (push_overloaded_decl{,_top_level}): Delete decls.
|
2148 |
|
|
|
2149 |
|
|
* decl.c (pushdecl_nonclass_level): #if 0, unused.
|
2150 |
|
|
* cp-tree.h (pushdecl_nonclass_level): #if 0 decl.
|
2151 |
|
|
|
2152 |
|
|
* lex.c (reinit_lang_specific): #if 0, unused.
|
2153 |
|
|
* cp-tree.h (reinit_lang_specific): #if 0 decl.
|
2154 |
|
|
|
2155 |
|
|
* decl.c (revert_static_member_fn): Make static, adding fwd decl.
|
2156 |
|
|
* cp-tree.h (revert_static_member_fn): Delete decl.
|
2157 |
|
|
|
2158 |
|
|
* class.c (root_lang_context_p): Delete fn.
|
2159 |
|
|
* cp-tree.h (root_lang_context_p): Delete decl.
|
2160 |
|
|
|
2161 |
|
|
* decl.c (set_current_level_tags_transparency): #if 0, unused.
|
2162 |
|
|
* cp-tree.h (set_current_level_tags_transparency): #if 0 decl.
|
2163 |
|
|
|
2164 |
|
|
* lex.c (set_vardecl_interface_info): Make static.
|
2165 |
|
|
* cp-tree.h (set_vardecl_interface_info): Delete decl.
|
2166 |
|
|
|
2167 |
|
|
* call.c (find_scoped_type): Make static.
|
2168 |
|
|
* cp-tree.h (find_scoped_type): Delete decl.
|
2169 |
|
|
|
2170 |
|
|
* search.c (convert_pointer_to_vbase): Make static.
|
2171 |
|
|
* cp-tree.h (convert_pointer_to_vbase): Delete decl.
|
2172 |
|
|
|
2173 |
|
|
* decl.c (const_ptr_type_node): Likewise.
|
2174 |
|
|
* cp-tree.h (const_ptr_type_node): Delete decl.
|
2175 |
|
|
|
2176 |
|
|
* typeck.c (common_base_type): Make static.
|
2177 |
|
|
* cp-tree.h (common_base_types): Delete erroneous decl.
|
2178 |
|
|
|
2179 |
|
|
* pt.c (classtype_mangled_name): Make static.
|
2180 |
|
|
* cp-tree.h (classtype_mangled_name): Delete decl.
|
2181 |
|
|
|
2182 |
|
|
* lex.c (check_newline): Make static.
|
2183 |
|
|
* cp-tree.h (check_newline): Delete decl.
|
2184 |
|
|
|
2185 |
|
|
* typeck.c (build_x_array_ref): Delete fn, same idea as
|
2186 |
|
|
grok_array_decl.
|
2187 |
|
|
* cp-tree.h (build_x_array_ref): Delete decl.
|
2188 |
|
|
|
2189 |
|
|
* lex.c (copy_decl_lang_specific): Delete fn, same idea as
|
2190 |
|
|
copy_lang_decl.
|
2191 |
|
|
* cp-tree.h (copy_decl_lang_specific): #if 0 decl.
|
2192 |
|
|
|
2193 |
|
|
* class.c (build_vtable_entry): Make static.
|
2194 |
|
|
* cp-tree.h (build_vtable_entry): Delete decl.
|
2195 |
|
|
|
2196 |
|
|
* class.c (build_vbase_pointer): Make static.
|
2197 |
|
|
* cp-tree.h (build_vbase_pointer): Delete decl.
|
2198 |
|
|
|
2199 |
|
|
* sig.c (build_sptr_ref): Add forward decl and make static.
|
2200 |
|
|
* cp-tree.h (build_sptr_ref): Delete decl.
|
2201 |
|
|
|
2202 |
|
|
* call.c (build_new_method_call): Add forward decl and make static.
|
2203 |
|
|
* cp-tree.h (build_new_method_call): Delete decl.
|
2204 |
|
|
|
2205 |
|
|
* call.c (build_object_call): Make static.
|
2206 |
|
|
* class.c (check_for_override, complete_type_p, mark_overriders):
|
2207 |
|
|
Likewise.
|
2208 |
|
|
* decl.c (cp_function_chain): Likewise.
|
2209 |
|
|
* lex.c (set_typedecl_interface_info, reinit_parse_for_block):
|
2210 |
|
|
Likewise.
|
2211 |
|
|
* pt.c (comp_template_args, get_class_bindings, push_tinst_level):
|
2212 |
|
|
Likewise.
|
2213 |
|
|
* tree.c (build_cplus_array_type_1): Likewise.
|
2214 |
|
|
* typeck.c (comp_ptr_ttypes_{const,real,reinterpret}): Likewise.
|
2215 |
|
|
(comp_target_parms): Likewise.
|
2216 |
|
|
|
2217 |
|
|
* init.c (build_builtin_call): Make static.
|
2218 |
|
|
* cp-tree.h (build_builtin_call): Delete decl.
|
2219 |
|
|
|
2220 |
|
|
* typeck.c (binary_op_error): Delete decl.
|
2221 |
|
|
* cp-tree.h (binary_op_error): Likewise.
|
2222 |
|
|
|
2223 |
|
|
Thu Mar 6 16:13:52 1997 Brendan Kehoe
|
2224 |
|
|
|
2225 |
|
|
* call.c (build_method_call): Compare against error_mark_node
|
2226 |
|
|
directly, rather than the ERROR_MARK tree code.
|
2227 |
|
|
* cvt.c (cp_convert): Likewise.
|
2228 |
|
|
* decl.c (print_binding_level): Likewise.
|
2229 |
|
|
(duplicate_decls): Likewise.
|
2230 |
|
|
(grokdeclarator): Likewise.
|
2231 |
|
|
(grokdeclarator): Likewise.
|
2232 |
|
|
* init.c (expand_aggr_init_1): Likewise.
|
2233 |
|
|
(decl_constant_value): Likewise.
|
2234 |
|
|
* method.c (build_opfncall): Likewise.
|
2235 |
|
|
(hack_identifier): Likewise.
|
2236 |
|
|
* typeck.c (build_modify_expr): Likewise.
|
2237 |
|
|
|
2238 |
|
|
* typeck.c (build_c_cast): Don't decl TYPE as register tree.
|
2239 |
|
|
|
2240 |
|
|
Sun Mar 2 02:54:36 1997 Bruno Haible
|
2241 |
|
|
|
2242 |
|
|
* pt.c (unify): Strip NOP_EXPR wrappers before unifying integer values.
|
2243 |
|
|
|
2244 |
|
|
* pt.c (coerce_template_parms): Add new error message.
|
2245 |
|
|
|
2246 |
|
|
* method.c (build_overload_value): Implement name mangling for
|
2247 |
|
|
floating-point template arguments.
|
2248 |
|
|
|
2249 |
|
|
* method.c (build_overload_int, icat, dicat): Fix mangling of template
|
2250 |
|
|
arguments whose absolute value doesn't fit in a signed word.
|
2251 |
|
|
|
2252 |
|
|
Mon Mar 3 12:14:54 1997 Brendan Kehoe
|
2253 |
|
|
|
2254 |
|
|
* friend.c: New file; put all of the friend stuff in here.
|
2255 |
|
|
* init.c: Instead of here.
|
2256 |
|
|
* Makefile.in (CXX_OBJS): Add friend.o.
|
2257 |
|
|
(friend.o): Add dependencies.
|
2258 |
|
|
* Make-lang.in (CXX_SRCS): Add $(srcdir)/cp/friend.c.
|
2259 |
|
|
|
2260 |
|
|
Sun Mar 2 11:04:43 1997 Jason Merrill
|
2261 |
|
|
|
2262 |
|
|
* call.c (build_scoped_method_call): Complain if the scope isn't a
|
2263 |
|
|
base.
|
2264 |
|
|
|
2265 |
|
|
Wed Feb 26 11:31:06 1997 Jason Merrill
|
2266 |
|
|
|
2267 |
|
|
* parse.y (left_curly): Don't crash on erroneous type.
|
2268 |
|
|
|
2269 |
|
|
* init.c (build_delete): Fix type of ref.
|
2270 |
|
|
|
2271 |
|
|
Tue Feb 25 12:41:48 1997 Jason Merrill
|
2272 |
|
|
|
2273 |
|
|
* search.c (get_vbase_1): Renamed from get_vbase.
|
2274 |
|
|
(get_vbase): Wrapper, now non-static.
|
2275 |
|
|
(convert_pointer_to_vbase): Now static.
|
2276 |
|
|
|
2277 |
|
|
* call.c (build_scoped_method_call): Accept a binfo for BASETYPE.
|
2278 |
|
|
* init.c (build_delete): Pass one.
|
2279 |
|
|
(build_partial_cleanup_for): Use build_scoped_method_call.
|
2280 |
|
|
* decl.c (finish_function): Pass a binfo.
|
2281 |
|
|
|
2282 |
|
|
Mon Feb 24 15:00:12 1997 Jason Merrill
|
2283 |
|
|
|
2284 |
|
|
* call.c (build_over_call): Only synthesize non-trivial copy ctors.
|
2285 |
|
|
|
2286 |
|
|
* typeck.c (build_c_cast): Lose other reference to flag.
|
2287 |
|
|
|
2288 |
|
|
* call.c (build_field_call): Don't look for [cd]tor_identifier.
|
2289 |
|
|
* decl2.c (delete_sanity): Remove meaningless use of
|
2290 |
|
|
LOOKUP_HAS_IN_CHARGE.
|
2291 |
|
|
* decl.c (finish_function): Use build_scoped_method_call instead
|
2292 |
|
|
of build_delete for running vbase dtors.
|
2293 |
|
|
* init.c (build_delete): Call overload resolution code instead of
|
2294 |
|
|
duplicating it badly.
|
2295 |
|
|
|
2296 |
|
|
Thu Feb 20 15:12:15 1997 Jason Merrill
|
2297 |
|
|
|
2298 |
|
|
* call.c (build_over_call): Call mark_used before trying to elide
|
2299 |
|
|
the call.
|
2300 |
|
|
|
2301 |
|
|
* decl.c (implicitly_declare): Don't set DECL_ARTIFICIAL.
|
2302 |
|
|
|
2303 |
|
|
Wed Feb 19 11:18:53 1997 Brendan Kehoe
|
2304 |
|
|
|
2305 |
|
|
* typeck.c (build_modify_expr): Always pedwarn for a cast to
|
2306 |
|
|
non-reference used as an lvalue.
|
2307 |
|
|
|
2308 |
|
|
Wed Feb 19 10:35:37 1997 Jason Merrill
|
2309 |
|
|
|
2310 |
|
|
* cvt.c (cp_convert_to_pointer): Convert from 0 to a pmf properly.
|
2311 |
|
|
|
2312 |
|
|
Tue Feb 18 15:40:57 1997 Jason Merrill
|
2313 |
|
|
|
2314 |
|
|
* parse.y (handler): Fix template typo.
|
2315 |
|
|
|
2316 |
|
|
Sun Feb 16 02:12:28 1997 Jason Merrill
|
2317 |
|
|
|
2318 |
|
|
* error.c (lang_decl_name): New fn.
|
2319 |
|
|
* tree.c (lang_printable_name): Use it.
|
2320 |
|
|
|
2321 |
|
|
Fri Feb 14 16:57:05 1997 Mike Stump
|
2322 |
|
|
|
2323 |
|
|
* g++spec.c: Include config.h so that we can catch bzero #defines
|
2324 |
|
|
from the config file.
|
2325 |
|
|
|
2326 |
|
|
Tue Feb 11 13:50:48 1997 Mike Stump
|
2327 |
|
|
|
2328 |
|
|
* new1.cc: Include a declaration for malloc, to avoid warning, and
|
2329 |
|
|
avoid lossing on systems that require one (ones that define malloc
|
2330 |
|
|
in xm.h).
|
2331 |
|
|
|
2332 |
|
|
Mon Feb 10 22:51:13 1997 Bruno Haible
|
2333 |
|
|
|
2334 |
|
|
* decl2.c (max_tinst_depth): New variable.
|
2335 |
|
|
(lang_decode_option): Parse "-ftemplate-depth-NN" command line
|
2336 |
|
|
option.
|
2337 |
|
|
* pt.c (max_tinst_depth): Variable moved.
|
2338 |
|
|
* lang-options.h: Declare "-ftemplate-depth-NN" command line option
|
2339 |
|
|
as legal.
|
2340 |
|
|
|
2341 |
|
|
Fri Feb 7 15:43:34 1997 Jason Merrill
|
2342 |
|
|
|
2343 |
|
|
* decl.c (xref_basetypes): Allow a base class that depends on
|
2344 |
|
|
template parms to be incomplete.
|
2345 |
|
|
|
2346 |
|
|
* decl2.c (build_expr_from_tree): Support typeid(type).
|
2347 |
|
|
* rtti.c (get_typeid): Support templates.
|
2348 |
|
|
(expand_si_desc, expand_class_desc): Fix string length.
|
2349 |
|
|
(expand_ptr_desc, expand_attr_desc, expand_generic_desc): Likewise.
|
2350 |
|
|
|
2351 |
|
|
Tue Feb 4 11:28:24 1997 Jason Merrill
|
2352 |
|
|
|
2353 |
|
|
* pt.c (unify, case TEMPLATE_CONST_PARM): Use cp_tree_equal.
|
2354 |
|
|
|
2355 |
|
|
* pt.c (tsubst): Put it back for -fno-ansi-overloading.
|
2356 |
|
|
|
2357 |
|
|
Mon Feb 3 18:41:12 1997 Jason Merrill
|
2358 |
|
|
|
2359 |
|
|
* pt.c (tsubst, case FUNCTION_DECL): Lose obsolete code that
|
2360 |
|
|
smashes together template and non-template decls of the same
|
2361 |
|
|
signature.
|
2362 |
|
|
|
2363 |
|
|
Thu Jan 30 19:18:00 1997 Jason Merrill
|
2364 |
|
|
|
2365 |
|
|
* pt.c (tsubst): Don't recurse for the type of a TYPENAME_TYPE.
|
2366 |
|
|
|
2367 |
|
|
Wed Jan 29 11:40:35 1997 Brendan Kehoe
|
2368 |
|
|
|
2369 |
|
|
* decl.c (duplicate_decls): Next route, pedwarn about different
|
2370 |
|
|
exceptions if -pedantic *or* olddecl !DECL_IN_SYSTEM_HEADER.
|
2371 |
|
|
|
2372 |
|
|
Tue Jan 28 20:43:29 1997 Brendan Kehoe
|
2373 |
|
|
|
2374 |
|
|
* cp-tree.h (HAS_DEFAULT_IMPLEMENTATION): Delete macro.
|
2375 |
|
|
(struct lang_type): Delete has_default_implementation member.
|
2376 |
|
|
Increase dummy to 21.
|
2377 |
|
|
* decl.c (start_method): Delete usage.
|
2378 |
|
|
|
2379 |
|
|
* cp-tree.h (build_call, null_ptr_cst_p, in_function_p,
|
2380 |
|
|
store_after_parms, start_decl_1, auto_function): Add decls.
|
2381 |
|
|
(get_arglist_len_in_bytes, declare_implicit_exception,
|
2382 |
|
|
have_exceptions_p, make_type_decl, typedecl_for_tag,
|
2383 |
|
|
store_in_parms, pop_implicit_try_blocks, push_exception_cleanup,
|
2384 |
|
|
build_component_type_expr, cplus_exception_name,
|
2385 |
|
|
{make,clear}_anon_parm_name, dont_see_typename): Removed decls.
|
2386 |
|
|
* call.c (build_this): Make static.
|
2387 |
|
|
(is_complete): Likewise.
|
2388 |
|
|
(implicit_conversion): Likewise.
|
2389 |
|
|
(reference_binding): Likewise.
|
2390 |
|
|
(standard_conversion): Likewise.
|
2391 |
|
|
(strip_top_quals): Likewise.
|
2392 |
|
|
(non_reference): Likewise.
|
2393 |
|
|
(build_conv): Likewise.
|
2394 |
|
|
(user_harshness): Likewise.
|
2395 |
|
|
(rank_for_ideal): Likewise.
|
2396 |
|
|
* decl.c (start_decl_1): Delete forward decl.
|
2397 |
|
|
(push_decl_level): Make static.
|
2398 |
|
|
(resume_binding_level): Make static.
|
2399 |
|
|
(namespace_bindings_p): Make static.
|
2400 |
|
|
(declare_namespace_level): Make static.
|
2401 |
|
|
(lookup_name_real): Make static.
|
2402 |
|
|
(duplicate_decls): Make static. Take register off NEWDECL and
|
2403 |
|
|
OLDDECL parm decls.
|
2404 |
|
|
* decl2.c (get_sentry): Make static.
|
2405 |
|
|
(temp_name_p): Delete fn.
|
2406 |
|
|
* except.c (auto_function): Delete decl.
|
2407 |
|
|
* lex.c (handle_{cp,sysv}_pragma): Make static.
|
2408 |
|
|
(handle_sysv_pragma) [HANDLE_SYSV_PRAGMA]: Add forward decl.
|
2409 |
|
|
* method.c (do_build_{copy_constructor,assign_ref}): Make static.
|
2410 |
|
|
* pt.c (tsubst_expr_values): Make static.
|
2411 |
|
|
* rtti.c (combine_strings): Delete decl.
|
2412 |
|
|
|
2413 |
|
|
Tue Jan 28 16:40:40 1997 Jason Merrill
|
2414 |
|
|
|
2415 |
|
|
* pt.c (push_template_decl): Handle getting a typedef.
|
2416 |
|
|
|
2417 |
|
|
* call.c (build_new_function_call): Complain about void arg.
|
2418 |
|
|
|
2419 |
|
|
Tue Jan 28 15:25:09 1997 Brendan Kehoe
|
2420 |
|
|
|
2421 |
|
|
* decl.c (duplicate_decls): Give pedwarn of different exceptions
|
2422 |
|
|
if -pedantic, instead of olddecl !DECL_IN_SYSTEM_HEADER.
|
2423 |
|
|
|
2424 |
|
|
Mon Jan 27 19:21:29 1997 Mike Stump
|
2425 |
|
|
|
2426 |
|
|
* except.c (expand_throw): Don't expand the cleanup tree here,
|
2427 |
|
|
since we are not going to write the rtl out. Fixes problem with
|
2428 |
|
|
-g -O on SPARC.
|
2429 |
|
|
|
2430 |
|
|
Mon Jan 27 16:24:35 1997 Sean McNeil
|
2431 |
|
|
|
2432 |
|
|
* Make-lang.in: Add $(exeext) as necessary.
|
2433 |
|
|
|
2434 |
|
|
Mon Jan 27 13:20:39 1997 Mike Stump
|
2435 |
|
|
|
2436 |
|
|
* parse.y (handler_seq): Must have at least one catch clause.
|
2437 |
|
|
|
2438 |
|
|
Sat Jan 25 12:00:05 1997 Jason Merrill
|
2439 |
|
|
|
2440 |
|
|
* call.c (add_builtin_candidate): Restore ?: hack.
|
2441 |
|
|
|
2442 |
|
|
* decl.c (grok_op_properties): More warnings.
|
2443 |
|
|
|
2444 |
|
|
Sat Jan 25 08:50:03 1997 Brendan Kehoe
|
2445 |
|
|
|
2446 |
|
|
* decl.c (duplicate_decls): On second thought, do it as a pedwarn
|
2447 |
|
|
still but only if !DECL_IN_SYSTEM_HEADER (olddecl).
|
2448 |
|
|
|
2449 |
|
|
* decl.c (duplicate_decls): Scale back to a warning, and only do
|
2450 |
|
|
'em if -pedantic.
|
2451 |
|
|
|
2452 |
|
|
Fri Jan 24 17:52:54 1997 Mike Stump
|
2453 |
|
|
|
2454 |
|
|
* decl.c (duplicate_decls): pedwarn mismatched exception
|
2455 |
|
|
specifications.
|
2456 |
|
|
|
2457 |
|
|
Thu Jan 23 18:18:54 1997 Mike Stump
|
2458 |
|
|
|
2459 |
|
|
* call.c (build_new_method_call): Don't display the invisible
|
2460 |
|
|
argument for controlling virtual bases.
|
2461 |
|
|
|
2462 |
|
|
Thu Jan 23 16:48:10 1997 Mike Stump
|
2463 |
|
|
|
2464 |
|
|
* new: Add nothrow new and delete, bad_alloc and throw specifications
|
2465 |
|
|
for delete.
|
2466 |
|
|
* decl.c (init_decl_processing): Add throw specification for delete.
|
2467 |
|
|
* new.cc (nothrow): Define.
|
2468 |
|
|
* lex.c (real_yylex): Removing warning that throw and friends are
|
2469 |
|
|
keywords.
|
2470 |
|
|
* new1.cc (operator new (size_t sz, const nothrow_t&)): Define.
|
2471 |
|
|
* new2.cc (operator new[] (size_t sz, const nothrow_t&): Define.
|
2472 |
|
|
* Make-lang.in: Add new{1,2}.{cc,o}.
|
2473 |
|
|
|
2474 |
|
|
Thu Jan 23 16:39:06 1997 Jason Merrill
|
2475 |
|
|
|
2476 |
|
|
* lex.c (cons_up_default_function): Fix return type of synth op=.
|
2477 |
|
|
|
2478 |
|
|
* init.c (emit_base_init): Add warnings for uninitialized members
|
2479 |
|
|
and bases.
|
2480 |
|
|
|
2481 |
|
|
* decl.c (xref_basetypes): Add warning for non-polymorphic type
|
2482 |
|
|
with destructor used as base type.
|
2483 |
|
|
|
2484 |
|
|
* decl.c (grok_op_properties): Add warning for op= returning void.
|
2485 |
|
|
* typeck.c (c_expand_return): Add warning for op= returning anything
|
2486 |
|
|
other than *this.
|
2487 |
|
|
|
2488 |
|
|
* class.c (finish_struct_1): Add warning for class with pointers
|
2489 |
|
|
but not copy ctor or copy op=.
|
2490 |
|
|
|
2491 |
|
|
* cp-tree.h (TI_PENDING_TEMPLATE_FLAG): New macro.
|
2492 |
|
|
* pt.c (add_pending_template): Use it instead of LANG_FLAG_0.
|
2493 |
|
|
(instantiate_template): If -fexternal-templates, add this
|
2494 |
|
|
instantiation to pending_templates.
|
2495 |
|
|
|
2496 |
|
|
* decl2.c (copy_assignment_arg_p): Disable old hack to support
|
2497 |
|
|
Booch components.
|
2498 |
|
|
|
2499 |
|
|
Tue Jan 21 18:32:04 1997 Mike Stump
|
2500 |
|
|
|
2501 |
|
|
* cvt.c (cp_convert): pedwarn enum to pointer conversions.
|
2502 |
|
|
|
2503 |
|
|
Mon Jan 20 17:59:51 1997 Jason Merrill
|
2504 |
|
|
|
2505 |
|
|
* call.c (standard_conversion): Handle getting references. Tack
|
2506 |
|
|
on RVALUE_CONV here. Do it for non-class types, too.
|
2507 |
|
|
(reference_binding): Pass references to standard_conversion.
|
2508 |
|
|
(implicit_conversion): Likewise.
|
2509 |
|
|
(add_builtin_candidate): Disable one ?: kludge.
|
2510 |
|
|
(convert_like): Handle RVALUE_CONVs for non-class types.
|
2511 |
|
|
(joust): Disable the other ?: kludge.
|
2512 |
|
|
|
2513 |
|
|
Mon Jan 20 14:53:13 1997 Brendan Kehoe
|
2514 |
|
|
|
2515 |
|
|
* decl.c (init_decl_processing): Add code to build up common
|
2516 |
|
|
function types beforehand, to avoid creation then removal of
|
2517 |
|
|
things already in the hash table.
|
2518 |
|
|
|
2519 |
|
|
Mon Jan 20 14:43:49 1997 Jason Merrill
|
2520 |
|
|
|
2521 |
|
|
* decl.c (finish_function): Also zero out DECL_INCOMING_RTL for
|
2522 |
|
|
the arguments.
|
2523 |
|
|
|
2524 |
|
|
* error.c (dump_expr, TEMPLATE_CONST_PARM): Don't require
|
2525 |
|
|
current_template_parms.
|
2526 |
|
|
|
2527 |
|
|
Fri Jan 17 10:25:42 1997 Jason Merrill
|
2528 |
|
|
|
2529 |
|
|
* search.c (lookup_field): Don't return a function, check want_type.
|
2530 |
|
|
|
2531 |
|
|
Thu Jan 16 18:14:35 1997 Brendan Kehoe
|
2532 |
|
|
|
2533 |
|
|
* init.c (build_new): Make sure PLACEMENT has a type.
|
2534 |
|
|
|
2535 |
|
|
Thu Jan 16 17:40:28 1997 Jason Merrill
|
2536 |
|
|
|
2537 |
|
|
* init.c (build_new): Support new (nothrow).
|
2538 |
|
|
|
2539 |
|
|
Wed Jan 15 12:38:14 1997 Jason Merrill
|
2540 |
|
|
|
2541 |
|
|
* pt.c (instantiate_decl): Also do push_to_top_level before setting
|
2542 |
|
|
up DECL_INITIAL.
|
2543 |
|
|
|
2544 |
|
|
* cp-tree.h (PARM_DEFAULT_FROM_TEMPLATE): New macro.
|
2545 |
|
|
* pt.c (tsubst): Defer instantiation of default args.
|
2546 |
|
|
* call.c (build_over_call): Until here.
|
2547 |
|
|
|
2548 |
|
|
Wed Jan 15 10:08:10 1997 Brendan Kehoe
|
2549 |
|
|
|
2550 |
|
|
* search.c (lookup_field): Make sure we have an
|
2551 |
|
|
IDENTIFIER_CLASS_VALUE before we try to return it.
|
2552 |
|
|
|
2553 |
|
|
Thu Jan 9 07:19:01 1997 Brendan Kehoe
|
2554 |
|
|
|
2555 |
|
|
* call.c (build_method_call): Delete unused var PARM.
|
2556 |
|
|
(build_overload_call_real): Likewise.
|
2557 |
|
|
(build_object_call): Delete unused var P.
|
2558 |
|
|
(build_new_op): Likewise.
|
2559 |
|
|
* decl.c (builtin_type_tdescs_{arr, len, max}): #if 0 out static
|
2560 |
|
|
var definitions, which are never used.
|
2561 |
|
|
(shadow_tag): Delete unused var FN.
|
2562 |
|
|
* expr.c (cplus_expand_expr): Delete unused var ORIGINAL_TARGET.
|
2563 |
|
|
* init.c (build_new): Delete unused var ALLOC_TEMP.
|
2564 |
|
|
* method.c (hack_identifier): Delete unused var CONTEXT.
|
2565 |
|
|
(do_build_copy_constructor): Delete unused var NAME.
|
2566 |
|
|
(synthesize_method): Delete unused var BASE.
|
2567 |
|
|
* pt.c (lookup_template_class): Delete unused var CODE_TYPE_NODE.
|
2568 |
|
|
* rtti.c (build_headof): Delete unused var VPTR.
|
2569 |
|
|
(get_typeid): Delete unused var T.
|
2570 |
|
|
* typeck.c (build_conditional_expr): Delete unused vars ORIG_OP1
|
2571 |
|
|
and ORIG_OP2.
|
2572 |
|
|
(build_ptrmemfunc): Delete unused vars U and NINDEX.
|
2573 |
|
|
* typeck2.c (build_functional_cast): Delete unused var BINFO.
|
2574 |
|
|
|
2575 |
|
|
Wed Jan 8 13:09:54 1997 Jason Merrill
|
2576 |
|
|
|
2577 |
|
|
* search.c (lookup_field): Use IDENTIFIER_CLASS_VALUE to look up
|
2578 |
|
|
things in a type being defined.
|
2579 |
|
|
* decl.c (finish_enum): Reverse the values so that they are in
|
2580 |
|
|
the correct order.
|
2581 |
|
|
|
2582 |
|
|
* pt.c (instantiate_class_template): Don't initialize
|
2583 |
|
|
BINFO_BASETYPES until the vector is filled out.
|
2584 |
|
|
(unify): Don't abort on conflicting bindings, just fail.
|
2585 |
|
|
(instantiate_decl): Do push_tinst_level before any tsubsting.
|
2586 |
|
|
|
2587 |
|
|
* method.c (build_overload_value): Handle getting a
|
2588 |
|
|
TEMPLATE_CONST_PARM for a pointer.
|
2589 |
|
|
|
2590 |
|
|
Tue Jan 7 14:00:58 1997 Jason Merrill
|
2591 |
|
|
|
2592 |
|
|
* init.c (expand_member_init): Don't give 'not a base' error for
|
2593 |
|
|
templates.
|
2594 |
|
|
|
2595 |
|
|
* pt.c (instantiate_decl): Call import_export_decl later.
|
2596 |
|
|
|
2597 |
|
|
* pt.c (instantiate_class_template): Return a value.
|
2598 |
|
|
|
2599 |
|
|
* parse.y (extension): New rule for __extension__.
|
2600 |
|
|
(extdef, unary_expr, decl, component_decl): Use it.
|
2601 |
|
|
|
2602 |
|
|
Tue Jan 7 09:20:28 1997 Mike Stump
|
2603 |
|
|
|
2604 |
|
|
* class.c (base_binfo): Remove unused base_has_virtual member.
|
2605 |
|
|
(finish_base_struct): Likewise.
|
2606 |
|
|
(finish_struct_1): Likewise.
|
2607 |
|
|
|
2608 |
|
|
|
2609 |
|
|
|
2610 |
|
|
Copyright (C) 1997 Free Software Foundation, Inc.
|
2611 |
|
|
|
2612 |
|
|
Copying and distribution of this file, with or without modification,
|
2613 |
|
|
are permitted in any medium without royalty provided the copyright
|
2614 |
|
|
notice and this notice are preserved.
|