]>
Commit | Line | Data |
---|---|---|
5c24fba6 MM |
1 | 2000-03-14 Mark Mitchell <mark@codesourcery.com> |
2 | ||
3 | * cp-tree.h: Tweak documentation. | |
4 | * class.c (build_vbase_pointer_fields): Layout the fields, too. | |
5 | (avoid_overlap): Remove. | |
6 | (get_binfo_offset_as_int): New function. | |
7 | (dfs_serach_base_offsets): Likewise. | |
8 | (layout_nonempty_base_or_field): Likewise. | |
9 | (build_base_field): Layout fields here. Avoid placing two objects | |
10 | of the same type at the same address, under the new ABI. | |
11 | (build_base_fields): Adjust accordingly. | |
12 | (create_vtable_ptr): Return the new field, but don't attach it to | |
13 | TYPE_FIELDS. | |
14 | (remove_base_field): Remove. | |
15 | (remove_base_fields): Remove. | |
16 | (layout_basetypes): Adjust accordingly. | |
17 | (layout_class_type): Call layout_field for each field, rather than | |
18 | just making a wholesale call to layout_type. | |
19 | ||
d9420976 JS |
20 | 2000-03-14 Jeff Sturm <jsturm@sigma6.com> |
21 | ||
22 | * except.c (expand_throw): Fix typo in _Jv_Sjlj_Throw. | |
23 | ||
93ca4ba7 JM |
24 | 2000-03-13 Jason Merrill <jason@casey.cygnus.com> |
25 | ||
26 | * decl.c (grokfndecl): Set TREE_NOTHROW if TYPE_NOTHROW_P. | |
27 | ||
28 | * except.c (dtor_nothrow): New fn. | |
29 | (do_pop_exception): Use it. Take type parm. | |
30 | (push_eh_cleanup): Take type parm. | |
31 | (expand_start_catch_block): Pass it. | |
32 | (build_eh_type_type_ref): Accept null type. | |
33 | ||
3afb32a4 MM |
34 | 2000-03-12 Mark Mitchell <mark@codesourcery.com> |
35 | ||
36 | * cp-tree.h (revert_static_member_fn): Change prototype. | |
37 | * decl.c (grokfndecl): Adjust call to revert_static_member_fn. | |
38 | (grok_op_properties): Likewise. | |
39 | (start_function): Likewise. | |
40 | (revert_static_member_fn): Simplify. | |
41 | * pt.c (check_explicit_specialization): Adjust call to | |
42 | revert_static_member_fn. | |
43 | ||
74b846e0 MM |
44 | 2000-03-11 Mark Mitchell <mark@codesourcery.com> |
45 | ||
46 | * cp-tree.h (scope_kind): New type. | |
47 | (tmpl_spec_kind): Likewise. | |
48 | (declare_pseudo_global_level): Remove. | |
49 | (pseudo_global_level_p): Rename to template_parm_scope_p. | |
50 | (pushlevel): Remove declaration. | |
51 | (begin_scope): New function. | |
52 | (finish_scope): Likewise. | |
53 | (current_tmpl_spec_kind): Likewise. | |
54 | * decl.c (struct binding_level): Shorten parm_flag to 2 bits. | |
55 | Shorten keep to 2 bits. Rename pseudo_global to template_parms_p. | |
56 | Add template_spec_p. | |
57 | (toplevel_bindings_p): Adjust. | |
58 | (declare_pseudo_global_level): Remove. | |
59 | (pseudo_global_level_p): Rename to template_parm_scope_p. | |
60 | (current_tmpl_spec_kind): New function. | |
61 | (begin_scope): Likewise. | |
62 | (finish_scope): Likewise. | |
63 | (maybe_push_to_top_level): Adjust. | |
64 | (maybe_process_template_type_declaration): Likewise. | |
65 | (pushtag): Likewise. | |
66 | (pushdecl_nonclass_level): Likewise. | |
67 | (lookup_tag): Likewise. | |
68 | (grokfndecl): Handle member template specializations. Share | |
69 | constructor and non-constructor code. | |
70 | * decl2.c (check_classfn): Handle member template specializations. | |
71 | * pt.c (begin_template_parm_list): Use begin_scope. | |
72 | (begin_specialization): Likewise. | |
73 | (end_specialization): Likewise. | |
74 | (check_explicit_specialization): Use current_tmpl_spec_kind. | |
75 | Handle member template specializations. | |
76 | (end_template_decl): Use finish_scope. Remove call to | |
77 | get_pending_sizes. | |
78 | (push_template_decl_real): Remove bogus error message. | |
79 | (tsubst_decl): Fix typo in code contained in comment. | |
80 | (instantiate_template): Handle member template specializations. | |
81 | (most_general_template): Likewise. | |
82 | ||
b4f4233d GDR |
83 | 2000-03-11 Gabriel Dos Reis <gdr@codesourcery.com> |
84 | ||
85 | * lex.c (whitespace_cr): Compress consecutive calls to warning(). | |
86 | (do_identifier): Ditto for error(). | |
87 | ||
88 | * pt.c (convert_nontype_argument): Ditto for cp_error(). | |
89 | (convert_template_argument): Ditto for cp_pedwarn(). | |
90 | ||
1ef9f749 JM |
91 | 2000-03-11 Jason Merrill <jason@casey.cygnus.com> |
92 | ||
93 | * exception.cc (__check_null_eh_spec): New fn. | |
94 | * except.c (expand_end_eh_spec): Call it if the spec is throw(). | |
95 | ||
cf74fb86 JM |
96 | 2000-03-10 Jason Merrill <jason@casey.cygnus.com> |
97 | ||
98 | * decl.c (push_throw_library_fn): Take the FUNCTION_TYPE. | |
99 | * except.c (expand_end_eh_spec): Add the return type. | |
100 | * rtti.c (throw_bad_cast): Add the parmtypes. | |
101 | (throw_bad_typeid): Likewise. | |
102 | ||
103 | * semantics.c (expand_stmt): Only leave out rtl for unused | |
104 | artificials, and set DECL_IGNORED_P on them as well. | |
105 | * decl.c (wrapup_globals_for_namespace): Likewise. | |
106 | ||
107 | 2000-03-09 Nathan Sidwell <nathan@codesourcery.com> | |
108 | ||
109 | * decl.c (maybe_commonize_var): Skip all artificial decls. | |
110 | * pt.c (tsubst_decl): Don't copy TREE_ASM_WRITTEN. | |
111 | ||
0c11ada6 JM |
112 | 2000-03-10 Jason Merrill <jason@casey.cygnus.com> |
113 | ||
1660cb3a JM |
114 | * lang-options.h, decl2.c: Add -fno-enforce-eh-specs. |
115 | * cp-tree.h: Declare flag_enforce_eh_specs. | |
116 | * decl.c (store_parm_decls, finish_function): Check it. | |
117 | ||
118 | C library functions don't throw. | |
119 | * Makefile.in (cfns.h): New target. | |
120 | (except.o): Depend on it. | |
121 | * Make-lang.in (cc1plus): Depend on cfns.gperf. | |
122 | * cfns.gperf: New file. | |
123 | * cfns.h: Generated. | |
124 | * except.c: Include it. | |
125 | (nothrow_libfn_p): New fn. | |
126 | * decl.c (grokfndecl): Use it. | |
127 | * cp-tree.h: Declare it. | |
128 | ||
0c11ada6 JM |
129 | * decl.c (push_overloaded_decl_1, auto_function, |
130 | define_function): Lose. | |
131 | (build_library_fn_1): New static fn. | |
132 | (builtin_function): Use it. | |
133 | (get_atexit_node): Use build_library_fn_ptr. | |
134 | (build_library_fn, build_cp_library_fn, build_library_fn_ptr, | |
135 | build_cp_library_fn_ptr, push_library_fn, push_cp_library_fn, | |
136 | push_void_library_fn, push_throw_library_fn): New fns. | |
137 | * cp-tree.h: Declare them. | |
138 | (cp_tree_index): Remove CPTI_BAD_CAST, CPTI_BAD_TYPEID. | |
139 | (throw_bad_cast_node, throw_bad_typeid_node): Lose. | |
140 | * except.c (init_exception_processing, call_eh_info, do_pop_exception, | |
141 | (expand_end_eh_spec, alloc_eh_object, expand_throw): Use above fns. | |
142 | * rtti.c (build_runtime_decl): Lose. | |
143 | (throw_bad_cast, throw_bad_typeid, get_tinfo_decl, | |
144 | build_dynamic_cast_1, expand_si_desc, expand_class_desc, | |
145 | expand_ptr_desc, expand_attr_desc, expand_generic_desc): Use above fns. | |
146 | ||
147 | * call.c (build_call): Remove result_type parm. | |
148 | Call mark_used on unused artificial fns. | |
149 | * init.c, method.c, typeck.c, except.c, rtti.c: Adjust. | |
150 | ||
12a22e76 JM |
151 | 2000-03-09 Jason Merrill <jason@casey.cygnus.com> |
152 | ||
153 | * call.c (build_call): Set TREE_NOTHROW on the CALL_EXPR as | |
154 | appropriate. | |
155 | * decl.c (define_function): Set TREE_NOTHROW on the FUNCTION_DECL. | |
156 | * except.c (call_eh_info, alloc_eh_object, expand_throw): Set | |
157 | TREE_NOTHROW or TREE_THIS_VOLATILE on the function as appropriate. | |
158 | * rtti.c (build_runtime_decl, get_tinfo_decl, build_dynamic_cast_1, | |
159 | expand_si_desc, expand_class_desc, expand_ptr_desc, expand_attr_desc, | |
160 | expand_generic_desc): Likewise. | |
161 | ||
99f80c8b NS |
162 | 2000-03-08 Nathan Sidwell <nathan@codesourcery.com> |
163 | ||
164 | * exception.cc (__cp_pop_exception): Cleanup the original object. | |
165 | ||
17708e90 NS |
166 | 2000-03-08 Nathan Sidwell <nathan@codesourcery.com> |
167 | ||
168 | * decl.c (grok_op_properties): Merge conversion to void warning | |
169 | with other silly op warnings. | |
170 | ||
96756199 JM |
171 | 2000-03-08 Jason Merrill <jason@casey.cygnus.com> |
172 | ||
173 | * typeck2.c (process_init_constructor): Set TREE_PURPOSE of | |
174 | array CONSTRUCTOR elements. Don't use expr_tree_cons. | |
175 | ||
2ce07e2d NS |
176 | 2000-03-08 Nathan Sidwell <nathan@codesourcery.com> |
177 | ||
178 | * decl.c (cp_make_fname_decl): New function. | |
179 | (wrapup_globals_for_namespace): Don't emit unused static vars. | |
180 | (init_decl_processing): Remove comment about use of | |
181 | array_domain_type. Set make_fname_decl. | |
182 | (cp_finish_decl): Remove __FUNCTION__ nadgering. | |
183 | * semantics.c (begin_compound_stmt): Remove | |
184 | current_function_name_declared flagging. | |
185 | (expand_stmt): Don't emit unused local statics. | |
186 | * typeck.c (decay_conversion): Don't treat __FUNCTION__ decls | |
187 | specially. | |
188 | ||
2abda418 NS |
189 | 2000-03-08 Nathan Sidwell <nathan@codesourcery.com> |
190 | ||
191 | * typeck.c (convert_for_assignment): Don't look at array | |
192 | initializer. | |
193 | * call.c (convert_like_real): Likewise. | |
194 | ||
15f1a795 JM |
195 | 2000-03-07 Jason Merrill <jason@casey.cygnus.com> |
196 | ||
1c089156 JM |
197 | Add initial support for '\uNNNN' specifier. |
198 | * lex.c (read_ucs): New fn. | |
199 | (readescape, skip_white_space): Call it. | |
200 | (is_extended_char, is_extended_char_1): New fns. | |
201 | (utf8_extend_token): New fn, #if 0'd out. | |
202 | (real_yylex): Treat extended chars like letters. | |
203 | ||
15f1a795 JM |
204 | * search.c (note_debug_info_needed): Walk the bases even if we |
205 | weren't deferring the type itself. | |
206 | ||
3cce094d KG |
207 | 2000-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
208 | ||
209 | * decl2.c (finish_objects): Constify a char*. | |
210 | ||
211 | * method.c (emit_thunk): Likewise. | |
212 | ||
55df0175 NS |
213 | 2000-03-06 Nathan Sidwell <nathan@codesourcery.com> |
214 | ||
215 | * typeck.c (dubious_conversion_warnings): Look through | |
216 | REFERENCE_TYPE. | |
217 | ||
efd3d4a6 RK |
218 | Mon Mar 6 08:46:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
219 | ||
05bccae2 RK |
220 | * class.c (dfs_modify_vtables): I is now unsigned. |
221 | (check_bitfield_decl): Use tree_int_cst_sgn and compare_tree_int. | |
222 | (build_base_field): Add casts of TREE_INT_CST_LOW to HOST_WIDE_INT. | |
223 | * error.c (dump_expr): Cast TREE_INT_CST_HIGH to unsigned. | |
224 | * init.c (build_vec_init): Cast TREE_INT_CST_LOW to HOST_WIDE_INT. | |
225 | * method.c (build_overload_int): Cast TREE_INT_CST_HIGH to unsigned. | |
226 | * typeck.c (build_binary_op, case TRUNC_DIV_EXPR): | |
227 | Call integer_all_onesp. | |
228 | * typeck2.c (process_init_constructor): Use compare_tree_int. | |
229 | ||
efd3d4a6 RK |
230 | * lang-specs.h (as): Don't call if -syntax-only. |
231 | ||
64dc53f3 MM |
232 | 2000-03-06 Mark Mitchell <mark@codesourcery.com> |
233 | ||
234 | * expr.c (cplus_expand_expr, case STMT_EXPR): Don't set | |
235 | RTL_EXPR_HAS_NO_SCOPE after all. | |
236 | ||
971cbc14 MM |
237 | 2000-03-05 Mark Mitchell <mark@codesourcery.com> |
238 | ||
239 | * expr.c (cplus_expand_expr, case STMT_EXPR): Use | |
240 | expand_start_stmt_expr and expand_end_stmt_expr directly. Set | |
241 | RTL_EXPR_HAS_NO_SCOPE. | |
242 | ||
243 | * pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG a little | |
244 | later. | |
245 | ||
246 | * dump.c (dequeue_and_dump): Dump SCOPE_NO_CLEANUPS_P. | |
247 | ||
c3f08228 NS |
248 | 2000-03-05 Nathan Sidwell <nathan@codesourcery.com> |
249 | ||
250 | * call.c (convert_like): Macrofy. | |
251 | (convert_like_with_context): New macro. | |
252 | (convert_like_real): Renamed from convert_like. Add calling | |
253 | context parameters, for diagnostics. Add recursive flag. Call | |
254 | dubious_conversion_warnings for outer conversion. | |
255 | (build_user_type_conversion): Use convert_like_with_context. | |
256 | (build_over_call): Likewise. Don't warn about dubious | |
257 | conversions here. Adjust convert_default_arg calls. | |
258 | (convert_default_arg): Add context parameters for diagnostics. | |
259 | Pass throught to convert_like_with_context. | |
260 | * cp-tree.h (convert_default_arg): Add context parameters. | |
261 | (dubious_conversion_warnings): Prototype new function. | |
262 | * typeck.c (convert_arguments): Adjust convert_default_arg call. | |
263 | (dubious_conversion_warnings): New function, broken | |
264 | out of convert_for_assignment. | |
265 | (convert_for_assignment): Adjust. | |
266 | ||
6db20143 JM |
267 | 2000-03-03 Jason Merrill <jason@casey.cygnus.com> |
268 | ||
269 | * decl2.c (key_method): Break out from... | |
270 | (import_export_vtable, import_export_class): ...here. | |
271 | ||
272 | * decl.c (finish_function): Don't mess with flag_keep_inline_functions. | |
273 | * decl2.c (finish_vtable_vardecl): Don't check decl_function_context. | |
274 | ||
275 | * search.c (note_debug_info_needed, dfs_debug_mark, | |
276 | dfs_debug_unmarkedp): Uncomment. Adjust for new scheme. | |
277 | * decl2.c (finish_vtable_vardecl): Call note_debug_info_needed. | |
278 | ||
920f9474 NS |
279 | 2000-03-03 Nathan Sidwell <nathan@codesourcery.com> |
280 | ||
281 | * decl.c (cp_finish_decl): Remove obsolete obstack comments, fix | |
282 | typos. | |
283 | ||
834c6dff MM |
284 | 2000-03-02 Mark Mitchell <mark@codesourcery.com> |
285 | ||
286 | * cp-tree.h (TYPE_NEEDS_DESTRUCTOR): Rename to ... | |
287 | (TYPE_HAS_NONTRIVIAL_DESTRUCTOR): ... this. | |
288 | (TYPE_HAS_TRIVIAL_DESTRUCTOR): New macro. | |
289 | (lang_type): Split gets_new into has_new and has_array_new. | |
290 | (TYPE_VEC_NEW_USES_COOKIE): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
291 | (TYPE_GETS_NEW): Split into ... | |
292 | (TYPE_HAS_NEW_OPERATOR): ... this, and ... | |
293 | (TYPE_HAS_ARRAY_NEW_OPERATOR): ... this. | |
294 | (DECL_ARRAY_DELETE_OPERATOR_P): New macro | |
295 | (build_op_new_call): Don't declare. | |
296 | (build_new_1): Likewise. | |
297 | * call.c (build_op_new_call): Remove. | |
298 | * class.c (check_bases): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR | |
299 | instead of TYPE_NEEDS_DESTRUCTOR. | |
300 | (finish_struct_bits): Likewise. | |
301 | (add_implicitly_declared_members): Likewise. | |
302 | (check_field_decl): Likewise. | |
303 | (check_methods): Set TYPE_VEC_DELETE_TAKES_SIZE here, and set it | |
304 | correctly under the new ABI. | |
305 | * decl.c (start_decl_1): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR | |
306 | instead of TYPE_NEEDS_DESTRUCTOR. | |
307 | (initialize_local_var): Likewise. | |
308 | (destroy_local_var): Likewise. | |
309 | (cp_finish_decl): Likewise. | |
310 | (register_dtor_fn): Likewise. | |
311 | (grok_op_properties): Set TYPE_HAS_NEW_OPERATOR and | |
312 | TYPE_HAS_ARRAY_NEW_OPERATOR, not TYPE_HAS_NEW. Don't set | |
313 | TYPE_VEC_DELETE_TAKES_SIZE here. | |
314 | (xref_basetypes): Set TYPE_HAS_NEW_OPERATOR and | |
315 | TYPE_HAS_ARRAY_NEW_OPERATOR, not TYPE_HAS_NEW. | |
316 | (store_parm_decls): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
317 | (finish_destructor_body): Likewise. | |
318 | (maybe_build_cleanup_1): Likewise. | |
319 | * decl2.c (do_static_destruction): Likewise. | |
320 | * init.c (build_new_1): Make it static. | |
321 | (perform_member_init): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
322 | (expand_cleanup_for_base): Likewise. | |
323 | (get_cookie_size): New function. | |
324 | (build_new_1): Handle array-new cookies correctly under the new | |
325 | ABI. | |
326 | (build_vec_delete_1): Likewise. | |
327 | (build_vec_init): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
328 | (build_delete): Likewise. | |
329 | (build_vec_delete): Handle array-new cookies correctly under the new | |
330 | ABI. | |
331 | * lex.c (do_identifier): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
332 | * pt.c (instantiate_class_template): Set TYPE_HAS_NEW_OPERATOR and | |
333 | TYPE_HAS_ARRAY_NEW_OPERATOR. | |
334 | * ptree.c (print_lang_type): Check them. | |
335 | * search.c (context_for_name_lookup): Fix typo in comment. | |
336 | (tree_has_any_destructor_p): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
337 | * tree.c (break_out_cleanups): Likewise. | |
338 | (build_cplus_array_test_1): Likewise. | |
339 | (cp_build_qualified_type_real): Likewise. | |
340 | * typeck.c (complete_type): Likewise. | |
341 | ||
342 | * g++spec.c (lang_specific_driver): Add -fnew-abi at the start of | |
343 | the command-line, not the end. | |
344 | ||
06f07977 JM |
345 | 2000-03-01 Jason Merrill <jason@casey.cygnus.com> |
346 | ||
347 | * pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG. | |
348 | ||
e97f22c9 TT |
349 | 2000-03-02 Tom Tromey <tromey@cygnus.com> |
350 | ||
351 | * cp-tree.h (build_java_class_ref): Declare. | |
352 | * init.c (build_java_class_ref): No longer static. | |
353 | * except.c (expand_throw): Generate a Java-style `throw' if the | |
354 | thrown object is a "Java" object. | |
355 | (initialize_handler_parm): Generate a Java-style lookup of | |
356 | exception info if the caught object is a "Java" object. | |
357 | (catch_language, catch_language_init): New globals. | |
358 | (decl_is_java_type): New function. | |
359 | (expand_start_catch_block): Don't call push_eh_info() or | |
360 | push_eh_cleanup() when handling a Java-style "catch". Pass Java | |
361 | class reference to build_catch_block. | |
362 | ||
21318741 RK |
363 | Thu Mar 2 13:32:01 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
364 | ||
365 | * typeck.c (comptypes): Treat sizetype like its language equivalent. | |
366 | ||
2bfa73e4 BS |
367 | 2000-03-01 Bernd Schmidt <bernds@cygnus.co.uk> |
368 | ||
369 | * typeck.c (maybe_warn_about_returning_address_of_local): Reorganize | |
370 | to merge reference/pointer code and fix incorrect warnings. | |
371 | ||
aa1e6de6 JM |
372 | 2000-02-29 Jason Merrill <jason@casey.cygnus.com> |
373 | ||
e185aa16 JM |
374 | * search.c (protected_accessible_p): Use context_for_name_lookup. |
375 | ||
aa1e6de6 | 376 | * init.c (construct_virtual_bases): Fix thinko. |
e185aa16 | 377 | * typeck.c (expand_ptrmemfunc_cst): Fix thinko. |
aa1e6de6 | 378 | |
00262c8a ML |
379 | 2000-03-01 Martin von Loewis <loewis@informatik.hu-berlin.de> |
380 | ||
381 | * decl.c (current_function_decl): Move to toplev.c. | |
382 | ||
8d3631f8 NS |
383 | 2000-02-29 Nathan Sidwell <nathan@codesourcery.com> |
384 | ||
385 | * pt.c (fn_type_unification): Unify return type, whenever | |
386 | provided. | |
387 | (get_bindings_real): Only pass return type when necessary. | |
388 | Remove explicit return type check. | |
389 | * class.c (resolve_address_of_overloaded_function): Pass desired | |
390 | return type to fn_type_unification. | |
391 | ||
9df2c88c RK |
392 | Mon Feb 28 08:15:23 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
393 | ||
394 | * class.c (build_vtbl_or_vbase_field, check_methods): Don't clear | |
395 | DECL_FIELD_SIZE. | |
396 | (check_bitfield_decl, check_field_decls): Set DECL_SIZE, not | |
397 | DECL_FIELD_SIZE. | |
398 | * rtti.c (expand_class_desc): Likewise. | |
399 | * cp-tree.h (DECL_INIT_PRIORITY): Use underlying union name. | |
400 | (THUNK_VCALL_OFFSET): Likewise. | |
401 | (THUNK_DELTA): Reflect changes in ../tree.h. | |
402 | ||
d7cca31e JM |
403 | 2000-02-28 Jason Merrill <jason@casey.cygnus.com> |
404 | ||
405 | * search.c (protected_accessible_p): Also allow the access if | |
406 | the member is public in DERIVED. Lose TYPE parm. | |
407 | (friend_accessible_p): Lose TYPE parm. | |
408 | (accessible_p): Adjust. | |
409 | ||
fed3cef0 RK |
410 | Sun Feb 27 16:40:33 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
411 | ||
412 | * class.c (dfs_build_vtable_offset_vtbl_entries): Don't use size_binop | |
413 | on things that are not sizes; ssize_binop deleted. | |
414 | Call size_diffop when appropriate. | |
415 | (dfs_build_vcall_offset_vtbl_entries): Likewise. | |
416 | (build_primary_vtable, build_secondary_vtable): Likewise. | |
417 | (dfs_set_offset_for_unshared_vbases, dfs_modify_vtables): Likewise. | |
418 | Variable I is HOST_WIDE_INT. | |
419 | (get_vfield_offset): Pass proper types to size_binop. | |
420 | (size_extra_vtbl_entries, layout_virtual_bases): Likewise. | |
421 | (finish_struct_1): Likewise. | |
422 | (skip_rtti_stuff): Arg N is now pointer to signed. | |
423 | (layout_class_type): Use size_zero_node. | |
424 | * cp-tree.h (skip_rtti_stuff): Arg N is pointer to signed. | |
425 | * cvt.c (cp_convert_to_pointer): Pass proper types to size_binop. | |
426 | * decl.c (complete_arry_type): Pass proper types to size_binop. | |
427 | (xref_basetypes): BINFO_OFFSET is sizetype. | |
428 | * error.c (dump_expr): Don't use size_binop non-sizes. | |
429 | * expr.c (cplus_expand_constant): Pass proper types to size_binop. | |
430 | * init.c (construct_virtual_bases): Fix type error. | |
431 | (build_vec_delete_1): Pass proper type to size_binop and don't | |
432 | fold result. | |
433 | * lex.c (cp_make_lang_type): BINFO_OFFSET is sizetype. | |
434 | * rtti.c (get_base_offset): Pass proper type to size_binop. | |
435 | * search.c (dfs_find_vbases): Fix type error. | |
436 | (expand_upcast_fixups): Arg to skip_rtti_stuff is pointer to signed. | |
437 | (dfs_get_vbase_types): BINFO_OFFSET is sizetype. | |
438 | * tree.c (debug_binfo): Variable N is signed. | |
439 | Use HOST_WIDE_INT_PRINT_DEC. | |
440 | * typeck.c (comptypes): sizetype is same as equivalent integer type. | |
441 | (c_sizeof, c_sizeof_nowarn, expr_sizeof): Use TYPE_SIZE_UNIT, | |
442 | size_one_node and size_zero_node. | |
443 | (c_alignof): Use size_one_node. | |
444 | (build_component_addr): Pass proper types to size_binop. | |
445 | (expand_ptrmemfunc_cst): Don't use size_binop on non-sizes. | |
446 | ||
aa52c1ff JM |
447 | 2000-02-26 Jason Merrill <jason@casey.cygnus.com> |
448 | ||
449 | Implement class scope using-declarations for functions. | |
450 | * class.c (handle_using_decl): Call add_method for used functions. | |
451 | Use IDENTIFIER_CLASS_VALUE to check for conflicts. | |
452 | (add_method): Used functions are hidden by local functions. | |
453 | (check_bases_and_members): Handle using-decls before finalizing | |
454 | CLASSTYPE_METHOD_VEC. | |
455 | * call.c (add_function_candidate): Add ctype parm; if non-zero, | |
456 | override the type of 'this' accordingly. | |
457 | (add_template_candidate, add_template_candidate_real): Add ctype parm. | |
458 | (convert_class_to_reference, build_user_type_conversion_1, | |
459 | build_new_function_call, build_object_call, build_new_op, | |
460 | build_new_method_call): Pass ctype parm. | |
461 | ||
462 | * search.c (lookup_member): Put rval_binfo, not basetype_path, in | |
463 | the baselink. | |
464 | * call.c (convert_class_to_reference, build_user_type_conversion_1, | |
465 | build_new_function_call, build_object_call, build_new_op, | |
466 | build_new_method_call, build_op_delete_call): Don't get basetype_path | |
467 | from a baselink. | |
468 | * typeck.c (build_component_ref): Likewise. | |
469 | * init.c (build_offset_ref): Likewise. | |
470 | (resolve_offset_ref): Don't call enforce_access. | |
471 | Call build_scoped_ref. | |
472 | * typeck2.c (build_scoped_ref): Simplify. Do nothing if it | |
473 | would cause an error or if -pedantic. | |
474 | * class.c (alter_access): Lose binfo parm. | |
475 | ||
22e92ac3 MM |
476 | 2000-02-26 Mark Mitchell <mark@codesourcery.com> |
477 | ||
478 | * semantics.c (simplify_aggr_init_exprs_p): Don't walk into | |
479 | types. | |
480 | ||
42789557 AM |
481 | 2000-02-25 Alfred Minarik <a8601248@unet.univie.ac.at> |
482 | ||
483 | * rtti.c (get_vmi_pseudo_type_info): Move __vmi_class_type_info | |
484 | pseudo_type_info creation into the std namespace | |
485 | ||
27d26ee7 MM |
486 | 2000-02-26 Mark Mitchell <mark@codesourcery.com> |
487 | ||
488 | * cp-tree.h (DECL_NEEDED_P): Tweak to correct usage before EOF. | |
489 | (import_export_class): Remove declaration. | |
490 | * decl2.c (import_export_class): Make it static. | |
491 | * dump.c (dequeue_and_dump): Handle PREDECREMENT_EXPR, | |
492 | PREINCREMENT_EXPR, POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, | |
493 | EXPR_WITH_FILE_LOCATION. | |
494 | * lex.c (check_newline): Tweak filename/lineno setting. | |
495 | * semantics.c (begin_while_stmt): Fix typo in comment. | |
496 | ||
ca888935 RK |
497 | Sat Feb 26 19:50:23 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
498 | ||
363e6541 RK |
499 | * lang-options.h (-fmessage-length=): Add missing option. |
500 | ||
ca888935 RK |
501 | * Make-lang.in (CXX_SRCS): Add .h files and sort list. |
502 | ||
f95e46b9 ZW |
503 | 2000-02-26 Zack Weinberg <zack@wolery.cumb.org> |
504 | ||
505 | * Make-lang.in: Delete refs to LIBGCC2_DEPS. | |
506 | ||
3431f196 JW |
507 | Fri Feb 25 14:52:33 2000 Jim Wilson <wilson@cygnus.com> |
508 | ||
509 | * optimize.c (expand_call_inline): Emit the return label before | |
510 | evaluating the return value. | |
511 | ||
574a0ef5 MM |
512 | 2000-02-24 Mark Mitchell <mark@codesourcery.com> |
513 | ||
514 | * lex.c (check_newline): Use push_srcloc and pop_srcloc, rather | |
515 | than duplicating functionality here. | |
516 | * optimize.c: Include input.h. | |
517 | (expand_call_inline): Use push_srcloc and pop_srcloc. | |
518 | * parse.y (maybe_cv_qualifier): Remove calls to emit_line_note. | |
519 | * parse.c: Regenerated. | |
520 | * Makefile.in (lex.o): Depend on input.h. | |
521 | (optimize.o): Likewise. | |
522 | ||
41cbc04c NS |
523 | 2000-02-24 Nathan Sidwell <nathan@codesourcery.com> |
524 | ||
525 | * decl.c (grokdeclarator): Diagnose qualifiers on non-member | |
526 | function type, rather than ICE. | |
527 | ||
9fc336c7 JM |
528 | 2000-02-23 Jason Merrill <jason@casey.cygnus.com> |
529 | ||
530 | * decl.c (grokdeclarator): Call decl_type_access_control. | |
531 | * parse.y (parse_end_decl): Don't call decl_type_access_control if | |
532 | decl is null. | |
533 | ||
e867a179 NS |
534 | 2000-02-23 Nathan Sidwell <nathan@codesourcery.com> |
535 | ||
536 | * decl.c (decls_match): Remove obsolete static member nadgering. | |
537 | ||
cab1f180 ML |
538 |