1Tue Dec 28 21:10:03 1993 Mike Stump <mrs@cygnus.com> 2 3 * cp-init.c (expand_vec_init): Remove comptypes test, as it is too 4 harsh here. 5 6Tue Dec 28 13:42:22 1993 Mike Stump <mrs@cygnus.com> 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 12Tue Dec 28 05:42:31 1993 Mike Stump <mrs@cygnus.com> 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 34Fri Dec 24 09:40:52 1993 Michael Tiemann <tiemann@blues.cygnus.com> 35 36 * cp-typeck.c (c_expand_start_case): Use default_conversion to 37 convert expression from reference type if necessary. 38 39Wed Dec 22 17:58:43 1993 Jason Merrill <jason@deneb.cygnus.com> 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 47Tue Dec 21 14:34:25 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 57Mon Dec 20 13:35:03 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 74Fri Dec 17 15:45:46 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 81Fri Dec 17 14:28:25 1993 Jason Merrill <jason@deneb.cygnus.com> 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 89Fri Dec 17 13:28:11 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 95Fri Dec 17 12:41:17 1993 Jason Merrill <jason@deneb.cygnus.com> 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 106Thu Dec 16 16:48:05 1993 Kung Hsu <kung@cirdan.cygnus.com> 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 111Thu Dec 16 14:46:06 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 121Thu Dec 16 14:44:39 1993 Jason Merrill <jason@deneb.cygnus.com> 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 136Thu Dec 16 12:17:06 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 146Wed Dec 15 18:35:58 1993 Mike Stump <mrs@cygnus.com> 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 153Wed Dec 15 18:25:32 1993 Jason Merrill <jason@deneb.cygnus.com> 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 161Tue Dec 14 11:37:23 1993 Jason Merrill <jason@deneb.cygnus.com> 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 179Mon Dec 13 18:04:33 1993 Kung Hsu <kung@cirdan.cygnus.com> 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 185Fri Dec 10 12:40:25 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 195Thu Dec 9 18:27:22 1993 Mike Stump <mrs@cygnus.com> 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 207Thu Dec 9 16:19:05 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 213Wed Dec 8 17:38:06 1993 Mike Stump <mrs@cygnus.com> 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 218Wed Dec 8 13:01:54 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 229Tue Dec 7 18:29:14 1993 Kung Hsu <kung@cirdan.cygnus.com> 230 231 * cp-decl.c (xref_tag, pushtag): Fix nested class search/resolution 232 problem. 233 234Tue Dec 7 16:09:34 1993 Jason Merrill <jason@deneb.cygnus.com> 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 250Mon Oct 4 12:50:02 1993 Chip Salzenberg <chip@fin.uucp> 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 266Tue Dec 7 10:46:48 1993 Jason Merrill <jason@deneb.cygnus.com> 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 277Mon Dec 6 17:12:33 1993 Jason Merrill <jason@deneb.cygnus.com> 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 287Mon Dec 6 11:33:35 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 296Mon Dec 6 12:49:17 1993 Jason Merrill <jason@deneb.cygnus.com> 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 303Sun Dec 5 18:12:48 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 304 305 * cp-lex.c (readescape): Pedwarn when a hex escape is out of range. 306 307Thu Nov 25 23:50:19 1993 Chip Salzenberg <chip@fin.uucp> 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 323Mon Nov 15 15:39:15 1993 Chip Salzenberg <chip@fin.uucp> 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 328Thu Nov 25 13:31:37 1993 Chip Salzenberg <chip@fin.uucp> 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 334Wed Nov 17 19:03:30 1993 Chip Salzenberg <chip@fin.uucp> 335 336 * cp-parse.y (attrib): Allow "ident(ident)" like the C front end. 337 338Fri Oct 22 20:43:37 1993 Paul Eggert <eggert@twinsun.com> 339 340 * cp-lex.c (real_yylex): Diagnose floating point constants 341 that are too large. 342 343Wed Nov 17 19:10:37 1993 Chip Salzenberg <chip@fin.uucp> 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 349Wed Nov 17 19:07:18 1993 Chip Salzenberg <chip@fin.uucp> 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 357Mon Oct 11 23:10:53 1993 Chip Salzenberg <chip@fin.uucp> 358 359 * cp-decl.c (duplicate_decls): Note redeclarations of library 360 functions, and generate distinct warnings for them. 361 362Mon Oct 4 12:26:49 1993 Chip Salzenberg <chip@fin.uucp> 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 376Sat Jul 24 12:04:29 1993 Chip Salzenberg <chip@fin.uucp> 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 383Thu Dec 2 20:44:58 1993 Chip Salzenberg <chip@fin.uucp> 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 391Fri Dec 3 16:01:10 1993 Jason Merrill <jason@deneb.cygnus.com> 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 397Fri Dec 3 15:32:34 1993 Kung Hsu <kung@cirdan.cygnus.com> 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 402Fri Dec 3 12:28:59 1993 Jason Merrill <jason@deneb.cygnus.com> 403 404 * cp-lex.c (init_lex): Initialize input_filename to "<internal>" for 405 code such as ExceptionHandler::operator=. 406 407Fri Dec 3 10:32:08 1993 Jason Merrill <jason@deneb.cygnus.com> 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 415Thu Dec 2 18:05:56 1993 Kung Hsu <kung@cirdan.cygnus.com> 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 420Wed Nov 17 19:14:29 1993 Chip Salzenberg <chip@fin.uucp> 421 422 cp-error.c (dump_expr): Use unsigned chars to output a 423 TREE_REAL_CST in hex. 424 425Thu Dec 2 11:05:48 1993 Jason Merrill <jason@deneb.cygnus.com> 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 439Thu Dec 2 10:47:15 1993 Michael Tiemann <tiemann@blues.cygnus.com> 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 445Thu Dec 2 10:41:16 1993 Torbjorn Granlund <tege@cygnus.com> 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 450Wed Dec 1 13:33:34 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 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 464Wed Dec 1 09:53:59 1993 Torbjorn Granlund <tege@cygnus.com> 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 470Tue Nov 30 14:07:26 1993 Brendan Kehoe <brendan@lisa.cygnus.com> 471 472 * cp-method.c (hack_identifier): If the field itself is private, and 473 not from a private base class, say so. 474 475Mon Nov 29 03:00:56 1993 Jason Merrill <jason@deneb.cygnus.com> 476 477 * cp-decl.c (grokdeclarator): Always warn on initialization of 478 const member. 479 480Wed Nov 24 00:49:35 1993 Jason Merrill <jason@deneb.cygnus.com> 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 499Tue Nov 23 20:24:58 1993 Mike Stump <mrs@cygnus.com> 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 509Tue Nov 23 18:06:58 1993 Jason Merrill <jason@deneb.cygnus.com> 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 518Tue Nov 23 12:26:13 1993 Mike Stump <mrs@cygnus.com> 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 527Mon Nov 22 14:22:23 1993 Jason Merrill <jason@deneb.cygnus.com> 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 555Fri Nov 19 12:59:38 1993 Jason Merrill <jason@deneb.cygnus.com> 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 565Fri Nov 19 11:26:09 1993 Jim Wilson <wilson@sphagnum.cygnus.com> 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 570Fri Nov 12 15:30:27 1993 Jason Merrill <jason@deneb.cygnus.com> 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 590Mon Nov 8 13:50:49 1993 Jason Merrill <jason@deneb.cygnus.com> 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 604Tue Sep 7 20:03:33 1993 Jason Merrill <jason@deneb.cygnus.com> 605 606 * cp-decl.c: Allow references and template type parameters as well 607