1 |
710 |
jeremybenn |
Tue Dec 28 21:10:03 1993 Mike Stump
|
2 |
|
|
|
3 |
|
|
* cp-init.c (expand_vec_init): Remove comptypes test, as it is too
|
4 |
|
|
harsh here.
|
5 |
|
|
|
6 |
|
|
Tue Dec 28 13:42:22 1993 Mike Stump
|
7 |
|
|
|
8 |
|
|
* cp-pt.c (do_pending_expansions): Decide to expand a template
|
9 |
|
|
member function, based upon it's class type, not the class type of
|
10 |
|
|
the first place it was declared.
|
11 |
|
|
|
12 |
|
|
Tue Dec 28 05:42:31 1993 Mike Stump
|
13 |
|
|
|
14 |
|
|
* cp-class.c (is_normal): New routine, use to determine when the
|
15 |
|
|
given binfo is the normal one. (The one that should have the simple
|
16 |
|
|
vtable name.)
|
17 |
|
|
* cp-class.c (modify_other_vtable_entries): Use DECL_ASSEMBLER_NAME
|
18 |
|
|
to check if two fndecls are `the same'. Sometimes this routine can
|
19 |
|
|
modify the main vtable, and normal should be 1, in that case, so use
|
20 |
|
|
is_normal() to determine if this is the main vtable for the class.
|
21 |
|
|
Don't recurse down virtual bases, as they are shared, and we take
|
22 |
|
|
care of them elsewhere.
|
23 |
|
|
* cp-class.c (modify_vtable_entries): If we have already updated the
|
24 |
|
|
vtable with the new virtual, don't do it again.
|
25 |
|
|
* cp-class.c (finish_struct): Set CLASSTYPE_VFIELD_PARENT as
|
26 |
|
|
appropriate. Do virtual function overriding in virtual bases, after
|
27 |
|
|
normal overriding, so that the base function list in DECL_VINDEX is
|
28 |
|
|
not overridden, before we have a chance to run through the list.
|
29 |
|
|
Use DECL_ASSEMBLER_NAME to check if two fndecls are `the same'.
|
30 |
|
|
Make sure we pass the right address into modify_vtable_entries.
|
31 |
|
|
* cp-tree.h (CLASSTYPE_VFIELD_PARENT): New field to indicate which
|
32 |
|
|
binfo is the one that has the vtable that we based our vtable on.
|
33 |
|
|
|
34 |
|
|
Fri Dec 24 09:40:52 1993 Michael Tiemann
|
35 |
|
|
|
36 |
|
|
* cp-typeck.c (c_expand_start_case): Use default_conversion to
|
37 |
|
|
convert expression from reference type if necessary.
|
38 |
|
|
|
39 |
|
|
Wed Dec 22 17:58:43 1993 Jason Merrill
|
40 |
|
|
|
41 |
|
|
* cp-typeck.c (build_unary_op): Make sure that it's a TREE_LIST before
|
42 |
|
|
trying to read its TREE_VALUE.
|
43 |
|
|
|
44 |
|
|
* cp-class.c (finish_struct_methods): Clear DECL_IN_AGGR_P here.
|
45 |
|
|
(finish_struct): Instead of here.
|
46 |
|
|
|
47 |
|
|
Tue Dec 21 14:34:25 1993 Brendan Kehoe
|
48 |
|
|
|
49 |
|
|
* cp-tree.c (list_hash_lookup_or_cons): Make sure the type doesn't
|
50 |
|
|
have TYPE_PTRMEMFUNC_P set before we try to build its
|
51 |
|
|
CLASSTYPE_ID_AS_LIST.
|
52 |
|
|
(get_decl_list): Likewise, when trying to read it.
|
53 |
|
|
|
54 |
|
|
* cp-tree.h (VTABLE_NAME): No def with NO_{DOLLAR,DOT} defined.
|
55 |
|
|
(VTABLE_NAME_P): Use it instead of VTABLE_NAME_FORMAT.
|
56 |
|
|
|
57 |
|
|
Mon Dec 20 13:35:03 1993 Brendan Kehoe
|
58 |
|
|
|
59 |
|
|
* cp-typeck.c (rationalize_conditional_expr): New function.
|
60 |
|
|
(unary_complex_lvalue): Use it.
|
61 |
|
|
(build_modify_expr): Use it, since trying to do an ADDR_EXPR of it
|
62 |
|
|
with build_unary_op won't cut it. Don't wrap the COND_EXPR with a
|
63 |
|
|
SAVE_EXPR either.
|
64 |
|
|
|
65 |
|
|
* cp-decl2.c (explicit_warn_return_type): Deleted variable.
|
66 |
|
|
(lang_decode_option): Set warn_return_type, not explicit_*, for
|
67 |
|
|
-Wreturn-type and -Wall. This is what rest_of_compilation uses to
|
68 |
|
|
decide if it should go into jump_optimize or not.
|
69 |
|
|
* cp-tree.h (explicit_warn_return_type): Deleted.
|
70 |
|
|
* cp-decl.c (grokdeclarator): Use warn_return_type, not explicit_*.
|
71 |
|
|
(finish_function): Also complain about no return in a non-void fn if
|
72 |
|
|
we're being pedantic (don't rely on use of -Wreturn-type).
|
73 |
|
|
|
74 |
|
|
Fri Dec 17 15:45:46 1993 Brendan Kehoe
|
75 |
|
|
|
76 |
|
|
* cp-decl.c (grokdeclarator): Forbid declaration of a function as
|
77 |
|
|
static if it's being done inside another function.
|
78 |
|
|
|
79 |
|
|
* cp-search.c (compute_visibility): Check for friendship both ways.
|
80 |
|
|
|
81 |
|
|
Fri Dec 17 14:28:25 1993 Jason Merrill
|
82 |
|
|
|
83 |
|
|
* cp-cvt.c (build_default_binary_type_conversion): Make error
|
84 |
|
|
messages more helpful.
|
85 |
|
|
|
86 |
|
|
* cp-error.c (op_as_string): New function, returns "operator =="
|
87 |
|
|
given EQ_EXPR or suchlike.
|
88 |
|
|
|
89 |
|
|
Fri Dec 17 13:28:11 1993 Brendan Kehoe
|
90 |
|
|
|
91 |
|
|
* cp-call.c (print_n_candidates): New function.
|
92 |
|
|
(build_overload_call_real): Use it when we complain about a call
|
93 |
|
|
being ambiguous.
|
94 |
|
|
|
95 |
|
|
Fri Dec 17 12:41:17 1993 Jason Merrill
|
96 |
|
|
|
97 |
|
|
* cp-call.c (build_method_call): Fix checking for static call
|
98 |
|
|
context.
|
99 |
|
|
|
100 |
|
|
* cp-method.c (build_opfncall): Call build_indirect_ref on argument
|
101 |
|
|
to operator new.
|
102 |
|
|
|
103 |
|
|
* cp-init.c (build_new): Don't mess with rval when building
|
104 |
|
|
indirect ref.
|
105 |
|
|
|
106 |
|
|
Thu Dec 16 16:48:05 1993 Kung Hsu
|
107 |
|
|
|
108 |
|
|
* cp-lex.c (default_assign_ref_body): Add check when TYPE_NESTED_
|
109 |
|
|
NAME(type) may not be exist. It's not a problem for old compiler.
|
110 |
|
|
|
111 |
|
|
Thu Dec 16 14:46:06 1993 Brendan Kehoe
|
112 |
|
|
|
113 |
|
|
* cp-tree.h (CLASSTYPE_ALTERS_VISIBILITIES_P): Delete macro, it's
|
114 |
|
|
never used for anything.
|
115 |
|
|
(struct lang_type, member type_flags): Delete field
|
116 |
|
|
`alters_visibility', and up `dummy' by 1.
|
117 |
|
|
* cp-class.c (finish_base_struct): Delete code that copies the
|
118 |
|
|
setting of CLASSTYPE_ALTERS_VISIBILITIES_P.
|
119 |
|
|
(finish_struct): Delete code that sets it.
|
120 |
|
|
|
121 |
|
|
Thu Dec 16 14:44:39 1993 Jason Merrill
|
122 |
|
|
|
123 |
|
|
* cp-decl.c, cp-init.c, cp-typeck.c: Fix arguments to
|
124 |
|
|
build_method_call that I messed up before.
|
125 |
|
|
|
126 |
|
|
* cp-search.c (get_base_distance): If protect > 1, allow immediate
|
127 |
|
|
private base.
|
128 |
|
|
|
129 |
|
|
* cp-class.c (finish_base_struct): Set cant_synth_* correctly.
|
130 |
|
|
(finish_struct): Likewise. Well, nigh-correctly; it won't deal
|
131 |
|
|
properly with the case where a class contains an object of an
|
132 |
|
|
ambiguous base class which has a protected op=. Should be fixed
|
133 |
|
|
when the access control code gets overhauled.
|
134 |
|
|
(finish_struct_methods): Set TYPE_HAS_NONPUBLIC_* correctly.
|
135 |
|
|
|
136 |
|
|
Thu Dec 16 12:17:06 1993 Brendan Kehoe
|
137 |
|
|
|
138 |
|
|
* cp-lex.c (real_yylex): Turn the code back on that deals with
|
139 |
|
|
__FUNCTION__ and __PRETTY_FUNCTION__. Don't use lookup_name, to
|
140 |
|
|
avoid the ambiguity problems that led to it being turned off in the
|
141 |
|
|
first place.
|
142 |
|
|
|
143 |
|
|
* cp-method.c (hack_identifier): Also check for a TYPE_PTRMEMFUNC_P
|
144 |
|
|
to see if something is a method.
|
145 |
|
|
|
146 |
|
|
Wed Dec 15 18:35:58 1993 Mike Stump
|
147 |
|
|
|
148 |
|
|
* cp-typeck.c (build_modify_expr): Avoid error messages on small
|
149 |
|
|
enum bit fields.
|
150 |
|
|
* cp-typeck.c (convert_for_assignment): Add missing argument to
|
151 |
|
|
cp_warning and cp_pedwarn calls.
|
152 |
|
|
|
153 |
|
|
Wed Dec 15 18:25:32 1993 Jason Merrill
|
154 |
|
|
|
155 |
|
|
* cp-parse.y (member_init): ANSI C++ doesn't forbid old-style base
|
156 |
|
|
initializers; it's just anachronistic.
|
157 |
|
|
|
158 |
|
|
* cp-decl.c (finish_decl): Don't require external-linkage arrays
|
159 |
|
|
to have a complete type at declaration time when pedantic.
|
160 |
|
|
|
161 |
|
|
Tue Dec 14 11:37:23 1993 Jason Merrill
|
162 |
|
|
|
163 |
|
|
* cp-decl.c (pushdecl): Don't set DECL_CONTEXT if it's already set.
|
164 |
|
|
|
165 |
|
|
* cp-call.c (build_method_call): Don't dereference pointer given
|
166 |
|
|
as instance.
|
167 |
|
|
|
168 |
|
|
* cp-decl.c (finish_function): Don't pass pointer to
|
169 |
|
|
build_method_call.
|
170 |
|
|
(finish_function): Likewise.
|
171 |
|
|
|
172 |
|
|
* cp-typeck.c (build_x_function_call): Likewise.
|
173 |
|
|
|
174 |
|
|
* cp-method.c (build_component_type_expr): Likewise.
|
175 |
|
|
|
176 |
|
|
* cp-init.c (build_member_call): Likewise.
|
177 |
|
|
(build_new): Likewise.
|
178 |
|
|
|
179 |
|
|
Mon Dec 13 18:04:33 1993 Kung Hsu
|
180 |
|
|
|
181 |
|
|
* cp-decl.c (xref_tag): Fix regression created by changes made
|
182 |
|
|
in Dec. 7 1993.
|
183 |
|
|
* cp-decl.c (xref_defn_tag): Fix parallel nested class problem.
|
184 |
|
|
|
185 |
|
|
Fri Dec 10 12:40:25 1993 Brendan Kehoe
|
186 |
|
|
|
187 |
|
|
* cp-call.c (compute_conversion_costs_ansi) [DEBUG_MATCHING]: Print
|
188 |
|
|
out the final evaluation of the function, so we can see if ELLIPSIS,
|
189 |
|
|
USER, and EVIL were set at the end.
|
190 |
|
|
|
191 |
|
|
* cp-call.c (convert_harshness_ansi): When the parm isn't an lvalue,
|
192 |
|
|
only go for setting TRIVIAL_CODE if we are dealing with types that
|
193 |
|
|
are compatible.
|
194 |
|
|
|
195 |
|
|
Thu Dec 9 18:27:22 1993 Mike Stump
|
196 |
|
|
|
197 |
|
|
* cp-decl.c (flag_huge_objects): New flag to allow large objects.
|
198 |
|
|
* toplev.c (lang_options): Likewise.
|
199 |
|
|
* cp-decl2.c (flag_huge_objects, lang_f_options): Likewise.
|
200 |
|
|
* cp-decl.c (delta_type_node): New type for delta entries.
|
201 |
|
|
* cp-tree.h (delta_type_node): Likewise.
|
202 |
|
|
* cp-decl.c (init_decl_processing): Setup delta_type_node.
|
203 |
|
|
* cp-decl.c (init_decl_processing, build_ptrmemfunc_type): Use
|
204 |
|
|
delta_type_node instead of short_integer_type_node.
|
205 |
|
|
* cp-class.c (build_vtable_entry): Likewise.
|
206 |
|
|
|
207 |
|
|
Thu Dec 9 16:19:05 1993 Brendan Kehoe
|
208 |
|
|
|
209 |
|
|
* cp-tree.h (OPERATOR_TYPENAME_P): Define outside of
|
210 |
|
|
NO_{DOLLAR,DOT} macro checks, so it always gets defined.
|
211 |
|
|
(VTABLE_NAME_P): Define for NO_DOT && NO_DOLLAR_IN_LABEL.
|
212 |
|
|
|
213 |
|
|
Wed Dec 8 17:38:06 1993 Mike Stump
|
214 |
|
|
|
215 |
|
|
* cp-decl.c (finish_decl): Make sure things that can go into
|
216 |
|
|
"common", do go into common, if -fcommon is given.
|
217 |
|
|
|
218 |
|
|
Wed Dec 8 13:01:54 1993 Brendan Kehoe
|
219 |
|
|
|
220 |
|
|
* cp-call.c (print_harshness) [DEBUG_MATCHING]: New function.
|
221 |
|
|
(compute_conversion_costs_ansi) [DEBUG_MATCHING]: Print out
|
222 |
|
|
argument matching diagnostics to make instantly clear what the
|
223 |
|
|
compiler is doing.
|
224 |
|
|
|
225 |
|
|
* cp-call.c (convert_harshness_ansi): If the parm isn't an lvalue,
|
226 |
|
|
then check to see if the penalty was increased due to
|
227 |
|
|
signed/unsigned mismatch, and use a TRIVIAL_CODE if it wasn't.
|
228 |
|
|
|
229 |
|
|
Tue Dec 7 18:29:14 1993 Kung Hsu
|
230 |
|
|
|
231 |
|
|
* cp-decl.c (xref_tag, pushtag): Fix nested class search/resolution
|
232 |
|
|
problem.
|
233 |
|
|
|
234 |
|
|
Tue Dec 7 16:09:34 1993 Jason Merrill
|
235 |
|
|
|
236 |
|
|
* cp-class.c (finish_struct): Before synthesizing methods, if no
|
237 |
|
|
methods have yet been declared then set nonprivate_method. Don't
|
238 |
|
|
set non_private method after synthesizing a method.
|
239 |
|
|
|
240 |
|
|
* cp-lex.c (extract_interface_info): If flag_alt_external_templates
|
241 |
|
|
is set, tie emitted code to the location of template instantiation,
|
242 |
|
|
rather than definition.
|
243 |
|
|
|
244 |
|
|
* cp-tree.h: Declare flag_alt_external_templates.
|
245 |
|
|
|
246 |
|
|
* cp-decl2.c (lang_decode_option): Support -falt-external-templates.
|
247 |
|
|
|
248 |
|
|
* toplev.c (lang_options): Likewise.
|
249 |
|
|
|
250 |
|
|
Mon Oct 4 12:50:02 1993 Chip Salzenberg
|
251 |
|
|
|
252 |
|
|
[changes propagated from 930810 snapshot]
|
253 |
|
|
* cp-decl.c (init_decl_processing): Make long long available for use
|
254 |
|
|
as SIZE_TYPE and PTRDIFF_TYPE.
|
255 |
|
|
(finish_decl): Allow file-scope static incomplete array.
|
256 |
|
|
(grokdeclarator): Don't pass on const and volatile fron function
|
257 |
|
|
value type to function type.
|
258 |
|
|
Warn here for volatile fn returning non-void type.
|
259 |
|
|
* cp-parse.y (attrib): Accept attributes `volatile' with alias
|
260 |
|
|
`noreturn', and `const'.
|
261 |
|
|
* cp-typeck.c (default_conversion): Don't lose const and volatile.
|
262 |
|
|
(build_binary_op_nodefault): Generate pedantic warning for comparison
|
263 |
|
|
of complete pointer type with incomplete pointer type.
|
264 |
|
|
(build_c_cast): Be careful that null pointer constant be INTEGER_CST.
|
265 |
|
|
|
266 |
|
|
Tue Dec 7 10:46:48 1993 Jason Merrill
|
267 |
|
|
|
268 |
|
|
* cp-init.c (expand_vec_init): When creating a temporary for copying
|
269 |
|
|
arrays, use the type of the source, not the target.
|
270 |
|
|
|
271 |
|
|
* cp-cvt.c (convert): Pass an argument for errtype to
|
272 |
|
|
convert_to_reference.
|
273 |
|
|
|
274 |
|
|
* cp-error.c (dump_expr, COMPONENT_REF & CALL_EXPR): Deal with
|
275 |
|
|
methods, -> and `this'.
|
276 |
|
|
|
277 |
|
|
Mon Dec 6 17:12:33 1993 Jason Merrill
|
278 |
|
|
|
279 |
|
|
* cp-error.c (parm_as_string): New function; returns `this' or arg
|
280 |
|
|
number. Corresponds to %P.
|
281 |
|
|
(dump_expr): Deal with method calls.
|
282 |
|
|
|
283 |
|
|
* cp-cvt.c (convert_to_reference): Stop using warn_for_assignment.
|
284 |
|
|
* cp-typeck.c (convert_for_assignment): Likewise.
|
285 |
|
|
(warn_for_assignment): Lose.
|
286 |
|
|
|
287 |
|
|
Mon Dec 6 11:33:35 1993 Brendan Kehoe
|
288 |
|
|
|
289 |
|
|
* cp-call.c (ideal_candidate_ansi): Delete code that was never
|
290 |
|
|
doing anything useful. Instead, sort once, and DO NOT wipe
|
291 |
|
|
out any codes with EVIL_CODE, since that's what we use as a
|
292 |
|
|
marker for the end of the list of candidates.
|
293 |
|
|
|
294 |
|
|
* cp-cvt.c (convert_to_aggr): Make sure to always set H_LEN.
|
295 |
|
|
|
296 |
|
|
Mon Dec 6 12:49:17 1993 Jason Merrill
|
297 |
|
|
|
298 |
|
|
* cp-init.c (get_aggr_from_typedef): New function, like
|
299 |
|
|
is_aggr_typedef but returns the _TYPE.
|
300 |
|
|
|
301 |
|
|
* cp-call.c, cp-init.c, cp-method.c: Eradicate err_name.
|
302 |
|
|
|
303 |
|
|
Sun Dec 5 18:12:48 1993 Brendan Kehoe
|
304 |
|
|
|
305 |
|
|
* cp-lex.c (readescape): Pedwarn when a hex escape is out of range.
|
306 |
|
|
|
307 |
|
|
Thu Nov 25 23:50:19 1993 Chip Salzenberg
|
308 |
|
|
|
309 |
|
|
Delay language context change until beginning of next decl.
|
310 |
|
|
|
311 |
|
|
* cp-lex.h (c_header_level): Removed.
|
312 |
|
|
(pending_lang_change): Declared.
|
313 |
|
|
* cp-lex.c (c_header_level): Renamed from in_c_header, made static.
|
314 |
|
|
(pending_lang_change): Defined.
|
315 |
|
|
(check_newline): Rework code that recognizes line number and
|
316 |
|
|
filename changes. Instead of pushing and popping lang context,
|
317 |
|
|
increment and decrement pending_lang_change.
|
318 |
|
|
(do_pending_lang_change): Push and pop lang context according
|
319 |
|
|
to value of pending_lang_change.
|
320 |
|
|
* cp-parse.y (extdefs): Use lang_extdef instead of extdef.
|
321 |
|
|
(extdef): Same as extdef, but call do_pending_lang_change() first.
|
322 |
|
|
|
323 |
|
|
Mon Nov 15 15:39:15 1993 Chip Salzenberg
|
324 |
|
|
|
325 |
|
|
* cp-typeck.c (build_binary_op_nodefault): Warn for ordered
|
326 |
|
|
compare of ptr with 0 only if pedantic in both cases.
|
327 |
|
|
|
328 |
|
|
Thu Nov 25 13:31:37 1993 Chip Salzenberg
|
329 |
|
|
|
330 |
|
|
Reinstate the below patch, which got lost in the Cygnus merge:
|
331 |
|
|
Tue Nov 23 13:59:24 1993 Hallvard B Furuseth (hbf@durin.uio.no)
|
332 |
|
|
* cp-parse.y (maybe_type_qual): Don't fail to set $$.
|
333 |
|
|
|
334 |
|
|
Wed Nov 17 19:03:30 1993 Chip Salzenberg
|
335 |
|
|
|
336 |
|
|
* cp-parse.y (attrib): Allow "ident(ident)" like the C front end.
|
337 |
|
|
|
338 |
|
|
Fri Oct 22 20:43:37 1993 Paul Eggert
|
339 |
|
|
|
340 |
|
|
* cp-lex.c (real_yylex): Diagnose floating point constants
|
341 |
|
|
that are too large.
|
342 |
|
|
|
343 |
|
|
Wed Nov 17 19:10:37 1993 Chip Salzenberg
|
344 |
|
|
|
345 |
|
|
* cp-type2.c (build_functional_cast): ARM page 16: When a class
|
346 |
|
|
and an object, function or enumerator are declared in the same
|
347 |
|
|
scope with the same name, the class name is hidden.
|
348 |
|
|
|
349 |
|
|
Wed Nov 17 19:07:18 1993 Chip Salzenberg
|
350 |
|
|
|
351 |
|
|
* cp-call.c (convert_harshness_ansi): Distinguish float, double,
|
352 |
|
|
and long double from each other when overloading.
|
353 |
|
|
(compute_conversion_costs_{ansi,old}, build_method_call,
|
354 |
|
|
build_overlay_call_real, convert_to_aggr): Always set and
|
355 |
|
|
always use H_LEN member of candidate structure.
|
356 |
|
|
|
357 |
|
|
Mon Oct 11 23:10:53 1993 Chip Salzenberg
|
358 |
|
|
|
359 |
|
|
* cp-decl.c (duplicate_decls): Note redeclarations of library
|
360 |
|
|
functions, and generate distinct warnings for them.
|
361 |
|
|
|
362 |
|
|
Mon Oct 4 12:26:49 1993 Chip Salzenberg
|
363 |
|
|
|
364 |
|
|
Support format warnings in G++.
|
365 |
|
|
|
366 |
|
|
* cp-tree.h: Protect against multiple inclusion.
|
367 |
|
|
Declare all public functions in c-common.c (copy from c-tree.h).
|
368 |
|
|
(STDIO_PROTO): Define.
|
369 |
|
|
(warn_format): Declare.
|
370 |
|
|
(record_format_info): Remove declaration.
|
371 |
|
|
* cp-decl.c (init_decl_processing): Call init_function_format_info.
|
372 |
|
|
* cp-decl2.c (lang_decode_option): Make "-Wall" include warn_format.
|
373 |
|
|
* cp-typeck.c (build_function_call_real): Call check_function_format.
|
374 |
|
|
(record_format_info): Remove -- obsolete stub.
|
375 |
|
|
|
376 |
|
|
Sat Jul 24 12:04:29 1993 Chip Salzenberg
|
377 |
|
|
|
378 |
|
|
* cp-decl.c (duplicate_decls): Don't warn for non-extern var decl
|
379 |
|
|
following an extern one (for -Wredundant-decls).
|
380 |
|
|
* cp-parse.y (primary): In statement expression case, if compstmt
|
381 |
|
|
returns something other than a BLOCK, return it unchanged.
|
382 |
|
|
|
383 |
|
|
Thu Dec 2 20:44:58 1993 Chip Salzenberg
|
384 |
|
|
|
385 |
|
|
* cp-decl.c (warn_extern_redeclared_static): New function made
|
386 |
|
|
from code extracted from pushdecl.
|
387 |
|
|
(duplicate_decls, pushdecl): Call new function.
|
388 |
|
|
(lookup_name_current_level): Allow for IDENTIFIER_GLOBAL_VALUE
|
389 |
|
|
to be a TREE_LIST when function is declared in 'extern "C" {}'.
|
390 |
|
|
|
391 |
|
|
Fri Dec 3 16:01:10 1993 Jason Merrill
|
392 |
|
|
|
393 |
|
|
* cp-class.c (duplicate_tag_error): Use cp_error.
|
394 |
|
|
(finish_base_struct): Check for ambiguity with direct base, and don't
|
395 |
|
|
generate op= or copy ctor if it exists.
|
396 |
|
|
|
397 |
|
|
Fri Dec 3 15:32:34 1993 Kung Hsu
|
398 |
|
|
|
399 |
|
|
* cp-init.c (expand_member_init): When initializer name is null,
|
400 |
|
|
don't try to build it now because emit_base_init will handle it.
|
401 |
|
|
|
402 |
|
|
Fri Dec 3 12:28:59 1993 Jason Merrill
|
403 |
|
|
|
404 |
|
|
* cp-lex.c (init_lex): Initialize input_filename to "" for
|
405 |
|
|
code such as ExceptionHandler::operator=.
|
406 |
|
|
|
407 |
|
|
Fri Dec 3 10:32:08 1993 Jason Merrill
|
408 |
|
|
|
409 |
|
|
* cp-decl.c (grokdeclarator): Don't try to print out dname when
|
410 |
|
|
complaining about arrays of references if decl_context==TYPENAME,
|
411 |
|
|
since it will be null.
|
412 |
|
|
|
413 |
|
|
* cp-decl2.c: Default to flag_ansi_overloading.
|
414 |
|
|
|
415 |
|
|
Thu Dec 2 18:05:56 1993 Kung Hsu
|
416 |
|
|
|
417 |
|
|
* cp-call.c (build_method_call): Use binfo from instance if it's
|
418 |
|
|
different from binfo (basetype_path) passed from above.
|
419 |
|
|
|
420 |
|
|
Wed Nov 17 19:14:29 1993 Chip Salzenberg
|
421 |
|
|
|
422 |
|
|
cp-error.c (dump_expr): Use unsigned chars to output a
|
423 |
|
|
TREE_REAL_CST in hex.
|
424 |
|
|
|
425 |
|
|
Thu Dec 2 11:05:48 1993 Jason Merrill
|
426 |
|
|
|
427 |
|
|
* cp-class.c (finish_struct): Fix typo in setting
|
428 |
|
|
cant_synth_asn_ref.
|
429 |
|
|
|
430 |
|
|
* cp-tree.h (TYPE_NESTED_NAME): New macro, does
|
431 |
|
|
DECL_NESTED_TYPENAME (TYPE_NAME (NODE)).
|
432 |
|
|
|
433 |
|
|
* cp-lex.c (default_copy_constructor_body): Change
|
434 |
|
|
DECL_NAME (TYPE_NAME (btype)) to TYPE_NESTED_NAME (btype).
|
435 |
|
|
(default_assign_ref_body): Likewise.
|
436 |
|
|
(default_copy_constructor_body): Call operator= explicitly for
|
437 |
|
|
base classes that have no constructor.
|
438 |
|
|
|
439 |
|
|
Thu Dec 2 10:47:15 1993 Michael Tiemann
|
440 |
|
|
|
441 |
|
|
* cp-call.c (build_method_call): If the instance variable is
|
442 |
|
|
converted to error_mark_node when we're trying to convert it to the
|
443 |
|
|
base type of a method we're looking up, return error_mark_node.
|
444 |
|
|
|
445 |
|
|
Thu Dec 2 10:41:16 1993 Torbjorn Granlund
|
446 |
|
|
|
447 |
|
|
* cp-typeck.c (build_binary_op_nodefault): In *_DIV_EXPR *_MOD_EXPR
|
448 |
|
|
cases, tests for unsigned operands by peeking inside a NOP_EXPR.
|
449 |
|
|
|
450 |
|
|
Wed Dec 1 13:33:34 1993 Brendan Kehoe
|
451 |
|
|
|
452 |
|
|
* cp-call.c (compute_conversion_costs_ansi): Use the size of struct
|
453 |
|
|
harshness_code, not the size of short, for clearing out the
|
454 |
|
|
ansi_harshness.
|
455 |
|
|
|
456 |
|
|
* cp-call.c (print_candidates): New function.
|
457 |
|
|
(build_method_call): When we had some candidates, but didn't get a
|
458 |
|
|
usable match, don't report that we got an error with the first
|
459 |
|
|
candidate. Instead, say there were no matches, and list the
|
460 |
|
|
candidates with print_candidates. In the second pass, make sure we
|
461 |
|
|
clear out ever_seen, so we can accurately count the number of
|
462 |
|
|
functions that qualified.
|
463 |
|
|
|
464 |
|
|
Wed Dec 1 09:53:59 1993 Torbjorn Granlund
|
465 |
|
|
|
466 |
|
|
* cp-typeck.c (build_binary_op_nodefault): Shorten for *_MOD_EXPR
|
467 |
|
|
only if op1 is known to be != -1.
|
468 |
|
|
(build_binary_op_nodefault): Handle *_DIV_EXPR likewise.
|
469 |
|
|
|
470 |
|
|
Tue Nov 30 14:07:26 1993 Brendan Kehoe
|
471 |
|
|
|
472 |
|
|
* cp-method.c (hack_identifier): If the field itself is private, and
|
473 |
|
|
not from a private base class, say so.
|
474 |
|
|
|
475 |
|
|
Mon Nov 29 03:00:56 1993 Jason Merrill
|
476 |
|
|
|
477 |
|
|
* cp-decl.c (grokdeclarator): Always warn on initialization of
|
478 |
|
|
const member.
|
479 |
|
|
|
480 |
|
|
Wed Nov 24 00:49:35 1993 Jason Merrill
|
481 |
|
|
|
482 |
|
|
* cp-class.c (finish_struct): Set TYPE_GETS_CONST_* properly.
|
483 |
|
|
(finish_base_struct): Set cant_synth_asn_ref properly.
|
484 |
|
|
|
485 |
|
|
* cp-lex.c (cons_up_default_function): Add section for operator=.
|
486 |
|
|
(default_assign_ref_body): New function, mostly cribbed from
|
487 |
|
|
default_copy_constructor_body.
|
488 |
|
|
|
489 |
|
|
* cp-class.c (base_info): Add members cant_synth_copy_ctor,
|
490 |
|
|
cant_synth_asn_ref, no_const_asn_ref.
|
491 |
|
|
(finish_base_struct): Update no_const_asn_ref, note that you should
|
492 |
|
|
update cant_synth_*, propagate TYPE_GETS_ASSIGN_REF.
|
493 |
|
|
(finish_struct): Add decls for cant_synth_*, no_const_asn_ref, and
|
494 |
|
|
initialize them properly. Set no_const_asn_ref properly. Set
|
495 |
|
|
cant_synth_* in some of the situations where they should be set.
|
496 |
|
|
Propagate TYPE_GETS_ASSIGN_REF. Use cant_synth_copy_ctor. Add call
|
497 |
|
|
to cons_up_default_function for operator=.
|
498 |
|
|
|
499 |
|
|
Tue Nov 23 20:24:58 1993 Mike Stump
|
500 |
|
|
|
501 |
|
|
* cp-cvt.c (convert_force): Add code to perform casting of pointer
|
502 |
|
|
to member function types.
|
503 |
|
|
* cp-typeck.c (build_ptrmemfunc): Add FORCE parameter to indicate
|
504 |
|
|
when the conversion should be done, regardless.
|
505 |
|
|
* cp-tree.h (build_ptrmemfunc): Likewise.
|
506 |
|
|
* cp-type2.c (digest_init): Likewise.
|
507 |
|
|
* cp-typeck.c (convert_for_assignment): Likewise.
|
508 |
|
|
|
509 |
|
|
Tue Nov 23 18:06:58 1993 Jason Merrill
|
510 |
|
|
|
511 |
|
|
* cp-error.c (dump_expr): Do the right thing for variables of
|
512 |
|
|
reference type.
|
513 |
|
|
|
514 |
|
|
* cp-decl.c (grok_op_properties): Set TYPE_HAS_ASSIGN_REF
|
515 |
|
|
and its kin properly.
|
516 |
|
|
(xref_tag): Propagate TYPE_GETS_ASSIGN_REF.
|
517 |
|
|
|
518 |
|
|
Tue Nov 23 12:26:13 1993 Mike Stump
|
519 |
|
|
|
520 |
|
|
* cp-method.c (build_opfncall): Don't count pointer to member
|
521 |
|
|
functions as aggregates here, as we don't want to look up methods in
|
522 |
|
|
them. The compiler would core dump if we did, as they don't have
|
523 |
|
|
normal names.
|
524 |
|
|
* cp-typeck.c (build_indirect_ref): Improve wording on error
|
525 |
|
|
message.
|
526 |
|
|
|
527 |
|
|
Mon Nov 22 14:22:23 1993 Jason Merrill
|
528 |
|
|
|
529 |
|
|
* cp-decl.c (grok_op_properties): Allow operator?: with pedwarn
|
530 |
|
|
(since it's supported in other compiler bits).
|
531 |
|
|
|
532 |
|
|
* cp-method.c (report_type_mismatch): Use cp_error; ignore err_name
|
533 |
|
|
argument.
|
534 |
|
|
|
535 |
|
|
* cp-error.c (dump_function_decl): Don't print return type for
|
536 |
|
|
constructors and destructors.
|
537 |
|
|
|
538 |
|
|
* cp-cvt.c (cp_convert_to_pointer): Import code from
|
539 |
|
|
convert_to_pointer so we can return error_mark_node in the case of an
|
540 |
|
|
error, and to allow more meaningful error messages.
|
541 |
|
|
(build_type_conversion): Don't go through void* when trying
|
542 |
|
|
to convert to a pointer type.
|
543 |
|
|
|
544 |
|
|
* cp-decl.c (grokfndecl): Move call to grok_op_properties back
|
545 |
|
|
after grokclassfn so that it's dealing with the right decl.
|
546 |
|
|
(grok_op_properties): Don't assert !methodp for op new and op delete.
|
547 |
|
|
|
548 |
|
|
* cp-init.c (build_delete): Don't use TYPE_BUILT_IN (there are now
|
549 |
|
|
no uses of it in the compiler).
|
550 |
|
|
|
551 |
|
|
* cp-call.c (build_scoped_method_call): Fix for destructors of simple
|
552 |
|
|
types.
|
553 |
|
|
(build_method_call): Likewise.
|
554 |
|
|
|
555 |
|
|
Fri Nov 19 12:59:38 1993 Jason Merrill
|
556 |
|
|
|
557 |
|
|
* cp-tree.c (count_functions): Abstraction function.
|
558 |
|
|
|
559 |
|
|
* cp-call.c (build_overload_call_real): Deal with new overloading
|
560 |
|
|
properly, remove dead code.
|
561 |
|
|
|
562 |
|
|
* gcc.c (default_compilers): Generate and use .ii files in the
|
563 |
|
|
intermediate stage of compiling C++ source.
|
564 |
|
|
|
565 |
|
|
Fri Nov 19 11:26:09 1993 Jim Wilson
|
566 |
|
|
|
567 |
|
|
* cp-expr.c (cplus_expand_expr): Make call_target a valid memory
|
568 |
|
|
address before using it, so it can be later safely compared.
|
569 |
|
|
|
570 |
|
|
Fri Nov 12 15:30:27 1993 Jason Merrill
|
571 |
|
|
|
572 |
|
|
* cp-pt.c (tsubst): Deal with new overloading.
|
573 |
|
|
|
574 |
|
|
* cp-typeck.c (fntype_p): Is the arg function type?
|
575 |
|
|
(comp_target_parms): pedwarn on conversion from (anything) to (...).
|
576 |
|
|
(build_x_function_call): Deal with new overloading.
|
577 |
|
|
|
578 |
|
|
* cp-tree.c (decl_list_length): Deal with new overloading.
|
579 |
|
|
(decl_value_member): Like value_member, but for DECL_CHAINs.
|
580 |
|
|
|
581 |
|
|
* cp-decl.c (duplicate_decls): Deal with new overloading.
|
582 |
|
|
(start_decl): Likewise.
|
583 |
|
|
|
584 |
|
|
* cp-class.c (instantiate_type): Deal with new overloading.
|
585 |
|
|
|
586 |
|
|
* cp-call.c (convert_harshness_ansi): Deal with new overloading.
|
587 |
|
|
(convert_harshness_old): Deal with new overloading.
|
588 |
|
|
(build_overload_call_real): Likewise.
|
589 |
|
|
|
590 |
|
|
Mon Nov 8 13:50:49 1993 Jason Merrill
|
591 |
|
|
|
592 |
|
|
* cp-tree.c (get_unique_fn): New function; returns FUNCTION_DECL
|
593 |
|
|
if unambiguous, NULL_TREE otherwise.
|
594 |
|
|
(get_first_fn): Returns the first appropriate FUNCTION_DECL.
|
595 |
|
|
(is_overloaded_fn): Returns whether or not the passed tree is
|
596 |
|
|
a function or list of functions.
|
597 |
|
|
|
598 |
|
|
* cp-init.c (init_init_processing): Use `get_first_fn' to find
|
599 |
|
|
the FUNCTION_DEFN for new and delete.
|
600 |
|
|
|
601 |
|
|
* cp-decl.c (push_overloaded_decl): Use new overloading strategy, cut
|
602 |
|
|
code size in half (I spit on special cases).
|
603 |
|
|
|
604 |
|
|
Tue Sep 7 20:03:33 1993 Jason Merrill
|
605 |
|
|
|
606 |
|
|
* cp-decl.c: Allow references and template type parameters as well
|
607 |
|
|
|
608 |
|
|
|
609 |
|
|
Copyright (C) 1993 Free Software Foundation, Inc.
|
610 |
|
|
|
611 |
|
|
Copying and distribution of this file, with or without modification,
|
612 |
|
|
are permitted in any medium without royalty provided the copyright
|
613 |
|
|
notice and this notice are preserved.
|