]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
jcf-reader.c (jcf_parse_one_method): Recognize HANDLE_END_METHOD.
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
4d7614e9
JM
11998-12-08 Jason Merrill <jason@yorick.cygnus.com>
2
3 * decl.c (grokdeclarator): Allow field with same name as class
4 in extern "C".
5
6 * decl.c (lookup_name_real): Don't limit field lookup to types.
7 * class.c (check_member_decl_is_same_in_complete_scope): No error
8 if icv and x are the same.
9 * lex.c (do_identifier): Tweak error message.
10
ea585788
MM
111998-12-10 Mark Mitchell <mark@markmitchell.com>
12
13 * decl.c (start_enum): Use push_obstacks, not
14 end_temporary_allocation.
15 (finish_enum): Call pop_obstacks.
16
513e9d13
MM
171998-12-10 Mark Mitchell <mark@markmitchell.com>
18
19 * class.c (instantiate_type): Return error_mark_node rather than
20 junk.
21
104bf76a
MM
221998-12-09 Mark Mitchell <mark@markmitchell.com>
23
24 * cp-tree.h (most_specialized_instantiation): New function.
25 (print_candidates): Likewise.
26 * class.c (validate_lhs): Remove.
27 (resolve_address_of_overloaded_function): New function, split out
28 and then substantially reworked, from ...
29 (instantiate_type): Use it. Simplify.
30 * cvt.c (convert_to_reference): Complain when caller has indicated
31 that's the right thing to do. Don't crash if instantiate_type
32 fails.
33 * pt.c: Substitute `parameters' for `paramters' throughout.
34 (print_candidates): Don't make it static.
35 (most_specialized_instantiation): Split out from ...
36 (most_specialized): Here.
37
dfb0fb1d
DB
38Wed Dec 9 15:33:01 1998 Dave Brolley <brolley@cygnus.com>
39
40 * lex.c (lang_init_options): Initialize cpplib.
41 * decl2.c (parse_options,cpp_initialized): Removed.
42 (lang_decode_option): Move initialization of cpplib to
43 lang_init_options.
44
33964bf4
MM
451998-12-09 Mark Mitchell <mark@markmitchell.com>
46
47 * decl.c (grokdeclarator): Update the name of the TEMPLATE_DECL, as
48 well as the TYPE_DECL, when a typedef name is assigned to a
49 previously anonymous type.
50
e6cfb550
AM
511998-12-08 Andrew MacLeod <amacleod@cygnus.com>
52
53 * cp/except.c (call_eh_info): use __start_cp_handler instead of
54 __cp_eh_info for getting the eh info pointer. Add table_index to
55 field list.
56 (push_eh_cleanup): Don't increment 'handlers' data field.
57 (process_start_catch_block): Don't set the 'caught' field.
58
59 * cp/exception.cc (CP_EH_INFO): New macro for getting the
60 exception info pointer within library routines.
61 (__cp_eh_info): Use CP_EH_INFO.
62 (__start_cp_handler): Get exception info pointer, set caught field,
63 and increment the handlers field. Avoids this being done by handlers.
64 (__uncatch_exception, __check_eh_spec): Use CP_EH_INFO macro.
65 (uncaught_exception): Use CP_EH_INFO macro.
66
f454109f
JL
67Tue Dec 8 10:48:21 1998 Jeffrey A Law (law@cygnus.com)
68
69 * Make-lang.in (cxxmain.o): Depend on $(DEMANGLE_H), not demangle.h
70
069f7cf2
MS
71Mon Dec 7 17:56:06 1998 Mike Stump <mrs@wrs.com>
72
73 * lex.c (check_newline): Add support for \ as `natural'
74 characters in file names in #line to be consistent with #include
75 handling. We support escape prcessing in the # 1 "..." version of
76 the command. See also support in cp/lex.c.
77
3a5ac29d
ZW
781998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
79
80 * cp/decl2.c: s/data/opts/ when initializing cpp_reader
81 structure.
82
2642b9bf
JM
831998-12-07 Jason Merrill <jason@yorick.cygnus.com>
84
85 * decl.c (build_typename_type): Set DECL_ARTIFICIAL.
86
87 * error.c (dump_simple_decl): Also print namespace context.
88 (dump_function_decl): Likewise.
89
90 * decl2.c (ambiguous_decl): Don't print old value if it's
91 error_mark_node.
92
93 * decl.c (lookup_name_real): Fix handling of local types shadowed
94 by a non-type decl. Remove obsolete code.
95 * cp-tree.h (DECL_FUNCTION_SCOPE_P): New macro.
96
97 * lang-options.h: Add -fpermissive.
98 * decl2.c: Likewise.
99 * cp-tree.h: Add flag_permissive.
100 * decl.c (init_decl_processing): If neither -fpermissive or -pedantic
101 were specified, set flag_pedantic_errors.
102 * call.c (build_over_call): Turn dropped qualifier messages
103 back into pedwarns.
104 * cvt.c (convert_to_reference): Likewise.
105 * typeck.c (convert_for_assignment): Likewise.
106
ee996e9e
JM
1071998-12-05 Jason Merrill <jason@yorick.cygnus.com>
108
109 * decl2.c (coerce_new_type): Use same_type_p.
110 (coerce_delete_type): Likewise.
111
112 * call.c (check_dtor_name): Return 1, not error_mark_node.
113
f3400fe2
JM
1141998-12-04 Jason Merrill <jason@yorick.cygnus.com>
115
053a61cb
JM
116 * lex.c (handle_cp_pragma): Disable #pragma interface/implementation
117 if MULTIPLE_SYMBOL_SPACES.
118
f3400fe2
JM
119 * pt.c (check_template_shadow): New fn.
120 * decl2.c (grokfield): Use it.
121 * decl.c (pushdecl): Likewise.
122 (pushdecl_class_level): Likewise.
123 (start_method): Likewise.
124 (xref_tag): Don't try to use 't' if we're defining.
125
126 * call.c (check_dtor_name): Just return an error_mark_node.
127 * pt.c (lookup_template_class): Complain about using non-template here.
128 * parse.y (apparent_template_type): Not here.
129
130 * pt.c (check_explicit_specialization): Complain about specialization
131 with C linkage.
132
133 * lang-options.h: Add -f{no-,}implicit-inline-templates.
134
135 * pt.c (convert_nontype_argument): Don't assume that any integer
136 argument is intended to be a constant-expression.
137
2036a15c
MM
1381998-12-03 Mark Mitchell <mark@markmitchell.com>
139
140 * class.c (handle_using_decl): Fix comment. Don't lookup
141 constructors in base classes.
142 (validate_lhs): Fix typo in comment.
143 * search.c (lookup_field_1): Don't return a USING_DECL.
144
145 * cp-tree.h (DECL_ACCESS): Improve documentation.
146
147 * decl.c (expand_static_init): Don't set the initialization-done
148 flag until the initialization is done.
149
066b4a1c
MM
1501998-12-02 Mark Mitchell <mark@markmitchell.com>
151
152 * decl2.c (validate_nonmember_using_decl): Complain about using
153 declarations for class members.
154
9f3d9e46
JM
1551998-11-29 Jason Merrill <jason@yorick.cygnus.com>
156
7e2067ca
JM
157 * typeck2.c (process_init_constructor): Use same_type_p.
158
159 * decl.c (check_tag_decl): Don't warn about null decl inside a
160 class.
161
9f3d9e46
JM
162 * pt.c (unify, case OFFSET_TYPE): Pass down 'strict' rather than
163 UNIFY_ALLOW_NONE.
164 (convert_nontype_argument): Use TYPE_PTRMEMFUNC_FN_TYPE.
165 (resolve_overloaded_unification): Strip baselinks.
166
9d483bc4
KG
167Fri Nov 27 13:07:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
168
169 * g++spec.c: Don't prototype xmalloc.
170
08b24bda
JM
1711998-11-25 Jason Merrill <jason@yorick.cygnus.com>
172
173 * except.c (expand_throw): Use TYPE_PTR_P to check for pointers.
174
175 * decl.c (check_tag_decl): Do complain about null friend decl at
176 file scope.
177
32201ce4
AS
1781998-11-25 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
179
180 * lex.c (make_lang_type): Clear the whole struct lang_type, not
181 only the first multiple of sizeof (int).
182
83f660b7
JM
1831998-11-24 Jason Merrill <jason@yorick.cygnus.com>
184
84e6233f
JM
185 * decl.c (start_decl): An explicit specialization of a static data
186 member is only a definition if it has an initializer.
187
c37dc68e
JM
188 * except.c (expand_throw): Use cp_finish_decl for the throw temp.
189 * cvt.c (build_up_reference): Pass DIRECT_BIND down into
190 cp_finish_decl.
191 * init.c (expand_default_init): Check for DIRECT_BIND instead of
192 DECL_ARTIFICIAL.
193
194 * call.c (build_over_call): Use build_decl.
195
196 * except.c (expand_throw): Just use convert, not
197 build_reinterpret_cast.
198
83f660b7
JM
199 * lex.c (handle_generic_pragma): Use token_buffer.
200
201 * decl.c (check_tag_decl): Don't complain about null friend decl.
202
2031998-11-24 Dave Pitts <dpitts@cozx.com>
204
205 * Make-lang.in (DEMANGLER_PROG): Move the output argumnts to the
206 first position.
207 * lex.c (check_newline): Use ISALPHA.
208 (readescape): Use ISGRAPH.
209 (yyerror): Use ISGRAPH.
210
2111998-11-24 Nathan Sidwell <nathan@acm.org>
212
213 * search.c (get_abstract_virtuals): Do not use initial
214 CLASSTYPE_ABSTRACT_VIRTUALS.
215 * typeck2.c (abstract_virtuals_error): Show location of abstract
216 declaration.
217 * call.c (build_new_method_call): Use
218 CLASSTYPE_ABSTRACT_VIRTUAL, rather than recalculate.
219 * class.c (finish_struct_bits): Don't bother working out whether
220 get_abstract_virtuals will do anything, just do it.
221
333a9f0a
JM
2221998-11-24 Graham <grahams@rcp.co.uk>
223
224 * typeck.c (build_component_ref): Remove unused statement.
225
37b6eb34
JM
2261998-11-24 Jason Merrill <jason@yorick.cygnus.com>
227
333a9f0a
JM
228 * class.c (add_method): Catch invalid overloads.
229
37b6eb34
JM
230 * class.c (add_method): Build up OVERLOADs properly for conversion ops.
231 * search.c (lookup_conversions): Handle getting real OVERLOADs.
232 (add_conversions): Likewise. Revert last change.
233 * call.c (add_conv_candidate): Pass totype to add_candidate instead
234 of fn. Don't add a new candidate if the last one was for the same
235 type.
236 (print_z_candidates): Handle getting a type as a function.
237 (joust): If we got two conversion candidates to the same type,
238 just pick one.
239 (build_object_call): Lose 'templates'.
240 (build_user_type_conversion_1): Handle getting real OVERLOADs.
241
e6267549
JM
2421998-11-23 Jason Merrill <jason@yorick.cygnus.com>
243
244 * typeck2.c (process_init_constructor): If there are elements
245 that don't have initializers and they need to have constructors
246 run, supply them with initializers.
247
248 * class.c (finish_struct_1): A class with a 0-width bitfield is
249 still empty.
250
6bdb985f
MM
2511998-11-23 Mark Mitchell <mark@markmitchell.com>
252
253 * pt.c (instantiate_class_template): Don't try to figure out what
254 specialization to use for a partial instantiation. Correct
255 typos in a couple of comments. Avoid calling uses_template_parms
256 multiple times.
257
388022e0
BK
2581998-11-23 Benjamin Kosnik <bkoz@cygnus.com>
259
260 * method.c (process_overload_item): Add call to
261 build_mangled_C9x_name for intTI_type_nodes.
262 (build_mangled_C9x_name): Add prototype, define.
263 * decl.c (init_decl_processing): Add names for
264 TImode_type_node.
265
72a93143
JM
2661998-11-23 Jason Merrill <jason@yorick.cygnus.com>
267
57cfc5dd
JM
268 * parse.y (named_class_head): Update CLASSTYPE_DECLARED_CLASS.
269
72a93143
JM
270 * class.c (finish_struct_1): Set things up for 0-width bitfields
271 like we do for others.
272
273 * decl.c (check_tag_decl): New fn.
274 (shadow_tag): Split out from here.
275 * decl2.c (grok_x_components): Call it.
276
094fe153
JM
2771998-11-22 Jason Merrill <jason@yorick.cygnus.com>
278
ff0cf464
JM
279 * decl.c: Lose warn_about_return_type.
280 (grokdeclarator): Always complain about implicit int, except for
281 `main () { ... }'.
282
094fe153
JM
283 * decl.c (tag_name): New fn.
284 (xref_tag): Complain about using typedef-name after class-key.
285
286 * init.c (expand_vec_init): Also keep going if from_array.
287
288 * tree.c (is_overloaded_fn): Also handle the output of
289 build_offset_ref.
290
291 * decl.c (grokdeclarator): Use constructor_name when comparing
292 field name against enclosing class.
293 * class.c (finish_struct_anon): Likewise.
294
536333d4
MM
2951998-11-22 Mark Mitchell <mark@markmitchell.com>
296
297 * decl.c (poplevel): Remove code to handle KEEP == 2.
298 (finish_function): Don't confuse BLOCK-order when
299 processing a destructor.
300
42f989ff
JM
3011998-11-21 Jason Merrill <jason@yorick.cygnus.com>
302
303 * decl.c (require_complete_types_for_parms): Call layout_decl
304 after we've completed the type.
305
75fbcb7d
ML
306