1 Sun Jun 20 13:37:00 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3 * Version 2.4.5 released.
5 * c-common.c (decl_attributes): If first_arg_num is 0, no error for it.
7 * Makefile.in (extraclean): Delete *.gz, and other diff and tar files.
9 Sun Jun 20 18:09:50 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
11 * calls.c (expand_call): In last change, preserve the temp slot.
13 Sat Jun 19 19:55:43 PDT 1993 Ron Guilmette (rfg@netcom.com)
15 * dwarfout.c (type_main_variant): New function.
16 Use it in place of TYPE_MAIN_VARIANT everywhere in dwarfout.c.
18 * c-decl.c (grokdeclarator): Avoid the use of macros for ..._TYPE
19 nodes in cases where a parameter's type is error_mark_node.
21 Sat Jun 19 03:57:57 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
23 * Version 2.4.4 released.
25 * toplev.c (compile_file): For static decl never defined,
26 use just warning, not pedwarn.
28 * dbxout.c (dbxout_type): Reinstall #if 0 around code for
29 outputting structure types, that confused GDB.
31 Fri Jun 18 20:06:35 1993 Pat Rankin (rankin@eql.caltech.edu)
33 * vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): adjust stack pointer by 4 prior
34 to calling C$MAIN_ARGS, otherwise POSIX edition of that routine dies.
36 Fri Jun 18 14:21:14 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
38 * Makefile.in (clean): Delete objc-headers subdir.
40 * config/m68k/m68k.h (TARGET_SWITCHES): For -m68020, -m68000 and
41 -msoft-float, turn off 01400 bits.
43 * Makefile.in (gcc.xtar.gz): Renamed from gcc.tar.z.
44 (dist): Change the dependency.
45 (mostlyclean): Delete tmp-gcc.xtar.gz.
47 * c-iterate.c (save_exprs): New variable.
48 (collect_iterators): Don't process a SAVE_EXPR twice.
49 (iterator_expand): Clear save_exprs.
51 * Makefile.in (gcc.info, cpp.info): Actually cd to srcdir.
53 * configure (clipper-intergraph-clix*): Use install-headers-cpio.
55 Fri Jun 18 13:37:16 1993 Michael Meissner (meissner@osf.org)
57 * mips.c (output_block_move): Don't abort if one of the input
58 registers is allocated as a scratch register, just use fewer
61 Fri Jun 18 00:25:16 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
63 * config/i386/i386.c (call_insn_operand): Require constant address
65 (expander_call_insn_operand): New fn (what call_insn_operand was).
66 * config/i386/i386.md (call_pop, call, call_value_pop, call_value)
67 (untyped_call): Use expander_call_insn_operand.
69 Thu Jun 17 17:58:11 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
71 * config/pa/pa.md (decrement_and_branch_until_zero):
74 Thu Jun 17 13:34:20 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
76 * unroll.c (calculate_giv_inc): Add new variables increment_total
77 and tries, and new label retry, to handle case where increment is
80 Thu Jun 17 12:13:53 1993 Minh Tran-Le (mtranle@paris)
82 * config/i386/aix386ng.h: Changes for non-GAS gcc.
83 (ASM_FILE_START_1): Always output .noopt because /bin/as is buggy.
84 Added #undef to {INIT,FINI,CTORS,DTORS}_SECTION_ASM_OP, ... when
86 (CONST_SECTION_FUNCTION): Override svr3 default.
87 (EXTRA_SECTION_FUNCTIONS): Override svr3 default.
88 (OBJECT_FORMAT_COFF): Added define for collect2.
89 (MY_ISCOFF): For collect2 to handle aix and svr3 object file.
91 * config/i386/aix386.h (USE_GAS): New define.
93 Thu Jun 17 00:26:38 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
95 * reg-stack.c (stack_result_p): New function.
96 (stack_reg_life_analysis): Use that.
98 * final.c (output_addr_const): Don't insert a leading space
99 in the CONST_DOUBLE_HIGH != 0 case.
101 Thu Jun 17 00:09:19 1993 Jeff Law (law@snake.cs.utah.edu)
103 * pa.h (LEGITIMATE_CONSTANT_P): Reject function addresses for now.
105 Wed Jun 16 20:14:10 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
107 * cp-typeck.c (build_unary_op): Make sure it's the global fn `main'
108 before complaining about taking the address of it.
110 Wed Jun 16 16:24:31 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
112 * config/i386/xm-sysv4.h (SMALL_ARG_MAX): Defined.
114 * c-typeck.c (check_format): Don't crash if cur_type is an error_mark.
115 Handle identifier_node as the TYPE_NAME.
117 Mon Jun 14 16:09:24 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
119 * calls.c (expand_call): If PCC_STATIC_STRUCT_RETURN and TARGET
120 is zero, copy result from static location.
122 * cse.c (invalidate_skipped_set): Promote "nonscalar" to "all".
124 Mon Jun 14 16:01:34 1993 Karl Berry (karl@cs.umb.edu)
126 * fixincludes (stdio.h math.h ctype.h sys/{limits.h,fcntl.h,dirent.h}):
127 Fix STDC/POSIX and other things for Interactive Unix 2.2 or later.
129 Mon Jun 14 04:41:38 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
131 * reload.c (make_memloc): Don't reuse a memloc.
133 Sun Jun 13 16:01:37 1993 Jeff Law (law@snake.cs.utah.edu)
135 * pa.md (iorsi3): Explicitly set length to 1.
136 (andsi3, lshrsi3, rotrsi3, rotlsi3): Likewise.
137 (ashift and ashiftrt by const_int_operand): Likewise.
138 ((and (ashift)) optimizer): Likewise.
140 Sun Jun 13 20:23:04 1993 Stephen Moshier (moshier@world.std.com)
142 * real.c (ltoe, ultoe, eifrac, euifrac): Handle 64-bit longs.
143 (SFMODE_NAN, DFMODE_NAN, XFMODE_NAN, TFMODE_NAN): New macros
144 permit definitions of NaN patterns to be overridden in tm.h.
146 Sun Jun 13 12:55:22 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
148 * cp-decl.c (start_function): Avoid a null-reference on CTYPE.
150 Sun Jun 13 08:22:30 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
152 * expr.c (expand_expr, case COND_EXPR): Fix typo; const1_rtx should
153 be const0_rtx when ignoring expression.
155 Sun Jun 13 00:15:00 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
157 * genopinit.c (optabs): For strlen_optab, don't look for `2' in name.
159 Sat Jun 12 20:23:04 1993 Stephen Moshier (moshier@world.std.com)
161 * real.c (ereal_from_float, ereal_from_double): New functions.
162 * real.h (REAL_VALUE_FROM_TARGET_SINGLE): New macro.
163 (REAL_VALUE_FROM_TARGET_DOUBLE): Likewise.
164 * emit-rtl.c (gen_lowpart_common): Use those macros if REAL_ARITHMETIC.
166 Sat Jun 12 13:44:00 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
168 * sched.c (add_dependence): Reject CODE_LABELs when searching for
169 last insn of a sched group.
171 Sat Jun 12 08:06:25 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
173 * m68k.md (movqi): Handle copying an address register to or
174 from memory when the address uses the address register.
176 Sat Jun 12 00:17:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
178 * cse.c (record_jump_cond): Look up op1 again after inserting op0.
180 Fri Jun 11 21:50:16 1993 John F Carr (jfc@Athena.mit.edu)
182 * rs6000.md (movsf, movdf): Handle a move from an integer register
183 before reload. This can happen if the user uses asm to put a floating
184 point variable in an integer register.
186 Fri Jun 11 20:04:43 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
188 * rs6000.c (rs6000_gen_section_name): Only replace last period
189 in filename with section name and correct calculation of
192 * recog.c (constrain_operands): Correctly ignore MATCH_OPERATOR
195 * reload1.c (eliminate_regs_in_insn): Don't use a later elimination
196 than eliminate_regs would use.
198 * c-decl.c (finish_decl): Don't modify DECL_INITIAL of a PARM_DECL.
200 Thu Jun 10 23:48:01 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
202 * genextract.c (main): Use __volatile__, not volatile.
204 Thu Jun 10 16:21:08 1993 Michael Meissner (meissner@osf.org)
206 * i386/osfrose.h (SUBTARGET_SWITCHES): Add -m{,no-}ident.
207 (ASM_SPEC): Pass -v to assembler if used.
208 (OVERRIDE_OPTIONS): Don't allow -fpic if using the OSF/rose object
210 (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME): If using ELF,
211 emit a .type pseudo op that says the label is either an object or
213 (ASM_DECLARE_FUNCTION_SIZE): Copy from svr4.h.
214 (SCCS_DIRECTIVE): Define.
215 (ASM_FILE_END): Unless -mno-ident, emit a .ident directive that
216 identifies GCC and whether several switches are used.
218 * i386/osfelf.h (ASM_SPEC): Pass -v to assembler if used.
219 (OBJECT_FORMAT_ROSE): Undefine.
221 Thu Jun 10 16:20:24 1993 Doug Evans (dje@canuck.cygnus.com)
223 * expmed.c (MAX_BITS_PER_WORD): Define earlier.
224 (shift_cost, shiftadd_cost, shiftsub_cost): Use MAX_BITS_PER_WORD.
226 Thu Jun 10 12:56:18 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
228 * sched.c (sched_analyze_2): Don't ignore USE insns when creating
230 (sched_analyze): Likewise.
232 Wed Jun 9 12:58:51 1993 Michael Meissner (meissner@osf.org)
234 * configure (i386-*-osfelf): Add new configuration for OSF/1 using
235 the ELF object file format.
237 * i386/osfelf.h (new file): New config file for OSF/1 with ELF.
238 Include osfrose.h and redefine things as needed.
240 * i386/osfrose.h (SUBTARGET_SWITCHES): Add -melf, -mrose, and
242 (HANDLE_SYSV_PRAGMA): Define.
243 (IDENTIFIER_PREFIX, IDENTIFIER_SUFFIX): Remove unused macros.
244 (CPP_PREDEFINES): Add -Acpu(i386) -Amachine(i386) -Asystem(unix).
245 (CPP_SPEC): Define __ROSE__ if compiling for OSF/rose and __ELF__
246 if compiling for the ELF object format.
247 (CC1_SPEC): Pass -mrose if no object format switch.
248 (DWARF_DBX_REGISTER_NUMBER): Map registers according to the
251 Wed Jun 9 13:21:03 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
253 Mon Jun 7 18:01:31 1993 Mike Stump (mrs@cygnus.com)
255 * cp-search.c (is_subobject_of_p, lookup_field, lookup_fnfields):
256 Because virtual bases don't necessarily share the same binfo, use
257 the binfo hierarchy of TYPE_BINFO of any virtual bases, when
258 performing hiding checks. Fixes problem introduced on Thu Mar 25
259 23:09:27 1993. The symptom is the compiler reports non ambiguous
260 members as being ambiguous.
262 Wed Jun 2 11:53:24 1993 Mike Stump (mrs@cygnus.com)
264 * cp-search.c (lookup_fnfields_here): Use TYPE_MAIN_VARIANT on
265 context types before comparing. Fixes const member functions not
266 being found in templates.
268 Tue Jun 8 19:44:23 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
270 * cp-decl.c (finish_function): Move setting of the DECL_RESULT's
271 context and calling setjmp_protect after poplevel, so we have a
272 valid DECL_INITIAL for the fndecl (not an error_mark_node).
274 Tue Jun 8 13:14:27 1993 John Hassey (hassey@dg-rtp.dg.com)
276 * configure: Added gas support for m88k-* targets.
278 * t-luna-gas t-dgux-gas t-m88k-gas: New files in config/m88k.
280 Tue Jun 8 14:51:44 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
282 * loop.c (move_movables): Delete REG_EQUAL notes that describe a
283 non loop invariant value.
285 * sparc.c (call_operand, call_operand_address): Accept any address
288 Tue Jun 8 18:47:39 1993 Torbjorn Granlund (tege@nada.kth.se)
290 * sparc.h: (RTX_COSTS): Make cost of MULT depend on TARGET_V8.
292 * pa.h (CPP_SPEC): Fix typo: define __hp9000s700.
294 Tue Jun 8 06:16:30 1993 John Hassey (hassey@dg-rtp.dg.com)
296 * m88k.h (HARD_REGNO_REGS, HARD_RENO_MODE_OK, MODES_TIEABLE_P):
297 Restrict use of 88110 extended registers to floating point.
299 Mon Jun 7 15:42:10 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
301 * math-68881.h (atan2): For x <= 0, lump y == 0 with y > 0
302 to get the right result in 0, -1 case.
304 Mon Jun 7 17:50:25 1993 Jeff Law (law@snake.cs.utah.edu)
306 * pa.h (RTX_COSTS): Cost of MULT also depends on
307 TARGET_DISABLE_FPREGS.
309 * pa.h (ASM_OUTPUT_INT): Always emit special "plabel" relocation for
312 Sun Jun 6 16:31:59 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
314 * gcc.c (translate_options): Don't assume option_map[j].arg_info != 0.
316 * config/vax/vax.h (PRINT_OPERAND): Prefix constant by `$'.
318 Sun Jun 6 00:44:48 1993 Torbjorn Granlund (tege@nada.kth.se)
320 * m88k.md (fix_truncdfsi2): Destination is general register, source
321 general or extended register.
322 (fix_truncsfsi2): Likewise.
324 Sun Jun 6 00:20:25 1993 Kresten Krab Thorup (krab@iesd.auc.dk)
326 * objc-act.c (encode_type): Add cases for DImode, encoded
327 as 'q' and 'Q' respectively.
329 Sat Jun 5 14:02:36 1993 James Van Artsdalen (james@bigtex.cactus.org)
331 * c-decl.c (pushdecl): Copy DECL_FRAME_SIZE for inline function decls.
333 * stmt.c (check_for_full_enumeration_handling): Don't create a
334 default label if all enumeration literals are covered by cases.
336 Sat Jun 5 04:49:19 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
338 * function.c (uninitialized_vars_warning): Change warning text.
339 (setjmp_args_warning): Likewise.
341 * c-typeck.c (convert_for_assignment): Allow conversion to union type
342 for pointer if the pointer could convert to the union member.
344 Fri Jun 4 18:09:47 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
346 * integrate.c (expand_inline_function): Always copy a SUBREG as an
349 Fri Jun 4 05:52:28 1993 Torbjorn Granlund (tege@nada.kth.se)
351 * pa.h (RTX_COSTS): Make cost of MULT depend on TARGET_SNAKE.
353 * expmed.c (synth_mult): Move code to add or subtract at
354 leftmost 1-bit to before factoring code to decrease the allowed cost
355 quickly. Restrict it to handle only odd numbers.
356 (init_expmed): Limit mult_cost to make synth_mult run faster.
358 Fri Jun 4 23:18:35 1993 Kresten Krab Thorup (krab@iesd.auc.dk)
360 * objc/sendmsg.c (objc_msg_sendv): Pass a dummy va_list, not 0,
363 Fri Jun 4 16:12:43 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
365 * byteorder.h: Use new-style function definitions, so that this
366 file is both valid C and C++.
368 Fri Jun 4 00:59:31 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
370 * config/mips/svr4-5.h (CPP_PREDEFINES):
371 Add _MIPS_SZINT _MIPS_SZLONG _MIPS_SZPTR.
373 Thu Jun 3 23:48:39 1993 Jeff Law (law@snake.cs.utah.edu)
375 * pa.c (output_function_epilogue): If the last insn in the
376 current function is a (volatile) call, then emit an extra
377 nop after the call so that RP will point to a valid instruction.
379 Thu Jun 3 18:52:24 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
381 * config/nextstep.h (INCLUDE_DEFAULTS): Use same order as cccp.c.
382 Add CCC_INCLUDE_DIR with /ansi and /bsd concatenated.
384 * varasm.c (immed_real_const_1): Check explicitly for NaNs.
386 Thu Jun 3 14:37:25 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
388 * combine.c (num_sign_bit_copies): At end, return 1 is nonzero has
391 Wed Jun 2 17:27:31 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
393 * loop.c (record_initial): Reject insns that store into subregs.
395 Tue Jun 1 12:46:48 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
397 * Version 2.4.3 released.
399 * just-fixinc: New file.
401 * config/convex/convex.h [_IEEE_FLOAT_] (LINK_SPEC):
402 Use ___gcc_cleanup, not __gcc_cleanup.
404 Tue Jun 1 07:41:26 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
406 * rs6000.md (ffs): Delete pattern containing nonexistant instruction.
408 * alpha.md (extendsidi2): Correctly do operation when in FP
409 registers and, since expensive, don't have FP regs as a preference.
411 Tue Jun 1 00:09:46 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
413 * fixincludes (signal.h): Fix typo in last change.
415 * configure: Add missing dash in patterns for mips-*-riscos...
416 In riscos 5 patterns, use fixinc.mips.
418 * fixinc.mips: New file.
420 * config.sub: Handle 386bsd.
422 Mon May 31 23:47:00 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
424 * config/vax/vax.md (untyped_call, blockage): New patterns,
425 basically copied from m68k.md.
427 Mon May 31 21:46:08 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
429 * romp.c (output_epilog): Don't crash if TYPE_SIZE of an arg is
432 Mon May 31 00:15:20 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
434 * config/mips/x-sony (OLDCC): Fix typo.
436 * config/mips/bsd-4.h, bsd-5.h, svr3-4.h, svr3-5.h, svr4-4.h, svr4-5.h:
437 (STANDARD_INCLUDE_DIR): Renamed from SYSTEM_INCLUDE_DIR.
438 * config/mips/bsd-5.h, svr3-5.h, svr4-5.h (LINK_SPEC):
439 Delete excess close brace.
441 * pa.md (decrement_and_branch_until_zero):
442 Reverse all conditions in reload cases.
444 * Version 2.4.2 released.
446 Sun May 30 21:14:42 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
448 * integrate.c (expand_inline_function): Increment map->const_age
449 before copying REG_NOTES.
451 * sparc.c (sparc_builtin_saveregs): Don't set first_reg to zero
454 Sun May 30 23:58:52 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
456 * objc/Makefile (copy-headers): chmod the headers, not the dir.
458 * Makefile.in (objc-headers): Don't dep on force.
459 Touch objc-headers so copy is not repeated at install time.
461 * final.c (shorten_branches): Conditionalize last change
462 on SHORTEN_WITH_ADJUST_INSN_LENGTH.
464 * pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Defined.
466 Sun May 30 13:53:30 1993 Jeff Law (law@snake.cs.utah.edu)
468 * final.c (shorten_branches): Call ADJUST_INSN_LENGTH during the
471 * pa.c (output_cbranch): In forward/long branch case, only
472 nullify if the delay slot was empty or if the delay slot
473 was explicitly nullified.
474 (output_bb): Likewise.
476 * pa.h (ADJUST_INSN_LENGTH): Call pa_insn_adjust_length.
478 * pa.h (INSN_SETS_ARE_DELAYED): Do not call get_attr_type with a
480 (INSN_REFERENCES_ARE_DELAYED): Likewise.
482 * pa.md (call insns and expanders): Do not explicitly clobber %r31.
484 * pa.c (pa_insn_adjust_length): Rework. Add code to handle
485 millicode calls with unfilled delay slots and inline block moves.
486 (compute_movstrsi_length): New function to compute the length of
488 (output_cbranch): Long branches with unfilled delay slots can
489 always nullify the following instruction if their delay slot
492 Sun May 30 18:58:22 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
494 * mips.c (function_arg_partial_nregs): For BLKmode values, fits in
495 remaining register if total size <= MAX_ARGS_IN_REGISTERS, not <.
497 Sun May 30 17:45:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
499 * emit-rtl.c (operand_subword): Shift by (HOST_BITS_PER_WIDE_INT / 2),
502 * reload1.c (reload): If only non-group need is unfilled, see if
503 regs spilled for earlier classes can satisfy it.
505 * config/mips/iris4loser.h (ASM_SPEC): Add unconditional -O0.
507 Sat May 29 15:19:57 1993 Jeff Law (law@snake.cs.utah.edu)
509 * pa.md (movdf for const_double): Handle loading
510 a CONST_DOUBLE into general registers.
511 (movsf for const_double): Likewise.
513 * pa.c (singlemove_string): Handle SFmode CONST_DOUBLE
516 Sat May 29 14:14:30 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
518 * emit-rtl.c (operand_subword): Correctly handle case when
519 REAL_VALUE_TO_TARGET_DOUBLE is used on a 64-bit machine.
521 Sat May 29 12:15:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
523 * fixincludes (signal.h): Don't mung #endif if nonwhite stuff precedes.
527 Fri May 28 19:01:39 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
529 * configure (i[34]86-*-isc*): If gas and not stabs, use isccoff.h.
531 * final.c (shorten_branches): Do not call insn_current_length
532 with an insn which has a non-varying length. Use insn_lengths
535 * c-typeck.c (process_init_constructor): Never set current_index
536 itself--always store into current_index_node.
538 * dbxout.c (dbxout_type): Add missing `;' for array with no domain.
540 Fri May 28 16:47:54 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
542 * cse.c (fold_rtx): Correct check for associating shifts and
543 ending up with a shift count too large; convert to the
544 largest valid for ASHIFTRT and don't fold all others.
546 * combine.c (make_compound_operation, case ASHIFTRT): Fix typo.
547 Was using C1 where C2 is needed.
549 Fri May 28 17:50:38 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
551 * integrate.c (expand_inline_function): When copy REG_NOTES, must
552 also call subst_constants.
554 * gcc.c (process_command): When GCC_EXEC_PREFIX is defined and
555 tooldir is relative, add it to search path in addition to standard
556 directory rather than instead of.
558 Fri May 28 00:50:53 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
560 * config/arm/arm.h (GO_IF_LEGITIMATE_INDEX): Check explicitly for
561 upper and lower bounds of valid INDEX.
563 * genopinit.c (insn_name_ptr): Declare as variable.
564 (optabs): Fix typo in floatuns case.
566 Thu May 27 12:13:55 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
568 * combine.c (simplify_and_const_int, case IOR, XOR, NOT): Don't
569 create constant wider than mode of VAROP.
571 Thu May 27 20:41:18 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
573 * configure (i[34]86-ibm-aix*): Set fixincludes.
574 (i[34]86-*-sco*): Don't test --with-gas, just --with-stabs.
576 Wed May 26 16:05:05 1993 Michael Collison (collison@osf.org)
578 * jump.c (jump_optimize): Insert missing GET_MODE call.
580 Wed May 26 18:40:09 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
582 * i960.md (ashlsi3): Use shlo instead of shli.
584 Wed May 26 00:34:33 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
586 * config/nextstep.h (INCLUDE_DEFAULTS): Undo previous change.
588 * Makefile.in (gcc.xtar.z): Renamed from gcc.xtar.Z. Use gzip.
589 (dist): Depend on gcc.xtar.z.
590 (mostlyclean): Delete temp-gcc.xtar.z.
592 * Version 2.4.1 released.
594 * c-lex.c (readescape): Don't complain for \% unless pedantic.
596 * config/mips/mips.h (ASM_SPEC): If -noasmopt, pass -O0.
597 * config/mips/iris3.h: Likewise.
599 * config/mips/iris4loser.h: New file.
600 * config/mips/iris4gl.h: New file.
601 * configure (mips-sgi-iris4loser): New alternative.
603 Tue May 25 18:05:50 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
605 * dbxout.c (dbxout_block) [DBX_BLOCKS_FUNCTION_RELATIVE]:
606 Get function name from DECL_RTL not from DECL_ASSEMBLER_NAME.
607 * config/sparc/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
609 * m68k/sun3.h (FUNCTION_VALUE, FUNCTION_VALUEX): Ifdef out.
611 * c-typeck.c (convert_for_assignment): When allowing mixing of
612 signed and unsigned pointers, compare unsigned types not type sizes.
614 Tue May 25 00:08:42 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
616 * nextstep.h (INCLUDE_DEFAULTS): Delete /NextDeveloper/Headers/ansi
617 and /NextDeveloper/Headers/bsd.
619 * regclass.c (regclass): Fix paren error.
621 * c-decl.c (finish_decl): If type is laid out, but decl is not,
624 * protoize.c (include_defaults): Update to match cccp.c.
625 * Makefile.in (stamp-proto):
626 Pass LOCAL_INCLUDE_DIR based on local_prefix.
628 * stmt.c (expand_asm_operands): Detect constants as outputs.
630 Mon May 24 18:25:23 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
632 * collect2.c (main): Use TARGET-gcc, not gcc-TARGET.
634 * reload1.c (delete_output_reload): Don't delete output reload
635 if cannot_omit_stores is set for that pseudo.
636 (reload): Init and clear cannot_omit_stores.
637 (eliminate_regs): Set cannot_omit_stores.
639 * configure (i[34]86-*-sco3.2v4*): Test --with-stabs, not --with-gas.
641 Mon May 24 14:10:59 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
643 * integrate.c (expand_inline_function): Set MEM_IN_STRUCT_P for
644 return value if needed.
646 Mon May 24 13:10:07 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
648 * cp-call.c (convert_harshness): Don't dereference a null parm.
650 * cp-method.c (dump_init): Don't try to print out the first operand
651 of a TARGET_EXPR if it's not there.
653 Mon May 24 10:13:26 1993 Mike Stump (mrs@poseidon.cygnus.com)
655 * expr.c (expand_expr): Finish Tue Aug 18 23:07:33 1992 change. It
656 didn't handle the target != 0 case, now it does.
658 Mon May 24 00:30:50 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
660 * expr.c (expand_expr, TARGET_EXPR case):
661 Handle case where DECL_RTL is nonzero.
663 * configure (i[34]86-*-isc*): Use install-headers-cpio.
665 * genopinit.c (optabs): Add backslashes to prevent SCCS confusion.
666 * config/m68k/tower-as.h (CONSTRUCTOR_NAME_FORMAT): Likewise.
668 * combine.c (subst): For subreg-of-constant, don't gen_lowpart
669 if it's a big-endian machine and constant is multi-word.
671 * gstddef.h (size_t) [__GNUG__]: Don't typedef it if it's
672 already defined as a macro.
674 * config/i386/x-aix (CLIB): Defined.
675 * config/i386/aix386.h (STARTFILE_SPEC, LINK_SPEC): New overrides.
676 * config/i386/xm-aix.h: Undef TRUE and FALSE before #include.
677 * config/i386/aix386ng.h (STARTFILE_SPEC, LINK_SPEC): Don't use
678 crtbegin.o, crtend.o, crtn.o, libp.a. Use gcrt0.0, not gcrt1.o.
679 (ENDFILE_SPEC): Use crtn.o.
680 (CPP_PREDEFINES): Delete _AIX, AIX, and _I386. Add ps2, unix.
681 (CPP_SPEC): Add _AIX, _I386, _MBCS. Handle -posix.
682 (ASM_SPEC): Turned off.
683 * config/i386/t-aix: New file.
684 * configure (i[34]86-ibm-aix*): Use t-aix if using gas.
686 * config/i386/sco4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
687 New override definitions.
689 * toplev.c (compile_file): Undo previous changes (that were to call
690 assemble_zeros whenever DBX_DEBUGGING_INFO is defined).
692 Sun May 23 16:31:38 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
694 * config/nextstep.h (INCLUDE_DEFAULTS): Fix missing comma.
696 * config/i386/x-aix (FIXINCLUDES): Defined.
697 * fixinc.ps2: New file.
699 Sun May 23 14:51:06 1993 Kresten Krab Thorup (krab@iesd.auc.dk)
701 * objc/objc.h (objc_protocol): New field `class_pointer'.
703 * objc/init.c (__objc_init_protocols): Call recursively
704 on super protocols. Make local var `proto_class' static.
706 Sun May 23 00:49:17 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
708 * Makefile.in (BISONFLAGS): Remove -v since output file names are long.
710 * reload1.c (choose_reload_regs): If inheriting a spill reg,
711 and reload_out has a wider mode, just copy from that spill reg,
712 don't use it for the reload.
714 * reload.c (push_reload): Fix NULL arg in last change.
716 * config/m88k/x-tekXD88 (AR_FLAGS): Defined.
718 Sat May 22 14:49:59 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
720 * config/mips/mips.h (ASM_SPEC): If -noasmopt, don't pass -O2.
721 * config/mips/iris3.h: Likewise.
723 * config/nextstep.h (INCLUDE_DEFAULTS): Put /usr/include/bsd last.
725 * config/alpha/alpha.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):
726 Use hex if infinite, nan, or minus zero.
728 * real.c (target_isnan): Use GET_REAL macro to get argument.
729 (ereal_to_int): Fix potentially wrong-endian argument passed to eisnan.
731 Fri May 21 14:24:01 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
733 * config/nextstep.h (INCLUDE_DEFAULTS): Add /usr/include/bsd.
735 * cccp.c (default_include): Put TOOL_INCLUDE_DIR after
736 LOCAL_INCLUDE_DIR in non-cross case.
738 * real.c (emdnorm): Fix typo affecting roundoff behavior in XFmode.
740 * config/m68k/amix.h (CPP_PREDEFINES): Add -D__svr4__.
741 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
742 New override definitions.
744 * collect2.c (main) [CROSS_COMPILE]: Use TARGET-TOOL for full_...
746 * collect2.c (main): For -debug, if ..._file_name is a null pointer,
747 say so instead of crashing.
749 * m68k.md (cmpxf2 recognizer): Test SGS_CMP_ORDER, not HPUX_ASM.
751 * c-common.c (constant_expression_warning)
752 (overflow_warning, convert_and_check): Change pedwarn to warning.
754 * reload.c (push_reload): When IN is a subreg of a multiword reg
755 that uses a funny number of registers, and SUBREG_WORD is nonzero,
756 and IN must match an output, reload both the reg and the subreg.
758 * protoize.c (add_symbol, unexpand_if_needed, abspath):
759 Supply missing arg to savestring.
761 * Makefile.in (info, dvi): New targets.
763 Fri May 21 10:28:41 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
765 * cp-pt.c (subst): Don't use a method's arguments unless it has some.
767 Fri May 21 11:51:20 1993 Kresten Krab Thorup (krab@iesd.auc.dk)
769 * objc/sarray.h (sarray_get): Add #ifdef case for
770 !defined(PRECOMPUTE_SELECTORS) and OBJC_SPARSE2.
771 * objc/sarray.c (sarray_at_put): Likewise.
773 Fri May 21 00:51:10 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
775 * configure (mips-*-ultrix*): Renamed from mips-dec-ultrix*.
777 Thu May 20 23:16:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
779 * reload1.c (choose_reload_regs): Handle earlyclobbers
780 when inheriting from reg_last_reload_reg.
782 Thu May 20 13:59:16 1993 Doug Evans (dje@canuck.cygnus.com)
784 * Makefile.in (install-dir): Fix syntax, make tooldir before assertdir.
786 Thu May 20 08:52:30 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
788 * gstddef.h [_ANSI_H_]: Handle __need_size_t and __need_wchar_t.
790 * fixincludes (Fixing CTRL): Reject CTRL or _CTRL following digit.
792 * enquire.c (F_check): Check NO_LONG_DOUBLE_IO.
794 Wed May 19 23:18:55 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
796 * config/i386/x-isc3 (X_CFLAGS): Delete -DPOSIX_JC.
798 * real.c (e24toe, e53toe, e64toe): Fix sign in conversions
799 of -infinity. Do eclear before einfin.
801 Wed May 19 15:37:20 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
803 * va-sparc.h (va_dcl): Restore accidentally deleted __builtin_va_alist
806 * objc-act.c (handle_class_ref): Call assemble_constant_align
807 before output_constant.
808 * varasm.c (assemble_constant_align): New function.
810 Wed May 19 13:40:01 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
812 * config/i860/x-sysv4 (X_CFLAGS): Deleted.
814 * configure (i[34]86-*-isc*): If version is 3, use x-isc3.
815 * config/i386/x-isc3: New file.
817 Mon May 19 21:47:49 1993 Jeff Law (law@snake.cs.utah.edu)
819 * Fix calling convention for indirect calls on the PA.
820 * calls.c (expand_call): Declare and set current_call_is_indirect.
821 (emit_library_call, emit_library_call_value): Likewise.
822 * function.c (assign_parms): Likewise.
823 * pa.h (TARGET_SHARED_LIBS): Define as 1.
824 (FUNCTION_ARG): If this is a call through a function pointer, then
825 the caller passes all arguments in general registers.
827 * pa.h (FUNCTION_ARG_REGNO_P): Account for registers which may
828 be unavailable on particular cpu models. Fix indentation.
830 Wed May 19 13:13:42 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
832 * loop.c (scan_loop): Treat pseudo duplicated for exit tests just
833 like we treat user vars in seeing if we can move a SET.
835 * combine.c (set_nonzero_bits_and_sign_copies, nonzero_bits):
836 If we have a positive constant that is negative in the mode
837 it is being used in, treat it as negative.
838 * rs6000.h, alpha.h (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
840 * emit-rtl.c (operand_subword): Reject cases when BITS_PER_WORD
841 is greater than HOST_BITS_PER_INT unless OP is const0_rtx.
843 Tue May 18 16:31:06 1993 Torbjorn Granlund (tege@nada.kth.se)
845 * pa.h (INITIALIZE_TRAMPOLINE): Make 2:nd flush, end_addr,
846 at the last real insn in the trampoline.
848 Tue May 18 13:35:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
850 * Makefile.in (assertdir): use $(tooldir)/include for this.
851 (install-dir): Always create assertdir and tooldir.
853 * config/arm/arm.md (add/asl recognizer): Use space, not #, after asl.
854 Shuffle operands differently.
856 * objc-act.c (synth_module_prologue): Set TREE_PUBLIC in umsg_decl.
858 * Makefile.in (infodir): New variable.
859 (install-dir): Create that dir.
860 (install-info): New rule.
861 (install-normal): Depend on install-info.
863 * fixincludes: Use $file. rather than $file.sed
864 when $file is or might be more than 10 characters long.
866 * config/i386/isc.h (LIB_SPEC): Handle -posix before -shlib.
868 * config/mips/x-sony: New file.
869 * configure (mips-sony-bsd*): Use x-sony.
871 * Makefile.in (local_prefix): Do not default from $(prefix).
873 Tue May 18 09:28:02 1993 Chris Smith (csmith@convex.com)
875 * convex.c (replace_pushes, emit_ap_optimizations): Delete.
877 Mon May 17 18:07:53 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
879 * fixinc.svr4 (ieeefp.h): Delete definitions of __mips and __m68k.
881 Mon May 17 17:00:00 1993 DJ Delorie (dj@ctron.com)
883 * configure.bat: Fix sed for version.c to handle both with
884 and without spaces correctly (MS-DOS).
886 Mon May 17 12:26:55 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
888 * rtl.c (init_rtl): Correct number of 'w's in CONST_DOUBLE format.
890 Mon May 17 00:07:50 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
892 * Version 2.4.0 released.
894 * Makefile.in (extraclean): Remove junk from objc subdir.
896 * fixinc.svr4 (ieeefp.h): Delete definitions of __i860 and __m88k.
898 * mips/iris4.h (ASM_OUTPUT_ASCII): New overriding definition.
900 * pa.h (INITIALIZE_TRAMPOLINE): Pass both the starting and ending
901 addresses of the trampoline to the cacheflush pattern.
902 * pa.md (cacheflush): Flush the cache entries associated with
903 both the starting and ending addresses of the trampoline.
905 * gvarargs.h, gstdarg.h [__svr4__ __i860__]:
906 Define _VA_LIST only if not defined already.
908 Mon May 17 00:40:36 1993 James Van Artsdalen (james at bigtex.cactus.org)
910 * i386/sysv4.h (BIGGEST_FIELD_ALIGNMENT, PCC_BITFIELD_TYPE_MATTERS):
911 Deleted. Now handled by HANDLE_SYSV_PRAGMA.
912 (HANDLE_SYSV_PRAGMA): Deleted: already defined by svr4.h.
914 Sun May 16 19:25:38 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
916 * unroll.c (initial_reg_note_copy, final_reg_note_copy): New functions.
917 (copy_loop_body): Use new function to copy REG_NOTES.
919 Sun May 16 13:03:58 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
921 * Makefile.in (extraclean): Delete junk in subdirs of config.
922 (distclean): Delete {c,cplus,objc}-parse.output.
924 * reorg.c (find_end_label): Update insn after calling emit_jump_insn.
926 * fixinc.svr4 (ieeefp.h): Delete `#define __sparc' also.
928 Sun May 15 01:37:19 PDT 1993 Ron Guilmette (rfg@netcom.com)
930 * fixinc.svr4 (ieeefp.h): Delete `#define __i386' line.
932 Sat May 15 10:11:01 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
934 * math-68881.h: Add conditional against multiple inclusion.
936 * gvarargs.h [__svr4__ __i860__] (_VA_LIST): Do define.
937 * gstdarg.h: Likewise.
939 * toplev.c (compile_file): If support dbx output,
940 always output 0 at start of text section.
942 * cp-tree.h (error_not_base_type): Fix typo in decl.
944 Sat May 15 09:08:23 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
946 * expr.c (expand_assignment): Fix error in last change.
948 * rs6000.md (movqi, movhi, movsi): Make sure that address returned
949 from force_const_mem is valid.
951 * i860.h (INITIALIZE_TRAMPOLINE): Don't make improper SUBREGs
952 and ensure that CXT and FNADDR are in registers.
954 * convex.c (insert_ap_loads): Initialize AP_IS_LIVE to 0 at
955 start of both loops, not just first one.
957 * convex.h (REGNO_REG_CLASS): Don't call abort; it will cause
958 a compilation error as written and isn't done elsewhere.
960 * combine.c (set_nonzero_bits_and_sign_copies): Don't record
961 data for a a pseudo that is undefined on entry to a function.
962 When a pseudo is clobbered, show we don't know anything about it.
964 * expr.c (expand_assignment): Always return a result that has
967 * rs6000.c (rs6000_makes_calls): If profiling, say we make calls.
969 Sat May 15 00:38:22 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
971 * va-mips.h (va_arg) [__MIPSEB__]:
972 After incrementing, subtract the rounded size, not the size proper.
974 * config/i860/x-sysv4 (X_CFLAGS): Defined.
975 (GCC_CFLAGS): Definition deleted.
977 * final.c (output_addr_const): Don't printing leading zeros.
979 Sat May 15 06:18:43 1993 James Van Artsdalen (james at bigtex.cactus.org)
981 * reload1.c (reload): Don't start 2-group unless it could be finished.
983 Sat May 15 12:23:58 1993 Torbjorn Granlund (tege@nada.kth.se)
985 * alpha.c (output_prolog): Change (sp) to ($30).
987 * pa.h (TRAMPOLINE_TEMPLATE): Change .long to .word; split into
990 Fri May 14 18:09:31 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
992 * gcc.c (option_map): Renamed --version to --use-version.
994 Fri May 14 17:20:21 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
996 * xcoffout.c (N_DSLINE, N_BSLINE): Delete definitions.
997 (stab_to_sclass): Use ifdefs to test for presence of N_MAIN,
998 N_BSLINE, N_DSLINE, N_BINCL, N_EINCL, N_EXCL, N_M2C, N_SCOPE.
1000 * sched.c (split_hard_reg_notes): Handle 0th sub register, and
1001 multiple register kills.
1002 (update_flow_info): For multi-word hard regs, use
1003 split_hard_reg_notes to add all REG_DEAD notes, instead of just
1004 the additional ones due to splitting.
1006 Fri May 14 16:12:28 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
1008 * configure (hppa1.1-*-hpux*): Use CPIO for headers, just like
1010 (hppa1.1-*-hpux8.02*): Likewise.
1012 Fri May 14 16:35:22 1993 Ian Lance Taylor (ian@cygnus.com)
1014 * reorg.c (fill_slots_from_thread): If try_split split new_thread,
1015 update it to the new value.
1017 Fri May 14 13:42:39 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1019 * configure (hp700-hpux8.02): New target.
1020 * pa1-oldas.h: New target for 1.1 machines running HPUX 8.02.
1022 Fri May 14 13:23:51 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1024 * integrate.c (expand_inline_function): Set map->integrating.
1025 (copy_rtx_and_substitute, case MEM): Don't copy RTX_UNCHANGING_P
1026 when doing function inlining.
1027 * integrate.h (struct inline_remap): Add integrating field.
1028 * unroll.c (unroll_loop): Clear map->integrating.
1029 * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
1031 Fri May 14 12:28:51 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1033 * c-typeck.c (default_conversion):
1034 Don't replace iterator with its initial value.
1036 * config/i386/svr3gas.h: Added two pages at end, with macros
1037 copied from config/svr3.h and i386/sysv3.h.
1039 * config/m68k/tower-as.h (PRINT_OPERAND): Handle CODE == '/'.
1040 * hp320.h, mot3300.h, news.h, crds.h: Likewise.
1042 Fri May 14 15:44:45 1993 Kresten Krab Thorup (krab@xiv.iesd.auc.dk)
1044 * objc/init.c (__objc_init_protocols): Don't complain if a
1045 protocol object is attempted resolved twice.
1047 Fri May 14 00:51:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1049 * pa.h (CPP_SPEC): Correct specs so that _PA_RISC1_1 is only
1050 defined when generating code for 1.1 machines regardless of the
1053 Thu May 13 21:47:55 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
1055 * rs6000.md (fix_truncdfsi2, fixuns_truncdfsi2, trunc_call): Fix
1056 typo in mode of FIX and UNSIGNED_FIX rtl.
1058 * reorg.c (reorg_redirect_jump): New function.
1059 Call it in most places instead of redirect_jump.
1061 Thu May 13 17:01:05 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
1063 * caller-save.c (restore_referenced_regs): New variable saveregs
1064 which is number of regs to save at a time, instead of numregs,
1065 which is total number of registers to save.
1067 Thu May 13 08:28:22 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1069 * Makefile.in (OBJC, OBJECTIVE-C): Don't depend on objc-runtime.
1071 * dbxout.c (dbxout_parms): Don't output a parm if it's a mem
1072 that has a constant address.
1074 * config/pa/x-pa (TAROUTOPTS): Overridden.
1075 * config/m68k/x-hp320,x-hp320g (TAROUTOPTS): Overridden.
1077 * Makefile.in (TAROUTOPTS): New variable.
1078 (install-headers-tar): Use TAROUTOPTS.
1080 * 3b1.h, 3b1g.h, altos3068.h, crds.h, hp2bsd.h, hp310.h:
1081 * isi-nfp.h, pbb.h, plexus.h, sun2.h, sun3n.h, tower.h:
1082 (LONG_DOUBLE_TYPE_SIZE): Redefine as 64.
1084 * objc/runtime.h: Include gstdarg.h before stdio.h.
1086 * Makefile.in (libobjc.a): Depend on EXTRA_PARTS.
1088 Wed May 13 18:33:26 1993 Torbjorn Granlund (tege@nada.kth.se)
1090 * arm.h: Declare output_arithmetic_with_immediate_multiply.
1092 * arm.md (combined mult/arithmetic recognizers): Switch on.
1093 Add special pattern for reload.
1095 * arm.md (restorehi): Use SImode for address.
1096 (storehi): Use SImode for address and address computation.
1097 (storeinthi): Likewise.
1099 Wed May 12 22:47:35 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1101 * config/m68k/sun3.h, sun2os4.h (ASM_OUTPUT_FLOAT_OPERAND):
1102 Output as hex, unless CODE is 'f'.
1103 * altos3068.h, next.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1105 Wed May 12 14:18:36 1993 John Hassey (hassey@dg-rtp.dg.com)
1107 * m88k.h (REG_OK_FOR_BASE_P REG_OK_FOR_INDEX_P): Don't
1108 use extended registers for base or index.
1110 Wed May 12 14:48:00 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1112 * unroll.c (copy_loop_body): Delete May 10 change.
1114 Tue May 11 20:20:41 1993 James Van Artsdalen (james at bigtex.cactus.org)
1116 * tree.c (real_value_from_int_cst): Use temporary variable `e' to
1117 work around bugs in 386 PCC.
1119 Tue May 11 16:50:54 1993 Michael Meissner (meissner@osf.org)
1121 * mips/iris3.h, mips/mips.h, mips/news4.h, mips/nws3250v4.h,
1122 mips/ultrix.h (ASM_SPEC): Pass appropriate -g<n> switch to the
1123 assembler for -gstabs<n>, -gstabs+<n>, -ggdb<n>, and -gcoff<n>
1126 * local-alloc.c (block_alloc): Don't dereference a NULL pointer.
1128 Tue May 11 12:09:37 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1130 * tree.c (build_array_type): Delete the code to set TYPE_MAIN_VARIANT.
1131 * c-decl.c (complete_array_type): Likewise.
1133 Tue May 11 11:40:14 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1135 * pa.c (emit_move_sequence): Handle secondary reloads for loads of
1136 FP registers from constant expressions.
1138 * pa.h (CONSTANT_ADDRESS_P): Accept symbolic addresses during
1141 Tue May 11 07:26:06 1993 Richard Kenner (kenner@mole.gnu.ai.mit.edu)
1143 * reorg.c (mostly_true_jump): Jump is forward if TARGET_LABEL is
1144 zero; don't try to get INSN_CODE of zero.
1146 Tue May 11 00:44:09 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1148 * tree.c (build_array_type):
1149 Don't change TYPE_MAIN_VARIANT if incomplete (domain not known).
1151 * real.c (enan): Add forward decl.
1153 Mon May 10 20:32:12 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1155 * unroll.c (copy_loop_body): Copy REG_NOTES during main loop
1156 instead of afterwards.
1158 Mon May 10 17:36:31 1993 Richard Kenner (kenner@vlxisi1.ultra.nyu.edu)
1160 * alpha.c (output_epilog): Fix minor error in instructions used
1161 to restore stack pointer.
1163 Mon May 10 15:59:41 1993 Michael Meissner (meissner@osf.org)
1165 * mips-tfile.c (parse_def): Do not execute a division by 0 when
1166 processing a doubly dimensioned array whose outer bound was 0 or
1169 Mon May 10 12:14:07 1993 John Hassey (hassey@dg-rtp.dg.com)
1171 * m88k.h (TRAMPOLINE_TEMPLATE): Fixed invalid bsr insn.
1173 Mon May 10 11:55:18 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1175 * protoize.c: Don't include string.h.
1176 (strcat, strcpy, strcmp, strncpy, strncmp): Decls deleted.
1177 (dupnstr): Don't use return value of strncpy.
1178 (dupstr): Function deleted; callers changed to use savestring.
1180 * tree.c (change_main_variant): New function.
1181 (build_array_type): Use that to set the TYPE_MAIN_VARIANT.
1182 * c-decl.c (complete_array_type): Call change_main_variant.
1184 Mon May 10 11:53:02 1993 Steve Chamberlain (sac@wookumz.gnu.ai.mit.edu)
1186 * sh.md (movstrsi): Take alignment into account.
1187 * sh.c (shift_value_ok): Can't shift by negative values.
1189 Mon May 10 11:49:48 1993 Michael Meissner (meissner@osf.org)
1191 * va-mips.h (va_arg): Use __alignof__ instead of __alignof.
1193 * cp-decl.c (finish function): Add missing ';'.
1195 Mon May 10 00:54:16 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1197 * objc/runtime.h: Include gstdarg.h, not stdarg.h.
1199 * libgcc2.c (__floatdisf): Use DFtype for intermediate values.
1201 * tree.c (real_value_from_int_cst):
1202 If I is unsigned, use REAL_VALUE_FROM_UNSIGNED_INT.
1204 * config/m68k/m68k.c (output_move_double): Use operand 0 to get SIZE.
1206 * reload.c (find_equiv_reg): Set goal_mem_addr_varies
1207 for all but true constant addresses.
1209 Sun May 9 17:53:52 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1211 * config/sparc/sparc.h (SIZE_TYPE): Deleted.
1213 * fixincludes: When finding SIZE_TYPE, cd to ${LIB} to run cc.
1214 (memory.h): Don't try to read it if it doesn't exist.
1216 * real.c (NAN): Define for support of Not-a-Number bit patterns.
1217 (make_nan): New function outputs a NaN in requested machine mode.
1218 (eisnan, eiisnan, enan, einan, eiisinf, eiinfin): New functions.
1219 (earith, etrunci, etruncui, ereal_negate, ereal_ldexp,
1220 real_value_truncate, esub, eadd, emul, ediv, eremain):
1221 Return NaN arg back to caller.
1222 (eroundi, eroundui, ereal_to_int): NaN to integer returns -1
1224 (target_isnan): Check for NaN.
1225 (eneg): No-op if NaN.
1226 (eisneg, eisinf): False if NaN.
1227 (emovi, emovo): Handle NaN conversions.
1228 (esub, eadd): Infinity minus infinity = NaN and INVALID warning.
1229 (ediv): 0/0, inf/inf = NaN and INVALID warning.
1230 (emul): 0 * inf = NaN and INVALID warning.
1231 (e24toe, e53toe, e64toe): Generate e-type NaN for NaN input.
1232 (etoe24, etoe53, etoe64): Output NaN in appropriate machine mode.
1233 (ecmp): Unordered compare returns -2.
1234 (etoasc): NaN produces ASCII string "NaN".
1235 (asctoe): Unrecognizable input produces e-type NaN.
1236 (eremain): x REM y = NaN if y = 0 or x = infinity.
1238 * real.c (mtherr): Don't put newlines in error message string.
1240 * real.h (REAL_VALUES_LESS): True if return value of ereal_cmp is -1.
1242 Sun May 9 17:34:06 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
1244 * cp-decl.c (finish_function): Don't do anything if we haven't got a
1245 current_function_decl.
1247 * cp-pt.c (tsubst): Don't assert if IN_DECL is null.
1248 (coerce_template_parms): Likewise.
1250 * cp-type2.c (process_init_constructor): Fix argument passing to
1251 initializer_constant_valid_p.
1253 Sun May 9 10:47:05 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1255 * c-decl.c (complete_array_type):
1256 Make maxindex -1 for empty constructor.
1258 * i860.c (call_insn_operand): New funcion.
1259 * i860.md (call, call_value): Copy fn address to safe reg if necessary.
1260 (call, call_value matchers): Use call_insn_operand as predicate.
1262 * config/mips/mips.c (call_insn_operand): New function.
1263 * config/mips/mips.md (call_internal1, call_value_internal1):
1264 Use call_insn_operand as predicate.
1265 (call, call_value): Copy fn address to safe reg if necessary.
1267 * config/m68k/m68k.md (mulhisi3, umulhisi3 matchers):
1268 Restrict range of constants allowed.
1270 Sun May 9 13:31:35 1993 CET Kresten Krab Thorup (krab@iesd.auc.dk)
1272 * objc/hash.h, objc/objc.h, objc/sarray.h (gstddef.h):
1273 Conditionally include gstddef.h or stddef.h by IN_GCC.
1275 Sun May 9 00:51:33 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1277 * reload.h: Fix unterminated comment.
1279 * objc-act.c (string_section): Delete comma before close-brace.
1281 Sat May 8 23:49:50 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1283 * config/i386/i386.c (call_insn_operand): New function.
1284 * i386.md (call matchers): Use call_insn_operand.
1285 (call expanders): If address uses a virtual reg or arg pointer reg,
1288 Sat May 8 23:19:11 1993 Kaveh R. Ghazi (ghazi@caip.rutgers.edu)
1290 * configure (m88k-tektronix-sysv3): New target.
1291 * config/m88k/tekXD88.h: New file.
1292 * config/m88k/tekXD88.ld: New file.
1293 * config/m88k/x-tekXD88: New file.
1295 Sat May 8 10:40:54 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1297 * config/i386/i386.md (call insn matchers):
1298 Use %a to print a mem's non-constant address;
1299 don't try to print the address by itself.
1301 * config/i386/next.h (ASM_GENERATE_INTERNAL_LABEL)
1302 (ASM_OUTPUT_INTERNAL_LABEL): Don't include a `.' in the label name.
1303 (LPREFIX): Likewise.
1305 * m68k.c (print_operand): For CONST_DOUBLE, treat VOIDmode like DImode.
1307 * expmed.c (init_expmed): Supply missing arg to rtx_cost.
1309 * config/convex/convex.h (LINK_LIBGCC_SPECIAL_1):
1310 Define this instead of LINK_LIBGCC_SPECIAL.
1312 Sat May 8 14:43:27 1993 Torbjorn Granlund (tege@nada.kth.se)
1314 * m68k.md (umulsidi3 expand + two matchers): Rewrite.
1315 Old patterns misused subreg and matched wrong immediate values.
1316 Use const_int_operand and constraint `n' for the immediate arg.
1317 (mulsidi3 patterns): Likewise.
1319 Sat May 8 07:06:14 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
1321 * i386/sco.h (VALUE_REGNO, HARD_REGNO_MODE_OK): Add missing #undef.
1322 * i386/sco.h, i386/sequent.h (HARD_REGNO_MODE_OK): Properly check
1323 for floating-point registers. Register 16 is AP and not floating.
1325 Fri May 7 19:43:49 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
1327 * cp-typeck.c (default_conversion): Disable change of Apr 13th for
1328 now, since it seems to behave incorrectly in some cases.
1330 Fri May 7 17:38:22 1993 Michael Meissner (meissner@osf.org)
1332 * configure (all MIPS options): If --with-gnu-as is used, don't
1333 build mips-tfile or mips-tdump. If --with-gnu-ld is used, don't
1334 say we need collect2.
1335 (config.sub run): Explicitly invoke /bin/sh to run script, in case
1336 config.sub had it's execute bits turned off.
1338 * mips/t-mips-gas: New target file, used when the GNU assembler is
1339 used instead of the MIPS assembler.
1341 Fri May 7 17:41:00 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1343 * Makefile.in (float.h-nat): Use tmp-float.h as intermediate file.
1345 Fri May 7 13:42:06 1993 Mike Stump (mrs@poseidon.cygnus.com)
1347 * cp-search.c (mi_ventry): Change into a struct to make code more
1348 readable and to shut up compilers about valid ANSI C code.
1350 Fri May 7 13:15:40 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1352 * pa.h (reg_class): Add new NON_SHIFT_REGS class.
1353 (REG_CLASS_NAMES): Name new class "NON_SHIFT_REGS".
1354 (REG_CLASS_CONTENTS): Initialize NON_SHIFT_REGS.
1356 * loop.c (strength_reduce): Handle case where loop_end is the
1357 end of the current function.
1359 Fri May 7 05:50:39 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
1361 * reload.c (push_reload): Don't use IN as the reload reg in in-out
1362 reload if it is set elsewhere in the insn.
1364 Fri May 7 04:48:25 1993 Chris Smith (csmith@convex.com)
1366 * x-convex (CCLIBFLAGS): Build libgcc1 with -tm c1 so it can't
1367 cause executables to become c2-only.
1369 * xm-convex.h: Remove workarounds for OS 8.0 no longer needed.
1370 (bcopy, bzero): Define to use memcpy and memset, to get them inlined.
1372 * convex[123*].h (CC1_SPEC, CPP_SPEC, LIB_SPEC): Move to convex.h.
1374 * convex.h (TARGET_FLAGS): Add -mvolatile-[no]cache.
1375 (TARGET_FLAGS, LONG_TYPE_SIZE): add -mlong{32,64}.
1376 (target_cpu): Define, enumeration for targets to use instead of flags.
1377 (TARGET_C34, TARGET_C38): Add. These don't schedule the same as C2.
1378 (OVERRIDE_OPTIONS): Call init routine in convex.c.
1379 (CPP_SPEC, ASM_SPEC, LINK_SPEC): If originally bootstrapped with
1380 an ieee compiler, produce an ieee gcc.
1381 (LINK_LIBGCC_SPECIAL): Define, to avoid searching old libgcc.a
1382 versions during bootstrap.
1383 (STACK_BOUNDARY): Change from 32 to 64 -- odd-word aligned
1384 longwords are slow on c34.
1385 (FUNCTION_PROLOGUE): Make frame size a multiple of 8, not 4.
1386 (FUNCTION_EPILOGUE): Output a 0 to terminate c34 icache prefetch.
1387 (INITIAL_FRAME_POINTER_OFFSET): Make a multiple of 8.
1388 (REG_ALLOC_ORDER): Define. Put S0 (the return register) last.
1389 (HARD_REGNO_MODE_OK): Rewrite to make clearer.
1390 (MODES_TIEABLE_P): Rewrite to make clearer.
1391 (PREFERRED_RELOAD_CLASS): Rewrite to make clearer.
1392 (S0_REGNUM, A0_REGNUM): Define.
1393 (*_REGNUM): Write in terms of [AS]0_REGNUM instead of absolute numbers.
1394 (enum reg_class, etc): Add SI_REGS == S_REGS + INDEX_REGS.
1395 (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER, REGNO_OK_FOR_*_P): Use tables.
1396 (CONST_OK_FOR_LETTER_P): Change. New def passes any const_int,
1397 rejects any const_double.
1398 (CONST_DOUBLE_OK_FOR_LETTER_P): Change. New defs are 'G' == low
1399 word all zeros, 'H' == high word all signs.
1400 (EXTRA_CONSTRAINT): New. 'Q' == volatile memref. Used to generate
1401 cache-bypass instructions when -mvolatile-nocache is set.
1402 (RETURN_POPS_ARGS): Change, always true.
1403 (FUNCTION_ARG_ADVANCE): Count args, not # words of args.
1404 (FUNCTION_ARG): Return arg count to the final VOIDmode FUNCTION_ARG
1405 hack that supplies "next arg register" to be stored in call insn.
1406 (TRAMPOLINE_TEMPLATE): Use instruction notation rather than constants.
1407 (INITIALIZE_TRAMPOLINE): Use gen_call_pop.
1408 (LEGITIMATE_CONSTANT_P): Rewrite to make clearer.
1409 (GO_IF_LEGITIMATE_ADDRESS): Do not use indirect addressing -- with
1410 insn scheduling, two loads can be faster and can't be slower.
1411 (SLOW_BYTE_ACCESS): Define unless C2. Memory access to bytes is
1412 not actually slow, but faster processors don't forward partial
1413 word writes to word reads, and setting SLOW_BYTE_ACCESS
1414 makes the code consistently use word ops where possible.
1415 (CONST_COSTS): Const_DOUBLE cost is zero -- if it appears, it is
1416 immediate and therefore free.
1417 (RTX_COSTS): areg+const is free (via indexing).
1418 (RTX_COSTS): Provide target-dependent values for *,<<,>>
1419 (ADDRESS_COST): Zero. Indirect addresses are no longer used.
1420 (ADJUST_COST): Define.
1421 (TARGET_FLOAT_FORMAT): Define as VAX_FLOAT_FORMAT. Also
1422 accurately describes the semantics (not the bit pattern)
1423 of convex ieee mode.
1424 (REAL_VALUE_ATOF): Define, to prevent real.c from constructing
1425 vax dfloats. Apparently it doesn't do gfloat.
1426 (CHECK_FLOAT_VALUE): Call convex.c.
1427 (ASM_FILE_START): Output appropriate .fpmode pseudo op.
1428 (ASM_IDENTIFY_GCC): Ouput a zero after gcc2_compiled to keep it
1429 from hiding the real name from profilers and adb.
1430 (ASM_OUTPUT_DOUBLE, _FLOAT): Use hex to avoid /bin/as conversion
1432 (ASM_DECLARE_FUNCTION_NAME): Define; call convex.c.
1433 (PRINT_OPERAND, _ADDRESS): Call convex.c.
1434 (EXIT_BODY): Define for libgcc2. Call atexit handler if present.
1436 convex.md: Add scheduling info.
1437 (movxx): One of the operands must be a register.
1438 (movdf, movdi): Add anonymous patterns that can load an arbitrary
1439 const_double by doing two immediate loads. This is not superior
1440 to loading it from memory, and can be worse, so LEGITIMATE_CONSTANT_P
1441 still rejects these constants, but the patterns are still useful
1442 so rtx folding can produce arbitrary results.
1443 (floatunsdidf, floatunsdisf): Add patterns that avoid double rounding.
1444 (floatunssidf, floatunssisf): Add patterns that mimic gcc's default
1445 method, to keep SI cvts from promoting to the above DI cvts.
1446 (fix_truncdfsi2): Use cvtd.l even if cvtd.w is available -- on c34
1447 cvtd.w is microcoded and slower.
1448 (addqi3, subqi3, mulqi3): can do immediate with word insn.
1449 (subsi3): use sub/neg to get reverse subtract (reduces reg shuffling).
1450 (udivsi3): give up on having sign_expand_binop do this; people keep
1451 breaking it. Manually extend unsigned SI to signed DI, then divide.
1452 (xshfxx3): The options rank differently on different machines, so
1453 spell them all out and enable the appropriate ones under TARGET_Cxx.
1454 (sqrtxx2): Put under flag_fast_math.
1455 (sinxx2, cosxx2): I don't know why these exist, but they do, so supply
1456 them. The other microcoded intrinsics are in convex math.h.
1457 (txtxx): Remove, no longer necessary.
1458 (cmpdi): Add alternative to fake "eq.l #0,sk" with "neg.l sk,scratch".
1459 (cmpqi): Omit, seems to produce marginally better cse than the old way.
1460 (cmpsf): Avoid compare against 0.0 in ieee mode, since -0.0 is
1461 possible and would confuse old ucode.
1463 (anon): Add patterns to pick up on dbra optimizations and implement the
1464 sub/test part. (This optimizes out the compare against 0.)
1465 (call, call_value): Use _pop form instead, and let convex.c replace
1466 the pushes with fp stores.
1467 (end): Put local variable list back.
1469 convex.c (init_convex): New. Fill in tables used by convex.h.
1470 (psw_disable_float): New. Turn off float exception enables to
1471 make the environment more ieee-like.
1472 (set_cmp): Change name to output_cmp.
1473 (gen_cmp): Change name to output_condjmp. Add handling for
1474 `neg.x' as a fake `eq.x #0' and for optimized-out compares
1475 that read the carry of a preceding decrement.
1476 (simplify_for_convex): New. Replace addr-(-const) with
1477 addr+const so /bin/as will like the notation.
1478 (expand_movstr): New. Generate pipelined load/store sequence.
1479 (asm_declare_function_name): New. Output arg count for debuggers.
1480 (print_operand): Moved from convex.h. Add %u and %v to fetch
1481 subwords of a CONST_DOUBLE, %z to use in replacing shift by mul.
1482 (print_operand_address): Moved from convex.h.
1483 (outfloat): New, call REAL_VALUE_TO_DECIMAL.
1484 (replace_arg_pushes): New. Replace sp by fp if possible; this does
1485 not allow us to get rid of sp but stores are faster than pushes on
1487 (emit_ap_optimizations): New. Do simple live analysis of arg pointer
1488 register and eliminate dead reloads.
1490 math-convex.h: removed.
1491 fixinc.convex: new file.
1493 Thu May 6 22:54:43 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
1495 * config/we32k/we32k.h (ASM_OUTPUT_ASCII):
1496 Cast PTR to unsigned char *.
1497 * config/clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.
1499 Thu May 6 20:20:41 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
1501 * cp-decl.c (build_enumerator): Strip any no-op casts off the
1502 value before we try to do anything with it.
1504 * cp-call.c (convert_harshness): Take volatility, in addition to
1505 constness, into account when figuring out the penalty for the
1506 type under question.
1508 * cp-decl.c (grokdeclarator): Undo unneeded change of Apr 6 when we
1509 returned the type of the local typedef, instead of the typedef itself.
1511 Thu May 6 19:21:34 1993 Doug Evans (dje@canuck.cygnus.com)
1513 * reload1.c (eliminate_regs, case {PRE,POST}_{INC,DEC}): Account
1516 Thu May 6 18:17:19 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1518 * config/i386/sequent.h (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC):
1519 Override the usual definitions.
1521 * objc/hash.h, objc/objc.h, objc/runtime.h, objc/sarray.h:
1522 Use gstddef.h, with doublequotes.
1524 Thu May 6 15:58:18 1993 Ian Lance Taylor (ian@cygnus.com)
1526 * fixincludes: More fixes for IRIX 4.0.1. Rather than replacing
1527 [^A-Z]CTRL, replace [^A-Z_]CTRL and [^A-Z]_CTRL. Also patch
1528 "//" in elf_abi.h which the sed script breaks.
1530 Thu May 6 13:58:39 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1532 * clix.h: Include "clipper/clipper.h" instead of "clipper.h".
1533 * config.sub (os): Add -clix*.
1534 * configure (clipper-intergraph-clix): Add clipper/ filename prefixes.
1536 * c-typeck.c (pointer_diff): Error if op1 is pointer to incomplete
1539 * fixinc.svr4 (sys/varargs.h): Replace.
1541 Thu May 6 11:58:28 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1543 * reload1.c (forget_old_reloads_1): Accept and ignore 2nd arg.
1544 (reload_as_needed): Pass that second arg.
1546 * c-parse.in: For Objc, expect just 20 conflicts.
1548 * objc-act.c (OBJC_GEN_METHOD_LABEL): Do use CAT_NAME.
1550 * config/i386/i386.md (extendsidi2): Use cdq or cltd, not cwtl.
1552 * configure (i[34]86-*-bsd): Don't use collect2.
1554 * c-typeck.c (convert_for_assignment): Don't use convert_and_check
1555 when handling arithmetic types here.
1557 * c-common.c (truthvalue_conversion): Turn off Apr 29 change.
1559 Thu May 6 05:44:23 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
1561 * reload.c (find_equiv_reg): Don't look inside a CONST_DOUBLE;
1562 use operand_subword instead.
1564 * varasm.c (record_constant): Properly make the header of
1565 a struct constant_descriptor.
1567 * function.c (walk_fixup_memory_subreg): Add new arg UNCRITICAL.
1568 (fixup_var_refs_insn): Call with UNCRITICAL of 1 when processing
1571 * integrate.c (expand_inline_function): Don't call convert_to_mode
1572 unless we need to; some converstions of VOIDmode objects can
1575 * expmed.c (store_split_bit_field): Properly handle VALUE when
1576 it is a CONST_DOUBLE.
1578 * fold-const.c (decode_field_reference): Don't do anything for
1579 non-integral fields.
1581 * cse.c (simplify_binary_operation, simplify_relational_operation):
1582 Check for MODE_CC modes, not just CCmode.
1584 Thu May 6 00:54:40 1993 Kresten Krab Thorup (krab@iesd.auc.dk)
1586 * objc/class.c, objc/hash.c: Change calloc to __objc_xcalloc.
1587 * objc/objects.c (class_create_instance): bzero new instances
1589 * objc/sendmsg.c (__objc_send_initialize, class_add_method_list):
1590 Allow multiple +initialize methods per class.
1592 Wed May 5 21:40:04 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1594 * config/i386/sequent.h (LINK_LIBGCC_SPECIAL): #if 0.
1596 * toplev.c (main): Improve error message in previous change.
1598 Wed May 5 19:36:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1600 * combine.c (combinable_i3pat): Do not make REG_DEAD notes for
1601 the stack pointer, frame pointer, or arg pointer.
1603 Wed May 5 17:57:30 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1605 * config/i386/sequent.h (LINK_LIBGCC_SPECIAL): Defined.
1607 Wed May 5 00:01:57 PDT 1993 Ron Guilmette (segfault!rfg@netcom.com)
1609 * expr.h: Fix comment typos. emit_block_move decl was hidden.
1611 * toplev.c (main): If C++ for Dwarf requested, warn and turn it off.
1613 Wed May 5 21:48:24 1993 Kresten Krab Thorup (krab@iesd.auc.dk)
1615 * objc-act.c (check_methods_accessible): Handle interface types.
1617 Wed May 5 14:37:42 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
1619 * fold-const.c: (optimize_bit_field_compare): Add missing arg
1622 * reg-stack.c (record_asm_reg_life): Don't abort for asm that
1623 doesn't match its constraints.
1625 * combine.c (num_sign_bit_copies, case SUBREG): Properly compute
1626 the number of sign bit copies of SUBREGs of promoted objects.
1628 * optabs.c (add_equal_note, expand_binop, expand_unop): Make
1629 copy of operands for REG_EQUAL note to avoid sharing RTL if
1630 called later than RTL generation.
1631 (emit_libcall_block, expand_fix): Likewise.
1632 * expr.c (convert_move): Likewise, though probably not
1633 called after RTL generation.
1635 Wed May 5 14:11:12 1993 Ian Lance Taylor (ian@cygnus.com)
1637 * fixincludes: Only quote argument to _IO[A-Z]*, not first item in
1638 parentheses. Added patches for IRIX 4.0.1 header files to undo
1639 some inappropriate changes.
1641 Wed May 5 11:34:59 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1643 * toplev.c (flag_defer_pop): Initialize to 0.
1644 (main): Set it to 1 if optimizing.
1646 Wed May 5 06:38:47 1993 Tom Wood (wood@hal.gnu.ai.mit.edu)
1648 * configure (i[34]86-next-*, m68k-next-*): collect2 isn't needed.
1650 Tue May 4 14:21:11 1993 Kresten Krab Thorup (krab@xiv.iesd.auc.dk)
1652 * objc/objc.h, objc/runtime.h: Remove inclusion of memory.h
1653 * objc/objc.h, objc/hash.h, objc/runtime.h: Remove inclusion of
1656 * objc/Makefile (OBJC_H): Add typedstream.h
1658 * objc/Object.h: Add includes objc/objc.h and objc/typedstreams.h
1659 objc/Object.h: Removed `minimal' definitions. Includes objc.h
1661 * objc/archive.c: Add include "typedstream.h"
1663 * objc/typedstream.h: New file. Contents moved from
1666 * objc/objc.h (IvarList, Ivar, SymTab, Module, Method,
1667 Category, Super, objc_method_description, objc_protocol_list):
1668 Data definitions moved to objc/objc-api.h
1670 * objc/archive.c: Change malloc into __objc_xmalloc
1672 * objc/objc.h, objc/sendmsg.c: Remove any code for hash lookup
1673 * objc/cache.h: File removed
1675 * objc/objc-api.h (class_create_instance, object_copy,
1676 object_dispose): Definitions moved to objc/objects.c
1678 * objc/objc.h: Remove declarations for library functions.
1679 * objc/Object.m (-conformsTo:): Bugfix: Also ask superclasses.
1681 Tue May 4 23:46:37 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
1683 * cp-decl.c (start_decl): Give an error, not a sorry, when they try
1684 to declare a template on a VAR_DECL or a TYPE_DECL.
1686 * cp-type2.c (process_init_constructor): If we have a VAR_DECL
1687 that's static in the class, don't try to use it when we're working
1688 on an initializer-list; it has no business being there.
1690 * cp-cvt.c (convert_pointer_to): Only call get_base_distance et al.
1691 on RECORD_TYPEs, not on UNION_TYPEs.
1693 * cp-decl.c (grokdeclarator): Don't try to divine the name of the
1694 incomplete type for a field decl.
1696 Tue May 4 19:55:29 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1698 * combine.c (distribute_notes, REG_DEAD case): Handle hard
1699 registers which partially overlap the destination of the insn.
1701 Tue May 4 17:59:10 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1703 * pa.md (casesi0): Remove incorrect fix from April 23.
1704 * pa.h (CASE_DROPS_THROUGH): Define.
1706 Tue May 4 13:22:21 1993 John Hassey (hassey@dg-rtp.dg.com)
1708 * t-dgux: Fixed name of link script.
1710 Tue May 4 11:15:40 1993 Steve Chamberlain (sac@wookumz.gnu.ai.mit.edu)
1712 * sh.md (arith patterns): Rework constraints.
1713 * sh.h (ASM_OUTPUT_CASE_LABEL): Ensure jump table is aligned.
1714 * sh.c (arith_reg_operand): New constraint. (dump_constants):
1715 Force out a constant table if necessary.
1717 Mon May 3 20:41:00 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1719 * tree.c (build_array_type): The main variant of an array type
1720 should always be an array whose element type is the main variant.
1722 Mon May 3 19:27:04 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1724 * lite.h (CPP_PREDEFINES): Delete -Dsun and -Dunix.
1726 * combine.c (make_extraction): Move BYTES_BIG_ENDIAN !=
1727 BITS_BIG_ENDIAN offset correction after the offset calculation.
1728 * elxsi.h, mips.h (BITS_BIG_ENDIAN): Define to zero.
1730 * c-decl.c (grokdeclarator, ARRAY_REF case): Build array type, and
1731 then build the variant array type.
1733 * sparc.md (floatsitf2): Output fitoq not fitox.
1735 * i960.md (scc pattterns): Add missing mode to conditional operators.
1736 * i960.c (output_function_profiler): Add missing newlines in strings.
1738 * c-common.c (truthvalue_conversion): Don't optimize subtract of
1739 reals when target uses IEEE arithmetic.
1741 * c-parse.in: Delete cond.awk reference.
1742 * cond.awk: Delete file.
1744 Mon May 3 16:58:55 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1746 * c-typeck.c (digest_init): Check size properly for wide-string.
1748 * Makefile.in (TEXI2DVI): New variable.
1749 (cpp.dvi, gcc.dvi): Use it.
1751 Mon May 3 16:29:38 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
1753 * cp-search.c (lookup_nested_field): Pass complain down as the value
1754 for lookup_field's `protect' argument. This will help avoid
1755 incorrect visibility errors when we're parsing things.
1757 Mon May 3 21:02:22 1993 H.J. Lu (hlu@yardbird.eecs.wsu.edu)
1759 * config/i386/linux.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT):
1760 Remove PIC stuff. We wait for the ELF support in gas and binutils.
1761 (LINK_SPEC): Defined for -v.
1763 Mon May 3 06:41:56 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1765 * objc/Makefile (copy-headers): Put `-' on mkdir command.
1767 Sun May 2 09:28:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1769 * cccp.c (macroexpand): Treat `foo ( )' as 0 args if foo wants 0 args.
1771 Sun May 2 07:37:45 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
1773 * reload1.c (eliminate_regs, case SUBREG): Leave the SUBREG when
1774 the inner object is a pseudo on machines that extend byte
1775 loads (to be consistent with reload.c).
1776 * reload.c (push_reload): Allow non-paradoxical SUBREGs of MEM
1777 on machines that extend byte loads.
1779 Sun May 2 08:57:33 1993 Michael Meissner (meissner@osf.org)
1781 * real.c (EDOM, ERANGE): Do not define since errno.h was
1782 previously included.
1784 Sun May 2 08:28:15 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1786 * cse.c (record_jump_cond): Use mode of op0 or op1, not MODE,
1787 when testing for narrowing or widening subregs.
1789 Sat May 1 10:10:44 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1791 * config/nextstep.h (WORD_SWITCH_TAKES_ARG): Fix typo.
1793 * cse.c (simplify_binary_operation): Reject CCmode in A & (~A) -> 0.
1795 * cccp.c (macroexpand): If just whitespace between parens,
1796 treat it as one argument.
1798 Sat May 1 11:02:22 1993 H.J. Lu (hlu@yardbird.eecs.wsu.edu)
1800 * Makefile.in (libobjc.a): Depend on $(USE_COLLECT2)
1802 * objc/Makefile (xforward): Add `else true;' for Ultrix 4.2 make.
1804 Sat May 1 06:49:51 1993 Tom Wood (wood@next.com)
1806 * objc-act.c (build_ivar_reference): Warn when a class method
1807 refers to an instance variable.
1809 Fri Apr 30 22:37:56 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1811 * c-lex.c (yylex): Avoid invalid shift for erroneous empty char const.
1813 * combine.c (subst, case COMPARE): Use SELECT_CC_MODE even if HAVE_CC0.
1815 Fri Apr 30 12:40:23 1993 John Hassey (hassey@dg-rtp.dg.com)
1817 * configure, install.texi: Updated -local configuration option.
1819 Fri Apr 30 15:20:10 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1821 * sparc.h (LONG_DOUBLE_TYPE_SIZE): Ifdef out.
1823 Fri Apr 30 14:53:43 1993 Doug Evans (dje@wookumz.gnu.ai.mit.edu)
1825 * config.sub: Fix syntax error.
1827 Fri Apr 30 12:00:24 1993 Ian Lance Taylor (ian@cygnus.com)
1829 * fixincludes: Fix #endif comments for Ultrix 4.2.
1831 Fri Apr 30 10:45:53 1993 Steve Chamberlain (sac@wookumz.gnu.ai.mit.edu)
1833 * sh.c, sh.h, sh.md, t-sh, xm-sh.h: New files for Hitachi SH.
1834 * configure (sh-hitachi-hms): New configuration.
1835 * config.sub: Accept sh, hms.
1837 Thu Apr 29 22:20:20 1993 Jeff Law (law@kahlua.cs.utah.edu)
1839 * cse.c (cse_insn): Reset the INSN_CODE for conditional
1840 or computed jumps which have been converted into simplejumps.
1842 Thu Apr 29 14:30:25 PDT 1993 Ron Guilmette (rfg@netcom.com)
1844 * c-common.c (truthvalue_conversion): Specific error message when the
1845 "truthvalue" of a struct, union, or array type operand is needed.
1847 Thu Apr 29 21:42:26 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
1849 Thu Apr 29 12:27:59 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
1851 * cp-decl.c (grokdeclarator): When complaining about a field having
1852 an incomplete type, tell them what type it was, and what template
1853 instantiation was involved, if we can.
1855 Wed Apr 28 11:50:28 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
1857 * cp-decl.c (grokfndecl): New argument `publicp', to say if we
1858 should set TREE_PUBLIC on the node for the caller.
1859 (grokfndecl): Pass the new arg down appropriately.
1861 * cp-pt.c (instantiate_template): If it's a static member fn, revert
1862 it into a FUNCTION_TYPE and chop off the this pointer.
1863 * cp-decl.c (revert_static_member_fn): Make non-static.
1864 * cp-tree.h (revert_static_member_fn): Add prototype.
1866 * cp-lex.c (reinit_parse_for_block): Bump the size of BUF for the
1867 pre-parsed line directive to 16, so we can hold the max # of digits
1868 in a signed int (10).
1870 Thu Apr 29 19:26:21 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1872 * config/mips/mips.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
1873 Definitions put into #if 0.
1875 * c-typeck.c (build_conditional_expr): Do default_conversion
1876 before testing for ERROR_MARK.
1878 * cse.c (simplify_binary_operation): Don't return const0_rtx
1879 or constm1_rtx for IOR, AND, XOR in CCmode.
1880 (simplify_relational_operation): Don't do anything if op0 has CCmode.
1882 * Makefile.in (install-normal): Move install-libgcc
1883 after $(INSTALL_HEADERS).
1885 Thu Apr 29 17:09:59 1993 Ian Lance Taylor (ian@cygnus.com)
1887 * gcc.c (is_directory): Renamed from is_linker_dir and added
1888 linker argument. If not checking linker directory, check whether
1889 directory exists only if SMALL_ARG_MAX not defined.
1890 (putenv_from_prefixes): Don't add directories for which
1891 is_directory returns 0.
1892 * config/i386/xm-sco.h (SMALL_ARG_MAX): Define.
1894 Thu Apr 29 15:30:09 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1896 * pa.md (shadd for reload): Fix constraint to match the output
1899 Thu Apr 29 15:05:05 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
1901 * we32k.md (float_extend:DF recognizer): Add missing arg to
1903 (float_truncate:SF recognizer): Likewise.
1905 Thu Apr 29 10:18:36 1993 Kresten Krab Thorup (krab@wombat.gnu.ai.mit.edu)
1907 * objc/xforward.c: File renamed from objc/_forward.c.
1908 * objc/Makefile: Updated accordingly.
1910 Thu Apr 29 12:10:49 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1912 * real.c: Deleted casts to void.
1914 * real.c (emdnorm, eifrac, euifrac, mtherr): Replace
1915 unconditional `pedwarn' by `warning' conditional on `extra_warnings'.
1916 (toe24, todec): Use ERANGE to flag overflow on (non-IEEE)
1917 machines that do not have infinity.
1918 (etoasc): Check explicitly for overflow of leading decimal digit.
1919 (asctoeg): Test for, and immediately reject, out-of-bounds
1920 decimal exponent inputs.
1921 (at top level): Include errno.h; reference errno,
1922 warning, extra_warnings.
1924 * Makefile.in (tooldir): Use exec_prefix, not prefix.
1925 (gcc.o): Likewise for TOOLDIR_BASE_PREFIX.
1927 * config/convex/convex.c (output_call):
1928 Add missing arg to output_asm_insn.
1930 * gcc.c (default_compilers): Inhibit -D__OPTIMIZE__ if -O0.
1932 * config/m68k/m68k.md (movxf): Add pattern for soft-float moves.
1934 * config/m68k/m68k.c (output_move_double): Support XFmode moves.
1936 Thu Apr 29 00:09:34 1993 Kresten Krab Thorup (krab@wombat.gnu.ai.mit.edu)
1938 * objc/init.c (__objc_exec_class): Added check for selectors = 0
1940 Undid the following changes:
1942 * objc/_forward.c: File removed
1943 * objc/argframe.h, objc/af-sparc.h: New files
1944 * objc/Makefile (ARGFRAME_H): New macro
1945 * objc/Makefile (_forward, fflags): Targets removed
1946 * objc/msgsend.c (objc_msg_sendv): Changed to use argframe macros
1947 * objc/Object.[hm], objc/runtime.h, objc/objc-api.h,
1948 objc/msgsend.c: Changed type name arglist_t to af_frame.
1950 Thu Apr 29 00:04:11 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1952 * pa.h (CONDITIONAL_REGISTER_USAGE): %r19 is fixed
1953 if flag_pic is true.
1954 * pa.c (emit_move_sequence): After legitimizing a PIC
1955 address make sure to copy it from the temporary register
1956 into the final destination.
1958 Wed Apr 28 18:15:57 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
1960 * pa.h (HARD_REGNO_MODE_OK): Allow 1.0 FP registers to hold modes
1961 which are smaller than 4 bytes.
1963 Wed Apr 28 16:40:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1965 * Makefile.in (distdir): Copy subdirectories of config/ too, except RCS
1967 Wed Apr 28 16:19:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
1969 * Makefile.in (extraclean): Delete *.z as well.
1971 Wed Apr 28 15:10:33 1993 Michael Meissner (meissner@osf.org)
1973 * mips/mips.h (MIPS_VERSION): Set Meissner version # to 40.
1974 (OPTIMIZATION_OPTIONS): Set -mgpopt if -O other than -O0.
1975 (CC1_SPEC): Don't pass -mgpopt here.
1977 * mips/osfrose.h (CC1_SPEC): Don't pass -mgpopt here.
1979 * mips/osfrose.h, i386/osfrose.h (ASM_IDENTIFY_LANGUAGE): If the
1980 language is C, do not put anything out, to not confuse kernel
1981 debuggers and the like.
1983 Wed Apr 28 07:31:20 1993 Kresten Krab Thorup (krab@wombat.gnu.ai.mit.edu)
1985 * objc/argframe.h (__AF_ARG_ADDR): Removed .curr_off from
1986 definition. (__AF_ARG_ADVANCE): Removed __AF_CUM_OFF around CUM.
1988 * objc/runtime.h (_objc_error): Declaration added.
1990 Wed Apr 28 06:17:02 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
1992 * c-lex.c, cp-lex.c (yylex): Don't use unsigned comparison
1993 to also check for < 0; do it explicitly.
1994 * combine.c (force_to_mode, simplify_comparison): Cast to
1995 unsiged HOST_WIDE_INT instead of unsigned int.
1996 * cse.c (simplify_binary_operation, case SMAX): Likewise.
1997 * expr.c (emit_block_move): Likewise.
1999 * convert.c (convert_to_integer): When we want to return zero,
2000 be sure we honor any side-effects in our operand.
2002 Tue Apr 27 22:25:29 1993 Kresten Krab Thorup (krab@xiv.iesd.auc.dk)
2004 * objc/_forward.c: File removed
2005 * objc/argframe.h, objc/af-sparc.h: New files
2006 * objc/Makefile (ARGFRAME_H): New macro
2007 * objc/Makefile (_forward, fflags): Targets removed
2008 * objc/msgsend.c (objc_msg_sendv): Changed to use argframe macros
2009 * objc/Object.[hm], objc/runtime.h, objc/objc-api.h,
2010 * objc/msgsend.c: Changed type name arglist_t to af_frame.
2012 Tue Apr 27 16:29:45 1993 Tom Wood (wood@next.com)
2014 * nextstep.h (NeXT_OBJC, STANDARD_EXEC_PREFIX): Delete.
2015 * i386/next.h: Use gas.h instead of bsd.h.
2016 (ASM_GENERATE_INTERNAL_LABEL): Define.
2018 Tue Apr 27 12:20:08 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
2020 * reorg.c (dbr_schedule): Do not run the delay slot scheduling
2021 pass if the current function has no insns other than the prologue
2024 * pa.c (hppa_expand_epilogue): Emit a "blockage" insn
2025 to keep the stack and frame pointer adjustments at the
2026 end of the epilogue.
2027 * pa.md (blockage): New pattern.
2029 Tue Apr 27 10:59:33 1993 Ian Lance Taylor (ian@cygnus.com)
2031 * gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): New macro. Like old
2032 WORD_SWITCH_TAKES_ARG, but added idirafter, iprefix, iwithprefix.
2033 (WORD_SWITCH_TAKES_ARG): Use DEFAULT_WORD_SWITCH_TAKES_ARG.
2034 * config/i386/osfrose.h, config/m68k/sun2.h, config/m68k/sun3.h,
2035 config/mips/osfrose.h, config/sparc/sparc.h, config/svr4.h,
2036 config/nextstep.h (WORD_SWITCH_TAKES_ARG): Rewrote to use
2037 DEFAULT_WORD_SWITCH_TAKES_ARG.
2039 Tue Apr 27 07:38:47 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu
2041 * Makefile.in (stmp-int-hdrs): No longer depends on gsyslimits.h.
2042 Don't make include/syslimits.h here since we want to test the
2043 limits.h made by fixincludes, not by the later part of this rule.
2044 (stmp-fixinc): Depends on gsyslimits.h.
2045 Make include/syslimits.h here.
2047 * alpha.c (alpha_emit_set_const, output_{pro,epi}log): Generate
2048 insns to load constants into a register using a method that works
2049 on a 32-bit machine as well.
2051 Tue Apr 27 09:26:04 1993 CET Kresten Krab Thorup (krab@xiv.iesd.auc.dk)
2053 * objc/Makefile (fflags): -x test changed to -s test
2055 * objc/Makefile: CFLAGS changed to GCC_CFLAGS
2057 * objc/Object.h: No longer includes objc.h Instead, a minimal set
2058 of definitions is provided here.
2060 * objc/Object.h, Object.m, cache.h, class.c, init.c, misc.c,
2061 objc-api.h, objc.h, objects.c, sendmasg.c: Usage of Class_t and
2062 MetaClass_t eliminated. Now using Class* and MetaClass* only.
2064 * objc/objc.h: Does no longer include stdio.h and stdarg.h. Minimal
2065 set of definition, which is provided by Object.h is placed in
2066 preprocessor conditionals __object_INCLUDE_GNU. Definitions of
2067 MetaClass_t and Class_t removed. Class and MetaClass are no
2068 longer defines, but typedefs.
2070 Tue Apr 27 01:40:50 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2072 Mon Apr 26 20:45:07 1993 Mike Stump (mrs@poseidon.cygnus.com)
2074 * cp-init.c (expand_recursive_init_1): Make sure we use the binfo's
2075 version of a binfo, rather than someone elses, as the second
2076 parameter to build_virtual_init must be the exact binfo we want so
2077 that it may get the right vtable.
2079 Mon Apr 26 12:58:23 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2081 * cp-type2.c (my_friendly_abort): Rephrase to try to help encourage
2082 people to send bug reports in, and not just say, "Hey, the compiler
2083 told me to report an internal error. Bye!".
2085 * cp-decl.c (grokdeclarator): Forbid declaring an array of references.
2087 * cp-parse.y (unary_expr): Forbid doing sizeof on a function.
2089 * cp-typeck.c (build_unary_op): Pedwarn if they try to do pre/post
2090 increment/decrement on an enum.
2092 * cp-method.c (build_opfncall): Reorganize things to properly look
2093 for a postfix operator ++/--, without taking the fastest way out of
2094 the search, which could lose.
2096 * cp-search.c (compute_visibility): Check for a member fn
2097 manipulating its own members before checking the basetype_path.
2099 * cp-pt.c (lookup_template_class): Instead of dying in the case
2100 where D1 has a local value but no global or class value, return an
2103 * cp-pt.c (lookup_template_class): Don't assert if IN_DECL is null,
2104 since we pass it down that way from the parser.
2105 (coerce_template_parms): Likewise.
2106 * cp-parse.y (template_type): Let template_type_seen_before_scope be
2107 an error_mark if necessary, so we can intelligently handle things
2108 later rather than give useless syntax errors.
2110 Sat Apr 24 17:12:17 1993 Mike Stump (mrs@poseidon.cygnus.com)
2112 * cp-pt.c (tsubst): When we go back for a second pass, make sure we
2113 start over with the list of methods. Fixes problem introduce on
2114 Sat Mar 20 12:29:37 1993.
2116 Mon Apr 26 18:48:18 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2118 * fold-const.c (fold): Signedness matters for comparisons and
2121 * xm-alpha.h (ONLY_INT_FIELD): Define again; this time say why.
2123 * tree.h (INTEGRAL_TYPE_P, FLOAT_TYPE_P): New macros.
2124 * fold-const.c: Use INTEGRAL_TYPE_P and FLOAT_TYPE_P.
2126 * protoize.c (other_variable_style_function): Properly test for
2127 the presence of the string "...".
2129 * c-decl.c (pushdecl): Don't make a copy of type of error_mark_node.
2131 Mon Apr 26 18:15:03 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
2133 * pa-hpux.h (LINK_LIBGCC_SPECIAL): Delete.
2134 (RELATIVE_PREFIX_NOT_LINKDIR): Delete.
2135 * pa-ghpux.h, pa-hpux7.h, pa-gux7.h: Likewise.
2137 Mon Apr 26 16:57:03 1993 Michael Meissner (meissner@osf.org)
2139 * mips-tdump.c (CODE_MASK): Define if running on an alpha instead
2141 (MIPS_IS_STAB): Ditto.
2142 (MIPS_MARK_STAB): Ditto.
2143 (MIPS_UNMARK_STAB): Ditto.
2144 (tfile): New global, holds result of -t option, to skip global
2146 (malloc, calloc, realloc, free): Don't declare on alpha.
2147 (print_sym_hdr): Make sure all arguments are properly cast to int
2148 or long, depending on whether the format is %ld or %d.
2149 (read_tfile): Don't look at magic number, instead use -t option to
2150 determine whether to skip the global header or not.
2151 (main): Process -t option.
2153 Mon Apr 26 17:47:10 1993 Kresten Krab Thorup (krab@iesd.auc.dk)
2155 * Objective C portability cleanup
2156 * objc/Object.c (-hash, -error): Cast changed to size_t
2157 * objc/archive.c, objc/misc.c, objc/sendmsg: Argument to strlen
2158 casted to char* everywhere.
2159 * objc/class.c (__objc_resolve_class_links): Unused variable
2161 * objc/class.c (class_pose_as): Unused variable node removed.
2162 * objc/hash.c, objc/init.c: extra parenthesis around assignment
2164 * objc/Makefile, objc/hash.h, objc/runtime, objc/sarray.h: IN_OBJC
2166 * objc/init.c: Unused local variable object_class removed. Cast of
2167 pointer to int changed to size_t.
2168 * objc/list.h (list_free): No longer declared inline.
2169 * objc/objc-api.h, objc-runtime.h: Now includes memory.h.
2170 * objc/objc.h: Added declarations for malloc and friends, IN_OBJC
2171 changed to IN_GCC. Type of info member of objc_class changed to
2173 * objc/objects.c, objc/api.h, objc/sarray.h: Changed usage of
2175 * objc/sendmsg (__objc_print_dtable_stats): Returntype changed to
2178 Mon Apr 26 07:55:03 1993 Doug Evans (dje@canuck.cygnus.com)
2180 * sparc.h (ASM_OUTPUT_LONG_DOUBLE): New macro.
2181 * sysv4.h (ASM_OUTPUT_LONG_DOUBLE): Likewise.
2183 Mon Apr 26 08:45:18 1993 Kresten Krab Thorup (krab at xiv.iesd.auc.dk)
2185 * objc/hash.h, objc/init.c, objc/objc.h, objc/sarray.c,
2186 objc/sarray.h, objc/selector.c, objc/sendmsg.c: Change unsigned
2187 int to size_t when casting pointer type to integer.
2188 * objc/sarray.h (struct soffset): Changed to add up to sizeof
2189 (size_t) in stead of sizeof (unsigned int).
2190 * objc/hash.h: Include stddef.h
2191 * objc/_forward.h: int changed to size_t.
2193 * objc/Object.m, objc/archive.c, objc-api.h: Take out archiving
2196 * objc/Makefile: (IN_OBJC): new #define used to control inclusion
2197 of gstdarg or stdarg for the runtime. objc/objc.h,
2198 objc/runtime.h, objc/sarray.h: Updated to use the above.
2200 Sun Apr 25 21:50:16 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2202 * cp-lex.c (yylex): Re-incorporate changes to redo converting
2203 float values to desired type.
2205 Sun Apr 25 18:11:24 1993 Ron Guilmette (rfg@netcom.com)
2207 * rtl.h (NOTE_INSN_FUNCTION_BEG): Make non-zero.
2208 * rtl.c (note_insn_name): Re-order for above.
2210 * dwarfout.c (output_decl): Check for DECL_INITIAL == NULL_TREE
2211 rather than DECL_EXTERNAL != 0 when trying to see if we have a
2212 mere function declaration rather than a function definition.
2213 (dwarfout_file_scope_decl): Likewise. Also, don't bother checking
2214 TREE_USED for file-scope functions, since it isn't 100% accurate
2215 until the end of compilation anyway.
2217 Sun Apr 25 17:07:44 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
2219 * sparc.c (mem_aligned_8): Delete ifdefed out code. Add support
2220 for TARGET_UNALIGNED_DOUBLES.
2221 * sparc.h (TARGET_HOPE_ALIGN, TARGET_FORCE_ALIGN): Delete.
2222 (TARGET_UNALIGNED_DOUBLES): Define.
2223 (TARGET_SWITCHES): Delete hope-align, force-align. Add
2224 unaligned-doubles and no-unaligned-doubles.
2225 (ROUND_REG): Delete.
2226 (FIRST_PARM_OFFSET, FUNCTION_ARG_ADVANCE, FUNCTION_ARG,
2227 FUNCTION_INCOMING_ARG, FUNCTION_ARG_PARTIAL_NREGS,
2228 FUNCTION_ARG_BOUNDARY): Delete force-align support.
2229 (LONG_DOUBLE_TYPE_SIZE): Define to 128.
2231 * sched.c (create_reg_dead_note): Rewrite so as to conserve
2232 registers killed not number of REG_DEAD notes.
2233 (schedule_block): Change comments about dead_notes variable.
2235 * sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER): Make %f0/%f1
2236 the last float registers allocated.
2238 * sparc.c (output_load_address, output_size_for_block_move,
2239 output_block_move): Ifdef out.
2240 * sparc.md (movstrsi): Comment out.
2242 * sparc.c (output_function_epilogue): Emit 'nop' instead of
2243 'sub %sp,-0,%sp' when the frame is empty.
2244 * sparc.md (movdf): Add a define split.
2246 * expmed.c (extract_fixed_bit_field): Adjust BITPOS so that it
2247 fits inside MODE before adjusting OFFSET to get an aligned address.
2249 Sun Apr 25 06:28:56 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2251 * varasm.c (make_decl_rtl): If a variable has an asm operand that
2252 refers to, e.g., fp, make a distinct RTL for it.
2254 * c-decl.c (init_decl_processing): Last arg to __builtin_apply
2257 * c-lex.c (yylex): Don't warn about floating point out of
2258 range if target floating-point format is IEEE.
2260 * romp.h (SIZE_TYPE): Deleted.
2262 Sat Apr 24 16:46:41 1993 Stephen L. Moshier (moshier@world.std.com)
2264 * c-lex.c (forget_protocol_qualifiers): Cast enums to ints before
2267 Sat Apr 24 13:08:56 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
2269 * pa.h (INITIALIZE_TRAMPOLINE): Pass a register operand, not
2270 a memory operand to "cacheflush".
2271 * pa.md (cacheflush): Rework pattern and output template to avoid
2272 using REG+D addressing.
2274 Sat Apr 24 11:15:02 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2276 * flow.c (mark_used_regs): Use proper type for {all,some}_needed.
2277 * cse.c (invalidate): Likewise for in_table.
2279 * tree.h (build_binary_op, build_indirect_ref, build_unary_op):
2280 Delete declarations; these are part of the front ends.
2282 * objc-act.c (HASHFUNCTION): Cast pointers to widest int type.
2284 Sat Apr 24 02:48:37 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2288 Fri Apr 23 11:08:25 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2290 * cp-call.c, cp-class.c, cp-decl.c, cp-except.c, cp-init.c,
2291 cp-parse.y, cp-pt.c, cp-search.c, cp-type2.c, cp-typeck.c,
2292 cp-xref.c: Fix many bugs in types of fn args & such.
2294 * cp-decl.c (grokdeclarator): When dealing with a class-local
2295 typedef, only call poplevel when the current_binding_level isn't
2296 what we marked as being the local_binding_level.
2298 * cp-decl.c (grokdeclarator): Call pushdecl_class_level, not
2299 pushtag, to put a class-local typedef into its proper scope.
2300 Also disable the warning about a typedef hiding the previous
2301 one, since the cp-class.c change now diagnoses that problem.
2302 * cp-class.c (delete_duplicate_fields_1): Also check for duplicated
2305 * cp-lex.c (yyerror): Delete extern decl of input_redirected.
2307 * cp-parse.y (primary): If the global value for a scoped identifier
2308 ends up being an ADDR_EXPR, call assemble_extern on its argument,
2309 not on the ADDR_EXPR itself. Fixes the IMPORT problem on the PA.
2311 * cp-typeck.c (build_modify_expr_1): Put in missing `else'.
2313 Wed Oct 7 16:00:29 1992 Chip Salzenberg (chip@tct.com)
2315 Change propagated from the C front-end.
2316 * cp-decl.c (shadow_tag): Use pedwarn for useless keyword.
2318 Wed Oct 7 17:51:36 PDT 1992 Ron Guilmette (rfg at netcom.com)
2320 * cp-type2.c (digest_init): Handle union initializers which are
2322 (process_init_constructor): Renamed `erred' to `erroneous' (as in
2324 (process_init_constructor): Added code to handle union initializers.
2326 Fri Oct 23 16:29:45 1992 Chip Salzenberg (chip@tct.com)
2328 Change propagated from the C front-end.
2329 * c-typeck.c (process_init_constructor): When initializing a union,
2330 handle the case of an empty init list.
2332 Tue Dec 1 21:35:36 1992 Niklas Hallqvist (niklas at della.appli.se)
2334 * cp-call.c (convert_harshness): Add support for ellipsis matching
2335 when dealing with function pointers (or references) in argument
2337 (rank_for_overload): Ditto.
2338 (compute_conversion_costs): Ditto.
2339 (*_HARSHNESS): Ditto
2340 * cp-class.h (struct candidate): Ditto.
2342 Mon Jan 4 11:46:19 1993 Chip Salzenberg (chip@tct.com)
2344 Changes propagated from the C front-end.
2345 * cp-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
2346 Call force_fit_type with end result.
2348 Sat Jan 30 01:23:22 1993 Niklas Hallqvist (niklas at della.appli.se)
2350 * cp-class.c (finish_struct): See to that static members whose
2351 type is the class they're declared in gets a correct mode. This
2352 is a completion of the Jan 23rd change.
2354 Mon Feb 1 09:40:11 1993 Niklas Hallqvist (niklas at della.appli.se)
2356 * cp-search.c (compute_visibility): Add support for anonymous
2357 unions nested in classes.
2359 Tue Feb 2 16:06:10 1993 Chip Salzenberg (chip@tct.com)
2361 Eliminate signed integer overflow in specbits:
2362 * cp-lex.h (RID_BIT_TYPE): New typedef for RID_... bits.
2363 (RIDBIT): New convenience macro for RID_... bits.
2364 * cp-decl.c (grokvardecl, grokdeclarator): Declare specbits
2365 to be RID_BIT_TYPE. Use RIDBIT instead of "1<<RID_...".
2367 Mon Feb 15 10:45:12 1993 Niklas Hallqvist (niklas@della.appli.se)
2369 * cp-method.c (build_typename_overload): Identifiers built by this
2370 function needs the IDENTIFIER_OPNAME_P slot set.
2372 Wed Apr 21 11:25:15 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2374 * cp-decl.c (lookup_nested_type): When dealing with types that are
2375 local to a nested class's member fn, make sure to hand back a TYPE_DECL
2376 instead of a RECORD_TYPE.
2378 Tue Apr 20 20:17:42 1993 Mike Stump (mrs@poseidon.cygnus.com)
2380 * cp-spew.c (yylex): Add `typespec (ID::*ID)[' and `typespec
2381 (ID::*ID)(' to list of things that parse as declarators.
2383 Mon Apr 19 15:05:21 1993 Mike Stump (mrs@cygnus.com)
2385 * cp-search.c (report_ambiguous_mi_virtuals): If is never an error
2386 to have same named class members at declaration time, ambiguities
2387 are now caught at use sights.
2389 Fri Apr 16 13:59:28 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2391 * cp-method.c (build_opfncall): If they didn't declare a postfix
2392 operator ++ or --, then fall back and use the prefix one.
2393 * cp-decl.c (grokfndecl): Forbid an operator ++/-- with its second
2394 argument as anything other than an int.
2396 * cp-lex.c (set_yydebug): Add extern decl of yydebug.
2398 Fix enums in nested classes.
2399 * cp-search.c (lookup_nested_field): New argument `complain', to
2400 control if we should emit an error about assignment to a member of
2401 an enclosing class or not. Also, if ID ends up being an error_mark,
2402 set it to a NULL so we don't try to do nasty things later---better
2403 to assume we didn't find anything at all.
2404 * cp-tree.h (lookup_nested_field): Add new arg to prototype.
2405 * cp-decl.c (lookup_name): Pass if prefer_type is -2 into
2406 lookup_nested_field, since there are cases (e.g., nested enums) when
2407 we still need to look here.
2408 * cp-lex.c (do_identifier): Pass complain arg as 1 into
2409 lookup_nested_field.
2411 Thu Apr 15 11:23:18 1993 Mike Stump (mrs@poseidon.cygnus.com)
2413 * cp-search.c (report_ambiguous_mi_virtuals): Pass pointers to
2414 arrays, not pointers to first elements in the array in call to
2417 * cp-lex.c (do_identifier), cp-parse.y: move
2418 undeclared_variable_notice to where it is really used.
2420 * cp-lex.c (do_identifier): Improve error message.
2422 Tue Apr 13 17:04:12 1993 Mike Stump (mrs@cygnus.com)
2424 * cp-typeck.c (default_conversion): OFFSET_REFs may not always have
2425 a TREE_CODE (TREE_TYPE (x)) of OFFSET_TYPE, but they always will
2426 have a TREE_CODE (x) of OFFSET_REF.
2428 Fri Apr 9 20:26:32 1993 Mike Stump (mrs@rtl.cygnus.com)
2430 * cp-lex.c (real_yylex): Use MAP_CHARACTER translate incoming
2431 character set. See c-lex.c ChangeLog entry for more details.
2433 Thu Apr 8 15:30:58 1993 Mike Stump (mrs@rtl.cygnus.com)
2435 * cp-search.c (lookup_field): When looking something up, if
2436 want_type is set, and what we find is ambiguous make sure we set
2437 errstr to 0, even when rval is already NULL_TREE.
2439 Thu Apr 8 11:40:16 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2441 * cp-tree.h (lookup_name_current_level): Add prototype.
2443 Tue Apr 6 13:36:00 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2445 * cp-decl.c (grokdeclarator): When we see `typedef enum ...' inside
2446 a class, properly grok the tag instead of giving two bogus errors.
2447 (lookup_name_current_level): Don't make it static, and delete its
2450 * cp-lex.h (enum rid): Move RID_UNUSED1 to the end, so that RID_AUTO
2451 will be 30, not 31. We're at the limit, the next time a new rid is
2452 added to this, we have to re-implement it to avoid integer overflows.
2454 Sat Apr 3 12:16:23 1993 Mike Stump (mrs@cygnus.com)
2456 * cp-init.c (emit_base_init): init can be NULL_TREE when dealing
2457 with arrays, guard against it.
2459 Fri Apr 23 19:33:58 1993 Tor Egge (tegge@pvv.unit.no)
2461 * reorg.c (relax_delay_slots): Make sure target_label is set.
2463 Fri Apr 23 19:19:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2465 * c-decl.c (shadow_tag_warned): Let warned have three values, so that
2466 a mere warning doesn't prevent a pedwarn. Don't skip the error call
2467 at the end on accounted of warned.
2469 * c-decl.c (push_parm_decl): Turn off warning when parameter
2472 Fri Apr 23 16:41:54 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
2474 * pa.md (casesi0): Indicate that the PC is set to the
2475 out-of-range label if the index is not valid.
2477 Fri Apr 23 14:00:48 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2479 * i386/svr3dbx.h, i386/svr3gas.h: Reflect new directory structure.
2480 * i386/t-svr3dbx: New file to install the required ld ifiles
2482 * configure (i[34]86-...): Use t-svr3dbx if configured --with-stabs.
2484 Fri Apr 23 13:53:31 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
2486 * reload1.c (emit_reload_insns): Advance following_insn if it is a
2487 clobber, not if the next insn is a clobber.
2489 Fri Apr 23 13:44:12 1993 Joey Pruett (joey@tessi.com)
2491 * protoize.c (scan_for_missed_items): Add keywords: else, do, case.
2493 Fri Apr 23 06:52:25 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2495 * fold-const.c (fold, case REALPART_EXPR, IMAGPART_EXPR): Avoid using
2496 build_{unary,binary}_op since the calling sequences depend on
2498 * expr.c (expand_expr, case OFFSET_REF): Likewise.
2499 * convert.c (convert_to_integer, convert_to_complex): Likewise.
2501 * c-typeck.c (readonly_warning): Correctly check for assignments
2504 Thu Apr 22 07:44:40 1993 Tom Wood (wood@next.com)
2506 * c-lang.c, objc-act.c (maybe_objc_comptypes): Undo the previous
2507 change and make the undecided return value from 2 to -1 to avoid
2508 confusion with the values used by comptypes.
2509 (objc_comptypes): Ditto. When two record types are being
2510 compared, and none of the typed object cases applies, return -1 to
2511 indicate no decision.
2512 * c-typeck.c (comptypes): Only pass along a known return value
2513 from maybe_objc_comptype.
2514 (comp_target_types): If maybe_objc_comptypes computed a known
2515 answer, return it. Don't recurse for Objective-C.
2517 * nextstep.h (ASM_FILE_START): Don't output a .file directive.
2518 That's used by the assembler for error reporting.
2520 Wed Apr 21 17:45:50 1993 Ron Guilmette (rfg at netcom.com)
2522 * dwarfout.c (location_or_const_value_attribute): Fixed to use
2523 DECL_INCOMING_RTL for PARM_DECLs only when DECL_RTL isn't usable,
2524 and even then, only when it actually points to the right place.
2526 * integrate.c (integrate_parm_decls): Copy the DECL_ARG_TYPE value
2527 from the PARM_DECL being cloned into the DECL_ARG_TYPE field of the
2530 * dwarf.h (AT_lo_user, AT_hi_user): Fix defined values to be correct
2531 according to final DWARF V1 spec.
2533 Tue Apr 20 20:32:57 1993 Doug Evans (dje@canuck.cygnus.com)
2535 * function.c (assign_parms): Use mode of type, not BLKmode.
2537 Tue Apr 20 18:37:12 1993 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2539 * configure (rs6000-ibm-aix*): Put cases in proper order.
2541 Mon Apr 19 15:27:16 1993 Doug Evans (dje@canuck.cygnus.com)
2543 * calls.c (expand_call): New FUNCTION_ARG_CALLEE_COPIES macro.
2544 * function.c (assign_parms): Ditto.
2546 Sat Apr 17 17:44:59 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2548 * expr.h (FUNCTION_ARG_PADDING): Add parens to make clearer.
2549 (MUST_PASS_IN_STACK): Don't allow machine to override (none
2551 Don't force in stack if wrong padding when padding isn't needed.
2553 * basic-block.h (reg_basic_block): Now int *, not short *.
2554 * flow.c (uid_block_number): Likewise.
2555 (flow_analysis): Allocate uid_block_number and reg_basic_block
2557 * combine.c (reg_last_set_label, reg_last_set_table_tick, label_tick):
2558 Use int, not short, for counting labels.
2559 (combine_instructions): Allocate these vars as arrays of ints.
2560 * jump.c (same_regs): Now arrays of ints.
2561 (thread_jumps): all_reset also array of ints, and allocate as ints.
2562 * reg-stack.c (block_number, BLOCK_NUM, reg_to_stack): Use ints,
2563 not shorts to count blocks.
2565 Sat Apr 17 03:27:48 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2567 * c-parse.in (unary_expr): Delete the alternate REALPART and IMAGPART
2568 rules with explicit parens. Make the simple REALPART and IMAGPART
2569 rules contain cast_expr.
2571 * c-decl.c (finish_struct): Promote unsigned bitfield to signed int
2572 if the field isn't as wide as an int.
2574 Fri Apr 16 21:42:49 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
2576 * calls.c (expand_call): Check warn_inline before complaining about
2577 not being able to inline a fn declared inline.
2578 * flags.h (warn_inline): Add extern decl.
2580 Fri Apr 16 20:27:57 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2582 * alpha.md (blockage): Use unspec_volatile #1; #0 is IMB.
2584 * local-alloc.c (qty_n_refs): Make int, like reg_n_refs.
2585 (qty_first_reg, reg_next_in_qty): Make int, not short.
2586 (local_alloc): Allocate these as arrays of ints.
2587 (block_alloc, qty_compare_1): qty_order is now array of ints.
2589 Fri Apr 16 20:27:16 1993 Tom Wood (wood@next.com)
2591 * a29k.h (FUNCTION_VALUE_REGNO_P): True only for the first register
2594 * alpha.md, romp.md, rs6000.md (untyped_call, blockage): New patterns.
2596 Fri Apr 16 17:53:21 1993 Ron Guilmette (rfg at netcom.com)
2598 * reload1.c (last_spill_reg): Add missing "int".
2600 Fri Apr 16 16:55:16 1993 Doug Evans (dje@wookumz.gnu.ai.mit.edu)
2602 * Makefile.in (objc-headers): Ensure objc dir exists.
2604 Fri Apr 16 16:40:49 1993 Michael Meissner (meissner@osf.org)
2606 * mips/mips.h (MIPS_VERSION): Set Meissner revision number to 39.
2607 (SELECT_SECTION): Do not put items with relocation into .rdata.
2608 (INITIALIZE_TRAMPOLINE, TRANSFER_FROM_TRAMPOLINE): Allow these
2609 macros to be overidden.
2611 * mips/iris3.h (INITIALIZE_TRAMPOLINE, TRANSFER_FROM_TRAMPOLINE):
2612 Provide versions of these that does not rely on using mprotect.
2614 * mips/t-mips, mips/t-osfrose, mips/t-ultrix, i386/t-osfrose:
2615 Delete extra dependencies.
2617 * i386/osfrose.h (SELECT_SECTION): Do not put items with
2618 relocation into .text if -pic-lib.
2620 Fri Apr 16 01:09:53 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2622 * config/i386/xm-isc.h (REAL_VALUE_ATOF): Define only if
2623 not REAL_ARITHMETIC.
2625 Thu Apr 15 07:25:00 1993 Tom Wood (wood@next.com)
2627 * objc-act.c (IS_ID, IS_PROTOCOL_QUALIFIED_ID, IS_SUPER): New type
2629 (objc_comptypes, build_message_expr, gen_declspecs): Use them.
2631 * objc-act.c (gen_declarator): Don't use strcpy's return value.
2633 * objc-act.c (build_message_expr): Allow any type that matches
2636 * objc-act.c (get_class_reference): We already have a name.
2638 * objc-act.c (receiver_is_class_object): Use STRIP_NOPS. Search
2641 Thu Apr 15 07:25:00 1993 Michael Meissner (meissner@osf.org)
2643 * objc-act.c (build_objc_string): Use TREE_SET_CODE instead of
2644 assigning to TREE_CODE.
2645 (build_objc_string_object): Ditto.
2647 Wed Apr 14 17:51:50 1993 Holger Teutsch (holger@hotbso.rhein-main.de)
2649 * clipper.h (FRAME_POINTER_REQUIRED, FRAME_POINTER_OFFSET):
2650 Frame pointer is no longer required for leaf functions.
2651 (OPTIMIZATION_OPTIONS): Define.
2653 * clipper.c (clipper_frame_size): New function.
2654 (output_function_pro/epilogue): Support omitting frame pointer.
2656 * clipper.md (cmpsi): Use `cmpq' for small immediate values.
2657 (addsi3): Use `loada' for `reg1 = reg2 + immed'.
2659 Wed Apr 14 15:23:24 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2661 * print-tree.c (print_node): Use (struct rtx_def *), not (rtx).
2663 Wed Apr 14 13:46:36 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2665 * config/i860/i860.md (floatsidf2): Add missing arg to REAL_VALUE_ATOF.
2667 * c-parse.in: Improve error message for sym undeclared at top level.
2669 Wed Apr 14 12:06:08 1993 Tom Wood (wood@next.com)
2671 * c-lang.c, objc-act.c (maybe_objc_comptypes): Return 0
2672 (incompatible) rather than 2 (similar enough) as the default.
2673 This was an inadvertent change in the Objective-C merge.
2675 * objc-act.c (get_class_reference): Call add_class_reference for
2678 Wed Apr 14 03:49:21 CDT 1993 Paul Burchard (burchard@geom.umn.edu)
2680 * objc/Object.h, objc/Object.m, (-awake);
2681 objc/archive.c (__objc_finish_read_root_object):
2682 Corrected name of method -awake: to -awake for compatibility.
2684 Wed Apr 14 10:58:29 1993 Kresten Krab Thorup (krab@xiv)
2686 * objc/Object.m, objc/Object.h (+streamVersion:): New method.
2687 * objc/archive.c (objc_get_stream_class_version): New function.
2689 Tue Apr 13 17:23:22 1993 Ron Guilmette (rfg at netcom.com)
2691 * c-decl.c (pop_label_level, combine_parm_decls): Correct args
2693 * c-typeck.c (error_init, pedwarn_init): Cast alloca result to char *.
2694 * calls.c (expand_call): Last arg of emit_stack_save is NULL_RTX.
2695 (store_one_arg): Fourth arg to emit_push_insn is NULL_RTX.
2696 * collect2.c (main, scan_prog_file): Don't call signal on signal
2697 names that aren't defined.
2698 * dbxout.c (dbxout_symbol): Last arg to eliminate_regs is NULL_RTX.
2699 * fold-const.c (size_int): NUMBER is unsigned so don't test
2701 (optimize_bit_field_compare, all_ones_mask_p): Add missing
2702 last arg to force_fit_type call.
2703 * gcc.c (putenv): Make result type void.
2704 (main): Don't call signal for undefined signal names.
2705 * genextract.c (main): Remove extra arg to printf call.
2706 * print-tree.c (print_node_brief, print_node): Properly cast
2707 arg when printing ints or rtx.
2708 * rtl.h, tree.h (xmalloc): Don't use prototype for now.
2709 * sched.c (sched_analyze_1): Extra arg in anti_dependence call.
2710 * toplev.c (main): Don't call signal for undefined signal names.
2711 * varasm.c (make_var_volatile): Return type is void.
2712 (assemble_string): First arg is not pointer to unsigned.
2713 * sparc.h (LEGITIMIZE_ADDRESS): Last arg to force_operand is NULL_RTX.
2714 * sparc.md (movXX): Third arg to emit_move_sequence is NULL_RTX.
2715 (movsi): Add missing return after abort.
2717 Tue Apr 13 14:09:00 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2719 * c-typeck.c (digest_init): Don't call default_conversion before
2720 convert_for_assignment.
2721 (parser_build_binary_op): Make NOP_EXPR, not NON_LVALUE_EXPR.
2723 * dbxout.c (dbxout_type): Re-enable debugging output for anonymous
2726 Tue Apr 13 08:44:55 1993 Kresten Krab Thorup (krab@iesd.auc.dk)
2728 * objc-act.c, toplev.c (-Wprotocol): added
2729 * objc-act.c (flag_warn_protocol): New variable
2730 (check_methods_accessible): New function
2731 (check_protocol): Use check_methods or check_methods_accessible
2732 depending on flag_warn_protocol to check protocol conformance.
2734 * objc-act.c (start_class): For class implementations Assign
2735 SUPER_CLASS_NAME from interface specification if not present.
2737 Tue Apr 13 06:48:20 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2739 * alpha.md (sminsf, smindf, smaxsf, smaxdf): Should be minsf, etc.
2741 * genattrtab.c (clear_struct_flag): Add void return type defn.
2742 (count_subs_rtx): Add int return type and add definition.
2743 (simplify_test_exp): Delete debugging junk.
2744 (do_nothing): Delete.
2746 * tree.def (QUAL_UNION_TYPE): New tree code.
2747 * tree.h (DECL_QUALIFIER): New access macro for decl.initial.
2748 * calls.c, dbxout.c, dwarfout.c, expr.c, function.c, print-tree.c:
2749 Treat QUAL_UNION_TYPE like UNION_TYPE when seeing if aggregate.
2750 * sdbout.c, stmt.c, varasm.c: Likewise.
2751 * expr.c (get_inner_reference): Don't blow up if a FIELD_DECL
2752 hasn't been filled in.
2753 (expand_expr, case COMPONENT_REF): Likewise.
2754 * stor-layout.c (layout_union): Handle QUAL_UNION_TYPE.
2755 (layout_type): Call layout_union for QUAL_UNION_TYPE and
2756 treat it like UNION_TYPE elsewhere.
2758 Tue Apr 13 06:08:16 1993 Paul Eggert (eggert@twinsun.com)
2760 * fold-const.c (div_and_round_double): Don't mix HOST_WIDE_INT * and
2761 unsigned HOST_WIDE_INT * parameters; some compilers complain.
2763 Mon Apr 12 22:14:03 1993 Kresten Krab Thorup (krab@iesd.auc.dk)
2765 * objc/list.h, objc/runtime.h: Removed declarations of library
2766 functions. objc/list.h, objc/objc.h, objc/objc-api.h,
2767 objc/runtime.h, Object.m, Protocol.m: Changed to double quote
2768 includes. Removed includes of stddef.h, objc-archive.h and
2771 * objc/objc-archive.h: File deleted. Contents embedded in objc-api.h
2772 * objc/objc-archive.c: File renamed to archive.c
2773 * objc/objc-class.c: File renamed to class.c
2774 * objc/objc-init.c: File renamed to init.c
2775 * objc/objc-misc.c: File renamed to misc.c
2776 * objc/objc-msg.c: File renamed to sendmsg.c
2777 * objc/objc-object.c: File renamed to objects.c
2778 * objc/objc-sel.c: File renamed to selector.c
2779 * objc/Makefile (OBJC_H, OBJC_O): Updated accordingly
2781 Mon Apr 12 22:05:58 1993 Tom Wood (wood@next.com)
2783 * Makefile.in (objc-act.o): Add dependencies.
2785 Mon Apr 12 20:52:00 1993 Kresten Krab Thorup (krab@spiff.gnu.ai.mit.edu)
2787 * objc-act.c (_OBJC_SELECTOR_REFERENCES_decl): Variable renamed to
2788 _OBJC_SELECTOR_TABLE_decl. Name of selector table renamed from
2789 "_OBJC_SELECTOR_REFERENCES" to "_OBJC_SELECTOR_TABLE" to avoid
2790 conflict with NeXTSTEP linker.
2792 * Makefile.in (stmp-int-hdrs): Added dependency objc-headers.
2793 (objc-headers): New target.
2795 * objc/Makefile (_forward, fflags): Made targets error prone.
2796 (objc-msg.o, _forward): Use explicit path instead of $<.
2798 Mon Apr 12 19:49:55 1993 Tom Wood (wood@next.com)
2800 * objc-act.h (CLASS_PROTOCOL_LIST, PROTOCOL_LIST,
2801 PROTOCOL_FORWARD_DECL, TYPE_PROTOCOL_LIST): Rearrange use of type
2802 members to avoid use of noncopied_parts.
2803 * objc-act.c (get_static_reference, get_objcect_reference,
2804 start_protocol): Make a tree vector for new protocol types.
2805 (start_class): The tree vector for class types is longer.
2807 * m68k/next.h (ASM_OUTPUT_FLOAT_OPERAND): Use CODE.
2810 Mon Apr 12 15:46:21 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
2812 * Makefile.in (install-common): Delete $(bindir)/$(target)-gcc
2813 before trying to install it.
2815 * i960.h (CONSTANT_ALIGNMENT): Only increase alignment of string
2818 * gcc.c (library_prefix): Delete variable.
2819 (process_command): Delete uses of library_prefix.
2820 (do_spec_1, D case): Delete use of library_prefix.
2822 * explow.c (emit_stack_save): At end, call validize_mem when
2825 * c-typeck.c (internal_build_compound_expr): When pedantic, don't
2826 simplify a COMPOUND_EXPR, so that it won't be mistaken for an
2827 lvalue or an integer constant expression.
2828 * fold-const.c (fold, COMPOUND_EXPR case): Likewise.
2830 Mon Apr 12 15:24:05 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2832 * rs6000.c (print_operand): Sort all cases in alphabetical order.
2833 (print_operand, case 'G'): New case.
2834 (output_epilog): Know that "GNU Obj-C" is the language string
2836 * rs6000.md (adddi3/subdi3): Allow immediate constants.
2838 * configure (rs6000-ibm-aix*): Make AIX 3.2 the default.
2840 * README.RS6000: Replaced file to discuss assembler for AIX 3.2 and
2841 problems with NLS support.
2843 * combine.c (record_value_for_reg): Properly set SUBST_LOW_CUID
2844 for last change; otherwise won't get best value.
2846 Mon Apr 12 13:23:59 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
2848 * jump.c (jump_optimize, clause for `x=a; if (...) x=b;'):
2849 Do this regardless of BRANCH_COST if HAVE_conditional_move
2852 Mon Apr 12 17:15:43 1993 Kresten Krab Thorup (krab at xiv)
2854 * objc/hash.h: Deleted #include "mutext.h"
2855 * objc/Object.m, objc/Object.h (-read:, -write:): added.
2856 * objc/Object.m, objc-api.h: Stripped anything added by
2857 kane@cc.purdue.edu which is not considered "minor changes".
2858 * objc/objc.h: now "#include"s objc-archive.h
2859 * objc/objc-msg.c (__objc_init_install_dtable,
2860 __objc_install_dtable_for_class): Call to
2861 __objc_resolve_class_links moved to the latter.
2862 * objc/objc-msg.c (__objc_responds_to): Function added
2863 * objc/objc-archive.c (objc_write_reference): added
2865 Sat Apr 10 18:07:46 1993 Kresten Krab Thorup (krab@iesd.auc.dk)
2867 * objc/Makefile: Cleaned up for inclusion in gcc distribution.
2868 Target copy-headers added.
2870 Sun Apr 11 06:40:16 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2872 * toplev.c (strip_off_ending): Add .atr for Ada.
2874 * reorg.c (add_to_delay_list): Clear any cached block information
2877 * stor-layout.c (layout_record): After copying the offsets of a
2878 field that is an anonymous union to the offsets of the fields
2879 of that union, zero the offset of the anonymous field in case
2880 it is used to access the inner fields.
2882 * combine.c (make_compound_operation, case xSHIFTRT):
2883 Clean up code so more readable and don't restrict to case
2885 Pass correct (inner) code to recursive call.
2886 (make_compound_operation, case SUBREG): Pass the code of our
2887 operand to recursive call, not SUBREG, and make another recursive
2888 call after calling force_to_mode.
2890 Sun Apr 11 11:16:48 1993 John F Carr (jfc@Athena.mit.edu)
2892 * combine.c (can_combine_p): Don't move an UNSPEC_VOLATILE.
2894 Sun Apr 11 01:32:39 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2896 * expmed.c (expand_divmod): When adjusting op0 for trunc_div or
2897 trunc_mod, using shifts (not branches), make a new pseudo for the
2898 result. Don't use target for adjusted_op0.
2900 Sat Apr 10 10:57:09 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
2902 * xm-alpha.h (ONLY_INT_FIELDS): No longer needed.
2904 * alpha.c (alpha_sa_size): Need to save $26 if it is used or
2905 if any other register is saved, but not just because a stack
2907 (output_prolog): Add code to probe the stack if we allocate more
2908 than 4096 bytes; required by chapter 7 (for threads).
2909 Know when to save $26.
2910 (output_epilog): Know when to restore $26.
2911 * alpha.md (add/sub): Correct predicates and constraints for
2912 sNaddX and addX insns; we can use sNsubX and subX to add small
2914 Don't split addition to SP since we want to update it just once.
2915 (beq, bne): Use subtract, not compare for ints; it's more efficient.
2916 (define_split for comparisons): Always prefer add/sub if it will work.
2917 (probe_stack, allocate_stack): New patterns.
2919 Fri Apr 9 20:03:38 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
2921 * c-typeck.c (free_tree_list): New variable.
2922 (digest_init): Set free_tree_list.
2923 (process_init_constructor): Use add_double to do arithmetic with
2924 double integers instead of using fold/build to to arithmetic in
2925 type of array index. Use free_tree_list when available instead of
2926 generating a new tree_list.
2928 Fri Apr 9 19:05:31 1993 Tom Wood (wood@next.com)
2930 * c-lex.h (RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_ONEWAY,
2931 RID_ID): New Objective-C keywords.
2932 * c-parse.gperf: Incorporate the Objective-C keywords from
2933 objc-parse.gperf and add the new keywords.
2934 * objc.gperf: Deleted.
2935 * c-lex.c: Use -N when running gperf so the keyword table can be
2936 accessed. Ran gperf and replaced that section.
2937 (forget_protocol_qualifiers, remember_protocol_qualifiers): New
2938 functions to modify the keyword table so that `in', `out', `inout',
2939 `bycopy', and `oneway' are keywords only in protocol declarations.
2940 (init_lex): Initialize the new keywords. Forget the protocol
2941 qualifiers, and only make `id' a keyword when compiling an
2943 (yylex): Treat @ as the start of an identifier (keyword), but
2944 recognize Objective-C string constants (@"...").
2945 * c-parse.in: Add support for Objective-C protocols, classes, and
2947 (initlist): Don't include labeled array elements in the
2948 Objective-C grammer. These look like messages and preclude the
2949 use of messages in initializers.
2950 (recognize_objc_keyword): Deleted. The keywords are now in
2952 * c-tree.h: Add declarations for functions in objc-act.c.
2953 (doing_objc_thang): Declare here.
2954 * c-decl.c (grokfield): Check for statically allocated objects.
2955 * c-lang.c (is_class_name, maybe_objc_method_name,
2956 build_objc_string): New functions.
2957 (maybe_objc_comptypes): Add REFLEXIVE parameter.
2958 * c-typeck.c (comptypes, convert_for_assignment): Check for
2959 Objective-C protocols (non-reflexive use of maybe_objc_comptypes).
2960 (comp_target_types): Rewrite so that maybe_objc_comptypes checks
2961 protocols when processing an Objective-C module. For C modules,
2962 the code path is unchanged.
2963 (convert_for_assignment): Improve the error message for
2964 incompatible message arguments.
2965 * objc-act.h, objc-act.c: Add support for protocols, classes, and
2966 strings. Update the runtime targets for the new GNU runtimes as
2967 well as existing NeXT runtimes.
2968 * toplev.c (lang_options): Add -fgnu-runtime and -fnext-runtime.
2970 * configure (i[34]86-next-*): New configuration.
2971 * config.sub: Default to bsd if vendor is next.
2972 * i386/next.h, i386/next.c, i386/x-next, i386/t-next,
2973 i386/xm-next: New files.
2974 * m68k/next.h, m68k/next.c: Move machine independent portions to
2975 nextstep.h and nextstep.c. Update to NeXTSTEP 3.0 and 3.1.
2976 * nextstep.h, nextstep.c: New files.
2978 Dumped Kresten's latest objc-runtime into the objc directory.
2981 * objc/core.c, objc/objc-proto.h, objc/object.h, objc/object.m,
2982 objc/record.h: Deleted.
2984 Thu Apr 1 11:02:49 1993 Kresten Krab Thorup (krab at xiv)
2986 * objc/list.h (list_remove_head): added case for one element list.
2987 * objc-init.c (__objc_exec_class): changed objc_get_class to
2988 objc_lookup_class. (thanks to mccallum@cs.rochester.edu)
2990 Thu Mar 30 11:04:11 1993 Kresten Krab Thorup (krab at xiv)
2992 * Protocol.m, objc/Protocol.h: added
2993 * objc.h (struct objc_protocol): added
2994 * objc-init.c (__objc_init_protocols): added
2995 (__objc_exec_class): added code for initializing protocols
2996 * objc-class.c (__objc_class_add_protocols): added
2998 Thu Mar 25 17:09:40 1993 Kresten Krab Thorup (krab at xiv)
3000 * configure, Makefile.in: added
3001 * Makefile.in (install): added
3003 Wed Mar 24 14:32:14 1993 Kresten Krab Thorup (krab at xiv)
3005 * objc/objc.h: Define objc_msg_lookup inline if optimization is
3006 turned on. objc-actions.c changed accordingly.
3008 Tue Mar 23 18:02:04 1993 Kresten Krab Thorup (krab at eos)
3010 * sarray.c, objc/sarray.h: Structure of `sarray' changed
3011 eliminating one indirection. This affects most functions.
3013 Mon Mar 29 1993 Christopher J. Kane (kane@rock-opera)
3015 * objc-object.c (_objc_object_alloc, _objc_object_dispose,
3016 _objc_object_copy): moved to objc-misc.c, init to 0.
3019 * Object.m (-perform:, -perform:with:, -perform:with:with:): check
3020 return value of objc_msg_looup before using it.
3021 (-name, -doesNotRecognize:, -error:): changed class_get_class_name
3022 to object_get_class_name.
3023 (+readFrom:): added check for class name length.
3025 * objc-api.m (class_create_instance, object_copy, object_dispose):
3026 moved from objc-object.c, inline'd
3028 Sun Mar 28 1993 Christopher J. Kane (kane@prelude)
3030 * objc-api.h (several inline functions): rewritten to
3031 use new CLS_ISCLASS and CLS_ISMETA macros.
3032 (object_is_metaclass): added.
3034 * objc.h (_objc_alloc, _objc_dealloc, _objc_realloc,
3035 _objc_copy, objc_trace): removed (not used).
3036 (class_get_class_number, class_set_class_number): removed.
3037 (CLS_ISCLASS, CLS_ISMETA): check for nil parameter.
3039 Sat Mar 27 1993 Christopher J. Kane (kane@toccata)
3041 * Object.m: method comments added.
3042 (-transmuteClassTo:): removed error message.
3044 (-error:): added +error: functionality.
3045 (+readFrom:): changed objc_get_class to objc_lookup_class.
3046 (+readFrom:): added class_set_version.
3048 * objc-api.h (object_get_class, object_get_super_class,
3049 object_get_meta_class, object_is_class,
3050 object_is_instance, _objc_error): added.
3052 * objc.h (_objc_error): moved to objc-api.h.
3054 Fri Mar 26 1993 Christopher J. Kane (kane@toccata)
3056 * objc-api.h: function comments added.
3057 (class_set_class_number, class_get_class_number, METHOD_NULL,
3058 class_add_method_list, objc_msg_lookup_super): moved to
3060 (objc_msg_sendv): removed.
3062 * Object.h, Object.m (-isMetaClass): added.
3063 (+free, +name, +respondsTo:, +respondsTo:): removed.
3064 (+class, +superClass, +metaClass): removed.
3066 * Object.m (-storeOn:): added variable class_encoding.
3067 (+readFrom:): replaced constant '#' with _C_CLASS.
3068 (-descriptionForMethod): changed descriptionForInstanceMethod: message
3069 to class_get_instance_method.
3070 (-class): now calls object_get_class.
3071 (-superClass): now calls object_get_super_class.
3072 (-metaClass): now calls object_get_meta_class.
3074 Wed Mar 24 1993 Christopher J. Kane (kane@rock-opera)
3076 * objc-api.h (METHOD_NULL): new define.
3077 (method_get_argsize, method_get_imp, class_get_super_class,
3078 class_get_meta_class, class_get_instance_size): new
3081 * Object.m (-isStructuredLike:, CLASS, IMP2): removed.
3082 (#include <objc/objc.h>): removed.
3083 (includes <stdio.h>, <stdarg.h>, <errno.h>): replaced w/ extern decls.
3084 (+poseAs:): implemented.
3085 (-transmuteClassTo:): now returns previous class.
3086 (-performv::): changed constant 96 to method_get_argsize.
3087 (-perform:, -perform:with:, -perform:with:with:): removed casts.
3088 (-storeOn:, +readFrom:): replaced "strlen("#")" with "1".
3089 (-isKindOfClassNamed:, -isMemberOfClassNamed:, -error:,
3090 +error:): check for NULL.
3091 (many methods): changed pointer indirections to function calls.
3092 (+instancesRespondTo:, -respondsTo:, -methodFor:
3093 +instanceMethodFor:): simplified.
3095 * Object.h, Object.m (-changeClass:): renamed to -transmuteClassTo:.
3096 (+initialize, -isClass, -isInstance): added.
3098 * Object.h: redundant #defines, typedefs removed; comments modified.
3099 (+readFrom:, -readFrom:, -storeOn:) added.
3100 (-perform:with:): duplicate declaration removed.
3102 Fri Apr 9 17:42:11 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3104 * config.sub: Accept i370, mvs.
3105 For i370-ibm*, assume mvs by default.
3106 Later, likewise, for i370-*.
3107 For -mvs*, assume ibm as default vendor.
3109 * c-lex.c (yylex): Use MAP_CHARACTER if it's defined.
3111 * cccp.c (no_precomp): Make it 1 by default.
3113 Fri Apr 9 17:15:00 DJ Delorie (dj@ctron.com)
3115 * configure.bat: Updated to handle current Makefile
3116 and new config/i386/go32.h.
3118 * config/i386/go32.h: New file.
3120 * config/i386/xm-dos.h: Define MKTEMP_EACH_FILE and
3123 Fri Apr 9 15:11:25 1993 Ian Lance Taylor (ian@cygnus.com)
3125 * Makefile.in: Install as $(target)-gcc, not gcc-$(target).
3127 * fixincludes: Avoid inserting #ifndefs in limits.h if they are
3128 already there (solves HP/UX problem).
3130 Thu Apr 8 21:36:11 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
3132 * combine.c: Include hard-reg-set.h.
3133 (reg_nonzero_bits): Should be unsigned.
3134 (reg_last_set_{mode,nonzero_bits,sign_bit_copies}): New variables.
3135 (combine_instructions): Allocate and initialized them.
3136 (nonzero_bits, num_sign_bit_copies, case REG): Use new variables
3137 to get information on regs we've seen before.
3138 (record_value_for_reg): Set new variables for register being modified.
3139 (record_dead_and_set_regs): Invalidate regs clobbered by CALL_INSN.
3140 * Makefile.in (combine.o): Includes hard-reg-set.h.
3142 * expr.c (do_store_flag, case GT_EXPR, LE_EXPR): Don't
3143 confuse highest unsigned value with -1.
3145 * combine.c (force_to_mode, case xSHIFT): Don't narrow the
3146 mode unless we can be sure that the shift count is smaller
3147 than the size of the mode.
3149 * ns32k.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
3150 Add new register class GEN_AND_FLOAT_REGS.
3152 Thu Apr 8 18:42:27 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3154 * Makefile.in (c-parse.y, objc-parse.y): Use sed, not awk.
3156 * c-decl.c (finish_enum): Store layout results into variant types.
3158 * flow.c (mark_set_1): Clear reg_next_use at the proper place.
3160 Thu Apr 8 10:50:00 1993 Ian Lance Taylor (ian@cygnus.com)
3162 * Makefile.in (LIBGCC2_INCLUDES, LIBGCC2_DEPS): New variables,
3163 with empty values, to be overriden by t-* files.
3164 (LIBGCC2_CFLAGS): Use LIBGCC2_INCLUDES.
3165 (libgcc2.ready): Depend on LIBGCC2_DEPS.
3166 (stmp-int-hdrs): New target, all of old stmp-headers except
3168 (stmp-headers): Depend on stmp-int-hdrs, and just install float.h.
3170 Thu Apr 8 06:58:27 1993 Michael Meissner (meissner@osf.org)
3172 * c-tree.h (require_complete_type, lookup_name_current_level): Add
3175 * tree.h (require_complete_type, lookup_name_current_level): Remove
3176 prototypes, these are defined in c-typeck.c and c-decl.c, and
3177 lookup_name_current_level is declared static in cp-decl.c.
3179 Wed Apr 7 14:37:41 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3181 * flow.c (mark_set_1): Clear reg_next_use for all kinds of regs.
3183 Wed Apr 7 09:18:20 1993 Michael Meissner (meissner@osf.org)
3185 * i386/osfrose.h (GO_IF_LEGITIMATE_ADDRESS): Allow -fpic again to
3186 mean System V.4 semantics.
3187 (CC1_SPEC): -fpic and -fPIC turn off OSF/rose shared library
3190 Tue Apr 6 18:07:20 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3192 * c-decl.c (start_function):
3193 Inhibit missing prototype warning for `main'.
3195 Tue Apr 6 17:23:34 1993 Bill Cox (bill@cygnus.com)
3197 * tree.h (require_complete_type, lookup_name_current_level): Add
3200 Tue Apr 6 15:09:42 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
3202 * va-sparc.h (va_arg): Cast argument pointer to (char *).
3204 * unroll.c (loop_iterations): When computing comparison_value, use
3205 reg_set_p to identify instructions that modify it.
3207 * sparc.md (lshldi3, lshrdi3): Define.
3209 * Makefile.in (STAGESTUFF): Add insn-opinit.c, stamp-opinit, and
3212 * cccp.c (do_include): For missing header file, if -M, don't
3213 output dependencies, and warning not error if no dependency is
3216 * c-common.c (decl_attributes, format case): Error if num_arg does
3217 not point to a string type argument, or if first_arg_num not the
3220 * function.c (init_function_start): Always set
3221 current_funtion_returns_pcc_struct if PCC_STATIC_STRUCT_RETURN defined.
3223 * sparc.md (movdi): End by returning the last template; otherwise
3224 we return junk for a template.
3226 * README.ALTOS: Comment as possibly obsolete.
3227 * README.ENCAP: Delete.
3228 * install.texi: Delete references to COFF encapsulation.
3230 * tree.h: Add more prototypes.
3232 Tue Apr 6 12:01:17 1993 Michael Meissner (meissner@osf.org)
3234 * mips.h (MIPS_VERSION): Bump Meissner version number to 38.
3235 (PUT_SDB_*): If -mgas, don't put # in front of directives.
3236 (MIPS_DEFAULT_GVALUE): If not define, define as 8, which is the
3237 default -G xx value to use.
3239 * mips.c (override_options): Set mips_section_threshold to
3240 MIPS_DEFAULT_GVLAUE if -G xx not used.
3242 * mips/osfrose.h (DWARF_DEBUGGING_INFO): Define.
3243 (MIPS_DEFAULT_GVALUE): If mips assembler, the value is 8,
3246 * i386/osfrose.h (DWARF_DEBUGGING_INFO): Define.
3247 (PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.
3249 Mon Apr 5 20:47:44 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
3251 * Represent prologue and epilogue as RTL on the PA
3252 * pa.md (prologue, epilogue): New define_expands.
3253 (return_internal, call_profiler): New define_insns.
3254 * pa.h (FIXED_REGISTERS): %r4 is no longer fixed.
3255 (CALL_USED_REGISTERS): %r4 is no longer CALL_USED either.
3256 (REG_ALLOC_ORDER): Move %r4 up in the allocation order.
3257 (DELAY_SLOTS_FOR_EPILOGUE): Delete.
3258 (ELIGIBLE_FOR_EPILOGUE_DELAY): Delete.
3259 * pa.c (print_stw, print_ldw): Delete.
3260 (eligible_for_epilogue_delay): Delete.
3261 (hppa_epilogue_delay_slots): Delete.
3262 (store_reg, load_reg, set_reg_plus_d): New helper functions.
3263 (output_function_prologue): Only emit assembler pseudo-ops
3264 to denote the start of a function. Place the correct
3265 value into hp_profile_label_name if profiling.
3266 (output_function_epilogue): Only emit assembler pseudo-ops
3267 to deonte the end of a function.
3268 (hppa_expand_prologue): New function to emit all prologue
3270 (hppa_expand_epilogue): Likewise for the epilogue.
3271 (compute_frame_size): Update to account for using %r4 as an
3272 allocatable register if the frame pointer was eliminated.
3274 Mon Apr 5 06:57:35 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
3276 * expr.c (expand_expr, case SAVE_EXPR): Pass promoted type to
3279 Mon Apr 5 03:26:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3281 * reload1.c (emit_reload_insns): Cast enum array index to int.
3283 * expr.c (store_constructor): Properly compute size of array
3284 when clearing the whole array.
3286 Mon Apr 5 02:54:54 1993 Per Bothner (bothner@hal.gnu.ai.mit.edu)
3288 * c-decl.c (lookup_name_current_level): Make non-static.
3290 Sun Apr 4 20:09:19 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
3292 * pa.h (HARD_REGNO_MODE_OK): Do not accept integer modes
3293 greater than 32 bits in 1.0 FP registers.
3294 * pa.md (movdi patterns): Do not accept 1.0 FP registers.
3295 (floatunsdisf, floatunsdidf expanders): Disable unless TARGET_SNAKE.
3296 (floatdisf2, floatdidf2 patterns): Likewise.
3297 (fix_truncdisf2, fix_truncdidf2): Likewise.
3299 * pa.md (dbra pattern): Extend to allow any 5 bit increment,
3300 any comparison operator for the compare against zero, and
3301 no longer require the REG_NONNEG note.
3303 * pa.h (EXTRA_CONSTRAINT): Refine 'T' constraint to not accept
3304 pseudos which did not get hard registers and to not use
3305 short_memory_operand.
3306 * pa.c (short_memory_operand): Delete.
3307 (emit_move_sequence): Do not use short_memory_operand when testing
3308 for secondary reloads for FP loads/stores.
3309 * pa.md (movsi for FP regs): Delete special case patterns.
3310 (movdi for FP regs): Likewise.
3311 (movsi main recognizer): Allow fp<->memory copies.
3312 (movdi main recognizer): Likewise.
3314 Sun Apr 4 18:56:25 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
3316 * pa.h (FUNCTION_OUTGOING_VALUE): Remove.
3317 (FUNCTION_VALUE_REGNO_P): Return regs depend on TARGET_SNAKE.
3319 Sun Apr 4 17:47:43 1993 John F Carr (jfc@Athena.mit.edu)
3321 * reorg.c (get_jump_flags): Check for LABEL == 0 before using
3324 Sun Apr 4 16:38:04 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3326 * mips-tfile.c: Change "illegal" to "invalid" in error messages.
3327 (parse_stabs_common): Allow nonzero ignored fields in .stabs/.stabn.
3329 * calls.c (expand_call) [PCC_STATIC_STRUCT_RETURN]:
3330 Always set pcc_struct_value if aggregate_value_p returns 1.
3332 * Makefile.in (alloca.o): Delete -Demacs from command.
3334 Sun Apr 4 11:19:07 PDT 1993 Ron Guilmette (rfg at netcom.com)
3336 * dwarfout.c (type_attribute): Use the TYPE_MAIN_VARIANT of the
3337 given type when calling `user_def_type_attribute'.
3339 Sun Apr 4 07:57:18 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
3341 * optabs.c: Include reload.h.
3342 * Makefile.in (optabs.o): Show includes reload.h.
3344 * alpha.c (output_prolog): Need LDGP even for static procedure.
3346 * alpha.c (alpha_builtin_saveregs): Adjust for fact that
3347 virtual_incoming_args_rtx includes pretend size.
3348 * alpha.h (SETUP_INCOMING_VARARGS): Likewise.
3350 * alpha.h (LINK_SPEC): Don't pass -O2 to ld; it seems to be broken.
3352 * reorg.c (rare_destination): New function.
3353 (mostly_true_jump): Refine to use more info about destination
3354 and fallthrough; now returns -1 for very unlikely branches.
3355 (fill_eager_delay_slots, relax_delay_slots): Allow -1 return
3356 from mostly_true_jump.
3358 Sun Apr 4 03:09:23 1993 Richard Stallman (rms@churchy.gnu.ai.mit.edu)
3360 * gstdarg.h [__svr4__]: Test only _VA_LIST_ to avoid dup typedef.
3361 (This used to be if __SVR4_2__.)
3363 * config/m68k/m68k.c (floating_exact_log2): Initialize r1.
3365 Sat Apr 3 20:01:05 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
3367 * pa.c (hppa_legitimize_address): Use Pmode consistently.
3369 Sat Apr 3 17:35:11 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
3371 * reload1.c (emit_reload_insns): Don't update the status of a
3372 register from an input reload if it also has an output reload.
3374 * expr.c (store_expr): Call size_binop instead of doing the
3375 same thing with fold and build.
3377 * combine.c (simplify_comparison, case PLUS): Generalize
3378 simplification of (eq (plus A B) C).
3379 (simplify_comparison, case MINUS): Add corresponding cases.
3381 Fri Apr 2 19:11:46 1993 Richard Stallman (rms@geech.gnu.ai.mit.edu)
3383 * c-parse.in (expr_no_commas, from ASSIGN op):
3384 Store ERROR_MARK as the original code.
3386 Fri Apr 2 07:49:03 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
3388 * reload1.c (reload_reg_used_for_inherit): New variable.
3389 (clear_reload_reg_in_use): New function.
3390 (allocate_reload_reg): Don't consider an inherited register as
3391 one that we should share in the first pass.
3392 Don't mark a register in use until we are sure it will fit.
3393 (choose_reload_regs): Mark spill regs used for inheriting.
3394 When we decide we can no longer use a register, show it isn't
3397 * genopinit (optabs): Fix typo in name for "fix" pattern.
3399 Thu Apr 1 21:24:04 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
3403 Thu Apr 1 17:20:05 1993 Mike Stump (mrs@sphagnum.cygnus.com)
3405 * cp-decl.c (start_method): Never allow circularities in
3406 TREE_CHAINs, as otherwise the compiler will core dump. This happens
3407 when a method is redeclared improperly at leat.
3409 Thu Apr 1 12:06:03 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
3411 * cp-typeck.c (convert_for_assignment): Check if `rhs' is an
3412 error_mark_node before looking to see if it's of OFFSET_TYPE.
3414 * cp-decl.c (grokvardecl): Don't use declarator unless it's non-null
3415 when looking for a redefinition.
3417 * cp-typeck.c (convert_for_initialization): Check if `rhs' is a
3418 TREE_LIST before looking for its value.
3420 * cp-init.c (expand_default_init): Don't clear DECL_REGISTER.
3422 Wed Mar 31 17:57:50 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
3424 * cp-spew.c (yylex, case IDENTIFIER): If identifier_typedecl_value
3425 returns a NULL_TREE, then set `lastiddecl' to be `trrr'.
3426 * cp-lex.c (identifier_typedecl_value): Instead of internal error 62
3427 when we don't have a match for `type', return a NULL_TREE since our
3428 callers will know what to do in that case.
3430 * cp-tree.h (IDENTIFIER_TYPEDECL_VALUE): Deleted.
3431 (identifier_typedecl_value): Deleted first prototype, kept second.
3432 * cp-tree.c (list_hash_lookup_or_cons): Call the function for
3433 identifier_typedecl_value, don't use the macro.
3434 * cp-spew.c (yylex): Likewise.
3436 Wed Mar 31 14:43:50 1993 Mike Stump (mrs@cygnus.com)
3438 * cp-cvt.c (convert_from_reference): Make sure we set
3439 TREE_SIDE_EFFECTS if we need to. Cures duplicate evaluations in
3440 things like: foo.mem(g++) = class_c; where foo.mem returns a
3441 reference to a class object.
3443 Wed Mar 31 13:32:38 1993 Mike Stump (mrs@cygnus.com)
3445 * cp-method.c (report_type_mismatch): Arguments are numbered
3446 starting from 1 now.
3448 Tue Mar 30 17:21:18 1993 Mike Stump (mrs@cygnus.com)
3450 * cp-decl.c (grokfndecl): When re-using an old decl in place of a
3451 new decl, make sure to wipe out the DECL_CHAIN slot, as otherwise
3452 this creates a circularity, causing an infinite loop in the compiler
3455 Tue Mar 30 14:14:53 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
3457 * cp-decl2.c (check_classfn): Say which class when giving an error
3458 about arglist mismatches or missing members.
3460 * cp-decl.c (grokdeclarator): For class-local typedefs, call pushtag
3461 to make sure the identifier is in scope properly.
3463 Mon Mar 29 18:05:22 1993 Mike Stump (mrs@cygnus.com)
3465 lookup_fnfields hacking... Corrects some problems found with Thu
3466 Mar 25 23:09:27 1993 vtable fixes.
3468 * cp-init.c (build_offset_ref): When looking for the component,
3469 have lookup_fnfields do the ambiguity checking, as we know it works
3470 much better than anything here.
3471 * cp-method.c (hack_identifier): If a name is ambiguous, go ahead
3472 and report the error.
3473 * cp-search.c (lookup_fnfields): Refine semantics and document
3474 semantics with respect to ambiguities and returning error_mark_node.
3475 Also, extend to be able to find all virtual functions.
3476 * cp-search.c (get_virtuals_named_this): Remove unused second
3477 argument. Arrange for call to lookup_fnfields to find all virtual
3478 functions, even if they are hidden.
3479 * cp-search.c (get_first_matching_virtual): Removed unused second
3480 argument to get_virtuals_named_this.
3482 Mon Mar 29 16:42:58 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
3484 * cp-method.c (dump_init): If the init value is an enum, then use
3485 its tag in the error message, instead of its value.
3487 * cp-typeck.c (build_binary_op_nodefault): Delete spurious warning
3488 about comparision between signed/unsigned (matches C front-end).
3490 Fri Mar 26 16:30:57 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
3492 * cp-parse.y (GCC_ASM_KEYWORD): New token.
3493 (asm_keyword): New rule.
3494 (extdef, maybeasm, simple_stmt): Use the rule instead of ASM_KEYWORD.
3495 (maybe_type_qual): Don't warn about use of asm.
3496 * gplus.gperf (__asm, __asm__): Token is GCC_ASM_KEYWORD.
3497 * cp-spew.c (init_spew): Add GCC_ASM_KEYWORD.
3499 * cp-typeck.c (build_unary_op): Fix a bug so errors about ++/-- on
3500 invalid pointer types actually get emitted. Don't restrict it to
3501 when PEDANTIC is set, and use type_as_string to say what type is
3504 Fri Mar 26 01:21:43 1993 Mike Stump (mrs@cygnus.com)
3506 * cp-decl.c (grokdeclarator): Don't set TREE_PUBLIC for friends.
3508 Fri Mar 26 01:09:34 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
3510 * cp-decl.c (pushdecl): Give a pedwarn, not a regular warning, when
3511 we shadow a formal parameter.
3513 * cp-init.c (expand_default_init): Get rid of spurious abort call.
3515 Thu Mar 25 23:09:27 1993 Mike Stump (mrs@cygnus.com)
3517 Major vtable re-vamp.
3519 * cp-call.c (build_method_call): Reword and improve error messages.
3520 * cp-class.c (modify_vtable_entries), cp-class.c (finish_struct),
3521 cp-init.c (init_vfields), cp-tree.c (virtual_member, virtual_offset),
3522 cp-tree.h: Remove third argument to binfo_value, as it is unneeded.
3523 * cp-class.c (finish_base_struct): Unshare base class binfos.
3524 * cp-decl.c (finish_function): Fixup second argument to
3525 build_virtual_init, so as to make it unambiguous.
3526 * cp-init.c (build_virtual_init): Use second argument to get the
3527 vtable, not the first, as the second is more specific.
3528 * cp-search.c (is_subobject_of_p, hides, lookup_fnfields_here): New
3530 * cp-seach.c (lookup_field, lookup_fnfields_1): Re-implement. The
3531 new implementation allows for better ambiguity checking (10.1.1),
3532 and implements most hiding (10p4).
3533 * cp-tree.c (binfo_value): Re-implement.
3534 * cp-typeck.c (build_component_ref): Propagate error_mark_nodes up.
3536 Thu Apr 1 19:38:53 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
3538 * reorg.c (redundant_insn_p): Stop searching for a redundant
3539 insn if an INSN or JUMP_INSN with delayed effects is
3542 Thu Apr 1 12:00:01 1993 Michael Meissner (meissner@osf.org)
3544 * real.c (toplevel): Add 'extern' keyword in forward declaration
3545 of arrays without bounds to silence warnings from the MIPS
3548 * i386/osfrose.h (LONG_DOUBLE_TYPE_SIZE): Undef this to protect
3549 against long double going to 80 bits until the OSF libraries are
3552 * mips/mips.md (untyped_call): Rewrite code so that the MIPS
3553 compiler will not issue statement not reached warning messages.
3555 Thu Apr 1 07:28:11 1993 James Van Artsdalen (james@bigtex.cactus.org)
3557 * expr.c (emit_push_insn, expand_assignment): Fix typo in last change.
3559 Thu Apr 1 02:31:16 1993 Per Bothner (bothner@hal.gnu.ai.mit.edu)
3561 * emit-rtl.c (init_emit): Clear sequence_stack. Otherwise,
3562 if we're in a sequence when starting a nested function
3563 expand_function_end () will end all the sequences.
3565 Thu Apr 1 02:11:10 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3567 * Makefile.in (LIB2FUNCS): Add _fixunsxfdi, _fixxfdi, _floatdixf,
3570 * libgcc2.c (XFtype): Do define it, if LONG_DOUBLE_TYPE_SIZE == 96.
3571 (__fixunsxfdi): New function, if LONG_DOUBLE_TYPE_SIZE == 96.
3572 (__fixxfdi, __floatdixf, __fixunsxfsi): Likewise.
3574 Wed Mar 31 20:05:19 1993 Michael Meissner (meissner@osf.org)
3576 * mips.h (CLASS_UNITS): Fix typo in previous change, patch from
3579 Wed Mar 31 17:18:27 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3581 * toplev.c (compile_file): Call incomplete_decl_finalize_hook
3584 Wed Mar 31 00:59:50 1993 Gerald Baumgarnter (gb@cs.purdue.edu)
3586 * toplev.c (compile_file): Only call `*incomplete_decl_finalize_hook'
3587 if the `decl' in question is a VAR_DECL.
3589 Wed Mar 31 15:27:41 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
3591 * pa.h (CONSTANT_ADDRESS_P): Fix typo in last change.
3593 Wed Mar 31 15:11:12 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
3595 * clipper/clipper.h, convex/convex.h, elxsi/elxsi.h, fx80/fx80.h,
3596 gmicro/gmicro.h, h8300/h8300.h, i386/i386.h, i386/osfrose.h,
3597 i860/i860.h, i960/i960.h, m68k/m68k.h, m88k/m88k.h, mips/mips.h,
3598 pa/pa.h, pyr/pyr.h, romp/romp.h, rs6000/rs6000.h, sparc/sparc.h,
3599 spur/spur.h, tahoe/tahoe.h, vax/vax.h, we32k/we32k.h
3600 (CONSTANT_ADDRESS_P): Define with body of `CONSTANT_P', but leave
3603 Wed Mar 31 11:28:21 1993 James Van Artsdalen (james@bigtex.cactus.org)
3605 * reg-stack.c (emit_swap_insn): Don't link cc0 insns: emit swap
3608 Wed Mar 31 07:00:45 1993 Richard Kenner (kenner@apple-gunkies.gnu.ai.mit.edu)
3610 * expr.c (expand_expr, case ADDR_EXPR): Allow taking the
3611 address of any object; used in call-by-reference situations.
3613 * tree.c (next_type_uid): Move definition to reasonable place.
3614 (copy_node): Make new DECL_UID and TYPE_UID as comments say.
3616 * expr.c (emit_block_move, emit_push_insn, expand_assignment):
3617 Size passed to memcpy/bcopy is SIZETYPE, not Pmode.
3619 * cse.c (simplify_binary_operation, case MULT): When testing for
3620 floating-point equality, make sure we do so inside a region
3621 protected from traps.
3622 * i386.c (standard_80387_constant_p): Likewise.
3624 * alpha.h (INITIAL_ELIMINATION_OFFSET): Subtract
3625 current_function_pretend_args_size from OFFSET for AP.
3627 * alpha.h (LINK_SPEC): New definition.
3629 * cse.c (insert_regs): If a REG already is in a class but not
3630 in the mode we want, don't do anything to the classes.
3632 Wed Mar 31 02:02:29 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3634 * gvarargs.h [__svr4__]: Test only _VA_LIST_ to avoid dup typedef.
3635 (This used to be if __SVR4_2__.)
3637 * local-alloc.c (optimize_reg_copy_1): Don't increment n_calls
3638 specially if P is a call_insn.
3640 * convert.c (convert_to_real): Pass mode arg to REAL_VALUE_ATOF.
3642 Tue Mar 30 17:07:33 1993 Stephen L. Moshier (moshier@world.std.com)
3644 * real.c: This is a new C file to implement floating point
3645 REAL_ARITHMETIC, target machine bit patterns for cross-compilation,
3646 and REAL_VALUE_ATOF for decimal input constants in long double
3647 XFmode as well as lower precisions.
3649 * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_TARGET_DOUBLE)
3650 (REAL_VALUE_TO_TARGET_SINGLE): New macros.
3652 * real.h: If REAL_ARITHMETIC is defined or if LONG_DOUBLE_TYPE_SIZE
3653 is 96, then define REAL_VALUE_ macros to invoke functions in real.c.
3655 * real.h (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT):
3656 New macros truncate toward zero to integer value but
3657 return REAL_VALUE_TYPE.
3659 * real.h (REAL_VALUE_TO_DECIMAL): New macro defaults to
3660 fprintf if no REAL_ARITHMETIC, otherwise uses real.c for
3661 binary to decimal conversion. Use in ASM_OUTPUT_ macros.
3663 * Makefile.in (real.o): New target.
3666 * c-lex.c (yylex): Convert real decimal constants directly
3667 to the precision specified by the letter at the end of the number.
3668 Pass mode arg to REAL_VALUE_ATOF to specify precision.
3669 Move the "out of range of double" error check.
3671 * cp-lex.c (yylex): Redo converting float values to desired type.
3673 * final.c (split_double) : Use REAL_VALUE macros to extract ints
3674 from float mode CONST_DOUBLEs.
3676 * emit-rtl.c (operand_subword): Use REAL_VALUE_TO_TARGET_SINGLE
3677 to convert to target float.
3678 If REAL_ARITHMETIC is defined, let real.c handle incompatible host
3679 and target floating point bit patterns.
3680 (init_emit_once): Add machine_mode argument to REAL_VALUE_ATOF.
3682 * fold-const.c (real_value_truncate): If REAL_ARITHMETIC, replace
3683 by routine of same name in real.c.
3684 target_isinf, target_isnan, target_negative): Likewise.
3685 (const_binop): Delete `register' from decls using REAL_VALUE_TYPE.
3686 (fold_convert): Use REAL_VALUE_TO_INT.
3688 * rtl.c: Include real.h to get the definition of REAL_VALUE_TYPE.
3690 * varasm.c (assemble_real): Case TFmode and XFmode invoke
3691 ASM_OUTPUT_LONG_DOUBLE.
3693 * optabs.c (expand_fix): Initialized REAL_VALUE_TYPE
3694 confuses some compilers.
3696 * cse.c (simplify_binary_operation): real_value_truncate
3697 returns REAL_VALUE_TYPE.
3698 Convert rtx_code into tree_code for argument to REAL_ARITHMETIC.
3700 * cse.c (simplify_unary_operation): Use new ..._RNDZINT macros
3701 instead of casting value of REAL_VALUE_FIX_TRUNCATE
3702 and REAL_VALUE_UNSIGNED_FIX_TRUNCATE.
3704 * explow.c (rtx_to_tree_code): New function.
3706 * rtl.h (rtx_to_tree_code): Declare.
3708 * m68k/m68k.c (standard_68881_constant_p): Initialize REAL_VALUE_TYPE
3709 binary constants from decimal values. Use REAL_VALUE_... macros.
3710 (standard_sun_fpa_constant_p): Likewise.
3711 (print_operand, floating_exact_log2): Use REAL_VALUE_... macros.
3712 (init_68881_table): New function.
3714 * m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Set to 96, for XFmode support.
3715 (ASM_OUTPUT_LONG_DOUBLE_OPERAND) New macro.
3716 (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Use REAL_VALUE_... macros.
3717 (ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
3718 (ASM_OUTPUT_FLOAT_OPERAND): Likewise. Also, new argument CODE.
3719 (ASM_OUTPUT_FLOAT): Delete special def for CROSS_COMPILE.
3720 (ASM_OUTPUT_LONG_DOUBLE): New macro.
3721 (PRINT_OPERAND_EXTRACT_FLOAT): Definitions deleted.
3722 (PRINT_OPERAND_PRINT_FLOAT): Definitions deleted.
3724 * m68k/m68k.md (movxf, tstxf, extendsfxf2, extenddfxf2): New patterns.
3725 (truncxfdf2, truncxfsf2, floatsixf2, floathixf2, floatqixf2): Likewise.
3726 (ftruncxf2, fixxfqi2, fixxfhi2, fixxfsi2): Likewise.
3727 (addxf3, subxf3, mulxf3, divxf3, negxf2, absxf2, sqrtxf2): Likewise.
3729 * m68k/sun3.h (FUNCTION_VALUE): Use FUNCTION_VALUEX.
3730 (FUNCTION_VALUEX): New macro.
3731 * m68k/mot3300.h, m68k/news.h (LIBCALL_VALUE): Handle XFmode.
3733 * m68k/mot3300.h, m68k/tower-as.h:
3734 (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Use REAL_VALUE... macros.
3735 (PRINT_OPERAND): Likewise.
3736 (ASM_OUTPUT_LONG_DOUBLE): New definition.
3737 * m68k/news.h (PRINT_OPERAND, ASM_OUTPUT_DOUBLE):
3738 Use REAL_VALUE... macros.
3739 * m68k/next.h, m68k/sun2o4.h, m68k/sun3.h, m68k/altos3068.h:
3740 (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE)
3741 (ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND):
3742 Use REAL_VALUE... macros.
3743 * m68k/sgs.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE)
3744 (ASM_OUTPUT_DOUBLE_OPERAND): Use REAL_VALUE... macros.
3745 (ASM_OUTPUT_LONG_DOUBLE): New definition.
3746 (ASM_OUTPUT_FLOAT_OPERAND): New macro.
3747 (PRINT_OPERAND_PRINT_FLOAT): Deleted.
3749 * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):
3750 Use new REAL_VALUE... macros.
3751 (ASM_OUTPUT_LONG_DOUBLE): New definition.
3753 * m68k/hp320.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT)
3754 (PRINT_OPERAND_FLOAT, PRINT_OPERAND): Use new REAL_VALUE... macros.
3755 (ASM_OUTPUT_LONG_DOUBLE): New macro.
3757 * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND):
3758 Use new REAL_VALUE... macros.
3760 * vax.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
3761 Use new REAL_VALUE... macros.
3762 (CHECK_FLOAT_VALUE): Call check_float_value.
3763 * vax.c (check_float_value): New function.
3765 * vaxv.h (ASM_OUTPUT_DOUBLE): Use new REAL_VALUE... macros.
3767 * alpha.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
3768 Use new REAL_VALUE... macros.
3769 (REAL_ARITHMETIC): Defined.
3771 Tue Mar 30 17:07:33 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
3774 * pa.md (sminsi3, smaxsi3): Fix bugs in last addition.
3776 Tue Mar 30 16:52:15 1993 Michael Meissner (meissner@osf.org)
3778 * mips.h (MIPS_VERSION): Bump Meissner version to 37.
3779 (CLASS_MAX_NREGS): Make floats in gp registers only use one
3780 register, and only allocate one float register instead of a
3781 register pair if -mfloat64 is used.
3783 Tue Mar 30 05:40:26 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
3785 * combine.c (record_dead_and_set_regs): Record death of all
3786 hard regs when a multi-reg object in hard regs dies.
3787 (move_deaths): Handle the case when we only have to move
3788 part of a multi-register death note.
3789 * rtlanal.c (find_regno_note): Find note that overlaps REGNO,
3790 not just one that mentions REGNO explicitly.
3792 * reload.c (form_sum): Use mode of inputs when making new PLUS.
3794 * genopinit.c: New file.
3795 * expr.h (extendtab, fixtab, fixtrunctab, floattab, movstr_optab):
3797 * expr.c (movstr_optab): No longer static.
3798 (init_expr_once): Don't initialize movstr_optab.
3799 * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Not static.
3800 (init_extends, init_fixtab, init_floattab): Deleted.
3801 (init_optabs): Move active stuff from above functions in.
3802 Delete filling of optabs.
3803 Call init_all_optabs.
3804 * reload1.c (init_reload): Don't initialize optabs here.
3805 * Makefile.in (OBJS): Add insn-opinit.o.
3806 (insn-opinit.o, insn-opinit.c, stamp-opinit): New rules.
3807 (genopinit, genopinit.o): Likewise.
3809 * reload1.c (emit_reload_insns): Properly track what was reloaded
3810 into what register when what we reloaded was a hard register group.
3812 Mon Mar 29 17:35:04 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
3814 * sparc.md (movsi+2): Add f/f constraint case.
3816 * sched.c (schedule_block): Reset n_ready if schedule_select
3817 removes all insns from ready list.
3819 * i960.h (FUNCTION_PROFILER): Call output_function_profiler.
3820 (CALL_USED_REGISTERS): Add more comments about register usage.
3821 * i960.c (i960_function_prologue): When profiling, don't use those
3822 registers clobbered around an mcount call.
3823 (output_function_profiler): New function.
3825 Mon Mar 29 13:57:28 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3827 * c-iterate.c (collect_iterators): Cast tree code to int for indexing.
3829 Mon Mar 29 06:28:57 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
3831 * combine.c (num_sign_bit_copies, case PLUS, case MULT):
3832 Replace occurrences of HOST_BITS_PER_INT with HOST_BITS_PER_WIDE_INT.
3834 * reload.c (secondary_memlocs_elim): Now one per mode per operand.
3835 (get_secondary_mem, combine_reloads): Reflect changed var above.
3836 (clear_secondary_mem): Use bzero.
3838 * genrecog.c: Add prototypes for all functions defined in file.
3839 Change a few occurrences of RTX_CODE to enum rtx_code for consistency.
3840 (merge_trees): Add casts of args to mybcopy.
3841 (write_tree_1): Now static.
3842 (fatal): Always called with one arg, so define that way.
3844 * reload.h: Add missing declarations for external functions
3845 in reload.c, reload1.c, and caller-save.c.
3846 (reload_strict_low, reload_needed_for_multiple, reload_needed_for):
3848 (reload_opnum): New array.
3849 (enum reload_type): Renamed from reload_when_needed and expanded
3850 to include more reload types.
3851 (reload_n_operands): New variable.
3852 * reload.c: Add prototypes for all static functions and clean up
3854 (struct decompose): Move to before function declarations.
3855 (secondary_memlocs_elim): One per operand, not per mode.
3856 (get_secondary_mem): Accept and use reload description (opnum
3858 (push_reload): Accept and use new reload description instead of
3860 Define two new macros: MERGEABLE_RELOADS and MERGE_TO_OTHER.
3861 Use these macros to see if reloads can be merged and how to do it.
3862 (transfer_replacements): New function.
3863 (combine_reloads): Refine when we can combine reloads.
3864 (find_reloads): Use new method of tracking what a reload is for.
3865 When we make a CLOBBER insn, do so with DImode.
3866 Merge cases of making optional reloads, avoid making output-only
3867 optional reloads, refine when we may not make in-out optional reloads,
3868 and make an optional reload for a pair of matching operands.
3869 (find_reloads_toplev, find_reloads_address{,_1, part}): Accept and
3870 use reload description.
3871 (forget_volatility): Delete long-obsolete function.
3872 * reload1.c: Add prototypes for static functions.
3873 (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Include default definitions.
3874 (reload): Count number of registers needed for insn using new
3875 reload type information.
3876 If mode of insn is DImode, don't change it.
3877 Refine the way we handle conflict with the return value register.
3878 Don't try to account for needs already covered by previously
3879 spilled registers; instead, put them back in the front of
3880 potential_reload_regs and let them be allocated again.
3881 (order_regs_for_reload): Don't restrict regs explicitly used if
3882 we have SMALL_REGISTER_CLASSES defined.
3883 (reload_as_needed): Don't need to deactivate optional reloads
3884 ever; if they inherit, it must have been safe.
3885 Call merge_assigned_reloads if SMALL_REGISTER_CLASSES.
3886 (reload_reg_used_*): Refine our tracking of reload reg usage
3887 by defining more of these HARD_REG_SETs.
3888 (mark_reload_reg_in_use, reload_reg_free_p): Rework to use new
3889 method of describing where a reload register is used.
3890 (reload_reg_free_before_p, reload_reg_reaches_end_p): Likewise.
3891 (allocate_reload_reg): Pass new reload descriptions.
3892 (choose_reload_regs): Likewise.
3893 Save and restore the new HARD_REG_SETs.
3894 Remove now-redundant code to prevent conflicts.
3895 (merge_assigned_reloads): New function.
3896 (emit_reload_insns): Output each reload type into its own
3897 sequence, then output the sequences in the proper order.
3898 Put our output reloads after a CLOBBER made by find_reloads.
3899 Pass ALL_REGS to find_equiv_regs; nothing special about
3901 Don't use an old equivalence if doing so would be more expensive.
3902 Clean up tracking of values still in reload regs using reload
3903 description info to see if the reload reaches the end of the insn.
3904 (gen_input_reload): Pass reload description and emit insns to end of
3906 (inc_for_reload): Return void; no longer need INSN as operand.
3907 Emit insns to end of current sequence.
3909 Mon Mar 29 02:59:27 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3911 * expr.c (expand_expr, case MAX_EXPR/MIN_EXPR): If mode is
3912 multiword int, use do_jump_by_parts_greater_rtx to compare efficiently.
3913 (do_jump_by_parts_greater_rtx): New function.
3915 Sun Mar 28 20:26:11 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
3917 * calls.c (expand_call): Always allocate TARGET in mode of
3918 result expression; VALREG might have been promoted.
3919 Ensure TARGET is a REG when checking for promotion and verify
3920 that we get back the mode we expect.
3922 Sun Mar 28 18:49:12 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3924 * c-decl.c (store_parm_decls): Use pedwarn for "promoted arg doesn't
3925 match prototype" warning.
3927 * expr.c (expand_expr): For COMPONENT_REF, don't force_reg op0
3930 Sun Mar 28 16:25:59 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
3932 * pa.md (smin, umin, smax, umax): New patterns.
3934 * Support nullification of conditional branch delay slots on
3937 * pa.md (cbranch define_delay): Enable nullification of
3938 conditional branch delay slots (based upon branch direction).
3939 (conditional branch patterns): Call output_cbranch to get the
3940 correct output template. Long conditional branches with an
3941 annulled delay slot have a length of 3.
3942 (branch on bit patterns): Call output_bb to get the correct
3943 output template. Long branches with an annulled delay slot have
3945 (decrement and branch pattern): Handle nullification of long
3946 backward branches. Such branches have lengths of either 3 or 6.
3948 * pa.c (output_cbranch): New function. Given the operands of the
3949 branch, possible nullification, length of the branch, possible branch
3950 negation, and the branch insn itself, return the output template for
3951 the desired conditional branch.
3952 (output_bb): Likewise, but for branch on bit.
3954 * pa.h (toplevel): Declare output_bb.
3956 * genattr.c (main): Output ATTR_FLAG masks.
3958 * rtl.def (ATTR_FLAG): New RTL code.
3960 * genattrtab.c (write_eligible_delay): Add new variable
3961 "flags" to the generated functions. All callers changed.
3962 (check_attr_test): Handle ATTR_FLAG.
3963 (clear_struct_flag): Likewise.
3964 (count_sub_rtxs): Likewise.
3965 (write_test_expr): Likewise.
3967 * reorg.c (ANNUL_IFTRUE_SLOTS, ANNUL_IFFALSE_SLOTS): Add new
3968 flags variable to these dummy macros.
3969 (get_jump_flags): New function.
3970 (optimize_skip): Get jump flags information from the delay insn.
3971 (steal_delay_list_from_target): Get jump flags information from the
3972 delay insn and the label of the trial jump.
3973 (steal_delay_list_from_fallthrough): Get jump flags information
3974 from the delay insn.
3975 (try_merge_delay_insns): Likewise.
3976 (fill_simple_delay_slots): Likewise.
3977 (fill_slots_from_thread): Likewise.
3978 (make_return_insn): Likewise.
3980 Sun Mar 28 00:36:04 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
3982 * fixincludes: Move comments about big sed command outside the
3985 * toplev.c (lang_options): Add -W{no-,}missing-braces.
3987 * c-typeck.c (process_init_constructor, digest_init):
3988 Check and set new static var partial_bracket_mentioned.
3990 * c-lex.c: Updated for recent change in c-parse.gperf.
3992 Sat Mar 27 13:43:27 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
3994 * Trampoline support from Jukka Virtanen.
3995 * pa.md (cacheflush): New pattern.
3996 * pa.h (TRAMPOLINE_TEMPLATE): Define for the PA.
3997 (TRAMPOLINE_SIZE): Define for the PA.
3998 (INITIALIZE_TRAMPOLINE): Define for the PA.
4000 Sat Mar 27 08:22:25 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4002 * function.c (expand_function_start): When evaluating sizes of
4003 variable types, do so just for side-effects (the SAVE_EXPRs).
4004 * stor-layout.c (variable_size): Likewise.
4006 * va-alpha.h: Major rework to agree with new calling sequence.
4007 Should have been installed with Feb 10th changes.
4009 * rs6000.md (mov[qhs]i): Allow moving a special reg to itself.
4011 Sat Mar 27 03:13:46 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
4013 * config/sparc/sparc.c (S_MODES, D_MODES, T_MODES):
4014 Accept only those complex modes that are small enough.
4015 Rewrite to make the expressions simpler.
4017 Fri Mar 26 17:07:31 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4019 * c-tree.h, output.h: Use STDIO_PROTO for prototypes with FILE.
4021 * input.h: Add standard copyright notice.
4023 * caller-save.c: Add prototypes for static functions.
4024 (choose_hard_reg_mode): Add missing parameters declaration.
4026 * a29k.md (multiply/multiplu/mulm/mulmu insns): These clobber Q.
4028 Fri Mar 26 06:23:31 1993 Tom Wood (wood@next.com)
4030 * i960.h (FUNCTION_VALUE_REGNO_P): Change to agree with
4032 * pyr.h, spur.h (INCOMING_REGNO, OUTGOING_REGNO): Define.
4033 * arm.md (untyped_call, blockage): New patterns.
4035 Fri Mar 26 02:09:02 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
4037 * configure (sparc-tti-*, m68k-tti-*): Don't set use_collect2.
4039 Fri Mar 26 01:05:43 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
4043 Thu Mar 25 18:19:19 1993 Mike Stump (mrs@cygnus.com)
4045 * cp-cvt.c (convert_to_reference), cp-init.c (expand_aggr_init_1):
4046 Don't try to do more than one level of user defined conversions,
4047 avoids an infinite loop. Uses LOOKUP_NO_CONVERSION.
4049 Wed Mar 24 16:28:17 1993 Per Bothner (bothner@rtl.cygnus.com)
4051 * cp-call.c (build_method_call): Fix handling of foo->~Class().
4053 Sat Mar 20 12:29:37 1993 Michael Tiemann (tiemann@rtl.cygnus.com)
4055 * cp-pt.c (tsubst): Don't get faked out by the fact that ctors and
4056 dtors have the same method name and can have the same signature.
4058 Fri Mar 19 15:58:34 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
4060 * cp-pt.c (tsubst): Call build_decl_overload for the new
4063 Thu Mar 18 19:09:39 1993 Ken Raeburn (raeburn@cygnus.com)
4065 * cp-decl2.c (flag_implement_inlines): New variable.
4066 (lang_f_options): Recognize "implement-inlines".
4067 * toplev.c (lang_options): Recognize -f[no-]implement-inlines.
4068 * cp-decl.c (flag_implement_inlines): Declare it.
4069 (start_function): If it's clear, functions declared inline are
4070 external under `#pragma implementation'.
4072 Tue Mar 2 16:24:39 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
4074 * cp-typeck.c (c_expand_return): If operand 0 is a TREE_LIST, then
4075 make sure to use its value.
4077 Mon Mar 1 14:22:12 1993 Bill Cox (bill@rtl.cygnus.com)
4079 * cp-decl.c (push_level_decl): Add cast to correct push_stack_level
4082 Mon Mar 1 10:19:38 1993 Mike Stump (mrs@cygnus.com)
4084 * cp-lex.c (do_identifier): Improve wording on error message.
4086 Wed Feb 24 19:54:46 1993 Mike Stump (mrs@rtl.cygnus.com)
4088 * cp-typeck.c (commonparms, convert_for_assignment): Number
4089 arguments starting at 1 in error messages to match the C front-end.
4091 Wed Feb 24 14:55:54 1993 Mike Stump (mrs@cygnus.com)
4093 * cp-search.c (saw_first_vbase): Deleted.
4094 cp-search.c (dfs_walk): When walking the class lattice, use the last
4095 virtual base class seen, not the first. Fixes major problem
4096 introduced on Tue Oct 6 17:54:09 1992 that prevents multi-level
4097 virtual base classes from working.
4099 Mon Feb 22 18:07:23 1993 Mike Stump (mrs@cygnus.com)
4101 * cp-search.c (get_base_distance_recursive): When searching, if the
4102 object refers to the same object as before, but just found along a
4103 different path, the object is not ambiguous. Fixes problem
4104 introduced on Feb 16 22:47:29 1993.
4106 Wed Feb 17 15:12:12 1993 Mike Stump (mrs@cygnus.com)
4108 * cp-decl2.c (grok_function_init): Pure virtual descructor must be
4109 defined, and calls to them generated. Now conforms with ANSI C++
4110 working paper dated September 17, 1992 12.4.5.
4112 Tue Feb 16 22:47:29 1993 Mike Stump (mrs@cygnus.com)
4114 Implement a new searching scheme for base classes and use it to
4115 ensure only related virtual function slots are filled in by
4116 modify_vtable_entries. Affects get_base_distance and get_binfo
4117 answers. Cures InterViews doc problem. Solves the problem of
4118 calling the wrong virtual function in the presence of multiple
4121 * cp-search.c (get_binfo_recursive, get_base_distance_recursive):
4122 New routines that use a depth first search strategy instead of
4124 * cp-search.c (get_binfo): Re-implement, and use
4125 get_binfo_recursive.
4126 * cp-search.c (get_base_distance): Re-implement, and use
4127 get_base_distance_recursive.
4129 * cp-class.c (related_vslot): New routine to ensure that only
4130 vfields that are related to the given base_fndecl are modified.
4131 Relies upon new searching scheme for base classes.
4132 * cp-class.c (modify_vtable_entries): Use related_vslot to ensure
4133 that only slots related to the base virtual function are filled in.
4135 * cp-class.c (build_vtable, prepare_fresh_vtable, finish_struct),
4136 cp-tree.h: Remove DECL_VPARENT.
4138 * cp-class.c (get_vtable_entry): Use unsigned when dealing with
4140 * cp-class.c (finish_struct): Use get_vtable_entry instead of open
4141 coding that routine here.
4143 Fri Feb 12 10:24:52 1993 Brendan Kehoe (brendan@cygnus.com)
4145 * cp-decl.c (sigsegv): Check if SIGIOT is defined first. Also check
4146 for SIGILL and SIGABRT.
4147 (init_decl_processing): Likewise; set up handlers for SIGILL and
4150 Thu Feb 11 10:30:59 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
4152 * cp-type2.c (readonly_error): New arg `SOFT', to pedwarn instead of
4154 * cp-typeck.c, cp-cvt.c, cp-tree.h: Modify callers appropriately.
4156 Tue Feb 9 10:02:58 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
4158 * cp-lex.c (real_yylex): When parsing an exponent, check for 'e' and
4161 * cp-typeck.c (build_unary_op): Disallow taking the address of
4163 * cp-decl.c (grokdeclarator): Check for the length of ORIGINAL_NAME
4164 being 4, and that it starts with 'm', before calling strcmp.
4166 * cp-type2.c (readonly_warning_or_error): Rename to readonly_error,
4167 make it now ARM compliant by emitting a hard error, instead of a
4169 * cp-cvt.c, cp-typeck.c: Change all callers.
4170 * cp-tree.h (readonly_error): Rename prototype.
4172 Sun Jan 31 09:58:16 1993 Niklas Hallqvist (niklas at della.appli.se)
4174 * cp-typeck.c (build_modify_expr): Accept taking the address of a
4175 temporary generated by an explicit constructor call, but generate
4178 Mon Feb 8 10:45:56 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
4180 * cp-decl.c (grokdeclarator): Demangle DECLARATOR if it's an operator.
4182 Thu Mar 25 11:38:02 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
4184 * cccp.c (do_include):
4185 For "..." case, leave fend pointing at terminating 0.
4186 Distinct error msgs for empty file name and for bad syntax.
4188 * Makefile.in (USER_H): Add va-clipper.h.
4190 Thu Mar 25 07:01:14 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4192 * calls.c (store_one_arg): Fix typo in previous change.
4194 Thu Mar 25 03:37:51 1993 Mike Stump (mrs@hal.gnu.ai.mit.edu)
4196 * c-lang.c (lang_identify), cp-lex.c (lang_identify), objc-act.c
4197 (lang_identify), tree.h (lang_identify): New routine.
4198 * defaults.h (ASM_IDENTIFY_LANGUAGE) New macro used to identify
4199 which front-end produced the object file. Ports that do not
4200 define ASM_IDENTIFY_GCC will automatically get a reasonable
4201 definition for ASM_IDENTIFY_LANGUAGE, ports that do define
4202 ASM_IDENTIFY_GCC for any reason may want to define
4203 ASM_IDENTIFY_LANGUAGE as done here.
4204 * toplev.c (output_lang_identify): New routine to identify which
4205 front-end produced the object file.
4206 * toplev.c (compile_file): Use ASM_IDENTIFY_LANGUAGE if it exists.
4208 Wed Mar 24 17:53:11 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
4210 * c-parse.gperf: Change __cimag__ to __imag__, __creal__ to __real__,
4211 to void rejection by gperf.
4213 Tue Mar 23 18:43:14 1993 Holger Teutsch (holger@hotbso.rhein-main.de)
4215 * clipper.md: Assign "fp" attribute to fp insns. Add DImode
4216 insns for widening mul, shift and rotate. Remove 'decrement, test
4217 and branch' combination patterns. They are not reloadable.
4219 * clipper.h (HARD_REGNO_MODE_OK): DImode regs must start on even
4222 * gstdarg.h, gvarargs.h: Use va-clipper.h.
4224 * config.sub: Default to clipper-intergraph if system is clix.
4225 * configure (clipper-intergraph-clix*): New configuration.
4226 * clipper.h, clipper.c, clipper.md: New files.
4227 * x-clix, t-clix, xm-clix.h, clix.h: New files.
4229 Wed Mar 24 1993 18:54:51 Paul Eggert (eggert@twinsun.com)
4231 * fixincludes (memory.h):
4232 Use proper ANSI syntax in `#endif __memory_h__'.
4234 Wed Mar 24 12:52:40 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4236 * pa.md (sh[123]add): Collapse into a single pattern.
4237 (sh[123]add for reload): Likewise.
4238 * pa.c (shadd_operand): New function.
4239 (print_operand): Handle '%O' for shadd patterns.
4241 Wed Mar 24 08:03:31 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4243 * rs6000.h (EXTRA_SECTION_FUNCTIONS, ASM_DECLARE_FUNCTION_NAME):
4244 Don't output tab before .csect pseudo-op.
4246 Wed Mar 24 02:01:14 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
4248 * config/pyr/pyr.h (NO_DOT_IN_LABEL): Defined.
4250 * tree.c (stabilize_reference_1): For division and remainder,
4253 Tue Mar 23 14:51:07 1993 Jim Wilson (wilson@geech.gnu.ai.mit.edu)
4255 * alpha.h, i386/sysv4.h, mips.h, rs6000.h (RETURN_IN_MEMORY):
4256 Delete struct and union references.
4257 * sparc.h (RETURN_IN_MEMORY): Update comment.
4258 * h8300.h, 386bsd.h, linux.h, i386/mach.h, i386/osfrose.h,
4259 i860/mach.h, i960.h, hp2bsd.h, hp3bsd.h, hp3bsd44.h, next.h,
4260 sun3mach.h, m88k.h, ns32k/pc532-mach.h, pa-utahmach.h, pa1-utahmach.h,
4261 rs6000/mach.h (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
4262 * toplev.c (DEFAULT_PCC_STRUCT_RETURN): Add default definition of 1.
4263 (flag_pcc_struct_return): Default to DEFAULT_PCC_STRUCT_RETURN.
4264 (f_options): Add -freg-struct-return flag.
4266 Tue Mar 23 07:43:18 1993 Tom Wood (wood@next.com)
4268 * emit-rtl.c (push_topmost_sequence, pop_topmost_sequence): New
4270 * expr.c (expand_builtin, BUILT_IN_SAVEREGS): Use these to put the
4271 code at the start of the function, even when inside a sequence.
4273 * tree.h (enum built_in_function): Add BUILT_IN_APPLY_ARGS,
4274 BUILT_IN_APPLY, and BUILT_IN_RETURN.
4275 * c-decl.c (init_decl_processing): Declare __builtin_apply_args,
4276 __builtin_apply, and __builtin_return.
4277 * function.h (struct function): Add apply_args_value field.
4278 * expr.c (apply_args_value): New variable.
4279 (init_expr, save_expr_status, restore_expr_status): Initialize,
4280 save, and restore apply_args_value.
4281 (expand_builtin): Implement new built-in functions.
4282 (apply_args_mode, apply_result_mode): New variables.
4283 (apply_args_size, apply_result_size, result_vector,
4284 expand_builtin_apply_args, expand_builtin_apply,
4285 expand_builtin_return): New functions.
4286 (INCOMING_REGNO, OUTGOING_REGNO): Supply default definitions.
4287 * sparc.h (INCOMING_REGNO, OUTGOING_REGNO): Define.
4288 * sparc.md (untyped_call, untyped_return): New patterns.
4289 * i386.h (APPLY_RESULT_SIZE): Define.
4290 * i386.md (untyped_call, untyped_return): New patterns.
4291 * m68k/isi.h, m68k/m68k.h, m68k/m68kv4.h, m68k/mot3300.h
4292 (NEEDS_UNTYPED_CALL): Define.
4293 * m68k.md, fx80.md, gmicro.md, i860,md, ns32k.md
4294 (untyped_call, blockage): New patterns.
4295 * mips.md (untyped_call): New pattern.
4297 Tue Mar 23 06:38:36 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4299 * calls.c (store_one_arg): Use int_size_in_bytes and
4300 expr_size when appropriate instead of size_in_bytes.
4302 * regclass.c (record_reg_classes): When an alternative requires
4303 a match, but we do it with a copy into a register, that alternative
4306 * cse.c (CHEAP_REG): Add missing parens.
4308 * expr.h: Don't declare fns that use "tree" if tree.h not included.
4309 (emit_call_1): Remove decl.
4310 (promoted_input_arg): Add prototype.
4311 (fix_lexical_addr): Remove duplicate decl.
4312 (copy_function_value, expand_stmt_expr): Delete; no such functions.
4313 * calls.c: Include gvarargs.h.
4314 Add prototypes to forward declarations and declare static functions.
4315 (emit_call_1): Now static.
4316 (emit_library_call, emit_library_call_value): Move to here.
4317 * expr.c: Don't include gvarargs.h.
4318 (emit_library_call, emit_library_call_value): Delete from here.
4319 * Makefile.in (expr.o): Doesn't include gvarargs.h.
4320 (calls.o): Now includes gvarargs.h.
4322 * dbxout.c (dbxout_type): Use int_size_in_bytes instead of
4323 size_in_bytes for consistency with other code.
4325 * calls.c (expand_call): Use expr_size instead of doing it ourself.
4327 Mon Mar 22 19:15:17 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
4329 * function.c (fixup_var_refs_insns): Don't delete an insn copying
4330 var to itself, if it's the end of a libcall group.
4332 Mon Mar 22 15:28:48 1993 Paul Eggert (eggert@twinsun.com)
4334 * fixincludes: Use `set x $y; shift', not `set - $y', to avoid
4335 altering sh options. Fix `#endif foo' constructions. Clean up
4338 Mon Mar 22 17:02:58 1993 Doug Evans (dje@canuck.cygnus.com)
4340 * expr.h (MUST_PASS_IN_STACK): Make machine parameter.
4342 Mon Mar 22 01:38:41 1993 James Van Artsdalen (james at bigtex.cactus.org)
4344 * reload1.c (eliminate_regs): Eliminate regs within a CLOBBER.
4346 * emit-rtl.c (init_emit): Use INIT_EXPANDERS.
4348 * i386.c (output_fix_trunc): Use MEMs in insn as stack temps.
4349 No need to allocate & deallocate stack space on the fly.
4351 (clear_386_stack_locals): New function.
4352 (assign_386_stack_local): New function.
4354 * i386.h (PREFERRED_RELOAD_CLASS): Only narrow MODE_FLOAT reloads
4355 from ALL_REGS to GENERAL_REGS.
4356 (PREFERRED_OUTPUT_RELOAD_CLASS): Deleted.
4358 (INIT_EXPANDERS): New macro.
4360 * i386.md (movsf,movdf): Use an input reload for MEM-MEM moves.
4361 (extendsfdf2): Don't allow GENERAL_REGS in any operand.
4363 (truncdfsf2): Allocate a stack temp in expander.
4364 Use that in the output function.
4365 (fix_truncMN2,fixuns_truncMN2): Likewise.
4366 Allocate scratch reg from Q_REGS.
4368 Sun Mar 21 17:24:09 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4370 * toplev.c (compile_file): If warning about a function
4371 declared static but not defined, make the function extern.
4373 * cccp.c (collect_expansion): Don't make # special in argless macro.
4375 * toplev.c (incomplete_decl_finalize_hook): New variable.
4376 (compile_file): Call incomplete_decl_finalize_hook.
4377 * c-decl.c (init_decl_processing): Set that var.
4378 (finish_incomplete_decl): New function.
4379 (complete_array_type): Use 0 as default maxindex.
4380 * tree.h (incomplete_decl_finalize_hook): Declared.
4382 Sun Mar 21 16:30:22 1993 Michael Meissner (meissner@osf.org)
4384 * t-osfrose (CONFIG2_H): Change include file name to osfrose.h.
4386 * halfpic.h (prototype support): Fix recent changes for
4387 prototypes, so it compiles again.
4389 * configure (ns32k-encore-osf): Delete, last ns32k OSF/rose
4392 * encrose.h, x-encrose, t-encrose: Delete, no longer used.
4394 Sun Mar 21 16:20:04 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4396 * integrate.c (copy_rtx_and_substitute, case USE):
4397 Don't remove a subreg if ORIG had one.
4399 Sun Mar 21 01:50:07 1993 Pat Rankin (rankin@eql.caltech.edu)
4401 * c-common.c: #include "obstack.h".
4402 * config/vax/xm-vms.h [VAXC]: Work around stdio.h's FILE_TYPE.
4403 * vmsconfig.com: When making tm.h from config/vax/vms.h, change
4404 any #include "vax/*.h" directives to use native VMS file syntax.
4406 Sat Mar 20 22:46:31 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4408 * pa.h (INSN_SETS_ARE_DELAYED): Define for the PA. Sets and
4409 clobbers that occur in millicode insns are delayed effects.
4410 (INSN_REFERENCES_ARE_DELAYED): Likewise, but for operand references
4411 occuring in millicode insns.
4412 * reorg.c (mark_referenced_resources): Parameter
4413 include_called_routine changed to include_delayed_effects. All
4415 (mark_set_resources): Likewise.
4416 (insn_references_resource_p): Likewise.
4417 (insn_sets_resource_p): Likewise.
4418 (mark_referenced_resources, case INSN): Do not mark any resources
4419 as referenced if we are not including delayed effects, and the
4420 given insn has delayed effects.
4421 (mark_set_resources): Likewise for resources which are set/clobbered.
4422 (fill_simple_delay_slots): Include delayed effects for the delay insn
4423 if we are searching after the delay insn for candiates.
4424 (dbr_schedule): When initializing `end_of_function_needs' include
4427 Sat Mar 20 18:54:46 1993 Michael Meissner (meissner@osf.org)
4429 * mips.h (TARGET_SWITCHES): Or in TARGET_CPU_DEFAULT for default
4431 (TARGET_CPU_DEFAULT): Default to 0.
4433 Sat Mar 20 14:52:26 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4435 * pa.h (singlemove_string): Declare.
4437 * configure: Add support for 4.4BSD on hp300s.
4438 * hp3bsd44.h, x-hp3bsd44.h: New files for 4.4BSD on hp300s
4440 * pa.md (conditional branch patterns): Clean up constraints.
4442 * pa.md (shadd reload patterns): Clean up output templates.
4444 Sat Mar 20 11:23:15 1993 Torbjorn Granlund (tege@gnu.ai.mit.edu)
4446 * expmed.c (init_expmed): Fix typo in last change.
4448 Sat Mar 20 07:11:54 1993 Richard Kenner (kenner@apple-gunkies.gnu.ai.mit.edu)
4450 * expr.c (get_inner_reference): Simplify code by initializing OFFSET
4451 to integer_zero_node.
4452 Do general index computation for ARRAY_REF and include lower bound
4453 of domain in calculation.
4454 (expand_expr, case ARRAY_REF): Include lower-bound in index
4457 * fold-const.c (fold, case PLUS_EXPR): Don't associate apart
4460 * combine.c (make_compound_operation): Call recursively in the
4461 cases where we find a simplification.
4462 (make_compound_operation, case SUBREG): If the recursive call
4463 changes the rtx code and this is an appropriate SUBREG, use
4466 Sat Mar 20 03:16:52 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
4468 * print-tree.c (print_node): Print the chain of a STRING_CST.
4470 * c-lex.c (yylex): Copy the string value we get from __FUNCTION__.
4472 Fri Mar 19 21:06:41 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
4474 * expr.h: Correct partly nested comment.
4476 From Bill Cox (bill@cygnus.com):
4477 * cp-decl.c (push_level_decl): Add cast to correct push_stack_level
4479 * cse.c (cse_process_notes): Replace NULL_RTX with just zero.
4480 * function.h, halfpic.h, integrate.h, loop.h, machmode.h, output.h,
4481 recog.h, reload.h, stack.h: Add prototypes.
4482 * genattr.c (gen_attr): Generate prototypes in header file.
4484 * xcoffout.h (DEBUG_SYMS_TEXT): Define.
4485 * xcoffout.c (xcoffout_declare_function): Call dbxout_source_file
4486 before emitting .function psuedo-op.
4488 Fri Mar 19 17:45:13 1993 Michael Meissner (meissner@osf.org)
4490 * mips.h (MIPS_VERSION): Bump Meissner version to 36.
4491 (TARGET macros): Move this section to be earlier than
4493 (ASM_FINAL_SPEC): If configured with --with-gnu-as or as a cross
4494 compiler, do not run mips-tfile unless -mmips-as is used.
4496 * configure (target_cpu_default): Set to 16 when configuring a
4497 MIPS using the GNU assembler.
4499 Fri Mar 19 06:27:34 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4501 * expmed.c (synth_mult): Don't try to make recursive call if
4502 we would be shifting by a negative number.
4503 (expand_mult): Don't negate VAL if it is negative.
4505 * cse.c (simplify_plus_minus): Count CONSTs coming in and going
4506 out; we have simplified things if we have more CONSTs going out
4507 even if we have the same number of total terms.
4509 * expmed.c (zero_cost): New variable.
4510 (init_expmed): Always pass some insn to recog.
4511 Set shift_cost[0], shiftadd_cost[0] and shiftsub_cost[0] to
4512 something reasonable.
4514 (enum alg_code): Remove alg_none; add alg_zero and alg_m.
4515 (struct algorithm): Rename field COEFF to LOG.
4516 (synth_mult): Use new ops alg_zero and alg_m for multiplication by
4517 zero and one, respectively.
4518 Use MIN when helpful.
4519 Be consistent and don't test cost before recursive call.
4520 Don't special-case shift counts of zero; already handled elsewhere.
4521 (expand_mult): First operation is always alg_zero or alg_m;
4522 remaining operations can't be one of those.
4523 Use proper subtargets for computations.
4524 Remove special-cases for shift counts of zero.
4525 Track value computed so far and make REG_EQUAL notes.
4527 Fri Mar 19 01:37:54 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
4529 * c-typeck.c (digest_init): Typo in last change.
4530 (initializer_constant_valid_p): Handle COMPLEX_CST.
4532 * expr.c (expand_assignment): Pass to_rtx's mode to expand_expr
4533 when assigning a result_decl.
4534 (expand_expr): For ERROR_MARK, give back 0 in TMODE if possible.
4536 * calls.c (emit_call_1): Don't defer pops in const call.
4538 Thu Mar 18 17:02:24 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
4540 * c-decl.c (current_function_prototype_file,
4541 current_function_prototype_line): New variables.
4542 (start_function): Set them.
4543 (store_parm_decls): Use them for error and warning messages.
4545 Thu Mar 18 21:28:43 1993 Paul Eggert (eggert@twinsun.com)
4547 * optabs.c (expand_float): When converting an unsigned type U
4548 to a smaller or equal-sized floating type F where there's no
4549 hardware support for unsigned-to-float conversion, use a temporary
4550 floating type larger than F if possible, since this avoids
4551 rounding problems that are worst when U is just greater than
4552 the maximum signed integer of the same size.
4554 Thu Mar 18 16:16:21 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
4556 * c-typeck.c (digest_init): Handle COMPLEX_TYPE like other scalars.
4558 * c-parse.in (REALPART, IMAGPART): New token types.
4559 (unary_expr): Handle REALPART, IMAGPART.
4561 * expr.c (expand_expr): Don't ensure ref to a volatile value
4562 if it is a function.
4564 * c-parse.gperf: Add __cimag, __cimag__, __creal, __creal__.
4566 * collect2.c (output_file): New static var.
4567 (main): Set output_file.
4568 (my_exit): Delete output_file on failure.
4570 Thu Mar 18 12:39:06 1993 Doug Evans (dje@canuck.cygnus.com)
4572 * function.c (assign_parms): Minor cleanup.
4573 * calls.c (expand_call): Fix bug (don't clobber bitpos).
4575 Thu Mar 18 00:08:40 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4577 * config/vax/vms.h (PCC_STATIC_STRUCT_RETURN): Add #undef.
4579 Wed Mar 17 17:28:17 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4581 * pa.md (pre_ldwm, pre_stwm): Name these patterns to make
4582 generating them easier.
4583 (post_ldwm, post_stwm): New patterns.
4584 (add_high_const): New pattern.
4585 (return): New pattern.
4586 * pa.c (post_cint_operand): New function.
4587 (hppa_can_use_return_insn_p): New function.
4589 Wed Mar 17 17:24:29 1993 Michael Meissner (meissner@osf.org)
4591 * mips.h (MIPS_VERSION): Bump Meissner version to 35.
4592 (TARGET_SWITCHES): Add -mlong-calls, delete -mwc* switches.
4594 * mips.md (call insns & expanders): If -mlong-calls, require
4595 function address to be in a register.
4597 * x-iris (OLDCC): Iris now needs -Wf,-XNh1500 as well.
4599 Wed Mar 17 16:00:29 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4601 * pa.h (IS_RELOADING_PSEUDO_P): New subroutine for
4603 (EXTRA_CONSTRAINT): Use IS_RELOADING_PSEUDO_P. Accept any MEM for
4604 `Q' constraint during the reload pass.
4606 * pa.h (SECONDARY_MEMORY_NEEDED): Define.
4607 (SECONDARY_MEMORY_NEEDED_RTX): Define.
4608 * pa.c (output_fp_move_double): Remove code to support GR<->FP
4610 * pa.md (movqi, movhi, movsi, movdi, movsf, movdf): Remove support
4612 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
4614 Wed Mar 17 14:58:49 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4616 * config/vax/vms.h (STRUCT_VALUE): Defined.
4617 (STRUCT_VALUE_REGNUM): Add #undef.
4619 Wed Mar 17 14:23:25 1993 Torbjorn Granlund (tege@gnu.ai.mit.edu)
4621 * pa.md (branch-on-bit): New patterns.
4622 * pa.c (pc_or_label_operand): New predicate.
4624 Wed Mar 17 02:46:58 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4626 * config/m68k/m68k.md (movqi): In address reg case, if d0
4627 appears in the address, use d1 instead as intermediate reg.
4629 Tue Mar 16 17:42:14 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4631 * cse.c (FIXED_REGNO_P): Remove previous change; all callers but
4633 (CHEAP_REG): Only call FIXED_REGNO_P for hard regs.
4634 (fold_rtx): Clarify comments.
4636 Tue Mar 16 14:55:40 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
4638 * x-apollo68 (CFLAGS, LIBGCC2_CFLAGS): Delete overrides and
4639 comment why they were wrong.
4641 * c-decl.c (grokdeclarator, ARRARY_REF): If exern, then end
4642 temporary allocation before building type.
4644 * sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Define.
4645 * reload.c (get_secondary_mem): Use macro SECONDARY_MEMORY_NEEDED_RTX.
4647 Tue Mar 16 03:49:13 1993 James Van Artsdalen (james at bigtex.cactus.org)
4649 * cse.c (FIXED_REGNO_P): Pseudos can't be fixed regs.
4651 Tue Mar 16 04:33:41 1993 Paul Eggert (eggert@twinsun.com)
4653 * cccp.c (main): Report errors in output to pcp_outfile.
4655 Mon Mar 15 21:30:32 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4657 * cccp.c (write_output): Test value of `write'; report errors.
4658 (write_output): Use pfatal_with_name for errors.
4659 (out_fname): Var now file-scope.
4661 Mon Mar 15 20:52:17 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4663 * pa.h (EXTRA_CONSTRAINT, case 'S'): Do not accept CONSTANT_P if
4666 * pa.h (EXTRA_CONSTRAINT): Merge strict and non-strict variants.
4667 Delete 'R' constraint.
4669 Mon Mar 15 18:38:22 1993 Torbjorn Granlund (tege@sics.se)
4671 * expmed.c (lea_max_mul): Delete.
4672 (init_expmed): Delete unused variable I.
4673 (enum alg_code): New tag alg_shift. Document it.
4674 (synth_mult): Delete unused variable N. Handle new trivial case
4675 first, for T <= 1. Generalize shifting code to shift whenever a
4676 number is even; use alg_shift for this. Set best_alg->ops only in
4677 trivial case. Clean up cost calculation code for the `simple
4678 case' at the end; use shiftadd_cost when appropriate. Combine
4679 declarations of Q and move to top of function. Eliminate use of Q
4680 in factoring cases. If we are getting too long a sequence for
4681 `struct algorithm' to record, fail.
4682 (expand_mult): Handle alg_shift instead of alg_add_t_m2 as first
4683 operation. In RLT emit loop, handle alg_shift; special case
4684 LOG == 0 for alg_add_t_m2 and alg_sub_t_m2.
4686 Mon Mar 15 16:44:08 1993 Doug Evans (dje@canuck.cygnus.com)
4688 * function.c (assign_parms): Remove unnecessary #ifdef.
4690 Mon Mar 15 14:33:52 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
4692 * sched.c (reg_known_equiv_p): New variable.
4693 (init_alias_analysis): Allocate and compute reg_known_equiv_p.
4694 (sched_analyze_1): Reenable code for REG_EQUIV notes, using
4695 reg_known_equiv_p so that it is only used on REG_EQUIV notes.
4696 (sched_analyze_2): Likewise. Only pass memory addresses to the
4697 sched_analyze_2 call.
4699 * xm-sol2.h (NO_SYS_SIGLIST): Define.
4701 * i960.c (print_operand_address): For MULT, set ireg not breg.
4703 * sparc.md (zero_extendqisi2+4,+5): Add new patterns for combining
4704 a SI->QI mode truncate with an insn that sets the condition codes.
4706 * config.sub (sparclite, sparclite-*): New configuration.
4707 * configure (sparclite-*-*): Likewise.
4708 * sparc/lite.h: New file.
4710 * sched.c (adjust_priority): Comment unreachable code.
4711 (memrefs_conflict_p): Add comment about Fortran aliasing.
4713 Mon Mar 15 13:54:06 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4715 * cse.c (simplify_plus_minus): Remove last change. Instead,
4716 count initial operands and test against that count to see if we
4719 * alpha.h (ASM_OUTPUT_{INT,SHORT,CHAR,BYTE}): Truncate constant
4720 to maximum range permitted in order to avoid assembler error.
4722 Mon Mar 15 13:37:35 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4724 * pa.md (sh[123]add patterns): Use register_operand, not
4726 (sh[123]add patterns for reload): Special patterns to avoid
4727 lossage due to reload problems.
4728 * pa.c (shadd_operand): Delete.
4730 Mon Mar 15 00:31:20 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4732 * configure (rs6000-ibm-aix3.2): Renamed from rs6000-ibm-aix32.
4734 Sun Mar 14 22:54:10 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4736 * reorg.c (find_end_label): Update unfilled_slots if the return
4737 insn we make has a delay slot.
4739 Sun Mar 14 21:27:48 1993 Torbjorn Granlund (tege@sics.se)
4741 * expmed.c (shift_cost): Now a vector.
4742 (shiftadd_cost): New vector for cost of (N * a + b) instructions.
4743 (shiftsub_cost): New vector for cost of (N * a - b) instructions.
4744 (lea_cost): Removed.
4745 (init_expmed): Initialize new vectors. Use ASHIFT, not LSHIFT.
4746 Remove code initializing lea_cost.
4747 (enum alg_code): New definition.
4748 (synth_mult): Rewrite for better algorithms and faster operation.
4749 (expand_mult): Rewrite code for constant multiplication.
4751 Sun Mar 14 06:34:28 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4753 * objc-act.c (build_objc_symtab_template): Correctly build index
4754 type for 0-length array.
4755 (build_objc_method_call, get_class_reference, get_super_receiver):
4756 Call assemble_external on anything we are about to generate a call to.
4757 (handle_class_ref): Put constant in readonly-data section, not text.
4759 * cse.c (simplify_plus_minus): Reject "simplifications" that are
4760 too complex in form.
4761 Correct sign error in expanding NOT.
4763 Sun Mar 14 00:02:12 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4765 * reload1.c (choose_reload_regs): Verify reload_out[j] != 0
4766 before comparing with reload_earlyclobber elements.
4768 Sat Mar 13 21:05:12 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4770 * calls.c (emit_call_1): Restore inhibit_defer_pop before popping args
4771 so that pops really do get deferred if appropriate.
4773 Sat Mar 13 18:13:30 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4775 * cse.c (simplify_plus_minus): When seeing if we have reduced the
4776 number of operands, ensure we count a CONST result as two operands.
4778 * calls.c, expr.c: Correctly define PUSH_ARGS_REVERSED.
4780 Sat Mar 13 16:49:10 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4782 * pa.c (eligible_for_epilogue_delay): Insns which access %r2 can
4783 not be used to fill the epilogue's delay slot.
4785 Sat Mar 13 15:31:02 1993 James Van Artsdalen (james at bigtex.cactus.org)
4787 * reg-stack.c (emit_swap_insn): If emitting after a cc0 setter,
4790 Fri Mar 12 17:45:36 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4792 * config/m68k/xm-mot3300.h (USE_C_ALLOCA): Define if not __GNUC__.
4793 * config/m68k/x-alloca-c: New file.
4794 * configure (m68k-motorola-sysv*): Use it.
4796 * expr.c (emit_push_insn): Handle failure of gen_movstr...
4798 * stor-layout.c (variable_size): Better error for div by 0 in size.
4799 * c-decl.c (grokdeclarator): Error for div by 0 in array size.
4801 Fri Mar 12 17:25:35 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4803 * expr.c: Add prototypes for static functions.
4804 (struct move_by_pieces): Move definition before function
4807 * rs6000.h, a29k.h (PROMOTE_MODE): Fix typo.
4809 * cse.c (refers_to_mem_p): Use rtx_equal_p to see if bases
4812 * cse.c (set_nonvarying_address_components): Fix type mismatch with
4814 (refers_to_mem_p): Call properly in second call.
4816 * jump.c (jump_optimize): Fix bug in last change.
4818 Fri Mar 12 07:25:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4820 * optabs.c (expand_binop): For doubleword int addition,
4821 clobber the whole register at the start.
4823 Fri Mar 12 03:19:26 1993 James Van Artsdalen (james at bigtex.cactus.org)
4825 * reg-stack.c (get_true_reg): Don't ignore FLOAT_TRUNCATE.
4826 (subst_stack_regs_pat): Substitute in FLOAT_TRUNCATE insns.
4828 (compare_for_stack_reg): Reset insn code after swapping operands.
4830 * i386.h (FLOAT_CLASS_P): New macro.
4831 (REGISTER_MOVE_COST): Use it instead of comparing to FLOAT_REGS.
4832 (PREFERRED_RELOAD_CLASS): Likewise.
4833 (SECONDARY_MEMORY_NEEDED): Likewise.
4834 (CLASS_MAX_NREGS): Likewise.
4836 (SELECT_CC_MODE): Use VOIDmode for non-FP-equality comparisons.
4838 * i386.md (truncdfsf2): Rewrite to allow FLOAT_REGS in constraints
4839 for better register preferences.
4841 (movM): If REG_WAS_0, make sure the reg hasn't changed since then.
4843 (cmpM expanders): Don't allow both operands to be MEM.
4844 Use VOIDmode for the COMPARE rtx instead of CCmode.
4845 (cmpM recognizers): Likewise.
4846 Remove constraints for constants from operand 0.
4848 (cmpdf,cmpsf recognizers): When using VOIDmode as mode of the
4849 COMPARE rtx, require that the mode be exactly VOIDmode.
4851 * i386.c (VOIDmode_compare_op): New operand predicate function.
4853 * vax.md (movM): If REG_WAS_0, make sure the reg hasn't changed
4855 * tahoe.md (movM): Likewise.
4857 Thu Mar 11 19:23:51 1993 Doug Evans (dje@canuck.cygnus.com)
4859 * function.c (aggregate_value_p): RETURN_IN_MEMORY now handles
4861 * expr.h (RETURN_IN_MEMORY): Handle BLKmode values.
4862 * i386/sysv4.h (RETURN_IN_MEMORY): Ditto.
4863 * m88k/m88k.h (RETURN_IN_MEMORY): Ditto.
4864 * i960/i960.h (RETURN_IN_MEMORY): Ditto.
4865 * m68k/apollo68.h (RETURN_IN_MEMORY): Ditto.
4866 * mips/mips.h (RETURN_IN_MEMORY): Ditto.
4867 * sparc/sparc.h (RETURN_IN_MEMORY): Ditto.
4868 * alpha/alpha.h (RETURN_IN_MEMORY): Ditto.
4869 * romp/romp.h (RETURN_IN_MEMORY): Ditto.
4870 * rs6000/rs6000.h (RETURN_IN_MEMORY): Ditto.
4871 * h8300/h8300.h (RETURN_IN_MEMORY): Ditto.
4873 Thu Mar 11 19:02:55 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4875 * alpha.h (RTX_COST, case MULT): Handle s8addx and s4addx.
4876 (RTX_COST, case MULT): Correctly assign cost to multiplies by a
4878 (RTX_COST, case ASHIFT, ASHIFTRT, LSHIFTRT, IF_THEN_ELSE): New cases.
4880 * cse.c (CHEAP_REG): New macro; makes virtual regs cheap too.
4881 (COST): Use CHEAP_REG.
4882 (rtx_cost, case REG): Use CHEAP_REG to return zero for some REGs.
4884 Thu Mar 11 07:47:09 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4886 * pa.md (FP sCC insn): Delete.
4887 (sCC define_expands): FAIL instead of generating FP sCC insns.
4888 * pa.c (gen_scond_fp): Delete.
4889 * pa.h (toplevel): Delete declaration of gen_scond_fp.
4891 * cse.c (set_nonvarying_address_components): New function.
4892 (invalidate): Use set_nonvarying_address_components instead of
4894 (refers_to_mem_p): Likewise. Simplify checks for conflicting
4895 memory accesses. Make static.
4896 * loop.c (addr_overlap_p): Delete.
4898 Wed Mar 10 23:52:40 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4900 * fixincludes: Delete ${LIB}/DONE just before exit.
4902 Wed Mar 10 12:27:51 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
4904 * pa.c (reg_or_cint_move_operand): Use cint_ok_for_move.
4906 * pa.md (add reg and large int): New define splits for the combiner.
4907 * pa.c (cint_ok_for_move): New function. Returns 1 iff the given
4908 CONST_INT can be loaded into a register in a single instruction.
4909 (move_operand): Use cint_ok_for_move.
4911 * jump.c (jump_optimize, clause for `if (foo) b++'):
4912 Do this regardless of BRANCH_COST if HAVE_incscc or
4913 HAVE_decscc is defined.
4915 Wed Mar 10 11:50:06 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
4917 * pa.md (conditional move): Use %B for output when appropriate.
4918 (conditional move with second operand == 0): New pattern.
4919 * pa.c (reg_or_cint_move_operand): New function.
4920 (move_operand): Add header comment.
4922 Wed Mar 10 01:43:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4924 * objc-act.c (OBJC_GEN_METHOD_LABEL): Convert colons to _'s.
4925 Don't use the category name or the number.
4927 * gcc.c (link_command_spec): New option -nostartfiles.
4929 Tue Mar 9 18:55:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4931 * convert.c (convert_to_complex): Avoid using comptypes.
4933 Tue Mar 9 11:33:32 1993 Michael Meissner (meissner@osf.org)
4935 * objc-act.c (#ifdef NEXT_OBJC_RUNTIME): Close #ifdef properly.
4937 Tue Mar 9 00:03:03 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4939 * flags.h (flag_volatile_global): Declared.
4941 * c-decl.c (define_label): Use current line number in error msg.
4943 Mon Mar 8 16:11:18 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4945 * config/i386/i386.h (HARD_REGNO_MODE_OK): Add some casts.
4947 * reg-stack.c (record_asm_reg_life): Cast class to int for indexing.
4949 * sdbout.c (PUSH_DERIVED_LEVEL): Cast enumm constants to int.
4951 * toplev.c (flag_volatile_global): New variable.
4952 (f_options): Add option for it.
4953 * varasm.c (make_decl_rtl): Handle that option.
4955 * objc-act.c (really_start_method): Always use OBJC_GEN_METHOD_LABEL.
4956 Pass method_slot as additional arg.
4957 (OBJC_GEN_METHOD_LABEL): Add default definition.
4958 * config/m68k/next.h (OBJC_GEN_METHOD_LABEL): Accept additional arg.
4960 Mon Mar 8 12:01:49 1993 Paul Eggert (eggert@twinsun.com)
4962 * fold-const.c (const_binop): When evaluating a shift, ignore
4963 overflows generated by force_fit_type.
4965 Mon Mar 8 07:24:30 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4967 * cse.c (cse_gen_binary, simplify_plus_minus): New functions.
4968 (find_best_addr): Use cse_gen_binary.
4969 (simplify_binary_operation, fold_rtx): Likewise.
4970 Remove most special-cases for PLUS and MINUS and call
4971 simplify_plus_minus instead.
4972 Clean up some tests for FP.
4974 * cse.c: Add prototypes for static functions.
4975 (struct cse_basic_block_data): Move to front of file since it
4976 constains struct used in a prototype.
4977 (refers_to_p, find_best_addr): Now static.
4979 * expr.h: Clean up prototypes for functions in expr.c and
4980 optabs.c and add some missing ones.
4982 * optabs.c: Add prototypes for static functions.
4983 (init_libfuncs): Put args in proper order.
4985 Sun Mar 7 07:59:34 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
4987 * reorg.c: Add prototypes for static functions.
4988 (fill_simple_delay_slots): Add missing declaration of arg.
4990 Sat Mar 6 15:08:59 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4992 * gcc.c: Handle long options by translation to old-style ones.
4993 (translate_options): New function.
4994 (option_map): New table.
4996 * config/i386/t-iscscodbx: New file.
4997 * configure (i[34]86-*-isc*, i[34]86-*-sco...): Use that if stabs.
4999 * reload1.c (choose_reload_regs): Handle SUBREG in reload_earlyclobber
5000 when matching output reloads for setting reload_when_needed.
5002 Sat Mar 6 08:43:09 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
5004 * genattrtab.c (write_test_expr): Use INSN_CODE == -2, not 0, for
5005 constant attributes.
5007 * genattrtab.c: Add prototypes in forward declarations.
5008 Add some missing parameters to a few calls.
5010 Sat Mar 6 07:41:36 1993 Doug Evans (dje@cygnus.com)
5012 * calls.c (expand_call): Fix typo in unaligned code.
5014 Fri Mar 5 20:32:28 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5016 * i386/svr3gas.h, i386/svr3dbx.h, i386/iscdbx.h, i386/scodbx.h,
5017 i386/sco4dbx.h, svr3.ifile, svr3z.ifile: New files.
5018 * configure (i[34]86-...): Use them if configured --with-stabs.
5019 * i386/isccoff.h: Renamed from i386/i386isc.h.
5020 * i386/iscgas.h: Renamed from i386/i386iscgas.h.
5022 Fri Mar 5 19:41:50 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5024 * expr.c (expand_assignment): Special handling for storing in
5027 Fri Mar 5 17:48:41 1993 Chris Smith (csmith@mozart.convex.com)
5029 * cse.c (simplify_binary_operation): Move integer CONST_DOUBLE
5030 folding out of REAL_IS_NOT_DOUBLE conditional.
5031 (simplify_relational_operation): Put float CONST_DOUBLE folding
5032 under a REAL_IS_NOT_DOUBLE conditional.
5033 Add folding for integer CONST_DOUBLE comparisons.
5035 Fri Mar 5 17:37:20 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
5037 * alpha.md: Add new define_split for doing sign-extended adds
5038 of some large constants using sNaddl.
5040 * function.c (fixup_var_refs_insns): If SMALL_REGISTER_CLASSES,
5041 ensure we don't put any insns between the setting of the function
5042 return register and it's use.
5044 Fri Mar 5 15:11:41 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
5046 * pa.h (FIXED_REGISTERS): %r2 is no longer fixed.
5047 (REG_ALLOC_ORDER): Treat %r2 as a caller-saved allocatable
5048 register. %r30 is fixed and therefore a "special" register.
5049 %fr22-%fr31 are caller-saved, so allocate them before the
5050 callee-saved 1.1 fp registers. Allocate fp registers before
5051 general registers. Fix typo for register 79.
5053 * pa.c (output_function_epilogue): Perform an early %r2 restore
5054 even if actual_fsize is zero. This can happen if %r2 is used
5055 as a temporary in a leaf function.
5057 * pa.h (FIRST_PSEUDO_REGISTER): Update to take into account
5058 registers which are no longer known to the compiler.
5059 (FIXED_REGISTERS): Likewise.
5060 (CALL_USED_REGISTERS): Likewise.
5061 (HARD_REGNO_NREGS): Likewise.
5062 (HARD_REGNO_MODE_OK): Likewise.
5063 (REGNO_REG_CLASS): Likewise.
5064 (FUNCTION_VALUE): Likewise.
5065 (LIBCALL_VALUE): Likewise.
5066 (FUNCTION_VALUE_REGNO_P): Likewise.
5067 (FUNCTION_ARG_REGNO_P): Likewise.
5068 (FUNCTION_ARG): Likewise.
5069 (REGNO_OK_FOR_FP_P): Likewise.
5070 (REGISTER_NAMES): Likewise.
5071 (REG_CLASS_CONTENTS): Likewise. Add %r1 to GENERAL_OR_FP_REGS
5072 and GENERAL_OR_SNAKE_FP_REGS.
5073 (REG_ALLOC_ORDER): Likewise. Document and make allocation order
5074 "regular" across 1.0 and 1.1 cpus.
5076 * pa.c (compute_frame_size): Update to take into account
5077 register which are no longer known to the compiler.
5078 (output_function_prologue): Likewise.
5079 (output_function_epilogue): Likewise.
5080 (output_arg_descriptor): Likewise.
5083 Fri Mar 5 12:45:51 1993 Jim Wilson (wilson@geech.gnu.ai.mit.edu)
5085 * sparc.c (output_function_prologue, output_function_epilogue):
5086 Add comments for frame_base_name usage in leaf_functions.
5088 * gcc.c (main): Put argv[0] in collect_obstack instead of programname.
5090 * cse.c (note_mem_written): QImode varying structure memory
5091 accesses can alias scalars.
5093 Thu Mar 4 10:05:52 1993 Juergen Keil (jk@leo.tools.de)
5095 * c-decl.c (store_parm_decls,combine_parm_decls): Call layout_decl
5096 for a parm declared float when it is changed to double under a
5097 traditional compilation.
5099 Thu Mar 4 17:52:52 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
5101 * pa.h (ASM_OUTPUT_INT): If TARGET_SHARED_LIBS, then references to
5102 functions which do not occur in the text space must have a PLABEL
5103 ("P%") prefix to make the assembler and linker happy.
5105 Thu Mar 4 17:18:57 1993 Steve Chamberlain (sac@geech.gnu.ai.mit.edu)
5107 * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx for
5110 * convert.c (convert_to_pointer): Fix typo comparing size of
5111 integer and pointers.
5112 * varasm.c (immed_double_const): Cope with MODE_PARTIAL_INT.
5113 (output_constant_pool): Likewise.
5115 Thu Mar 4 15:18:15 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5117 * c-common.c (truthvalue_conversion): Fix handling of COMPLEX_EXPR.
5118 Handle all complex values specially.
5120 Thu Mar 4 13:48:38 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
5122 * pa.md (recognizer for general uaddcm): New pattern.
5124 * pa.md (iorsi3): New DEFINE_EXPAND.
5125 (iorsi3 recognizer for [reg reg]): Now unnamed.
5126 Put output template here, don't call output_ior.
5127 * pa.c (output_ior): Don't handle reg operands.
5129 Thu Mar 4 13:14:13 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5131 * fold-const.c (fold): Handle complex constants as "winning".
5132 Handle REALPART_EXPR and IMAGPART_EXPR.
5134 Thu Mar 4 13:08:53 1993 Steve Chamberlain (sac@geech.gnu.ai.mit.edu)
5136 * config.sub (h8300hds): Change hds to hms.
5137 * configure (h8300-*-*): Added.
5138 * h8300.c, h8300.h, h8300.md, t-h8300, xm-h8300.h: New files.
5140 Thu Mar 4 10:31:17 1993 Michael Meissner (meissner@osf.org)
5142 * gcc.c (link_command_spec): Add missing \ before newline inside
5145 * c-parse.in (all_iter_stmt_simple): Add missing comma so that
5146 Objective C compiles.
5148 Thu Mar 4 02:43:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5150 * optabs.c (emit_no_conflict_block): Don't move target to itself
5151 if that takes multiple insns.
5152 (expand_binop): For complex mult and div, avoid fetching operand
5153 components more than once from memory.
5155 * dbxout.c (dbxout_type): Handle complex integer types.
5157 Wed Mar 3 16:01:11 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5159 * c-typeck.c (common_type): Handle complex types.
5161 * machmode.def: Add complex integer modes.
5163 * c-common.c (truthvalue_conversion): Handle COMPLEX_EXPR.
5165 * c-typeck.c (lvalue_p): Handle REALPART_EXPR, IMAGPART_EXPR.
5166 (build_binary_op, build_unary_op): Handle complex types.
5168 * c-parse.gperf: Add `__complex', `__complex__'.
5169 Add `__iterator'. Delete `iterator'.
5171 * tree.c (build_complex): Set the TREE_TYPE based on real part.
5173 * c-lex.h (RID_COMPLEX): New constant.
5174 * c-lex.c (init_lex): Initialize rid pointers for complex.
5175 (yylex): Handle i or j in numeric constant.
5177 * c-decl.c (init_decl_processing): Create complex types.
5178 (grokdeclarator): Handle complex keyword.
5179 Distinguish int-by-default from int keyword.
5180 * c-tree.h: Declare vars to hold complex types.
5182 * c-convert.c (convert): Handle conversion to complex type.
5183 * convert.c (convert_to_real): Convert complex to real.
5184 (convert_to_integer): Likewise.
5185 (convert_to_complex): New function.
5186 * convert.h (convert_to_complex): Declared.
5188 Wed Mar 3 15:34:36 1993 Per Bothner (bothner@hal.gnu.ai.mit.edu)
5190 * tree.c (build_range_type): New function.
5191 * tree.c (build_index_2_type): Re-implement using build_range_type.
5193 Wed Mar 3 08:34:43 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
5195 * pa.c (lhs_lshift_operand): New function.
5196 (lhs_lshift_cint_operand): New function.
5197 * pa.md (ashlsi3): Use lhs_lshift_operand for operand 1.
5198 Call gen_zvdep_imm when operand 1 is a CONST_INT.
5199 (zvdep_imm): New pattern.
5201 * pa.c (print_operand): Handle L and P for bit field instructions.
5202 * pa.md (ashift recognizer for [reg const_int]): Use %P and %L
5204 (ashiftrt recognizer for [reg const_int]): Likewise.
5205 (lshrsi3): Likewise.
5206 (rotrsi3): Reduce integer argument to 5 bits.
5208 * pa.md: Remove some empty lines.
5210 * pa.c (pa_adjust_cost): Replace, the function of Mar 2 was an old
5212 (output_fp_move_double): Use %r syntax for registers.
5214 Wed Mar 3 01:42:42 1993 Per Bothner (bothner@hal.gnu.ai.mit.edu)
5216 * tree.def (INTEGER_TYPE): Clarify comment to make clear that
5217 INTEGER_TYPEs are used for arbitrary range types (i.e.
5218 sub-ranges of enums) in languages that need them.
5219 * dbxout.c (dbxout_type_range): New function: Common code
5220 needed for both range types and array index types.
5221 Fixes some problems common in both places: Now handles
5222 non-zero lower bound, variable bounds (sort of), and ranges
5223 of non-integer (e.g. enum) types.
5224 * dbxout.c (dbxout_type): Use dbxout_type_range.
5226 Tue Mar 2 23:34:45 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5228 * collect2.c (main): Use strlen, not sizeof, for our_file_name.
5230 * c-common.c (convert_and_check): No warning for converting
5231 signed integer to unsigned of same width.
5233 Tue Mar 2 18:59:39 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu.edu)
5235 * c-iterate.c (collect_iterators): Handle simple expressions quickly.
5236 Don't try to interpret operands that are RTL as if they were trees.
5238 * regclass.c (regclass): Don't set REGNO_POINTER_FLAG here.
5239 (reg_scan_mark_refs): Set it here.
5240 Accept INSN, not UID as arg.
5241 (reg_scan): Call reg_scan_mark_refs with INSN, not UID.
5243 Tue Mar 2 18:03:25 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5245 * objc-act.c (handle_class_ref): Call assemble_external.
5247 Tue Mar 2 15:56:17 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
5249 * genattrtab.c (write_const_num_delay_slots): Output 'rtx insn' not
5250 'rtx *insn' for const_num_delay_slot argument.
5252 * gcc.c (main): Truncate programname to what is after last slash.
5254 * cccp.c (do_include): Warn if find unreadable header file.
5255 (errno.h): Move outside VMS specific section.
5257 * sparc.c (print_operand): Use output_operand_lossage, not abort.
5259 * sparc.h (SETUP_FRAME_ADDRESS, DYNAMIC_CHAIN_ADDRESS,
5260 RETURN_ADDR_IN_PREVIOUS_FRAME, RETURN_ADDR_RTX): Define.
5261 * sparc.md (flush_register_windows, goto_handler_and_restore):
5262 Give names to these patterns so they are easier to use.
5263 * expr.c (expand_builtin, BUILT_IN_FRAME_ADDRESS case): Use new
5264 macros SETUP_FRAME_ADDRESSES and RETURN_ADDR_IN_PREVIOUS_FRAME.
5266 * reorg.c (relax_delay_slots): Delete jump around insn identical
5267 to the insn in its delay slot.
5269 * i960.c (i960_output_call_insn): Delete scratch_reg arg. Use r3
5271 * i960.md (call_internal*): Use hard register 19 (r3) in clobber
5272 instead of match_scratch.
5274 * i960.md (mov*): Only accept store zero to memory insn if
5275 rtx_equal_function_value_matters is zero.
5276 * i960.h (rtx_equal_function_value_matters): Declare.
5278 * emit-rtl.c (gen_sequence): Add push_obstacks_nochange and
5279 pop_obstacks calls around rtl_in_saveable_obstack call.
5280 * varasm.c (immed_double_const, immed_real_const_1): Likewise.
5281 * tree.c (rtl_in_saveable_obstack): Always switch to saveable_obstack.
5282 Return type now void instead of int.
5284 Tue Mar 2 14:57:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5286 * gcc.c (link_command_spec): Do nothing if -fsyntax-only.
5288 Tue Mar 2 14:17:47 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
5290 * pa.h (ADJUST_COST): Add new definition.
5291 * pa.c (pa_adjust_cost): New procudure.
5293 Tue Mar 2 02:12:13 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5295 * optabs.c (gen_move_insn): Big `if' applies only for MODE_CC class.
5297 * config/m68k/next.c (handle_pragma): New arg get_line_function.
5298 * config/m68k/next.h (HANDLE_PRAGMA): Pass suitable arg.
5299 * c-lex.h (get_directive_line): Declared.
5301 Tue Mar 2 10:48:46 1993 Wilson Tien (wtien at urbana.mcd.mot.com)
5303 * m68k.md (truncdfsf2+2): Use f%$move instead of fsmove.
5305 * m68k.md (fix_truncdfsi2, fix_truncdfhi2, fix_truncdfqi2):
5306 Use %# instead of #.
5308 * m68k.md (call, call_value): Set SYMBOL_REF_FLAG for the called
5309 function symbol_ref rtx. In PIC mode, output `bsr FUNC@PLTPC'
5310 when the operand is symbol_ref.
5312 * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Use SIZE instead
5315 * m68kv4.h (ASM_OUTPUT_CASE_LABEL): Always use `swbeg' syntax to
5316 output switch table (m68k.md depends on this to happen).
5318 * m68kv4.h (LEGITIMATE_PIC_OPERAND_P): Treat a symbol_ref rtx with
5319 SYMBOL_REF_FLAG set a valid PIC operand.
5321 * m68kv4.h (OVERRIDE_OPTIONS): Turn off function cse when doing pic.
5323 * m68k.c (output_function_prologue): Use m68k svr4 PIC format to
5324 load the address of _GLOBAL_OFFSET_TABLE_ into PIC_OFFSET_TABLE_REG
5325 in function prologue when doing PIC.
5327 * m68k.c (print_operand_address): Always add "@GOT" suffix for the
5328 global object operand when doing PIC.
5330 Mon Mar 1 19:00:38 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5332 * c-lex.h (RID_ITERATOR): New alternative.
5333 * c-tree.h (ITERATOR_P, ITERATOR_BOUND_P): New macros.
5335 * c-typeck.c (build_unary_op): Warn if increment `struct unknown *'.
5337 * c-lex.c (init_lex): Set up ridpointers for `iterator'.
5338 But maybe turn it off again.
5340 * c-parse.gperf: Add `iterator' and `__iterator__'.
5342 * c-decl.c (grokdeclarator): Handle iterator storage class.
5343 (finish_decl): For iterator, require initial value, make a save_expr.
5344 (init_decl_processing): Call init_iterators.
5346 * c-parse.in (stmt): Allow all_iter_stmt.
5347 (primary -> statement expression): Push and pop iterator stack.
5348 (stmt -> expr): Use iterator_expand.
5349 (all_iter_stmt): New rule.
5351 * c-typeck.c (readonly_warning): Warn about assignment to iterator.
5353 * c-iterate.c: New file.
5354 * Makefile.in (c-iterate.o): New target.
5355 (C_OBJS, OBJC_OBJS): Add c-iterate.o.
5357 * Makefile.in (gcc.o): Delete dep obstack.h.
5359 Mon Mar 1 07:29:51 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
5361 * integrate.c (subst_constants): Use proper mode when getting
5362 equivalent constant for paradoxical SUBREG in SET_DEST.
5363 (mark_stores): Clean up and tighten to properly handle hard regs.
5365 * combine.c (subst, case NOT): If STORE_FLAG_VALUE==-1, treat
5366 an ASHIFTRT of just the sign bit as if it were an LT.
5367 (subst, case XOR): Likewise for STORE_FLAG_VALUE==1 and an LSHIFTRT.
5368 (simplify_and_const_int, case LSHIFTRT): If shifting a sign bit
5369 copy, start shift at the sign bit.
5370 (simplify_shift_const): Likewise for ASHIFTRT.
5372 * combine.c (BYTE_LOADS_EXTEND): Fix typo when defining.
5373 (setup_incoming_promotions): Set modes properly.
5375 * alpha.md: Add three special-cases of CMP insns against zero.
5377 Mon Mar 1 06:17:02 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
5379 * pa.h (CONSTANT_ADDRESS_P): Do not accept symbolic
5381 (LEGITIMIZE_ADDRESS): Just a stub now. Call
5382 hppa_legitimize_address to do the real work.
5384 * pa.c (symbolic_expression_p): New function.
5385 (hppa_legitimize_address): Old LEGITIMIZE_ADDRESS moved
5386 here. Handle symbol_ref + displacement addresses.
5387 Use rounding instead of masking off lower bits.
5388 Avoid creating useless pseudos and strip off CONST in
5389 (const (...)) expressions to make processing easier.
5391 * pa.md (define_split for symbol_ref+int): New define_split for
5394 Sat Feb 27 01:57:34 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5396 * c-typeck.c (convert_for_assignment): New arg FUNDECL. Calls changed.
5397 (convert_arguments): New arg FUNDECL.
5398 (build_function_call): Pass function to convert_arguments, if a decl.
5400 * config.sub: Error if company name is more than one word.
5401 If $os is `sunos...', don't change it to manufacturer's name.
5403 * enquire.c (fake_f_rep): Clear all of u, initially.
5404 Make the ints in u unsigned.
5405 (f_define): Use ordinary constants for long double
5406 if it's same width as double.
5407 Make __convert_long_double_i unsigned.
5409 * va-i860.h (struct __gnuc_va_list): Test __svr4__ like __SVR4__.
5411 * config/ns32k/ns32k.h (TARGET_SWITCHES): Reverse defn of 32332.
5413 * expr.c (convert_move): Truncate via word_mode
5414 only if to_mode fits in one word.
5415 Truncate by referring in TO_MODE for any FROM,
5416 but force_reg if nec.
5418 * c-decl.c (pushdecl): Nested fn decl gets DECL_CONTEXT iff not extern.
5420 * c-lex.c (check_newline): #line updates input_file_stack->name.
5422 * c-typeck.c (convert_for_assignment): Automatically convert
5423 to a union from its members' types.
5425 * config/ns32k/ns32k.h (ASM_OUTPUT_ALIGN_CODE):
5426 Pad with no-op insns.
5428 * c-decl.c (grokdeclarator): Make `long long' work even with
5429 -pedantic, despite the warning.
5431 Fri Feb 26 22:01:32 1993 Ian Lance Taylor (ian@cygnus.com)
5433 * cccp.c (USER_LABEL_PREFIX, REGISTER_PREFIX): If not defined by
5434 tm.h, set to empty strings.
5435 (enum node_type, special_symbol): Added T_USER_LABEL_PREFIX_TYPE
5436 and T_REGISTER_PREFIX_TYPE, which expand to USER_LABEL_PREFIX and
5438 (initialize_builtins): New builtin definitions
5439 __USER_LABEL_PREFIX__ and __REGISTER_PREFIX__.
5441 Fri Feb 26 18:08:58 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5443 * Makefile.in (distdir): Depend on cp-parse.y,
5444 and the .c files for the .y files.
5446 * c-decl.c (declare_parm_level): Unconditionally store 1.
5447 (pushdecl): Criterion for no warning is, next level up
5450 * Makefile.in (all.cross): Depend on enquire.
5452 * libgcc2.c (inhibit_libc): Renamed from inhibit_eprintf.
5453 (L_new_handler): Don't include stdio.h if inhibit_libc.
5455 * c-typeck.c (process_init_constructor): Error msg change.
5457 * gstdarg.h (_VA_LIST_T_H): Test and define this.
5458 * gvarargs.h (_VA_LIST_T_H): Test and define this.
5460 * gstddef.h (_SYS_SIZE_T_H): Test this and define this.
5462 * xm-pbd.h (USE_C_ALLOCA): Define here.
5463 * pbd.h (USE_C_ALLOCA): Not here.
5465 * tree.c (simple_cst_equal): New default case handles most
5466 tree codes based on TREE_CODE_CLASS. Delete newly redundant cases
5467 for specific tree codes.
5469 * dbxout.c (dbxout_type): Enable output of subrange types
5470 if use_gnu_debug_info_extensions.
5471 (dbxout_finish_symbol): Enable output of symbols line number.
5473 * c-typeck.c (initializer_constant_valid_p):
5474 Allow cast of ptr to wider integer.
5476 Fri Feb 26 19:04:36 1992 Karl Berry (karl@cs.umb.edu)
5478 * optabs.c (init_libfuncs): Use int instead of enum for
5479 first_mode, last_mode, and mode.
5481 Fri Feb 26 14:29:22 PST 1992 Ron Guilmette (rfg@netcom.com)
5483 * c-parse.in (ivar_decls): Give a pedwarn (instead of a warning) for
5486 * cccp.c (do_include): Correctly report the directive name
5487 when any kind of include directive has no argument or null argument.
5489 Fri Feb 26 11:27:35 1992 Tom Wood (wood@NeXT.com)
5491 * toplev.c (compile_file): Use pedwarn_with_decl to warn about
5492 functions declared static but not defined.
5493 * c-decl.c (store_parm_decls): Use pedwarn.
5495 Fri Feb 26 10:34:33 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
5497 * Makefile.in (uninstall): Also remove the g++ manual page.
5499 Fri Feb 26 01:29:53 1992 Paul Eggert (eggert@twinsun.com)
5501 * cexp.y (parse_escape): Don't treat ^ as special after \.
5503 Fri Feb 26 21:37:29 1993 John F Carr (jfc at Athena.MIT.EDU)
5505 * varasm.c (make_decl_rtl): Print an error for explicit register
5506 variable whose type cannot be stored in that register.
5508 Fri Feb 26 17:07:25 1993 Doug Evans (dje@canuck.cygnus.com)
5510 * machmode.def: Added 32-byte int OImode.
5512 Fri Feb 26 13:59:23 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
5514 * explow.c (memory_address): Use CONSTANT_ADDRESS_P instead of
5515 LEGITIMATE_CONSTANT_P.
5516 (break_out_memrefs): Likewise.
5518 Fri Feb 26 06:18:40 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
5520 * expr.c (expand_expr, case IN_EXPR): Fix numerous small bugs and
5523 * recog.c (constrain_operands, case 'r'): If STRICT, a REG isn't
5524 valid if it is a pseudo even if GENERAL_REGS == ALL_REGS.
5526 * alpha.h (LEGITIMIZE_ADDRESS): Add missing args to calls to
5529 Thu Feb 25 17:24:45 1993 Bill Cox (bill@rtl.cygnus.com)
5531 * expr.h: Add prototypes for most expr-related functions.
5532 * jump.c (jump_optimize): Add missing parameter in expand_binop call.
5534 Thu Feb 25 17:50:55 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
5536 * toplev.c: No need to #undef ABS; done in rtl.h.
5538 * reorg.c (redundant_insn_p): Fix typo in testing for types of
5539 insns by using GET_RTX_CLASS.
5541 * expmed.c (emit_store_flag): Fix typo in testing BRANCH_COST.
5543 Thu Feb 25 14:32:31 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
5545 * combine.c (set_nonzero_bits_and_sign_copies): Fix typo in
5546 paradoxical set dest handling.
5548 * convert.c (convert_to_integer): Delete Feb 19 change.
5550 * fold-const.c (decode_field_reference): Fix force_fit_type call.
5552 Thu Feb 25 07:38:36 1993 Ian Lance Taylor (ian@cygnus.com)
5554 * fixinc.sco: Use pwd if PWDCMD is not defined.
5556 Wed Feb 24 18:28:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5558 * config/vax/vms.h (ASM_OUTPUT_EXTERNAL): Use vms_check_external.
5559 (ASM_GLOBALIZE_LABEL): New definition; use vms_check_external.
5560 * config/vax/vax.c (vms_check_external): New function.
5562 * config/m68k/xm-mot3300.h (NO_SYS_SIGLIST): Defined.
5564 Wed Feb 24 16:01:42 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
5566 * loop.c (consec_sets_invariant_p): Correct REG_EQUAL note checks
5567 to distinguish libcall case from ordinary insn case.
5569 * loop.c (add_label_notes): Don't add notes for references to
5570 dispatch tables because jump doesn't.
5571 (find_and_verify_loops): Invalidate loops that contain labels
5572 whose address has been taken.
5574 * fixinc.svr4 (string.h): Delete 'g' from sed command.
5576 * sparc.md (zero_extendqi*i2): Delete never matched constraints.
5578 * i960.c (umulsidi3+1): Delete extra parenthesis.
5580 Tue Feb 23 15:09:50 1993 Ian Lance Taylor (ian@cygnus.com)
5582 * Makefile.in (install-headers): Create relative paths for
5583 symbolic links within installed include directory.
5585 Tue Feb 23 14:43:46 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5587 * stmt.c (check_for_full_enumeration_handling): Handle nameless type.
5589 * tree.h (CONSTRUCTOR_NAME_FORMAT): Handle NO_DOT_IN_LABEL.
5591 * config/m68k/mot3300.h (NO_DOLLAR_IN_LABEL, NO_DOT_IN_LABEL): Defined.
5593 * collect2.c (is_ctor_dtor): Handle NO_DOT_IN_LABEL.
5595 Mon Feb 22 18:06:06 1993 John Hassey (hassey@dg-rtp.dg.com)
5597 * m88k.c (output_call): Don't use the delay slot of a bsr.n
5598 to modify the return address, unless -O2 specified.
5600 Mon Feb 22 17:36:52 1993 Kresten Krab Thorup (krab at xiv)
5602 * objc/core.c (initialize_class): Take Class_t instead of
5603 char* as argument. Callers changed to pass the class.
5605 * objc/core.c (initialize_class): Mark the class
5606 initialized *before* the actual call of "+initialize". This is
5607 needed in case of certain circular dependances between classes.
5609 * objc/object.m (doesNotRecognize): Call sel_getName to get
5610 the name of the selector, and print that.
5611 (subclassResponsibility, notImplemented): Likewise.
5613 Mon Feb 22 00:23:47 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
5615 * expr.c (emit_library_call_value): Fix bug in prev change.
5617 * Makefile.in (install-include-dir): Depend on install-dir.
5619 * convert.c (convert_to_integer): #if 0 the truncated integer warning.
5621 Mon Feb 22 15:15:40 1993 James Van Artsdalen (james@bigtex.cactus.org)
5623 * fold-const.c (all_ones_mask_p): Really use tmask.
5625 Mon Feb 22 11:59:09 1993 Michael Meissner (meissner@osf.org)
5627 * fold-const.c (all_ones_mask_p): Declare tmask to be `tree'.
5628 (optimize_bit_field_compare) Add missing semicolon.
5630 Sun Feb 21 20:20:13 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
5632 * expr.c (emit_library_call_value): Really pass mem value address
5633 to the library function.
5635 Sun Feb 21 15:15:40 1993 James Van Artsdalen (james@bigtex.cactus.org)
5637 * fold-const.c (decode_field_reference): Use force_fit_type
5638 instead of convert to avoid truncated integer warning.
5639 (all_ones_mask_p): Likewise.
5641 Sun Feb 21 13:06:00 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
5643 * pa.md (load high pattern): Rework constraints to reduce %r1
5646 * pa.md (const_double -> FP pattern): Remove cases which can never
5649 * pa.c (print_operand, case 'Y'): Output comparison operators
5650 which will give the right results when one or more operands is a NaN.
5652 Sun Feb 21 01:38:19 1993 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
5654 * expr.c (emit_move_insn_1): New subroutine cut from emit_move_insn.
5655 (emit_move_insn): Use that.
5656 * optabs.c (gen_move_insn): Use emit_move_insn_1.
5657 * expr.h (emit_move_insn_1): Declared.
5659 Sat Feb 20 20:33:51 1993 Doug Evans (dje@wookumz.gnu.ai.mit.edu)
5661 * cccp.c: Add declaration for pedwarn_with_line.
5663 Sat Feb 20 14:46:25 1993 James Van Artsdalen (james@bigtex.cactus.org)
5665 * fixincludes (SRCDIR): Make absolute from ORIGDIR.
5666 (sys/types.h): Quote variables that might expand with spaces.
5667 Strip quotes from expansion of SIZE_TYPE.
5668 (stdio.h): Fix typo deleting line.
5670 Sat Feb 20 18:41:05 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5672 * cccp.c (warning_with_line, pedwarn_with_line): New functions.
5673 (rescan): For pedantic, no error if string constant has newline,
5674 just a pedwarn. And don't end the string constant there.
5676 Sat Feb 20 17:25:16 1993 Doug Evans (dje@wookumz.gnu.ai.mit.edu)
5678 * fold-const.c (decode_field_reference): Use force_fit_type
5679 instead of convert to avoid truncated integer warning.
5681 Sat Feb 20 07:31:32 1993 John Hassey (hassey@dg-rtp.dg.com)
5683 * fixincludes: Change "va_list)" to "__gnuc_va_list)".
5685 Sat Feb 20 03:19:44 1993 Doug Evans (dje@wookumz.gnu.ai.mit.edu)
5687 * fixincludes: Save temp file in ${LIB}.
5688 Use -I${ORIGDIR} when compiling types.c.
5690 Fri Feb 19 00:45:41 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5692 * convert.c (convert_to_integer): Warn if integer is truncated
5693 and that changes the value.
5695 Thu Feb 18 20:15:20 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
5697 * aix386.h: Include aix386ng.h instead of duplicating it.
5698 * 3b1.h (ASM_OUTPUT_CASE_END): Add missing semicolon.
5700 * sparc.c (output_function_prologue): Don't save %f31 to stack.
5701 * sparc.h (STARTING_FRAME_OFFSET): Set to -8.
5703 * pbd.h, sol2.h, sparc.h, sysv4.h (CPP_PREDEFINES): Add
5704 -D__GCC_NEW_VARARGS__.
5705 * va-sparc.h (va_start): If __GCC_NEW_VARARGS__ not defined, use
5708 * final.c (end_final): Don't call assemble_zeros with an size
5711 * move-if-change: Use cmp -s instead of redirecting output to
5714 * calls.c (expand_call): When MAYBE_REG_PARM_STACK_SPACE defined,
5715 if reg_parm_stack_space is zero, set args_size.constant to zero.
5717 Thu Feb 18 17:43:30 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5719 * objc/core.c (__objc_execClass):
5720 Don't assign superclass pointer more than once.
5722 * objc/record.h (record_store_at, record_get):
5723 Test record_capacity, not record_entries, in assertion.
5725 * flow.c (regno_uninitialized): Test global_regs only for hard regs.
5727 * c-lex.c (yylex): Undo Feb 7 change.
5728 * c-parse.in (program): After extdefs, pop any unpopped binding lvls.
5730 * Makefile.in (BISONFLAGS): Add -v.
5732 Wed Feb 17 18:51:51 1993 Karl Berry (karl@owl.hq.ileaf.com)
5734 * toplev.c (ABS): #undef after including sys/resource.h.
5736 Wed Feb 17 22:02:09 1993 John Hassey (hassey@dg-rtp.dg.com)
5738 * m88k.c (emit_ldst): For large offsets use register index
5739 instead of immediate.
5741 Wed Feb 17 18:02:26 EST 1993 John Wehle (john@feith.com)
5743 * we32k.h (CONST_COSTS): Updated to better reflect
5744 the actual constant costs on a we32k.
5746 * we32k.md (truncdfsf2, extendsfdf2): Changed from
5747 define_insn to expand_insn so the optimizer can do
5750 * we32k.h (GO_IF_LEGITIMATE_ADDRESS): Added support for
5751 deferred addressing.
5753 * we32k.md: Eliminated a jmp pattern and the peephole
5754 patterns which are no longer needed now that deferred
5755 addressing is supported.
5757 Wed Feb 17 17:55:34 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5759 * fixincludes (sys/types.h): Replace definition of size_t
5762 Wed Feb 17 06:54:42 1993 John Hassey (hassey@dg-rtp.dg.com)
5764 * config/m88k/m88k.h (CONST_OK_FOR_LETTER_P): Added 'K'.
5765 * config/m88k/m88k.md: Use 'K' constraint with arith5_operand
5768 Wed Feb 17 03:04:49 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5770 * Makefile.in (stmp-fixinc): Renamed from stmp-fixincludes.
5772 Tue Feb 16 14:34:19 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5774 * config/sparc/sparc.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Defined.
5776 Tue Feb 16 02:48:58 EST 1992 John Wehle (john@feith.com)
5778 * reload.c (find_reloads_address): Use strict_memory_address_p
5779 to check for valid indirect address.
5781 * xm-we32k.h: Include xm-svr3.h. Move tm.h include earlier.
5782 (HOST_BITS_PER_LONGLONG, HOST_WORDS_BIG_ENDIAN): Defined.
5783 (USG, bcopy, bzero, bcmp): Deleted.
5784 (alloca): Definition moved before tm.h.
5786 Tue Feb 16 01:28:52 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5788 * c-typeck.c (build_indirect_ref): Avoid *& short-cut if -fvolatile.
5790 Mon Feb 15 22:22:08 1993 Michael Meissner (meissner@osf.org)
5792 * mips/osfrose.h (CPP_SPEC): When preprocessing .S files, pass
5793 -traditional if neither -ansi nor -traditional was passed, to
5794 allow the macros which form labels to not give gas heartburn.
5796 * i386/osfrose (CPP_SPEC): Ditto.
5798 Mon Feb 15 02:17:47 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5800 * objc-act.c (HASHFUNCTION): insure nonnegative hash even if
5801 addresses are negative.
5803 Sat Feb 13 04:16:29 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5805 * c-decl.c (c_decode_option): Handle -Wmissing-braces.
5806 * c-typeck.c (process_init_constructor): Test warn_missing_braces.
5807 * c-tree.h (warn_missing_braces): Declared.
5809 Fri Feb 12 19:40:38 1993 Doug Evans (dje@wookumz.gnu.ai.mit.edu)
5811 * combine.c (setup_incoming_promotions): Make static.
5813 Fri Feb 12 16:02:52 1993 Per Bothner (bothner@hal.gnu.ai.mit.edu)
5815 * tree.def: Fix typo in comment (TREE_VALUES -> TYPE_VALUES).
5817 Fri Feb 12 11:26:28 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
5819 * pa.md (rotlsi3): Fix typo, rotate was rotatert in rtl template.
5821 Fri Feb 12 07:47:11 1993 John Hassey (hassey@dg-rtp.dg.com)
5823 * function.c (reposition_prologue_and_epilogue_notes): Allow
5824 for zero length prologue and epilogue list.
5826 Thu Feb 11 05:55:33 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
5828 * collect2.c (find_a_file): Always reject "./ld".
5829 (main): Pass short name of program as first arg to fork_execute;
5830 ensure argv[0] always gets filename.
5831 (fork_execute): Print name for diagnostic from PROG; filename
5834 * fixincludes: Don't assume that macros defining IO and CTRL
5835 ioctl codes always use `x'; some use `c' or `g'.
5837 * collect2.c (putenv): New function, copied from gcc.c.
5838 (last_file_name): New variable.
5839 (find_a_file): Ignore name in last_file_name too.
5840 (main): Look at name in COLLECT_NAME and set it to the name we were
5842 Pass filename used for ld to ld as argv[0].
5844 Thu Feb 11 03:55:39 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5846 * expr.c (expand_builtin): Move memory_address calls
5847 out of arglist of emit_block_move.
5849 Wed Feb 10 16:14:09 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
5851 * Update Alpha support to latest calling sequence.
5852 * alpha.c (version_string): Declare.
5853 (current_file_function_operand): New function, replaces
5854 current_function_operand.
5855 (print_operand, case 'F'): Case deleted.
5856 (alpha_builtin_saveregs): Reworked to use homed arglists, as
5857 recommended in the calling standard.
5858 (alpha_need_gp): Deleted, code moved into output_prolog.
5859 (alpha_gp_dead_after): Deleted; optimization is not safe.
5860 (alpha_write_verstamp): New function.
5861 (output_prolog, output_epilog): Major rework to update to
5862 current calling standard.
5863 * alpha.h (ASM_OUTPUT_LOOP_ALIGN): Enable, now that assembler fixed.
5864 (SLOW_UNALIGNED_ACCESS): Define as 1.
5865 (ARG_POINTER_REGNUM): Use register number 31 as an arg pointer.
5866 (FRAME_GROWS_DOWNWARD): Do not define.
5867 (STARTING_FRAME_OFFSET): Now is outgoing args size.
5868 (FIRST_PARM_OFFSET): Now 0.
5869 (ELIMINABLE_REGS, etc.): Cannot eliminate gp, but do
5870 eliminate AP in favor of either SP or FP.
5871 (RETURN_IN_MEMORY): All structs or integers larger than 64
5872 bits get returned via memory.
5873 (SETUP_INCOMING_VARARGS): Use homed arglist mechanism.
5874 (ASM_DECLARE_FUNCTION_NAME): Use proper second arg to .ent.
5875 (ASM_FILE_START): Call alpha_write_verstamp.
5876 (ENCODE_SECTION_INFO): Record when a decl is for a function
5877 in the current file.
5878 * alpha.md (call insns): Always reload gp after a full call.
5879 Use current_file_function_operand to see when we can use BSR.
5881 Wed Feb 10 09:53:00 1993 John Hassey (hassey@wombat.gnu.ai.mit.edu)
5883 * config.sub: removed m88kbcs, changed delta88 and harris to
5886 Wed Feb 10 03:29:11 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5888 * c-decl.c (duplicate_decls): Silently accept harmless mismatch
5889 in type of 1st arg of builtin function.
5891 * c-typeck.c (build_indirect_ref): If arg is void *, just warn.
5893 Tue Feb 9 22:15:08 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
5895 * alpha.md (fix_truncdfdi2, fix_truncsfdi2): Use `cvttqc', not
5896 `cvttq', to avoid rounding up.
5898 Tue Feb 9 18:45:57 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
5900 * function.c (promoted_input_arg): New function.
5901 * expr.h: Declare it.
5902 * combine.c (setup_incoming_promotions): New function.
5903 (combine_instructions): Add calls to setup_incoming_promotions.
5905 Tue Feb 9 14:04:22 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
5907 * fixincludes: Fix logic about when to duplicate entries under the
5910 Tue Feb 9 13:22:28 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5912 * cccp.c (main): Fix lineno of "does not end in newline" message.
5913 (finclude): Likewise.
5915 Tue Feb 9 12:03:37 1993 Michael Meissner (meissner@osf.org)
5917 * mips/mips.c (function_epilogue): Avoid integer overflows in
5918 checking whether $31 is the only register saved.
5919 (mips_epilogue_delay_slots): Ditto.
5921 Tue Feb 9 05:46:17 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
5923 * rtl.h: Undefine ABS; some POSIX systems define it as 1.
5925 * combine.c (combine_instructions): When calling
5926 set_nonzero_bits_and_sign_copies, set things up so that we
5927 can call get_last value; call record_dead_and_set_regs in loop.
5928 (set_nonzero_bits_and_sign_copies): Handle paradoxical SET.
5930 Tue Feb 9 01:13:18 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5932 * c-lex.c (yylex): For wide char constant, use wchar_type_node.
5933 Swallow any preprocessing number as a (possibly erroneous) number.
5935 * tree.c (size_in_bytes): Add 2nd arg to force_fit_type.
5937 Mon Feb 8 07:52:23 1993 Ian Lance Taylor (ian@cygnus.com)
5939 * configure (*-*-hpux*): Use install-headers-cpio.
5941 Mon Feb 8 07:13:49 1993 John Hassey (hassey@dg-rtp.dg.com)
5943 * toplev.c (compile_file): Don't flag global register variables
5946 Mon Feb 8 06:06:58 1993 James Van Artsdalen (james at bigtex.cactus.org)
5948 * i386.md (extendsidi2): Use correct mnemonic for cwtl opcode.
5950 Mon Feb 8 05:52:08 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
5952 * expr.c (emit_push_insn): If REG is zero, don't set regs here.
5953 * expr.h (MUST_PASS_IN_STACK_BAD_ALIGN): Deleted.
5954 (MUST_PASS_IN_STACK): No problem anymore with nonaligned structs.
5955 * calls.c: Allow passing nonaligned BLKmode structs in regs.
5956 (struct arg_data): New fields aligned_regs and n_aligned_regs.
5957 (expand_call): Set and use these fields when required.
5958 (store_one_arg): Don't pass reg to emit_push_insn if we have
5959 previously formed aligned registers.
5961 Sun Feb 7 23:34:16 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5963 * expmed.c (emit_store_flag): Add missing arg to convert_move.
5965 Sun Feb 7 16:13:05 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu.edu)
5967 * calls.c (struct arg_data): New field MODE.
5968 (expand_call, store_one_arg): Use it to ensure that all args get
5969 promoted if requested, not just those passed in registers.
5971 Sun Feb 7 13:12:23 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5973 * c-lex.c (yylex): At eof, if binding levels not popped,
5974 imagine some close-braces to pop them.
5976 Sun Feb 7 10:54:42 1993 Chip Salzenberg (chip@tct.com)
5978 * fold-const.c (fold): Call force_fit_type with two parameters.
5980 * fold-const.c (force_fit_type): Don't examine the tree until
5981 it is known to an INTEGER_CST. If it isn't, just return.
5983 Sat Feb 6 20:26:09 1993 James Van Artsdalen (james at bigtex.cactus.org)
5985 * byteorder.h (386 htonl,htons): Avoid hard-coded register usage.
5987 Sat Feb 6 20:23:02 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5989 * config/m68k/m68k.md (movqi): For special case of moving byte
5990 to stack, push into low byte and then copy to high byte.
5991 For case of moving to/from address reg, exchange it with d0.
5993 Fri Feb 5 19:58:26 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5995 * stmt.c (expand_expr_stmt): Bypass fetching a volatile value
5998 Fri Feb 5 18:27:27 1993 Jim Wilson (wilson@geech.gnu.ai.mit.edu)
6000 From Fred Fish (fnf@fishpond.cygnus.com)
6001 * config.sub (i[34]86sol2): New abbrev for i[34]86-unknown-solaris2.
6002 * configure (i[34]86-*-solaris2): New config for Solaris 2, x86.
6003 * crtstuff.c (__do_global_ctors_aux): Use FORCE_INIT_SECTION_ALIGN
6004 to avoid Solaris 2, x86 linker bug.
6005 * config/i386/{sol2-c1.asm, sol2-ci.asm, sol2-cn.asm}: New runtime
6006 support files for Solaris 2, x86.
6007 * config/i386/{sol2.h, t-sol2}: New config files for Solaris 2, x86.
6009 * sparc.h (EXTRA_CONSTAINTS): Delete 'R' support.
6010 (CONST_OK_FOR_LETTER_P): Correct 'K' comment.
6012 * caller-save.c (CEIL): Delete.
6013 (restore_referenced_regs): New var NUMREGS. Pass NUMREGS to
6014 insert_save_restore instead of using using CEIL.
6016 * sched.c (true_dependence, anti_dependence, output_dependence):
6017 Assume that MEM_IN_STRUCT_P QImode varying addresses can overlap a
6018 non-MEM_IN_STRUCT_P fixed address.
6020 * i960.c (legitimate_address_p): Accept either REG or SUBREG where
6021 a register is valid in an address.
6023 * configure (*-*-sco*): Set install_headers_dir to cpio instead of tar.
6025 * cccp.c (finclude): Error if try to include a directory.
6026 (S_ISDIR): Add a default definition.
6028 Fri Feb 5 10:24:35 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6030 * toplev.c (lang_options): Remove `-fSOS' and `-fno-SOS'.
6032 Wed Feb 3 16:34:58 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6034 * cp-decl.c (init_decl_processing): Add __builtin_args_info.
6036 Wed Feb 3 12:47:02 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6038 * cp-class.c (finish_struct_methods): Avoid creating a circularity
6039 when putting ctors and dtors at the front of the list.
6041 * cp-init.c (build_new): Call c_sizeof_nowarn, not c_sizeof.
6042 (build_delete): Likewise.
6044 Tue Feb 2 09:57:29 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6046 * cp-lex.c (yyprint): Make non-static.
6048 Mon Feb 1 17:09:19 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6050 * cp-lex.c (real_yylex): Use pedwarn for exceeding the range of a
6053 Sat Jan 30 13:09:35 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6055 * cp-method.c (hack_identifier): Also check for VALUE being a
6056 RESULT_DECL before looking for the DECL_REFERENCE_SLOT.
6058 * cp-decl2.c (bad_specifiers): Pass OBJECT into error.
6060 Fri Jan 29 11:46:46 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6062 * cp-class.c (alter_visibility): Forbid reducing the visibility of a
6063 public member of the derived class.
6065 * cp-typeck.c (comp_target_parms): Give a contravariance warning
6066 with P2, not P1, since P1 is the established value, not the argument
6067 that's coming in for a match.
6069 * cp-decl.c (start_method): When printing out the class name for a
6070 duplicate definition, be sure to avoid a null context with the
6073 Tue Jan 26 15:39:54 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6075 * cp-pt.c (lookup_template_class): Try to use the class value if
6076 there's no global value.
6078 Mon Jan 25 15:59:21 1993 Mike Stump (mrs@cygnus.com)
6080 * cp-call.c (build_method_call): Remove TYPE_NEEDS_WRAPPER cruft.
6082 Sat Jan 23 12:13:24 1993 Niklas Hallqvist (niklas at della.appli.se)
6084 * cp-class.c (finish_struct): See to that static members whose type
6085 is the class they're declared in gets a correct mode.
6087 Mon Jan 25 11:04:23 1993 Niklas Hallqvist (niklas at della.appli.se)
6089 * cp-decl.c (define_label): Don't report crossings of any internal
6090 entity initializations. Don't dereference NULL.
6092 Wed May 13 21:44:05 1992 Niklas Hallqvist (niklas@appli.se)
6094 * cp-decl2.c: Support for NO_DOT_IN_LABEL.
6095 * cp-tree.h: Likewise.
6096 * cp-method.c: Likewise.
6098 * cp-except.c: Support for no JOINER setups (i.e. NO_DOT_IN_LABEL)
6099 * cp-lex.c: Likewise.
6100 * cp-search.c: Likewise.
6102 Fri Jan 22 08:52:58 1993 Niklas Hallqvist (niklas at della.appli.se)
6104 * cp-call.c (resolve_scope_to_name): Try to find nested types not
6105 just in the current class and at global scope but at all
6106 intermediate classes as well.
6108 Mon Jan 25 11:04:23 1993 Niklas Hallqvist (niklas at della.appli.se)
6110 * cp-decl.c (xref_tag): Enable test of incomplete basetypes.
6111 * cp-tree.c (layout_basetypes): Disabled it here.
6113 Mon Jan 25 11:04:23 1993 Niklas Hallqvist (niklas at della.appli.se)
6115 * cp-init.c (build_new): Move error check of array size before use.
6117 Sun Jan 24 21:41:09 1993 John Carr (jfc@Athena.MIT.EDU)
6119 * cp-typeck.c (build_binary_op_nodefault): Add support for
6120 FLOOR_MOD_EXPR, merged in from the c front-end.
6122 Wed Feb 3 18:23:07 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6124 * objc-act.c (init_objc): Use xrealloc, not realloc.
6126 * expr.c (emit_library_call, emit_library_call_value):
6127 Handle STACK_BOUNDARY when using push insns.
6129 Tue Feb 2 16:37:49 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6131 * varasm.c (assemble_zeros): Output nothing rather than empty skip.
6133 * c-typeck.c (build_conditional_expr): Always convert and check
6134 both result operands even if condition is constant.
6135 (build_c_cast): Bypass default_conversion when casting to void.
6137 * c-decl.c: Add some braces for clarity.
6139 * configure (i[34]86-*-linux*): Set fixincludes to Makefile.in
6140 Don't set tmake_file.
6141 * Makefile.in (stmp-fixincludes): Don't run FIXINCLUDES
6142 if it is Makefile.in.
6143 * t-linux: File deleted.
6145 * Makefile.in (install-headers-cpio): Delete spurious parens
6146 from around the whole command.
6147 (install-headers-tar): Delete parens around the "source" tar cmd.
6149 Tue Feb 2 15:20:52 1993 Chip Salzenberg (chip@tct.com)
6151 * c-decl.c (pushdecl): DECL_EXTERNAL implies TREE_PUBLIC,
6152 so don't bother to check for both.
6154 * regclass.c (int_reg_class_contents): Make unsigned to avoid
6155 signed integer overflow.
6156 (init_reg_sets): Avoid signed integer overflow.
6158 * cexp.y (parse_escape): Support \E and \e like cc1:
6159 they mean \033, and they generate a warning if pedantic.
6161 Tue Feb 2 15:17:38 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
6163 * t-sol2 (INSTALL_TARGET): Delete.
6165 Tue Feb 2 14:18:59 1993 Brendan Kehoe (brendan@cygnus.com)
6167 * Makefile.in (gcc.o): Depend upon config.status, so any changes
6168 in prefix will be communicated to the build process.
6171 Tue Feb 2 07:09:36 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
6173 * pa.md (cmov): Use @ for output.
6175 Mon Feb 1 01:50:54 1993 Paul Eggert (eggert@twinsun.com)
6177 * c-decl.c (finish_decl, grokdeclarator, finish_struct): Report
6178 overflows in storage sizes.
6179 (build_enumerator): Report overflows in enumerators.
6180 * fold-const.c (same_sign): Remove.
6181 (lshift_double): Don't report arithmetic overflow, since the
6182 C standard doesn't seem to require it here.
6183 (force_fit_type): Accept new parameter specifying whether a signed
6184 overflow has already occurred. Yield overflow indication.
6185 All callers changed.
6186 (neg_double): Don't report overflow when -0 yields 0.
6187 (const_binop): Propagate operand overflow for warnings.
6188 Don't report overflow when -1 + 1 yields 0.
6190 * c-parse.in (unary_expr): Warn about overflows in parser-built
6192 * c-typeck.c (parser_build_binary_op): Warn about overflows and
6193 conversions of out-of-range constants in parser-built binary
6195 (build_conditional_expr): Check conversions in if-then-else
6197 (build_c_cast): Ignore any integer overflow caused by a cast.
6198 (convert_for_assignment): Warn if source had overflow in folding.
6199 (process_init_constructor): Report overflows in array initializer
6201 * c-common.c (constant_expression_warning): Suppress duplicate
6203 (convert_and_check, overflow_warning, unsigned_conversion_warning):
6204 New functions. Prototypes added to c-tree.h.
6206 * expr.c (expand_builtin): Report overflow if __builtin_args_info
6207 arg exceeds one word.
6208 Fix punctuation of error messages.
6210 Sun Jan 31 17:45:11 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
6212 * combine.c (simplify_and_const_int): Never consider bits outside
6215 Sun Jan 31 15:24:46 1993 Doug Evans (dje@wookumz.gnu.ai.mit.edu)
6217 * objc-act.c (build_module_descriptor): Fix call to start_function.
6219 Sun Jan 31 13:08:05 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
6221 * pa.md (zvdep32): Handle 5 bit immediates for operand 1.
6222 (ashlsi3): Likewise.
6223 (and + ashift): New combine pattern.
6225 Sun Jan 31 12:40:00 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6227 * protoize.c: Include gvarargs.h before system headers.
6229 Sat Jan 30 18:51:46 1993 Doug Evans (dje@wookumz.gnu.ai.mit.edu)
6231 * c-typeck.c (build_compound_expr): insert missing return
6233 Sat Jan 30 16:10:56 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
6235 * pa.c (reg_or_0_operand): Use CONST0_RTX instead of
6237 (reg_or_0_or_nonsymb_mem_operand): New function.
6238 (emit_move_sequence): Copying CONST0_RTX into any
6239 register can be done directly. Use CONST0_RTX instead
6241 (output_fp_move_double): Handle copying a CONST0_RTX
6242 into FP or integer registers.
6243 (print_operand): Handle "%r0" for DFmode and SFmode
6246 * pa.h (CONST_DOUBLE_OK_FOR_LETTER_P): Generalize.
6247 (LEGITIMATE_CONSTANT_P): Allow 0.0.
6248 (CONST_COSTS, case CONST_DOUBLE): fp0.0 is free when
6249 not used in a SET expression.
6251 * pa.md (cmpXf expands): Allow 0.0 for either operand
6253 (cmpXf insns): Allow 0.0 for either operand of the
6254 comparison. Update output template to handle 0.0 as one
6256 (movsi insn, fp->fp case): Update constraints and template to
6257 allow store of zero into an FP register.
6258 (movhi insn, fp->fp case): Likewise.
6259 (movqi insn, fp->fp case): Likewise.
6260 (movdi insn, fp->fp case): Likewise.
6261 (movDF const_double pattern): Do not apply this pattern
6262 if the const_double is zero.
6263 (movdf insn, fp->fp and gr->gr cases): Update constraints
6264 and output template to allow store of zero into a FP or GR.
6265 Update condition string to allow zero as operand 1.
6266 (movsf insn, fp->fp and gr->gr cases): Likewise. Also allow
6267 store of zero into a memory location.
6269 Sat Jan 30 14:57:44 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6271 * c-tree.h: Add many prototypes from bill@cygnus.com
6273 Sat Jan 30 01:06:52 1993 Niklas Hallqvist (niklas@spiff.gnu.ai.mit.edu)
6275 * c-common.c (c_build_type_variant): Moved here from c-decl.c.
6276 Redirected the TYPE_MAIN_VARIANT to the "real" main variant.
6277 Build the possibly new array type on the permanent obstack if
6278 the original type was permanent.
6279 (permanent_obstack): Added extern declaration.
6280 * c-decl.c (c_build_type_variant): Moved to c-common.c.
6282 Fri Jan 29 18:16:47 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6284 * config/m68k/m68k.md (iorsi3): Add CC_STATUS_INIT if use bset.
6286 * fold-const.c (force_fit_type): Abort if T not INTEGER_CST.
6287 * tree.c (size_in_bytes): Only call force_fit_type for an INTEGER_CST.
6289 * config/i386/t-linux (FIXINCLUDES): New file.
6290 * configure (i[34]86-*-linux*): Use t-linux.
6292 Fri Jan 29 12:08:04 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
6294 * reload.c (find_reloads_toplev): When handling a (subreg (reg))
6295 where (reg) will be replaced by a memory reference, if the memory
6296 address is invalid for the mode of the subreg, then search the
6297 memory address for reloads.
6299 * pa.h (FIXED_REGISTERS): %r31 is not fixed.
6301 Thu Jan 28 23:49:25 1993 James Van Artsdalen (james at bigtex.cactus.org)
6303 * reg-stack.c (compare_for_stack_reg): Properly swap operands of a
6306 Thu Jan 28 13:47:53 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
6308 * pa.md (iorsi3): Split into two patterns, a named "iorsi3" which
6309 only accepts registers, and a combiner pattern which accepts a
6310 restricted set of constant integers for one term.
6311 * pa.c (ior_operand): Do not accept registers.
6313 * pa.h (LEGITIMIZE_ADDRESS): Delete cases which can never happen.
6315 * pa.h (CPP_SPEC for OLD_CC): Delete.
6316 (CC1_SPEC for OLD_CC): Likewise.
6317 (MODES_TIEABLE_P): Simplify.
6318 (ASM_OUTPUT_ADDR_VEC_ELT): Fix comment.
6319 (leaf_function): Delete unused variable.
6320 (HARD_REGNO_MODE_OK): Delete old useless version.
6321 (FIRST_PARM_OFFSET): Likewise.
6322 (FIRST_PARM_CALLER_OFFSET): Likewise.
6323 (EXPAND_BUILTIN_SAVEREGS): Likewise.
6324 (ASM_OUTPUT_REG_PUSH): Likewise.
6325 (ASM_OUTPUT_REG_POP): Likewise
6327 Thu Jan 28 07:51:47 1993 Ian Lance Taylor (ian@cygnus.com)
6329 * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '/'.
6330 * config/m68k/m68k.c (print_operand): Print %/ as REGISTER_PREFIX.
6331 * longlong.h (umul_ppmm for 68000): Use %/ before all register
6334 * configure (install_headers_dir): New variable for each
6335 configuration, used to set INSTALL_HEADERS_DIR in Makefile.
6336 (*-*-sysv4*, *-*-sysv*): Set install_headers_dir to
6337 install-headers-cpio.
6339 Thu Jan 28 07:30:25 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
6341 * a29k.md: Remove 29050-specific variants of patterns generating
6342 loadm that have earlyclobber. This was put in for some very old
6343 version of the '050, which isn't used anymore, that had a bug.
6345 Thu Jan 28 06:56:04 1993 Pat Rankin (rankin@eql.caltech.edu)
6347 * vmsconfig.com: change instances of [.config] to [.config.vax].
6348 * make-cc1.com, make-cccp.com, make-l2.com: change /include and -I
6349 values from [.config] to [.config.] (this trailing period works with
6350 GNU C's preprocessor but not with VAX C's).
6352 Thu Jan 28 06:48:57 1993 Michael Collison (collison@osf.org)
6354 * optabs.c (init_fixtab, init_optabs): Fix typos in QFmode and HFmode
6357 Wed Jan 27 13:11:26 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6359 * Makefile.in (includedir): Use local_prefix.
6361 Wed Jan 27 12:08:05 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
6363 * pa.c (check_fp_mov): Delete unused function
6364 (register_or_short_operand): Likewise.
6365 (eq_or_neq): Likewise.
6366 (gen_compare_reg): Likewise.
6367 (reverse_relop): Likewise.
6368 (frame_base)name): Delete unused variable.
6370 * pa-ghpux.h (HAVE_ATEXIT): Delete. This is defined in pa.h
6371 * pa-gux7.h (HAVE_ATEXIT): Likewise.
6372 * pa-hpux.h (HAVE_ATEXIT): Likewise.
6373 * pa-hpux7.h (HAVE_ATEXIT): Likewise.
6375 Wed Jan 27 06:46:50 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
6377 * cse.c (simplify_relation_operation): We can compute the result
6378 of a comparison of CONST_INTs no matter what mode the computation
6381 * expmed.c (emit_store_flag): Swap operands if first is a
6382 constant and second is not.
6383 Abort if compare_from_rtx didn't return an rtx with the code we
6385 * expr.c (compare_from_rtx): Only swap operand if first is a
6386 constant and second is not.
6388 * c-common (declare_function_name): If char_array_type_node isn't
6389 large enough for the name, make a larger type.
6390 * c-decl.c (init_decl_processing): Make the arrays 200 long instead
6391 of 10 to leave more room for most names.
6393 * function.c (put_var_into_stack, fixup_var_refs_insns): Minor
6395 (fixup_var_refs_1, case SET): Correctly check for simple insns
6396 that don't need fixups.
6398 * collect2.c: Delete ISCOFF macro which was in #ifdef _AIX.
6399 * rs6000.h, a29k/unix.h (MY_ISCOFF): New macro.
6401 Tue Jan 26 19:31:31 1993 Tom Wood (Tom_Wood@NeXT.com)
6403 * combine.c (combine_instructions): Initialize undobuf in the
6404 event `gen_rtx_combine' is called before `try_combine'.
6406 Tue Jan 26 18:20:04 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
6408 * i960.md (umulsidi3+1): Add variant which accepts constants.
6410 * fixinc.svr4: Change all uses of EX to SED.
6411 * fixincludes (sys/types.h): Don't match on ssize_t.
6412 (stdio.h): Change _VA_LIST_ to __gnuc_va_list for 386BSD.
6414 Tue Jan 26 13:46:04 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6416 * xm-alpha.h (ONLY_INT_FIELDS): Define if not __GNUC__.
6418 * collect2.c (write_list_with_asm): Use `__asm__' instead of
6419 `asm', to avoid problems with `-fno-asm'.
6421 * Makefile.in (insn-*.[ch], protoize.o, unprotoize.o, install): When
6422 using a trailing semicolon to force a rule to not do anything,
6423 explicitly run the command `true', to avoid warnings or other
6424 problems with versions of make which don't like null commands.
6426 Tue Jan 26 07:14:29 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
6428 * cse.c (simplify_binary_operation, case SMAX): Correctly
6429 compute largest possible signed integer.
6431 * Makefile.in: (rest.cross, gfloat.h, stmp-headers, mostlyclean):
6432 Build and install gfloat.h instead of float.h.
6434 * a29k/x-unix (CLIB): Add -lld.
6436 * integrate.c (copy_rtx_and_substitute, case REG): Call
6437 gen_lowpart instead of making an explicit SUBREG.
6439 * stmt.c (expand_value_return): Call convert_move instead of the
6440 erroneous convert_to_mode.
6442 Tue Jan 26 00:58:53 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6444 * collect2.c (find_a_file): First `access' test was backwards.
6445 (main): Set full_real_ld_suffix right.
6447 * c-decl.c (init_decl_processing): Use 10 as size
6448 of ..._array_type_node.
6450 * cccp.c (handle_directive): Init already_output
6451 after old_linenum label.
6452 (finclude): Remove final backslash-newline *before* trigraph_pcp.
6453 (write_output): Free line_command at end.
6455 Mon Jan 25 19:31:32 1993 Doug Evans (dje@wookumz.gnu.ai.mit.edu)
6457 * print-rtl.c (debug_rtx_list, debug_rtx_find): New functions.
6458 * .gdbinit (prl): New command.
6460 Mon Jan 25 14:49:45 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
6462 * sparc.c (init_arg_profiler, output_arc_profiler): Delete unused
6464 * sparc.h (ARC_PROFILER): Delete unused macro.
6466 * sparc.c (sparc_builtin_saveregs): New function.
6467 * sparc.h (CPP_SPEC): Delete __sparc_frw__ define.
6468 (TARGET_FRW_COMPAT): New macro.
6469 (TARGET_DEFAULTS): Comment out -mfrw option. Add new commented
6470 out option -mfrw-compat.
6471 (EXPAND_BUILTIN_SAVEREGS): Call sparc_builtin_saveregs to emit rtl
6472 inline instead of calling builtin_saveregs in libgcc.a.
6473 * va-sparc.h (va_start): Rewrite to account for above changes.
6475 * sparc.h (PRINT_OPERAND_PUNCT_VALID_P): Delete '@' case.
6476 * sparc.c (print_operand): Likewise.
6477 (output_fp_move_double): Delete FP_REG to GENERAL_REG and vice
6479 (output_fp_move_quad): Likewise.
6480 * sparc.md (movsi, movtf, movdf, movdi, movsf): Delete f/r and r/f
6483 * i960.c (secondary_reload_class): Correct test against
6484 FIRST_PSEUDO_REGISTER.
6486 * sparc.c (registers_ok_for_ldd_peep): Delete test for pseudos.
6488 * optabs.c (emit_indirect_jump): Use Pmode instead of VOIDmode and
6491 * calls.c (calls_alloca): Change name to calls_function. Add new
6492 parameter WHICH to control old or new behaviour.
6493 (expand_call): When stack space is preallocated and parameters
6494 must be passed on the stack, precompute parameters that involve
6497 * c-decl.c (language_string): Delete from here.
6498 * c-parse.in (language_string): Define here for C and Obj-C.
6500 Mon Jan 25 13:54:16 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
6502 * c-decl.c (finish_struct): Disable "structure/union defined
6503 inside parms" if compiling with -traditional.
6505 Mon Jan 25 05:24:12 1993 Niklas Hallqvist (niklas at della.appli.se)
6507 * i386.md (extendsidi2): Fix typo in regno.
6509 Mon Jan 25 00:07:18 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6511 * c-decl.c (lookup_label): Return 0 if not within a function.
6513 * c-parse.in (unary_expr => ANDAND identifier):
6514 Handle lookup_label returning 0.
6516 * Makefile.in (install-float-h-cross):
6517 Don't ignore error when running enquire.
6519 Sun Jan 24 22:41:00 1993 Michael Meissner (meissner@osf.org)
6521 * c-typeck.c (build_compound_expr): Move the code into
6522 internal_build_compound_expr, and pass second argument TRUE
6523 indicating that this is the first call. For recursive calls, pass
6524 FALSE. Do not make 0 a non_lvalue constant if this is the first
6525 call, to allow return 0; from a pointer returning function to not
6528 Sun Jan 24 18:40:44 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6530 * config/vax/vax.md (move/push address patterns):
6531 Don't use alternative number to distinguish pushes from moves.
6532 Use just one alternative `g' in output constraint.
6534 Sun Jan 24 07:19:03 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
6536 * final.c (final_scan_insn): Call alter_subreg on duplicate
6537 operands (in case we need to split the insn).
6539 * local-alloc.c (CLASS_LIKELY_SPILLED_P): Add default definition.
6540 (alloc_qty_for_scratch, local_alloc): Use CLASS_LIKELY_SPILLED_P.
6542 Sat Jan 23 19:41:21 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6544 * combine.c (apply_distributive_law): Don't mess with float arith.
6546 * c-parse.in: Use new name objc-act.h.
6548 Sat Jan 21 13:12:49 1993 Serge Adda (adda@soft01)
6550 * expmed.c (emit_store_flag): Reset ICODE using returned COMPARISON.
6552 Sat Jan 23 18:27:35 1993 Niklas Hallqvist (niklas@spiff.gnu.ai.mit.edu)
6554 * config/m68k/tower.h (LIB_SPEC): Use %s instead of absolute path.
6555 (STARTFILE_SPEC): Moved here from tower-as.h. Use %s instead of
6557 * config/m68k/tower-as.h (STARTFILE_SPEC): Moved to tower.h.
6559 Sat Jan 23 16:28:48 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6561 * cccp.c (change_newlines): Renamed from delete_newlines.
6562 Insert a space in place of a newline. Caller changed.
6564 * config/m68k/hp320.h (ASM_OUTPUT_DOUBLE_OPERAND): Delete space
6567 Sat Jan 23 09:20:41 1993 Niklas Hallqvist (niklas at della.appli.se)
6569 * Makefile.in (cross-test): Depend on GCC_PARTS.
6571 Sat Jan 23 07:15:10 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
6573 * reload1.c (reload): After calling count_possible_groups, see
6574 if we have to proceed with allocating a group.
6575 (count_possible_groups): Use HARD_REG_SET, not a char array, for
6578 * rs6000.h (ADJUST_COST): Add new definition.
6580 Fri Jan 22 18:55:00 1993 Niklas Hallqvist (niklas at della.appli.se)
6582 * fixinc.svr4: Use pwd if PWDCMD is undefined. Add missing echo
6585 Fri Jan 22 18:08:47 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6587 Cygnus<-->FSF merge.
6589 Thu Jan 21 15:26:59 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6591 * Makefile.in (convert.o): Add dependencies.
6593 * cp-gc.c (NULL): Undef before defining.
6594 * cp-init.c (NULL): Likewise.
6595 * cp-expr.c (NULL): Likewise.
6597 * cp-decl.c (grokdeclarator): Relegate error about operator= to a
6598 warning for now, an error later.
6600 Tue Jan 19 16:40:19 1993 Mike Stump (mrs@cygnus.com)
6602 * cp-type2.c (my_friendly_assert): Don't set errorcount or
6603 sorrycount to zero, as we no longer say "please fix above errors".
6605 Mon Jan 18 19:44:53 1993 Mike Stump (mrs@cygnus.com)
6607 * cp-type2.c (my_friendly_abort): Exit quietly in cases of random
6608 seg faults in the front-end in the presences of other errors. This
6609 makes the handling of these things more uniform.
6611 Mon Jan 18 16:23:11 1993 Mike Stump (mrs@cygnus.com)
6613 * cp-typeck.c (build_unary_op): Improve error message for
6614 {pre,post}-{increment,decrement}.
6616 Mon Jan 18 13:58:14 1993 Mike Stump (mrs@cygnus.com)
6618 * cp-typeck.c (build_binary_op): Improve error message.
6620 Fri Jan 15 17:53:33 1993 Mike Stump (mrs@cygnus.com)
6622 Fri Jan 15 00:35:22 1993 Niklas Hallqvist (niklas at della.appli.se)
6624 * cp-decl.c (start_function): Removed the comp_target_parms test
6625 when checking for implementations of "C" linkage functions, allows
6626 for more overloading of extern "C" functions.
6628 Fri Jan 15 17:32:56 1993 Mike Stump (mrs@cygnus.com)
6630 Fri Jan 15 00:35:22 1993 Niklas Hallqvist (niklas at della.appli.se)
6632 * cp-decl.c (grokvardecl): Implement the "one definition rule".
6634 Fri Jan 15 17:17:05 1993 Mike Stump (mrs@cygnus.com)
6636 * cp-search.c (get_base_distance): Compute results from calls to
6637 recursive_bounded_basetype_p into a temp variable, as otherwise we
6638 can clobber rval with a zero.
6640 Fri Jan 15 17:10:59 1993 Mike Stump (mrs@cygnus.com)
6642 Thu Jan 14 16:02:27 1993 Niklas Hallqvist (niklas at della.appli.se)
6644 * cp-decl.c (start_function): Don't try to match static member
6645 functions with "C"-linkage declared global functions.
6647 Thu Jan 14 17:58:15 1993 Mike Stump (mrs@cygnus.com)
6649 * cp-method.c, cp-type2.c, cp-typeck.c: Make sure the fourth
6650 argument to build_overload_call is (struct candidate *)0 not just
6653 Thu Jan 14 17:15:40 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6655 * cp-decl.c (grokdeclarator): Don't warn on an initialized var
6656 that's extern if it's a const.
6658 Thu Jan 14 17:03:40 1993 Michael Tiemann (tiemann@rtl.cygnus.com)
6660 * cp-pt.c (coerce_template_parms): Add new parameter IN_DECL.
6661 Update error messages to give location information of the _DECL
6662 when an instantiation fails.
6663 (lookup_template_class): Ditto.
6665 All callers changed.
6666 * cp-tree.h (lookup_template_class): Update prototype.
6667 * cp-parse.y (template_type_name): Update calls to
6668 lookup_template_class.
6670 Thu Jan 14 02:09:17 1993 Mike Stump (mrs@cygnus.com)
6672 * cp-decl2.c (grokfield): Arrange for the type to be set on class
6673 typedefs, cures one type of internal compiler error 62. Now calls
6674 set_identifier_type_value just before pushdecl_class_level.
6676 Wed Jan 13 22:43:58 1993 Mike Stump (mrs@cygnus.com)
6678 * cp-search.c (get_base_distance): Allow checking of UNION_TYPEs,
6679 as some of the init code calls us.
6681 Wed Jan 13 21:12:22 1993 Mike Stump (mrs@cygnus.com)
6683 Mon Jan 11 20:11:17 1993 Niklas Hallqvist (niklas at della.appli.se)
6685 * cp-parse.y (implicitly_scoped_stmt, simple_stmt): New rules to
6686 handle the changed semantics of selection & iteration statements
6687 in ANSI C++ (check out 6.4-5 in the draft as opposed to the ARM).
6688 (simple_if, stmt, compstmt): Changed to use the new rules.
6689 (stmt_decl_msg): Removed this static (together with all its uses)
6690 because it's now unnecessary.
6691 (cond_stmt_keyword): New static string to use in the error message
6692 of paren_expr_or_null.
6693 (paren_expr_or_null): Use cond_stmt_keyword instead of stmt_decl_msg.
6695 Tue Jan 12 18:53:44 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6697 * cp-decl.c (lookup_name): If PREFER_TYPE is -2, don't call
6698 lookup_nested_field.
6699 * cp-spew.c (yylex) [IDENTIFIER case]: Call lookup_name with -2
6702 * cp-decl2.c (grokclassfn): If there's no IDENTIFIER_TYPE_VALUE (it
6703 could have gotten blown away by poplevel_class), use ctype to build
6706 * cp-call.c (convert_harshness): Avoid dereferencing a null PARM,
6707 which can be passed in by convert_harshness itself.
6709 Mon Jan 11 12:25:51 1993 Brendan Kehoe (brendan@cygnus.com)
6711 * cp-tree.h (VTABLE_NAME_P, VBASE_NAME_P): Reverse order, so they'll
6712 go for [1..3], to avoid referencing beyond the bounds of a name.
6714 * cp-xref.c (fctname): Delete extern decl of `declname'.
6716 * cp-type2.c (build_scoped_ref): Pass the nodes themselves down into
6717 error_not_base_type, not the strings, since it'll peel off the decl
6718 name and type name of them itself.
6720 * cp-class.c (build_vbase_path): flag_assume_nonnull_objects is an
6723 * dbxout.c (dbxout_type_methods): Only emit warning about dbx info
6724 for templates when WARN_TEMPLATE_DEBUGGING is set. Only reference
6725 the var WARN_TEMPLATE_DEBUGGING if we've got HAVE_TEMPLATES defined.
6726 * cp-tree.h (HAVE_TEMPLATES): Define.
6727 * cp-decl2.c (lang_decode_option): Set WARN_TEMPLATE_DEBUGGING when
6729 * flags.h (warn_template_debugging): Add extern decl.
6730 * toplev.c (lang_options): Add -Wtemplate-debugging.
6732 * cp-decl.c (make_temporary_for_reference): Call make_decl_rtl with
6734 (finish_decl): Likewise.
6735 (grokfndecl): With a NULL_PTR, not a NULL_TREE.
6737 Fri Jan 8 19:43:52 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6739 * cp-search.c (get_binfo): Use obstack_ptr_grow instead of
6740 obstack_int_grow, casting the int to a void*. When retrieving it,
6741 cast the result of dereferencing SEARCH_STACK->FIRST as an int.
6742 (get_base_distance): Likewise.
6743 (breadth_first_search): Likewise.
6745 Fri Jan 22 15:09:42 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
6747 * pyr.h (SIZE_TYPE): Define.
6748 (NO_DOLLAR_IN_LABEL): Define.
6750 Fri Jan 22 12:19:47 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
6752 * pa.c (secondary_reload_class): Simplify.
6754 Fri Jan 22 07:57:57 1993 Richard Kenner (kenner@vlsi1.ultra.nyu)
6756 * collect2.c (our_file_name): New variable.
6757 (find_a_file): Ignore filename equal to that in our_file_name.
6758 (main): Initialize our_file_name.
6760 * expr.c (emit_library_call): Correct mis-applied patch.
6762 Thu Jan 21 11:36:04 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
6764 * pa.h (REG_CLASSES): Delete GENERAL_OR_FP_OR_SNAKE_FP register
6765 class, it's not needed anymore. Delete all references. 'Z'
6766 register class is now "ALL_REGS".
6767 * pa.c (emit_move_sequence): Handle secondary reloads for SAR.
6769 Tue Jan 19 20:08:01 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
6771 From Torbjorn Granlund (tege@sics.se):
6772 * i960.c (cmplpower2_operand): New function.
6773 * i960.md (addsi3): Clean up condition for when to use subo.
6774 (umulsidi3): New pattern.
6775 (non-canonical nand, nor): Remove paterns.
6776 (clrbit, notbit static bit): New patterns.
6777 (setbit, clrbit, notbit dynamic bit): New patterns.
6778 (setbit static bit non-canonical): Remove pattern.
6779 (muldf3, mulsf3, multf3): Add % to operand1.
6780 (test recognizers): Use TAB efter mnemonic.
6782 * reorg.c (update_reg_dead_notes): New function.
6783 (fill_simple_delay_slots): Call new function when moving
6784 instruction forward into a delay slot.
6786 * sched.c (sched_analyze_1, sched_analyze_2): Ifdef out code added
6787 for handling psuedo register equivalents that was added Dec 31 1992.
6789 From Steve Chamberlain (sac@cygnus.com):
6790 * libgcc1.c (__eqdf2, __nedf2, __gtdf2, __gedf2, __ltdf2, __ledf2,
6791 __eqsf2, __nesf2, __gtsf2, __gesf2, __ltsf2, __lesf2): comparison
6792 result type is now word_mode.
6793 * libgcc2.c (cmpdi2, ucmpdi2): comparison result type is now
6795 * optabs.c (emit_cmp_insn, emit_float_lib_cmp): libcall comparisons
6798 Tue Jan 19 15:28:59 1993 James Van Artsdalen (james at bigtex.cactus.org)
6800 * function.c (fixup_var_refs_1): Set INSN_CODE to -1 before seeing
6801 if new insn form is recognized.
6803 * reg-stack.c (all functions): Use NULL_RTX instead of 0 for rtx
6806 (emit_pop_insn): Emit insn with mode QImode: insn contains
6809 (emit_hard_swap_insn): Delete.
6810 (emit_swap_insn): Merge with emit_hard_swap_insn.
6811 Delete WHEN arg and change all callers.
6812 If previous insn was a push from REG, omit swap.
6813 If previous insn wrote reg-stack top to REG, omit swap.
6814 Emit swap insn with mode QImode: insn contains stack-regs.
6815 Emit swap insn after previous float insn, instead of before this
6818 (swap_rtx_condition): New function.
6819 (compare_for_stack_reg): If op 0 of COMPARE is not a stack reg,
6820 exchange ops 0 and 1 and swap cc0 user condition.
6822 * i386.h (PREFERRED_RELOAD_CLASS): Narrow ALL_REGS to
6824 (PREFERRED_OUTPUT_RELOAD_CLASS): New macro. Narrow ALL_REGS to
6826 (SECONDARY_MEMORY_NEEDED): New macro.
6828 * i386.md (cmpdf_cc,cmpsf_cc): Allow first operand to be a MEM.
6829 Don't allow both operands to be MEM.
6830 (float addM3,subM3,divM3,mulM3 recognizers): Don't allow either
6831 operand to be a constant.
6833 (all float patterns, FLOAT_EXTEND operands): Don't allow
6834 GENERAL_REGS for float_extended operand.
6835 (all float patterns, FLOAT operands): Change constraints to get
6836 better register classification.
6837 (fix_truncMN2 patterns): Likewise.
6838 (floatMN2 patterns): Likewise.
6840 Tue Jan 19 15:51:16 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
6842 * pa.md (define_function_unit for memory): Memory is pipelined.
6844 * pa.md (sCC patterns): Use %char notation instead of nested
6846 (branch matchers): Likewise.
6847 (incscc, negscc): Likewise. Add ? constraint for 3-insn
6849 (incscc): Split into `incscc' and `decscc' to make this really
6851 (incscc/decscc special cases): New patterns using carry bit.
6852 * pa.c (print_operand): Handle 'S' and 'B' for conditions.
6853 Handle 'I' for printing 'i' when CONST_INT.
6854 Handle 'k' for ones-complement of CONST_INT.
6855 (incscc_operator): Remove.
6857 * pa.md (many patterns): Use canonical address format. Use %r
6858 register notation. Use GEN_INT.
6860 * pa.md (main move SF recognizer): Allow 0 for copying to
6863 * pa.md (zero_extendhisi2): Remove DEFINE_EXPAND.
6864 (zero_extendqihi2): Likewise.
6865 (zero_extendqisi2): Likewise.
6866 (comment before sign extension): Remove the lie.
6868 * pa.h (REG_CLASS_FROM_LETTER): Remove partly incorrect PA
6871 Tue Jan 19 09:22:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6873 * fold-const.c (non_lvalue): Result must not be null ptr constant.
6874 (omit_one_operand): Use non_lvalue.
6875 (fold, case COMPOUND_EXPR): Use non_lvalue if value is 0.
6876 * c-typeck.c (build_compound_expr): Use non_lvalue if value is 0.
6878 Tue Jan 19 08:29:16 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
6880 * rs6000.c (print_operand, case 'k'): New case.
6881 * rs6000.md (plus of gtu patterns): Add case to handle immediates.
6883 * rs6000.c (output_epilog): Only restore the cr's that we actually
6884 used; previously, we saved and restored all of them.
6886 * combine.c (combine_instructions): Clear reg_last_set_label.
6888 Tue Jan 19 01:16:45 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6890 * flow.c (find_basic_blocks): Don't mark labels in nonlocal_label_list
6891 that were deleted due to having no references.
6893 Mon Jan 18 21:02:22 1993 H.J. Lu (hlu@yardbird.eecs.wsu.edu)
6895 * configure (--local-prefix=DIR): new flag sets $local_prefix.
6896 The default is /usr/local. Put it into Makefile.
6898 * Makefile.in (local_prefix): new prefix, the default is /usr/local.
6899 (cccp.o): change LOCAL_INCLUDE_DIR to $(local_prefix)/include.
6901 Mon Jan 18 15:29:46 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6903 * objc-act.c, objc-act.h: Renamed from objc-actions.*.
6904 * objc-act.c: Include objc-act.h.
6905 * Makefile.in: Targets and deps changed.
6907 * objc-actions.c (encode_method_def): Null-terminate encoding.
6908 (build_ivar_list_initializer): Null-terminate type encoding.
6910 * cccp.c (include_defaults): Do use GCC_INCLUDE_DIR for cross compiler.
6911 Move TOOL_INCLUDE_DIR later if cross.
6913 Mon Jan 18 13:39:32 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
6915 * expr.c (emit_library_call): Handle OUTGOING_REG_PARM_STACK_SPACE.
6916 Use NULL_TREE instead of (tree) 0.
6918 * expr.c (emit_move_insn, expand_expr): Fix typos in comments.
6920 * cccp.c (initialize_builtins): Add uses of new macros
6921 NO_BUILTIN_SIZE_TYPE and NO_BUILTIN_PTRDIFF_TYPE.
6923 * i960.h (ROUND): Change macro name to ROUND_PARM.
6924 * i960.c (i960_function_arg_advance, i960_function_arg): Likewise.
6926 * stor-layout.c (make_signed_type): Consistently use
6927 HOST_BITS_PER_WIDE_INT. Correct minor formatting problems.
6928 (fixup_signed_type): Use HOST_BITS_PER_WIDE_INT and HOST_WIDE_INT
6929 like make_signed_type does.
6930 (fixup_unsigned_type): Correct minor formatting problem.
6932 * x-linus (LANGUAGES): Delete.
6934 Mon Jan 18 08:13:34 1993 James Van Artsdalen (james at bigtex.cactus.org)
6936 * Makefile.in (stmp-headers): Delete target files before copying
6939 Mon Jan 18 06:23:35 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
6941 * collect2.c (choose_temp_base, main): Fix "off by one" errors in
6942 sizes of allocated strings.
6944 Mon Jan 18 00:32:20 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6946 * gcc.c (process_command): Fix typo in last change.
6948 Sun Jan 17 13:09:03 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
6950 * pa.h (FP_REG_CLASS_P): New macro.
6951 (REGISTER_MOVE_COST): Use FP_REG_CLASS_P to simplify. Make moves
6952 from SAR to expensive that they should never happen.
6954 Sun Jan 17 10:38:38 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
6956 * pa.c (emit_move_sequence): Fix spacing.
6957 (compute_zdepi_operands): Fix header comment.
6958 (many functions): Use %%r register syntax. Use canonical (0,%rN)
6960 (output_function_prologue): No need to test frame_pointer_needed
6961 in else clause of `if (frame_pointer_needed)'.
6962 (output_function_prologue): Test boolean merge_sp_adjust_with_store
6963 for zeroness, not for equality with 1.
6964 (fmpyaddoperands): Use new variable mode for mode of operands[0].
6965 (fmpysuboperands): Likewise.
6967 Fri Jan 15 16:42:30 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
6969 * pa.h (LEGITIMIZE_ADDRESS): Handle (plus (mult (X) (Y)) (Z))
6970 when Y is 2, 4, or 8 specially.
6971 * pa.c (shadd_constant_p): New function.
6973 * integrate.c (FIXED_BASE_PLUS_P): Fix typo.
6975 * loop.c (move_movables): Clear INSN_CODE for each insn as
6976 we perform register replacements.
6977 (strength_reduce): Likewise.
6979 Fri Jan 15 16:02:07 1993 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
6981 * final.c (alter_cond): Undo previous change.
6983 Thu Jan 14 22:09:40 1993 Ian Lance Taylor (ian@cygnus.com)
6985 * Makefile.in (stmp-headers): Avoid problems with relative
6986 $(srcdir) when installing syslimits.h.
6988 Thu Jan 14 19:20:01 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
6990 * c-decl.c (c_decode_option): Set WARN_UNINITIALIZED to 2 with
6991 -Wall, being careful to preserve it if it's already set.
6992 * cp-decl2.c (lang_decode_option): Likewise.
6993 * toplev.c (main): Warn about using -Wuninitialized without -O.
6995 * cccp.c (main): Trim down to the basename of what's to go in
6998 * gcc.c (process_command): Only accept input files which exist and
6999 can be read; prevent link phase if an input file was rejected. Be
7000 careful not to check for `-l' directives.
7001 (error_count): Make into a static global variable.
7003 Thu Jan 14 18:19:35 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
7005 * t-mips, t-ultrix, t-osfrose: Change `config/' to `config/mips/'.
7007 Thu Jan 14 16:55:11 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
7009 * pa.h (CONDITIONAL_REGISTER_USAGE): Do not make %r27 a global_reg.
7011 * pa.c (output_function_prologue): Combine stack adjustment and
7012 first GR save when reasonable to do so.
7013 (output_function_epilogue): Combine stack adjustment and first
7014 GR restore when reasonable to do so. Avoid load/use stall for
7015 RP restore in common cases.
7017 * pa.h (LEGITIMIZE_ADDRESS): Rework to create REG and REG+D
7018 addresses instead of REG+REG addresses.
7020 Thu Jan 14 15:45:50 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7022 * objc/core.c (initialize_dispatch_tables): Create an entry in RECORD
7023 for each class used in a given file, not just one.
7025 Thu Jan 14 12:00:35 1993 Ian Lance Taylor (ian@cygnus.com)
7027 * Makefile.in (INSTALL_HEADERS_DIR, FLOAT_H, CROSS_FLOAT_H): New
7029 (INSTALLED_H): Removed.
7030 (float.h): Copy from $(FLOAT_H).
7031 (float.h-nat, float.h-cross): New targets.
7032 (stmp-headers, stmp-fixincludes): New targets to build fixed
7033 include files in build directory.
7034 (all.cross, rest.encap): Depend on stmp-headers.
7035 (clean): Remove the include directory and stmp-*.
7036 (install-normal): Renamed from install-native.
7037 (install-cross): Removed.
7038 (INSTALL_TARGET): Changed to install-normal from install-native.
7039 (install-headers): Install from build directory.
7040 (install-include-dir, install-headers-tar,install-headers-cpio,
7041 install-assert-h): New targets.
7042 (install-float-h, install-limits-h, install-common-headers,
7043 install-fixincludes): Removed.
7044 * cross-make (INSTALL_TARGET): Don't override.
7045 (FLOAT_H): New override, set to $(CROSS_FLOAT_H).
7047 Thu Jan 14 14:17:05 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
7049 * libgcc2.c: Correct typo in comment.
7051 * fixinc.sco, fixinc.svr4 (egrep and sed loop): Don't print
7052 messages about files that need no change.
7054 * sparc.md (muldf+1, muldf+2): Add patterns for fsmuld and fdmulq.
7056 * sparc.c: Clarify numerous *_operand comments.
7057 (SPARC_STACK_ALIGN): Delete.
7058 (sparc_frw_output_function_epilogue): Delete unused variable
7060 (sparc_frw_epilogue_delay_slots): Delete r15/fmask test.
7061 * sparc.md: Document sparclite integer multiply cycle times.
7062 (movdf, !TARGET_FPU): Remove tests for floating point registers.
7063 (divsi3, udivsi3): Correct length attribute.
7064 (ffssi2): Define for sparclite.
7065 * sparc.h (CPP_SPEC): Add -mfrw support.
7066 (OVERRIDE_OPTIONS): Define. Can't omit frame pointer or do pic
7068 (REG_USED_SO_FAR): Delete.
7069 (CONST_COSTS): Give SMALL_INT constants cost of 0. Make UDIV,
7070 DIV, MOD, UMOD more expensive. Make FIX same cost as FLOAT.
7071 (TARGET_FRW): Define.
7072 (TARGET_DEFAULTS): Add -mfrw flag.
7073 (INITIAL_FRAME_POINTER_OFFSET): Add -mfrw support.
7074 (BASE_OUTGOING_VALUE_REG, BASE_INCOMING_ARG_REG): Likewise.
7075 (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
7076 (DELAY_SLOTS_FOR_EPILOGUE, ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
7077 (EXPAND_BUILTIN_SAVEREGS): Likewise.
7079 * expr.c (do_tablejump): Pass 1 for unsigned flag to emit_cmp_insn.
7081 Thu Jan 14 14:43:15 1993 Torbjorn Granlund (tege@sics.se)
7083 * pa.c (move_operand): Allow all CONST_INTs that can be moved to
7084 general registers with one insn.
7085 * pa.c (pre_cint_operand): New predicate for predecrementing
7087 * pa.c (zdepi_cint_p): New function.
7088 * pa.c (depi_cint_operand): Remove.
7089 * pa.c (and_mask_p): New name for consec_zeros_p. All callers
7091 * pa.c (srcsi_operand): Removed.
7092 * pa.c: Use INT_14_BITS instead of synonym SMALL_INT.
7093 * pa.c (emit_move_sequence): Clean up CONST_INT case.
7094 * pa.c (compute_zdepi_operands): New name for
7095 compute_xdepi_operands_from_integer. Change second parm to return
7096 plain integers, was RTXes.
7097 * pa.c (print_operand): Handle 'Z' for 'zdepi' source used to move
7100 * pa.h (CONST_OK_FOR_LETTER_P): Change meaning of 'K'. Add new
7101 alternative 'N'. Use VAL_*_BITS_P macros when possible.
7102 * pa.h (LEGITIMATE_CONSTANT_P) Fix comment.
7103 * pa.h (FITS_14_BITS): Remove.
7104 * pa.h (SMALL_INT): Remove.
7106 * pa.md (move patterns): Reorganize pattern order. Cleanup. Merge
7107 CONST_INT patterns into main patterns for SImode, HImode, QImode.
7108 Add patterns to recognize predecrement cases in SImode, HImode,
7109 QImode. Remove 'y' constraint from SImode recognizer.
7110 (main HImode, QImode recognizers): Handle SAR move from greg.
7111 Change constraints to match the SImode pattern.
7112 * pa.md (cmov): Move near other conditional patterns.
7113 * pa.md: Replace all occurences of srcsi_operand with move_operand.
7114 Replace `ldo X(0),d' with `ldi X,d'.
7115 * pa.md (rotlsi3): Remove SET_ATTRs.
7116 * pa.md (rotrsi3): Likewise.
7118 Thu Jan 14 13:33:55 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
7120 * rtl.c (copy_rtx): A MEM with constant address is not sharable.
7123 Thu Jan 14 06:45:51 1993 James Van Artsdalen (jrv@goldman.gnu.ai.mit.edu)
7125 * i386.md (cmpstr patterns): Fix mode mismatch in SET.
7127 Wed Jan 13 16:05:07 1993 Ian Lance Taylor (ian@cygnus.com)
7129 * configure: Precompute version in generated Makefile.
7131 * Makefile.in: (CROSS_GCC_CFLAGS, CROSS_TOOLS, REAL_LD_NAME,
7132 install-cross-tools): Removed.
7133 * cross-make (CROSS_GCC_CFLAGS, CROSS_TOOLS): Removed.
7134 (SYSTEM_HEADER_DIR): Set to $(tooldir)/include.
7135 * gcc.c: Use TOOLDIR_BASE_PREFIX, not TOOLDIR_PREFIX.
7137 Wed Jan 13 12:04:21 1993 Michael Meissner (meissner@osf.org)
7139 * libgcc2.c (_ffsdi2): Use the correct names for structure
7140 elements of type DIunion. Return the correctly typed value.
7142 * mips-tdump.c (print_file_desc): Correctly scale the rfd pointer.
7143 Patch from ian@cygnus.com.
7145 Wed Jan 13 10:04:26 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
7147 * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Fix typo.
7149 Wed Jan 13 03:05:08 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7151 * fixinc.svr4 (rpc/types.h): Change const extern to extern const.
7153 * expr.c (expand_increment): Handle all preincrements by building
7154 arithmetic and calling expand_assignment.
7156 * stmt.c (expand_asm_operands): For clobbering memory,
7157 generate (MEM (SCRATCH)) inside the CLOBBER.
7159 * cccp.c (include_defaults):
7160 Put GCC_INCLUDE_DIR just before the system dirs whose files are fixed.
7162 * Makefile.in (risky-stage1, etc): Use $(GCC_PARTS) as what to mv.
7164 Tue Jan 12 23:24:30 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7166 * stor-layout.c (variable_size): Change back to NULL_PTR.
7168 Tue Jan 12 18:59:01 1993 James Van Artsdalen (james at bigtex.cactus.org)
7170 * reload1.c (reload): Clear reload_in_progress even if reloading
7173 Tue Jan 12 18:32:01 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
7175 * calls.c (emit_call_1): Pass a NULL_RTX into emit_call_insn for
7178 * stor-layout.c (variable_size): Call expand_expr with a NULL_RTX,
7181 * integrate.c (const_equiv): Delete decl, since it's never defined.
7182 (fold_out_const_cc0): Likewise.
7183 * loop.c (delete_insn_forces): Likewise.
7184 * final.c (alter_cond): Delete decl, since it's never defined.
7186 * fold-const.c (fold): Only call force_fit_type with one arg.
7188 * expr.c (group_insns): Make void, since it never returns an rtx.
7190 * emit-rtl.c (emit_jump_insn_before): Call make_jump_insn_raw with
7192 (emit_jump_insn_after): Likewise.
7193 (emit_jump_insn): Likewise.
7195 * dbxout.c (dbxout_type) [case FILE_TYPE, SET_TYPE]: Call with
7196 missing third arg as 0.
7198 * cse.c (fold_rtx): Call itself with missing arg INSN as NULL_RTX.
7200 Tue Jan 12 17:53:13 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
7203 * fixinc.svr4 (stat.h): Don't depend upon specific formal
7204 parameter names when locating static functions to convert
7205 to prototype form. Also be more selective about what
7206 strings to prepend underbars to during renaming of formal
7207 parameters and local variables in static functions.
7209 * cccp.c (main): Set signal handler for SIGPIPE.
7210 (pipe_closed): New function, to handle SIGPIPE.
7212 Tue Jan 12 17:48:13 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
7214 * expr.c (compare_from_rtx): Allow simplify_relational_operation to
7217 Tue Jan 12 02:52:50 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7219 * optabs.c (init_optabs): Use plain `ffs' for SImode ffs_optab libcall.
7221 * Makefile.in (LIB2FUNCS): Add _ffsdi2.
7222 * libgcc2.c (__ffsdi2): New function.
7224 * c-decl.c (init_decl_processing): Declare ffs as builtin.
7226 * fixincludes (egrep and sed loop): Don't print messages about
7227 files that need no change.
7229 Mon Jan 11 17:22:16 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
7231 * sparc.c (eligible_for_epilogue_delay): Delete unused variable
7232 `this_function_name'.
7233 (output_fp_move_double): Delete unused var `addr'.
7234 (output_fp_move_quad): Likewise.
7235 (fregs_ever_live): Delete unused static var.
7236 (output_function_epilogue): Delete `n_fregs' and `i'.
7237 (sparc_frw_output_function_prologue): Delete `regno'.
7238 (sparc_frw_output_function_epilogue): Delete `load_nop'.
7240 * reload1.c (reload): Delete unused variable inc_groups.
7242 * sparc.h (TARGET_SWITCHES): Add no-fpu and hard-float.
7243 (CONDITIONAL_REGISTER_USAGE): Define for ! TARGET_FPU.
7244 (BASE_RETURN_VALUE_REG): Use reg 8 when ! TARGET_FPU.
7245 (BASE_OUTGOING_VALUE_REG): Use reg 24 when ! TARGET_FPU.
7246 * sparc.md (*): Make all fp patterns conditional on TARGET_FPU.
7247 (movtf, movdf, movsf): Add !TARGET_FPU versions.
7248 (sfmode return): Add pattern for when !TARGET_FPU.
7249 (movsi+2, movsf+1): Use %@ instead of %%fp.
7250 (mulsidi3, umulsidi3): Rewrite, to avoid extending constants.
7252 * fixincludes: Do not consider //* to be a C++ comment which needs
7255 Mon Jan 11 15:03:41 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
7257 * pa.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Fix typos.
7259 Mon Jan 11 12:41:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7261 * config/xm-svr4.h (sys_siglist): New macro.
7263 Sun Jan 10 18:16:49 1993 James Van Artsdalen (james at bigtex.cactus.org)
7265 * i386.md (extendsidi2,zero_extendsidi2): New patterns.
7266 (adddi3,subdi3): Don't emit code for low part if known to be zero.
7268 * i386/xm-sysv4.h (alloca): Delete - already defined in xm-i386.h.
7270 * i386/xm-aix.h,i386/xm-sun.h: Include i386/xm-i386.h.
7271 Remove redundant defines.
7273 Sun Jan 10 18:00:17 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
7275 * pa.h (GENERAL_OR_FP_OR_SNAKE_FP_REGS): New register class.
7276 (LEGITIMIZE_ADDRESS): No longer show DP relocation. Simplify.
7277 * pa.md (reload_insi, reload_outsi): Use new "Z" constraint instead
7279 (load HIGH patterns): Rewrite to not show DP relocation.
7280 * pa.c (output_global_address): Handle (high (const (plus ...))).
7281 (secondary_reload_class): If TARGET_KERNEL, then loading a
7282 symbolic address, or the high part of a symbolic address requires
7283 %r1 as a secondary reload register.
7284 (emit_move_sequence, SYMBOL_REF case): If TARGET_KERNEL, then handle
7285 secondary reload created for a symbolic (high (const (plus ...))).
7286 No longer show DP relocation; read_only and normal operands emit the
7288 Emit the same RTL before and after reload, only change how the
7289 scratch/temporary register is chosen.
7291 Sun Jan 10 11:42:12 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
7293 * combine.c (make_extraction): Don't use POS < 0 as a flag
7294 that POS_RTX is to be used; instead use POS_RTX unless it is
7295 nonzero. If POS_RTX is a constant, set POS and clear POS_RTX.
7296 (make_compound_operation, make_field_assignment): Pass 0 for POS
7297 instead of -1 when POS_RTX is nonzero.
7299 Sat Jan 9 01:34:27 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7301 * reload1.c (reload_as_needed): Test for whether to call
7302 forget_old_reloads_1 for a REG_INC note was backwards.
7304 * config/i386/xm-i386.h (alloca): Undef before defining.
7306 * config/i860/sysv3.h (ASM_OUTPUT_LOCAL): New override.
7308 * gcc.c (lookup_compiler): Fix special code for `-' suffix.
7310 * c-lex.c (yylex): Change warning msg when decimal const is unsigned.
7312 * Makefile.in (bootstrap*): Pass BOOT_LDFLAGS down as LDFLAGS.
7314 * Makefile.in (install-dir): Don't create gcc-lib/include.
7316 * objc-actions.c (init_module_descriptor):
7317 Use size_in_bytes to get size of `struct objc_module'.
7319 * c-decl.c (init_decl_processing): Use unsigned_intQI_type_node,
7320 not unsigned_char_..., as index type for ..._array_type_node.
7322 * toplev.c (really_sorry): Use progname in error message, not c++.
7324 * optabs.c (expand_binop): For complex mult, compute res
7325 in each alternative, not before.
7327 * Makefile.in (bootstrap): Pass along CC and libdir in first compile.
7329 * c-decl.c (pushdecl): Avoid multiple extern decl mismatch warnings
7330 when previous decl is built-in.
7332 * cccp.c (macroexpand): Before concatenated empty rest arg,
7333 do copy constant chars, but delete last run of nonwhitespace chars.
7334 (rescan): Handle Newline-Hyphen in expand_to_temp_buffer
7335 as well as when scanning a macro body.
7337 Sat Jan 9 09:11:25 1993 Michael Tiemann (tiemann@rtl.cygnus.com)
7339 * varasm.c (output_constant): Handle CHAR_TYPE and BOOLEAN_TYPE like
7342 Sat Jan 9 08:06:42 1993 Michael Meissner (meissner@osf.org)
7344 * cccp.c (main): If we are creating a new dependency file with -MD
7345 or -MMD, use "w" fopen mode instead of "a".
7347 Fri Jan 8 20:58:12 1993 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
7350 Thu Jan 7 18:16:05 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
7352 * cp-parse.y (template_type): Avoid dereferencing an error_mark.
7354 Wed Jan 6 17:43:23 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
7356 * cp-decl.c (init_decl_processing): Make flag_no_builtin avoid
7357 definitions of builtin fns memcpy, memcmp, strcmp, strcpy, strlen,
7358 sin, and cos. (Add sin and cos.)
7359 (flag_no_builtin): Add extern decl.
7361 * cp-decl.c (current_local_enum): New variable.
7362 (start_enum): Set TREE_ADDRESSABLE on the tag here, and clear
7364 (build_enumerator): Build the field decl here, rather than in
7365 grok_enum_decls; set its TREE_CHAIN to the current_local_enum.
7366 (grok_enum_decls): Chain down, setting the type.
7368 Tue Jan 5 22:09:18 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
7370 * cp-pt.c (tsubst): Properly demangle a method's name if it's for an
7373 Tue Jan 5 15:29:40 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
7375 * cp-method.c (build_opfncall): Make postfix/prefix ++/-- work by
7376 setting the second arg to 0 when using postfix ++/--.
7378 * cp-decl.c (grokdeclarator): Forbid declaring operator= from being
7379 declared as a non-member (or friend) function.
7381 Tue Jan 5 14:26:38 1993 Mike Stump (mrs@cygnus.com)
7383 Jan 5 14:09:08 1993 Paul Eggert (eggert@twinsun.com)
7385 * cp-lex.c (): Propagate a change from c-lex.c.
7387 Tue Jan 5 13:27:05 1993 Mike Stump (mrs@cygnus.com)
7389 Sep 14 17:48:27 1992 Paul Eggert (eggert@twinsun.com)
7391 * cp-lex.c (real_yylex): For floats, use REAL_VALUES_LESS to
7392 distinguish underflow from overflow. Delete special case for 0.0.
7394 Mon Jan 4 15:26:47 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
7396 * cp-typeck.c (build_array_ref): Convert the index from a reference
7397 before doing any appropriate type conversions.
7399 Wed Dec 30 15:36:18 1992 Per Bothner (bothner@cygnus.com)
7401 * convert.c: New file. Contains the common utility routines
7402 from c-convert.c and cp-cvt.c (such as convert_to_integer).
7403 * convert.h: New file: declarations exported from convert.c.
7404 * c-convert.c, cp-cvt.c: Correspondingly reduced.
7405 * cp-cvt.c (cp_convert_to_pointer): New function, with the
7406 extra hair beyond that provided by the C convert_to_pointer.
7407 * Makefile.in (OBJS): Add convert.o.
7408 * cp-typeck.c (build_binary_op), cp-tree.h: Add extra convert_p
7409 parameter, for consistency with the C version (so we can make
7410 convert_to_integer independent of C or C++).
7411 * cp-cvt.c, cp-decl.c, cp-decl2.c, cp-except.c, cp-init.c,
7412 cp-typeck.c, cp-parse.y: Fix calls to build_binary_op to pass
7413 the new convert_p parameter (i.e. 1).
7415 Fri Dec 18 19:19:28 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7417 * cp-method.c (build_overload_nested_name): Use DECL_NAME instead of
7418 DECL_ASSEMBLER_NAME, since pushtag now mangles together
7419 DECL_ASSEMBLER_NAME. This will make us emit `Q21D1B', not `Q221D1B'.
7421 * cp-decl2.c (grokclassfn): Try using the local value for a nested
7422 type if the IDENTIFIER_TYPE_VALUE isn't there.
7424 Wed Dec 16 18:18:43 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7426 * cp-typeck.c (build_unary_op): Set TREE_CONSTANT on the address of
7427 a function if it's static or external (i.e., staticp likes it).
7429 Wed Dec 16 16:09:37 1992 Mike Stump (mrs@cygnus.com)
7431 * cp-decl.c (sigsegv, init_decl_processing): Give users the line
7432 number and source filename on code that makes the back-end call
7435 Tue Dec 15 16:50:45 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7437 * cp-tree.h (CLASSTYPE_NAMES): Deleted.
7439 * cp-init.c (build_offset_ref): When getting ready to give an error
7440 about something not being a member or operator, only call
7441 operator_name_string when it is indeed an operator.
7443 * cp-decl2.c (bad_specifiers): New function.
7444 * cp-tree.h (bad_specifiers): Add prototype.
7445 * cp-decl.c (grokdeclarator): Use it in places where we had
7448 Tue Dec 15 04:05:54 1992 Mike Stump (mrs@cygnus.com)
7450 * cp-lex.c (UNSET_RESERVED_WORD): Update from c-lex.c.
7452 Tue Dec 15 01:21:44 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7454 * cp-lex.c (real_yylex): Convert invisible initialized char array
7455 vars to string constants.
7457 Mon Dec 14 11:38:10 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7459 * Makefile.in: Fix a lot of dependencies on cp-lex.h and other
7460 headers for cp-*.o targets.
7462 * cp-search.c (get_first_matching_virtual): Use warning_with_decl,
7463 not error_with_decl, inside code that's only ever reached with
7464 -Woverloaded-virtual.
7466 * cp-typeck.c (c_expand_return): When building the INIT_EXPR, clear
7467 out the context if it's an ERROR_MARK so the back-end won't die later.
7469 * cp-type2.c (my_friendly_abort): Don't say anything like "please
7470 fix above errors", just exit quietly.
7472 * cp-lex.h (enum rid): Reordered for improved speed in grokdeclarator
7473 when it does its linear search. RID_WCHAR is no longer in the
7474 search path, since it's found by hand (as are RID_INT and RID_CHAR).
7475 (RID_FIRST_MODIFIER): Start at RID_EXTERN now.
7477 * cp-parse.y (overloaddef): Warn that using `overload' is an
7480 Wed Dec 9 08:27:13 1992 Niklas Hallqvist (niklas at della.appli.se)
7482 * cp-decl.c (init_decl_processing): Make sure the "unknown type"
7483 typedecl gets ignored by the debuginfo generators.
7485 Sun Dec 13 02:38:43 1992 Brendan Kehoe (brendan@cygnus.com)
7487 * cp-search.c (lookup_nested_field): Check for assignment to members
7488 of an enclosing class only when looking at a member, not at other
7489 things (like nested types).
7491 * cp-pt.c (type_unification): Only check that ARGS is a TREE_LIST if
7494 These four are from Niklas Hallqvist:
7496 * cp-search.c (compute_visibility): Use the main variant when
7497 testing if a member function belongs in the current class.
7499 * cp-call.c (build_method_call): Don't look for constructors
7500 called by initialization inside class methods in the classes'
7501 bases (as opposed to inherited methods).
7503 * cp-typeck.c (convert_for_initialization): In the case of
7504 templates, make sure build_method_call knows which instantiation
7505 of the class template we're initializing an object of.
7507 * cp-decl.c (grokdeclarator): Instead of an assert, return a
7508 NULL_TREE if the return_type's not return_ctor.
7510 Sat Dec 12 23:52:25 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7512 * cp-dem.c (cplus_demangle): Recognize 'S' for signed char.
7513 (do_cuv_prefix): Print out "signed" for it.
7515 Fri Dec 11 19:36:36 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7517 * cp-cvt.c (convert_to_reference): Fix a typo about when to return
7518 the result of a type conversion.
7520 Tue Dec 8 20:05:25 1992 Mike Stump (mrs@cygnus.com)
7522 * cp-cvt.c (convert_to_reference): If a conversion can be found via
7523 a constructor, then use it.
7525 Fri Dec 4 13:53:01 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7527 * cp-lex.c (init_lex): Delete inits for CARD_EXPR and SET_LE_EXPR,
7528 since we never actually use them.
7530 Thu Dec 3 19:20:14 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7532 * cp-decl.c: Include sys/types.h for systems that need things for
7535 Wed Dec 2 15:51:34 1992 Mike Stump (mrs@cygnus.com)
7537 * cp-call.c (build_method_call): Don't call abort for pure virtual
7538 methods, instead, call the user-defined method. Addresses of pure
7539 virtual methods are probably still wrong.
7541 Wed Dec 2 14:44:41 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7543 * cp-call.c (convert_harshness): If parm's null for a reference (as
7544 can be passed in), return 0.
7546 Tue Dec 1 18:05:20 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7548 * cp-decl.c (grokdeclarator): Make member initialization be a
7549 warning, not an error. Only issue it if not -pedantic, since
7550 grokfield will issue an error when pedantic. Only warn about
7551 constant members being initialized if `-ansi' is being used.
7552 (finish_decl): Only complain about uninitialized const's that aren't
7553 members when acting -pedantic, since we'll have already issued the
7554 error about initializing a field.
7556 * cp-type2.c (build_functional_cast): Revert change of Nov 2,
7557 concerning clearing the TREE_VALUE of a default parameter.
7559 Tue Dec 1 11:09:50 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7561 * cp-call.c (build_method_call): When looking for a default arg
7562 initialized by a ctor, be careful of a null ref w/ operand 1.
7564 * cp-method.c (icat): Handle an argument of `1' first, since it's
7565 the most common case.
7567 Tue Dec 1 02:36:28 1992 Mike Stump (mrs@cygnus.com)
7569 * cp-search.c (get_first_matching_virtual): Only set the
7570 DECL_CONTEXT if the new context is a an unambiguous parent of the
7573 Tue Dec 1 02:20:32 1992 Mike Stump (mrs@cygnus.com)
7575 Wed Nov 25 18:25:06 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
7577 * cp-decl.c (pushdecl): Clear DECL_CONTEXT for local declarations.
7579 Mon Nov 30 15:36:43 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7581 * cp-decl.c (finish_decl): Only complain about uninitialized consts
7582 in the case where we haven't seen a previous decl/init of it.
7584 Thu Nov 26 11:22:12 1992 Mike Stump (mrs@cygnus.com)
7586 * c++: Put a newline after for arg and before do, as ``for arg do''
7587 is not accepted by all shells.
7589 Mon Nov 23 13:21:43 1992 Brendan Kehoe (brendan@cygnus.com)
7591 * c++ (-lm): Also recognize -lmath as a math library.
7593 * c++ (first): Only shift if $first is no, on the chance we got no
7594 arguments at all. If we didn't get anything, say so (since -lg++
7595 will fake out the gcc driver into thinking we want to do something).
7597 * cp-parse.y (paren_expr_or_null): New rule to emit an error when an
7598 empty condition is used when it shouldn't.
7599 (simple_if, stmt): Use it for `if', `while', and `do'.
7601 * cp-decl.c (start_decl): If grokdeclarator returns a
7602 void_type_node, return a NULL_TREE.
7604 * cp-typeck.c (build_modify_expr_1): When calling build_opfncall for
7605 `operator=', use make_node to create a plain NOP_EXPR for it to use,
7606 rather than trying to pass NOP_EXPR down hoping it gets there intact.
7607 (build_modify_expr): Ditto.
7608 * cp-method.c (build_opfncall): Use TREE_CODE on ARG3 for a
7609 MODIFY_EXPR, since it'll be coming in properly as a tree now.
7611 Sat Nov 21 02:33:28 1992 Brendan Kehoe (brendan@cygnus.com)
7613 * cp-init.c (expand_default_init): Clear DECL_REGISTER if we're
7614 going to call a ctor, otherwise we may end up generating bogus and
7615 confusing error messages about taking the addr of something declared
7618 * cp-typeck.c (build_x_function_call): Recognize a ptr-to-method
7619 that is being passed in as a function argument or as part of
7621 (build_indirect_ref): If ERRORSTRING is NULL (it's passed in that
7622 way in many places), then don't try to use it.
7624 Sat Nov 21 01:49:34 1992 Brendan Kehoe (brendan@cygnus.com)
7626 Work towards 64-bit support, and still more housecleaning.
7628 * cp-*.[cy]: For all functions and variables, pass/initialize/compare
7629 NULL_TREE, not 0, where appropriate. Cast comparisons against 0
7630 with the proper pointer types, where appropriate. Fix all passing
7631 of NULLs where there should be NULL_TREEs. Don't include
7632 cp-class.h anywhere. In many places, pass the missing fifth arg
7633 to build_opfncall as NULL_TREE.
7634 * cp-tree.h: Add decls with prototypes for prettymuch every function
7635 in the C++ front-end. Include cp-class.h here.
7636 * cp-call.c: (build_function_call_maybe, unary_complex_lvalue,
7637 convert_harshness): Don't declare.
7638 (explained): Initialize to 0.
7639 (build_field_call): Give build_opfncall its fifth arg (NULL_TREE).
7640 (build_method_call, build_overload_call_real): Don't declare
7642 * cp-class.c (lookup_tag_current_binding_level,
7643 do_inline_function_hair): Don't declare.
7644 (get_vfield_name): Add prototype for static fn.
7645 (leftmost_baseclasses): Disable, never used.
7646 (constructor_name): Don't declare.
7647 (finish_struct): Delete arg EMPTY, never used. Change all callers.
7648 Disable set of leftmost_baseclasses, since it's never used anywhere.
7649 (pushclass): Don't declare declare_uninstantiated_type_level.
7650 * cp-cvt.c (NULL): Undef first.
7651 (build_up_references): Cast return of error_not_base_type to `tree'.
7652 (convert_to_reference): Delete useless variable rval1.
7653 (convert_to_integer): Don't declare build_binary_op_nodefault or
7655 (build_type_conversion): Don't declare default_conversion.
7656 * cp-decl.c (many extern funs): Don't declare.
7657 (grokparms, lookup_name_current_level, lookup_nested_type,
7658 redeclaration_error_message, parmlist_is_random,
7659 grok_op_properties, expand_static_int, deactivate_exception_cleanups,
7660 revert_static_member_fn): Declare static fns w/ prototypes.
7661 (pushlevel): Cast passing of NEWLEVEL to an int.
7662 (poplevel, poplevel_class, finish_method): Cast first two args of
7663 GNU_xref_end_scope to HOST_WIDE_INT.
7664 (duplicate_decls): Pass third arg to compexcepttypes (0).
7665 (grokvardecl): Delete arg CTYPE, never used. Change all callers.
7666 Delete unused local var block_previously_created.
7667 * cp-decl2.c (substitute_nice_name): Don't declare decl_as_string.
7668 (grokclassfn): Delete unused local var name.
7669 (check_classfn): Delete unused arg FLAGS. Change all callers.
7670 (grokfield): Pass digest_init only 3 args, not 6 (that's in the C
7672 (coerce_new_type, coerce_delete_type): Delete first arg CTYPE, it's
7673 never used. Change all callers.
7674 * cp-dem.c (cplus_demangle): Delete unused var non_empty.
7675 (NULL): Undef first.
7676 * cp-except.c: (call_to_unhandled_exception): Add decl of
7678 (init_exception_processing): Add decls of build_function_type and
7680 * cp-gc.c (define_function): Add extern decl.
7681 * cp-init.c (is_aggr_typedef): Delete extern decl. Add type for
7683 (build_new): Don't declare require_complete_type.
7684 (build_vec_delete): Only pass 6 args, not 7.
7685 * cp-lex.c (init_lex): Don't declare init_parse or
7686 lang_printable_name.
7687 (cons_up_default_function): Don't declare constructor_name.
7688 (compiler_error): Declare args V and V2 to be HOST_WIDE_INT.
7689 * cp-method.c (index, rindex): Don't declare.
7690 * cp-parse.y (unary_expr): Cast first arg to build_x_unary_op to
7691 be of enum tree_code type. For every call to build_new, pass its
7692 fourth arg as a comparison of $$ against NULL_TREE, instead of
7694 (combine_strings, truthvalue_conversion): Add extern decls.
7695 (structsp): Pass lookup_name its missing second arg (0).
7696 (component_decl): Pass 5, not 6, args to grokfield.
7697 (ansi_except_stmts): Delete decls of ansi_expand_start_match and
7698 cplus_exception_name.
7699 * cp-pt.c (mangle_class_name_for_template): Delete decl of
7701 * cp-search.c (get_binfo): Declare third arg PROTECT as int.
7702 (get_binfo2, get_binfo2_recursive): Make static.
7703 (get_base_distance): Cast DEPTH and IS_PRIVATE to ints, not
7705 (get_baselinks): Delete decl of hash_tree_cons.
7706 * cp-spew.c (probe_obstack): Make static. Compare NLEVELS != 0,
7707 not > 0, since it's unsigned.
7708 * cp-tree.c (list_hash_lookup_or_cons): Don't declare constructor_name.
7709 * cp-type2.c (digest_init, incomplete_type_error,
7710 readonly_warning_or_error, convert_for_initialization): Don't delete.
7711 (error_with_aggr_type): Declare third arg ARG to be HOST_WIDE_INT.
7712 (build_scoped_ref): Delete unused var orig_ref.
7713 (build_x_arrow): Even worse, give build_opfncall its missing last
7714 two arguments (as NULL_TREEs).
7715 * cp-typeck.c (build_component_ref): Call build_indirect_ref with
7716 its missing second arg (as a NULL).
7717 (build_x_indirect_ref): Again, build_opfncall with its missing
7719 (build_x_function_call): Delete decl of build_overload_call_maybe.
7720 (convert_for_assignment): Cast return of error_not_base_type to tree.
7721 * cp-xref.c (getpwd): Declare as extern.
7722 (Integer, String): Delete typedefs, rename all uses to their real
7723 meanings (`int' and `char *').
7725 Thu Nov 19 01:41:58 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
7727 * cp-dem.c (do_builtin_type): Recognize `w', a wide character, since
7728 it's now a type according to the ANSI X3J16 working paper; output
7730 (cplus_demangle): Accept `w' as an integral type.
7732 * cp-lex.c (init_lex): Delete duplicate setting of `__pl'.
7734 Wed Nov 18 21:29:14 1992 Brendan Kehoe (brendan@cygnus.com)
7736 * cp-class.c (finish_struct): Re-enable code to cut down on the size
7737 of symbol output, the positives outweigh the negatives.
7739 Wed Nov 18 19:51:59 1992 Mike Stump (mrs@cygnus.com)
7741 * cp-search.c (dfs_walk): Move setting of
7742 vbase_decl_ptr_intermediate out of #ifdef code.
7744 Wed Nov 18 18:49:13 1992 Mike Stump (mrs@cygnus.com)
7746 * cp-decl.c (grokdeclarator): Make wording on error message
7749 Tue Nov 17 17:46:11 1992 Brendan Kehoe (brendan@cygnus.com)
7751 * cp-search.c (CHECK_convert_pointer_to_single_level): Don't define.
7753 Mon Oct 5 03:10:14 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
7755 * c++ (numargs): $# was used after set was called; instead, save
7756 $# in $numargs and use that value instead.
7758 Fri Jan 8 18:11:55 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7760 * cccp.c (rescan): Prevent token pasting before macro call.
7761 (macroexpand): Prevent token pasting around an arg unless it's raw.
7763 * c-lex.c (yylex): Don't allow @ in identifier outside of Objective C.
7765 Fri Jan 8 15:03:52 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
7767 * pa.c (plus_xor_ior_operator): New predicate.
7769 Fri Jan 8 13:09:47 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
7771 * combine.c (BYTE_LOADS_EXTEND, LOAD_EXTEND): New macros.
7772 (subst, simplify_and_const_int, nonzero_bits, num_sign_bit_copies):
7774 (subst, case SET): Make a SIGN_EXTEND instead of paradoxical SUBREG
7775 if BYTE_LOADS_SIGN_EXTEND; previously only made ZERO_EXTEND.
7777 * function.c (assign_parm): Fix typo introduced by previous change.
7779 * configure (486 targets): Set cpu_type to i386.
7781 Fri Jan 8 03:48:27 1993 James Van Artsdalen (james at bigtex.cactus.org)
7783 * i386/perform.h: New file. perform_* macros for i386.
7784 * i386/386bsd.h,i386/osfrose.h,i386/mach.h (perform_*): Move
7785 perform_* macros to new file.
7787 Thu Jan 7 19:03:56 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
7789 * pa.h (target_switches): Add "-mtrailing-colon"
7790 (ASM_OUTPUT_LABEL): If TARGET_TRAILING_COLON then emit
7791 a colon after the label.
7792 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
7793 (ASM_OUTPUT_COMMON): Likewise.
7794 (ASM_OUTPUT_LOCAL): Likewise.
7796 Thu Jan 7 18:21:52 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
7798 * configure: Now that all files moved, always include CPU_TYPE in
7799 default file names; do not check both config and config/$cpu_type.
7800 Fix a few missing directory names and remove a few redundant specs.
7802 * config/vax, config/convex: New directories; all files moved.
7803 * configure (vax-*, convex-*): Files now in subdirectories.
7805 Thu Jan 7 17:31:36 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
7807 * Makefile.in (specs): Use GCC_FOR_TARGET.
7809 * Makefile.in (install-common): Install c++ and g++ only if cc1plus
7812 * fixincludes: fix the rename prototype on the rs6000 <stdio.h>,
7813 which conflicted with c++ use of new
7815 * c-decl.c (start_decl): Correct order of parameter declarations.
7817 Thu Jan 7 16:52:01 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7819 * config/romp/x-romp (CC): Add -U__STDC__.
7821 Thu Jan 7 05:30:10 1993 Torbjorn Granlund (tege@sics.se)
7823 * libgcc2.c (__udiv_w_sdiv): Replace hard-coded constants 31 with
7826 * pa.md: Add floating point ld/st indexed patterns.
7828 * pa.md (reg 112:SI recognizers): Remove.
7829 (main move:SI recognizer): Add alternative for greg -> reg 112.
7831 * pa.md (floatsisf2 patterns): Put output template here, don't
7832 call output_floatsiXf2.
7833 (floatsidf2 patterns): Likewise.
7834 * pa.c (output_floatsisf2, output_floatsidf2): Remove.
7836 * pa.md (floatunssidf2, floatunssisf2): New patterns.
7837 (floatdisf2, floatdidf2): New patterns.
7838 (fix_truncsfdi2, fix_truncdfdi2): New patterns.
7839 (rotrsi3, rotlsi3): New patterns.
7840 (shd optimizers): 2 new patterns.
7842 * pa.md (ashlsi3, ashrsi3, lshrsi3): Rewrite not to mention SAR.
7843 (zvdep32, vextrs32): New named recognizers.
7844 * pa.h (FIXED_REGISTERS): Make register 112 (SAR) not fixed.
7846 Thu Jan 7 00:38:02 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7848 * objc/object.m (+ error:, - error:): Use _objc_error.
7850 * reload1.c (reload) [SMALL_REGISTER_CLASSES]: When adding an extra
7851 need if the insn uses the function value return register,
7852 likewise add an extra single-reg need for each class in which
7853 the insn needs a group.
7855 Wed Jan 6 20:38:20 1993 Brendan Kehoe (brendan@cygnus.com)
7857 * alpha.h (ASM_FILE_START): Change .verstamp ident for BL10.
7858 * alpha.md (div/mod): Change calling sequence to agree with BL10.
7860 Wed Jan 6 19:54:05 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
7862 * config/arm: New directory.
7863 * configure (arm-*-*): Update location of tm_file.
7864 * config/pyr: New directory.
7865 * configure (pyramid-*-*): Set xmake_file.
7866 Update location of tm_file.
7868 Wed Jan 6 19:03:18 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7870 * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC, LINK_SPEC):
7871 Add -compat-bsd conditionals.
7873 * cccp.c (main): Implement -iwithprefix.
7875 Wed Jan 6 18:13:13 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
7877 * pa.c (print_operand): Always use "<>" instead of "!=".
7879 * pa.h (target_switches): Add "-mdisable-fpregs" and
7880 "-mdisable-indexing.
7881 (CONDITIONAL_REGISTER_USAGE): If TARGET_DISABLE_FPREGS, then mark
7882 all FP registers as fixed.
7883 * pa.md (indexed loads): Disable if TARGET_DISABLE_INDEXING.
7884 (mulsi3, xmpyu): Disable xmpyu if TARGET_DISABLE_FPREGS.
7885 * configure: Add hppa1.X-hp-utahmach target.
7886 * pa-utahmach.h, pa1-utahmach.h: New files.
7888 Wed Jan 6 11:20:59 1993 Michael Collison (collison at osf.org)
7890 * expr.c (convert_move): Support new modes QFmode and HFmode.
7892 * optabs.c (init_optabs): Add optab entries for QFmode and HFmode.
7894 * reload1.c (init_reload): Add entries in 'reload_in_optab'
7895 for QFmode and HFmode.
7897 * varasm.c (assemble_real): Use `ASM_OUTPUT_BYTE_FLOAT' and
7898 `ASM_OUTPUT_SHORT_FLOAT' for QFmode and HFmode respectively.
7900 * machmode.def: Added new modes QFmode and HFmode.
7902 Wed Jan 6 11:29:46 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
7904 * pa.c (fmpyaddoperands, fmpysuboperands): Cleanups suggested by
7906 * pa.md (fmpyadd peepholes): Cleanups suggested by Tege.
7908 * pa.md (movqi, movhi, movsi, movdi, movsf, movdf): Discourage
7909 regclass from preferring anything which involves a FP<->GR copy.
7911 * pa.md (millicode expands): Change operand 3 in the expand
7912 pattern from a clobber of a match_scratch to a clobber of a
7913 match_operand with a register predicate. Make appropriate
7914 change in the generated RTL.
7915 (millicode insns): Clobber a match_operand with a register
7916 predicate instead of a match_scratch expression.
7917 * pa.c (emit_hpdiv_const): Likewise.
7919 * pa.md (movsi, movhi, movqi, movdi): Use reg_or_0_operand
7922 Wed Jan 6 02:23:48 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7924 * cexp.y (yylex): Make tokstart an unsigned char *.
7926 Wed Jan 6 10:46:19 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
7928 * fixincludes (limits.h): Add #ifndef/#endif around macros that
7929 are supposed to be defined in float.h.
7931 * fixincludes, fixinc.svr4, fixinc.sco: Don't "make LIB absolute"
7932 if already absolute, to avoid problems with the automounter.
7934 Wed Jan 6 02:35:23 1993 Paul Eggert (eggert@twinsun.com)
7936 * cccp.c (check_preconditions, do_error, do_warning, do_xifdef):
7937 Don't use signed chars to index into arrays; they might be negative.
7939 Tue Jan 5 21:20:29 1993 James Van Artsdalen (james at bigtex.cactus.org)
7941 * i386/386.h (DEBUG_PRINT_REG): Print regno along with printable
7943 (CONST_COSTS): Handle integer CONST_DOUBLE correctly.
7944 (PREFERRED_RELOAD_CLASS): Allow integer CONST_DOUBLE into int
7947 * config/fx80: New directory.
7948 * configure (fx80): fx80 configuration files moved there.
7950 * config/i960: New directory.
7951 * configure (i960): i960 configuration files moved there.
7953 * config/sparc: New directory.
7954 * configure (sparc): sparc configuration files moved there.
7955 * sparc/sol2.h: Renamed from spc-sol2.h.
7956 * sparc/xm-sol2.h: Renamed from xm-spc-sol2.h.
7957 * sparc/xm-sysv4.h: Renamed from xm-spcv4.h.
7958 * sparc/sysv4.h: Renamed from sparcv4.h.
7959 * sparc/x-sysv4: Renamed from x-sparcv4.
7960 * sparc/*.h: Use new file names for included sparc files.
7962 * config/i860: New directory.
7963 * configure (i860): i860 configuration files moved there.
7964 * i860/bsd.h: Renamed from i860b.h.
7965 * i860/bsd-gas.h: Renamed from i860bg.h.
7966 * i860/mach.h: Renamed from i860mach.h.
7967 * i860/sysv3.h: Renamed from i860v3.h.
7968 * i860/sysv4.h: Renamed from i860v4.h.
7969 * i860/xm-sysv3.h: Renamed from xm-i86v3.h.
7970 * i860/xm-sysv4.h: Renamed from xm-i86v4.h.
7971 * i860/x-sysv3: Renamed from x-i860v3.
7972 * i860/x-sysv4: Renamed from x-i860v4.
7973 * i860/*.h: Use new file names for included i860 files.
7975 * m68k/tti68k.h: Deleted.
7976 * i386/x-xenix: Deleted.
7977 * i860/i860g3.h: Deleted.
7979 Tue Jan 5 23:54:36 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
7981 * config/pa: New directory.
7982 * config/pa/*.h: Handle PA configuration files in new
7984 * configure (pa): Likewise.
7986 Tue Jan 5 23:31:34 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7988 * elxsi, gmicro, tahoe, we32k, spur: New subdirs; files moved.
7990 * config/harris.h: Include tahoe.h from tahoe/ subdir.
7992 Tue Jan 5 21:45:56 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
7994 * fixincludes (Xmu.h): Add missing ${LIB}/.
7996 * calls.c (expand_call): Pass NULL_RTX to INIT_CUMULATIVE_ARGS.
7997 * function.c (assign_parms): Pass NULL_RTX to INIT_CUMULATIVE_*.
7998 * expr.c (emit_library_call): Pass NULL_TREE to INIT_CUMULATIVE_ARGS.
8000 * Makefile.in (install-dir): Only make includedir once.
8002 * cccp.c (do_line): Add pedantic warnings for out of range line
8003 numbers, and non-space characters after the filename.
8005 Tue Jan 5 15:09:29 1993 Michael Meissner (meissner@osf.org)
8007 * mips/bsd-4-gdb.h: Renamed from mips-gbsd.h.
8008 * mips/bsd-4.h: Renamed from mips-bsd.h.
8009 * mips/bsd-5-gdb.h: Renamed from mips-5gbsd.h.
8010 * mips/bsd-5.h: Renamed from mips-5bsd.h.
8011 * mips/dec-gosf1.h: Renamed from dec-gosf1.h.
8012 * mips/dec-osf1.h: Renamed from dec-osf1.h.
8013 * mips/iris3-gdb.h: Renamed from irisgdb.h.
8014 * mips/iris3.h: Renamed from iris.h.
8015 * mips/iris4-gdb.h: Renamed from iris4g.h.
8016 * mips/iris4.h: Renamed from iris4.h.
8017 * mips/mips-4-gdb.h: Renamed from mips-gdb.h.
8018 * mips/mips-5-gdb.h: Renamed from mips-5gdb.h.
8019 * mips/mips-5-gdb.h: Renamed from mips-g5.h.
8020 * mips/mips-5.h: Renamed from mips-5.h.
8021 * mips/mips.c: Renamed from mips.c.
8022 * mips/mips.h: Renamed from mips.h.
8023 * mips/mips.md: Renamed from mips.md.
8024 * mips/news4-gdb.h: Renamed from mips-gnews.h.
8025 * mips/news4.h: Renamed from mips-news.h.
8026 * mips/news5-gdb.h: Renamed from mips-gn5.h.
8027 * mips/news5.h: Renamed from mips-n5.h.
8028 * mips/nws3250v4.h: Renamed from nws3250v4.h.
8029 * mips/osfrose.h: Renamed from decrose.h.
8030 * mips/svr3-4-gdb.h: Renamed from mips-gsysv.h.
8031 * mips/svr3-4.h: Renamed from mips-sysv.h.
8032 * mips/svr3-5-gdb.h: Renamed from mips-5gsysv.h.
8033 * mips/svr3-5.h: Renamed from mips-5sysv.h.
8034 * mips/svr4-4-gdb.h: Renamed from mips-gsvr4.h.
8035 * mips/svr4-4.h: Renamed from mips-svr4.h.
8036 * mips/svr4-5-gdb.h: Renamed from mips-5g4.h.
8037 * mips/svr4-5.h: Renamed from mips-5svr4.h.
8038 * mips/t-mips: Renamed from t-mips.
8039 * mips/t-osfrose: Renamed from t-decrose.
8040 * mips/t-ultrix: Renamed from t-decstatn.
8041 * mips/ultrix-gdb.h: Renamed from decstabs.h.
8042 * mips/ultrix.h: Renamed from decstatn.h.
8043 * mips/x-dec-osf1: Renamed from x-dec-osf1.
8044 * mips/x-mips: Renamed from x-mips.
8045 * mips/x-nws3250v4: Renamed from x-nws3250v4.
8046 * mips/x-osfrose: Renamed from x-decrose.
8047 * mips/x-sysv: Renamed from x-mipsv.
8048 * mips/x-ultrix: Renamed from x-decstatn.
8049 * mips/xm-iris3.h: Renamed from xm-iris.h.
8050 * mips/xm-iris4.h: Renamed from xm-irix4.h.
8051 * mips/xm-mips.h: Renamed from xm-mips.h.
8052 * mips/xm-news.h: Renamed from xm-mipsnews.h.
8053 * mips/xm-sysv.h: Renamed from xm-umips.h.
8055 * mips/* Modify include files as needed for the MIPS files being
8056 in the config/mips subdirectory.
8058 * halfpic.h, halfpic.c: Eliminate unknown symbol errors when
8059 linking the gen* programs for {i386,dec} OSF/rose, by using BSS
8060 variables instead of extern.
8062 Tue Jan 5 00:29:45 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8064 * c-typeck.c (c_sizeof): Call force_fit_type only for INTEGER_CST.
8066 * objc/core.c (_objc_alloc): Renamed from _alloc.
8067 (_objc_dealloc, _objc_realloc, _objc_copy, _objc_error): Likewise.
8068 * objc/objc.h: Decls renamed also.
8069 * objc/objc-proto.h: Uses renamed also.
8071 * config.sub ($os alternatives for sco and isc):
8072 Preserve the specified os version if any.
8073 Each alternative handles both 386 and 486, preserving distinction.
8074 ($basic_machine alternatives for sco and isc): Deleted.
8075 (i[34]86v32, i[34]86v, i[34]86v4):
8076 Handle both cpus together, preserving distinction.
8078 Mon Jan 4 20:59:37 1993 James Van Artsdalen (james at bigtex.cactus.org)
8080 * config/ns32k: New directory.
8081 * configure (ns32k): ns32k configuration files moved there.
8083 * ns32k/*.h: Use new file names for included ns32k files.
8085 * config/m68k: New directory.
8086 * configure (m68k): m68k configuration files moved there.
8088 * m68k/sgs.h: Renamed from m68ksgs.h.
8090 * m68k/*.h: Use new file names for included m68k files.
8092 Mon Jan 4 18:06:31 1993 Michael Meissner (meissner@osf.org)
8094 * configure (i386-osfrose): Rename i386 OSF/rose files to
8095 osfrose.h, t-osfrose.h, and x-osfrose.h.
8097 * i386/osfrose.h: Renamed from i386/rose.h.
8098 * i386/t-osfrose: Renamed from i386/t-rose.
8099 * i386/x-osfrose: Renamed from i386/x-rose.
8101 Mon Jan 4 11:03:11 1993 Torbjorn Granlund (tege@gnu.ai.mit.edu)
8103 * Makefile.in (install-common-headers): Pipe grep output to /dev/null.
8105 Mon Jan 4 01:12:48 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8107 * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
8108 Alternate definitions if NO_UNDERSCORES.
8110 * c-parse.in (component_declarator):
8111 Allow attribute after nameless field.
8113 * fixincludes (making dirs and links): If we already made subdirs
8114 for a dir foo and foo turns out to be a symlink outside /usr/include,
8115 after we have made a dir for it in ./root/, make similar subdirs there.
8117 Sun Jan 3 07:28:32 1992 Karl Berry (karl@red.cs.umb.edu)
8119 * x-romp (CC): Add -w.
8121 Sun Jan 3 21:19:50 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
8123 * pa.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
8125 * jump.c (jump_optimize, clause for `if (foo) b++'):
8126 Do this regardless of BRANCH_COST if HAVE_incscc is defined.
8127 * pa.md (scc insn): Name this pattern "scc".
8128 (negscc, incscc, cmov): New patterns.
8129 * pa.c (incscc_operator): New function.
8131 * pa.h (actual_fsize, apparent_fsize): Delete unused variables.
8133 Sun Jan 3 20:37:55 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8135 * cccp.c (main): Recognize and remove .cxx as filename suffix.
8137 Sun Jan 3 19:39:18 1993 Michael Meissner (meissner@osf.org)
8139 * mips.h (MIPS_VERSION): Bump Meissner version number to 34.
8141 * mips.c (save_restore_insns): Don't give an error if saving an FP
8142 register at stack offset 0, which occurs when the function is a
8143 leaf function that uses lots of FP registers, and saves no GP
8146 Sun Jan 3 19:00:29 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8148 * local-alloc.c (block_alloc): Generalize tying so we can tie
8149 any operand with the output unless some operand must be in the
8150 same register as the output, in which case only try tying that
8153 * rtl.c (rtx_alloc): Clear common area of rtx in a portable manner.
8155 Sun Jan 3 13:57:33 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
8157 * pa.h (CONST_COSTS): Make CONST_DOUBLES very expensive.
8158 Give HIGH expressions a small cost with CONST, SYMBOL_REF,
8159 and LABEL_REF being twice as expensive as HIGH.
8161 * pa.md (fmpyadd peepholes): New peepholes to issue independent
8162 floating point multiply and add instructions at the same time.
8163 (fmpysub peepholes): Likewise for multiply and subtract instructions.
8164 * pa.c (fmpyaddoperands): Verifys given registers are suitable for
8165 use in fmpyadd instructions.
8166 (fmpysuboperands): Likewise, but for fmpysub instructions.
8168 Wed Oct 28 12:07:54 1992 Tim Moore (moore at defmacro.cs.utah.edu)
8169 * pa.md (call, call_value): If flag_pic, emit restore of PIC table
8171 (call_interal, call_value_internal): Name matching insns.
8172 (movsi, movhi, movqi, movdi, movsf, movdf patterns): Don't
8173 match memory to memory moves.
8175 * pa.h (FIXED_REGISTERS, CALL_USED_REGISTERS): r3 isn't fixed!
8176 (REG_ALLOC_ORDER): Move r3 up in the allocation order.
8177 (HAVE_ATEXIT): Define.
8178 (INITIAL_FRAME_POINTER_OFFSET): compute_frame_size ()
8179 now does the whole calculation, including rounding.
8180 (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Don't pass leaf_function
8181 to output_function_{prologue,epilogue}.
8182 (DELAY_SLOTS_FOR_EPILOGUE): Call hppa_epilogue_delay_slots ().
8184 * pa.c (hppa_save_pic_table_rtx): New variable.
8185 (finalize_pic): Setup hppa_save_pic_table_rtx..
8186 (apparent_fsize): Delete variable.
8187 (compute_frame_size): Many changes. Return the total frame size,
8188 including space for "magic" stuff at the top of the stack and any
8189 rounding for the Snake.
8190 (output_function_prologue): Don't take a leaf_function argument;
8191 Decide that based on frame size and frame_pointer_needed.
8192 Don't emit any frame diddling code if actual_fsize is 0.
8193 (output_function_epilogue): Don't take leaf_function argument.
8194 Don't do anything if no frame.
8195 Keep stack pointer aligned to 64 bytes before loading from old
8197 (hppa_epilogue_delay_slots): Only if there is no frame will we
8198 have an empty delay slot to fill.
8199 (eligible_for_epilogue_delay): Don't check "leaf_function" anymore.
8201 Sun Jan 3 07:28:29 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8203 * gcc.c (putenv_from_prefixes): Use PATH_SEPARATOR.
8204 Properly use JUST_MACHINE_SUFFIX when desired; always make path
8205 the same as find_a_file will use.
8207 Sat Jan 2 16:35:55 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8209 * config.sub: Translate sunos5 to solaris2, and solaris1 to sunos4.
8211 * tree.c, tree.h (int_size_in_bytes): Change ret type back to int.
8213 * calls.c (expand_call): Don't use int_size_in_bytes
8214 for a variable-size object.
8216 Sat Jan 2 15:16:24 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
8218 * c-parse.in (label): Use expr_no_commas instead of expr for case
8221 Sat Jan 2 03:30:10 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8223 * Makefile.in (gcc.o): Define TOOLDIR_BASE_PREFIX.
8225 * gcc.c (TOOLDIR_PREFIX): Define if not defined.
8226 (tooldir_prefix, tooldir_base_prefix): New variables.
8227 (main): Set tooldir_prefix.
8228 Add it (plus `bin' or `lib') to search paths.
8230 * cccp.c (default_include): Look directly in TOOL_INCLUDE_DIR.
8231 * protoize.c (default_include): Likewise.
8233 * collect2.c (main): Look for `real-ld' after `gld', before `ld'.
8234 In debug printout, fix typo in prev change.
8236 Fri Jan 1 13:32:36 1992 Ian Lance Taylor (ian@cygnus.com)
8238 * Makefile.in (cccp.o, protoize.o, unprotoize.o):
8239 Define TOOL_INCLUDE_DIR as $(tooldir)/include.
8240 (test-protoize-simple): Define TOOL_INCLUDE_DIR as 0.
8242 * config/i386/linux.h (STARTFILE_SPEC): Removed -L"TOOLDIR"/lib.
8244 Fri Jan 1 06:26:11 1993 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8246 * collect2.c: Look for tools using paths rather than a single prefix.
8247 (struct prefix_list, struct path_prefix): New structures.
8248 (cpath, path): New variables.
8249 (find_a_file, add_prefix): New functions; simplified versions of
8250 functions from gcc.c.
8251 (prefix_from_env): New function.
8252 (main): Get path to search for binaries from COMPILER_PATH
8253 environment variable always set by gcc.c and from PATH.
8254 Qualify names with target machine in cross-environment unless
8255 using compiler directories.
8256 Use find_a_file to find our binaries.
8257 Remove use of single prefix.
8258 If -debug, print strip_file_name.
8259 (fork_execute): Print program we are trying to execute if -debug and
8260 we can't find the file.
8261 (scan_prog_file): Complain if can't find NM.
8262 * Makefile.in (REAL_LD_NAME): New variable.
8263 (collect2.o): Don't need STANDARD_STARTFILE_PREFIX, etc.
8264 (install-cross-tools): Use REAL_LD_NAME instead of `ld' when linking
8265 files from tooldir to libsubdir.
8267 Fri Jan 1 17:51:05 1993 Jim Wilson (wilson@sphagnum.cygnus.com)
8269 * dbxout.c (dbxout_symbol, TYPE_DECL case): Don't output tag which
8270 references incomplete type.
8272 * fixincludes (sunwindow/{win_cursor.h,win_lock.h}): Change invalid
8273 #ifdef identifier `ecd.cursor' to `ecd_cursor'.
8275 * c-typeck.c (build_binary_op): Add 'right' and 'left' to shift
8276 count warnings to distinguish them from each other.
8278 * function.c (fixup_var_refs_insn): Update last_parm_insn when
8279 insns are output after it to fix it up.
8281 * sdbout.c (plain_type_1): Distinguish some C integer types by name.
8283 * Makefile.in (MAKEINFO): New variable, defined to `makeinfo'.
8285 * rs6000.h (ASM_FILE_START): Switch to text section at end.
8286 Output declaration for .mcount when profiling.
8288 Fri Jan 1 12:15:42 1993 Jeffrey A. Law (law@schirf.cs.utah.edu)
8290 * pa.md (movqi, movhi, movsi, movdi, movsf, movdf): Fix attributes
8291 which involve fp<->gr copies to match current reality.
8292 (indexed loads): These should have "load" attributes, not "move".
8294 * pa.c (output_floatsisf, output_floatsidf): Abort if presented
8295 with a general register.
8296 * pa.md (movdf const_couble): Fix lengths.
8297 (floatsisf patterns): Likewise.
8298 (floatsidf patterns): Likewise.
8300 * pa.h (REGISTER_MOVE_COST): Make moving between FP and non-FP
8301 registers more expensive.
8303 * pa.h (TARGET_NO_BSS): Delete target switch. Delete all references.
8305 Fri Jan 1 07:40:58 1993 Tom Wood (wood@dg-rtp.dg.com)
8307 * config/m88k: New directory.
8308 * configure (m88k*): Files are now in config/m88k.
8309 * m88k/dgux.h, m88k/dolph.h, m88k/luna.h, m88k/sysv3.h,
8310 m88k/sysv4.h, m88k/xm-sysv3.h: Include files in m88k.
8311 * m88k/t-dgux, m88k/t-m88k, m88k/t-m88k, m88k/t-sysv4: Use
8314 Thu Dec 31 17:38:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8316 * gcc.c (do_spec_1): Propagate failure from recursive calls.
8318 * i386/386bsd.h (perform_*): Rename macro args to arg0, arg1.
8320 Thu Dec 31 15:42:35 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
8322 * sched.c (sched_analyze_1, sched_analyze_2): If before reloading,
8323 record dependences that may be introduced by reload substituting
8324 equivalents for pseudo registers.
8326 * sched.c (sched_analyze_2): Use REG_NOTE_KIND not GET_MODE in
8327 add_dependence call.
8328 (sched_analyze_insn): Likewise.
8330 * sparc.h (LIB_SPEC): When -a, include bb_link.o.
8332 * t-sol2 (gmon.o, crt*.o): Change config to $(srcdir)/config.
8334 * reload.c (operands_match_p): For WORDS_BIG_ENDIAN machines,
8335 make multiple register operands equivalent if the last register of
8336 the groups are the same.
8337 (subst_reloads): Use gen_lowpart_common to change mode of
8339 * reload1.c (emit_reload_insns): Likewise.
8341 * reload1.c (gen_input_reload): Also handle PLUS of a MEM and
8344 * i960.h (CPP_SPEC, CC1_SPEC, ASM_SPEC, LINK_SPEC,
8345 TARGET_SWITCHES): Delete support for non-existent CPU variations.
8346 (ASM_SPEC, LINK_SPEC, TARGET_SWITCHES): Add support for -mlink-relax.
8347 (SELECT_CC_MODE): Correct typo.
8349 * sparc.c (print_operand): For invalid operands, call
8350 output_operand_lossage instead of aborting.
8352 * i960.md (call_internal, call_value_internal): Use 'l' for
8353 match_scratch constraint not 'd'.
8355 * function.c (assign_parms): Emit conversions into a sequence, and
8356 then output the sequence after all parameters have been moved.
8358 * optabs.c (expand_binop): Correct indentation of doubleword
8361 * sparc.h (TARGET_SWITCHES): Have -msparclite also clear TARGET_FPU.
8363 * va-i960.h: Define away __extension__ if compiled by GCC v1.
8365 * libgcc2.c (L_builtin_new): Change to L_op_new. Use new style
8366 definition for __builtin_new.
8367 (L_caps_New): Change to L_new_handler. Delete unused function
8369 (L_builtin_del): Change to L_op_delete. Delete vfp declaration.
8370 Use new style definition for __builtin_delete. Delete unused
8371 function __builtin_vec_delete.
8372 * Makefile.in (LIB2FUNCS): Change _builtin_new to _op_new. Change
8373 _caps_New to _new_handler. Change _buildin_del to _op_delete.
8375 * m68k.h (TARGET_SWITCHES): -m68030 does not imply -m68881.
8377 * gcc.c (input_from_pipe): New variable.
8378 (do_spec): Set/clear input_from_pipe as appropriate. Translate %|
8379 to "-" if input_from_pipe is true.
8380 * sparc.h (ASM_SPEC): Use %|.
8382 * m68k.c (strict_low_part_peephole_ok): New function.
8383 * m68k.md: Add peephole to eliminate unecessary clear instructions
8384 in strict_low_part insn sequences.
8386 * configure (elxsi): Move it out of the middle of the sparc section.
8388 * unroll.c (copy_loop_body, JUMP_INSN case): Do map the body of
8389 the loop branch back, then rewrite it to jump past the end of the
8392 * c-decl.c (pushdecl): Check TREE_PUBLIC in addition to
8393 DECL_EXTERNAL decls when looking for duplicate external declarations.
8395 * cccp.c (multiline_string_line): New file scope static variable.
8396 (rescan): Delete multiline_string_line variable definition.
8397 (skip_quoted_string): Print start line number of unterminated
8398 string and character constants. When see a newline: warn if
8399 pedantic; delete unreachable duplicate code for traditional case;
8400 set multiline_string_line.
8402 Thu Dec 31 11:11:30 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
8404 * pa-hpux.h (LIB_SPEC): Fix so that one can link in profiled
8405 libraries under HPUX.
8406 * pa-ghpux.h, pa-hpux7.h, pa-gux7.h (LIB_SPEC): Likewise.
8408 Thu Dec 31 08:50:42 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8410 * a29k.h (OBJECT_FORMAT_COFF): Add definition.
8412 * rs6000/xm-rs6000.h (REAL_NM_FILE_NAME): Delete from here.
8413 * rs6000/rs6000.h (REAL_NM_FILE_NAME): Put it here.
8415 Thu Dec 31 01:53:13 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8417 * tree.c (build_index_type): Leave TYPE_MAX_VALUE as -1 if it was;
8418 don't truncate the high bits.
8420 * Makefile.in (distdir): New target broken out from gcc.xtar.
8421 Depend on $(srcdir)/INSTALL.
8422 (gcc.xtar): Depend on distdir.
8423 (doc): Delete dep $(srcdir)/INSTALL.
8425 Wed Dec 30 12:54:53 1992 James Van Artsdalen (james at bigtex.cactus.org)
8427 * i386/i386.c (output_fp_cc0_set): Abort if cc0 user not found.
8429 * i386/i386.md (movsf,movdf): Change constraints to use integer regs
8432 * i386/i386.h (PREFERRED_RELOAD_CLASS): Don't reload CONST_DOUBLE into
8435 * jump.c (delete_computation): reg_referenced_p wants body, not insn.
8437 Wed Dec 30 07:03:49 1992 John F Carr (jfc at Athena.MIT.EDU)
8439 * caller-save.c (setup_save_areas): Don't assign save area for a
8440 group if some register in the group has already been assigned an
8443 Wed Dec 30 06:05:07 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8445 * tree.def (TRUTH_XOR_EXPR): New tree code.
8446 * expr.c (expand_expr, case TRUTH_XOR_EXPR): New case.
8447 * fold-const.c (invert_truthvalue, case TRUTH_XOR_EXPR): New case.
8448 (fold, case TRUTH_XOR_EXPR): New case.
8449 (fold, case TRUTH_OR_EXPR, TRUTH_AND_EXPR): Check for second
8450 operand of appropriate value to determine result whether or
8451 not first operand is a constant.
8452 * c-common.c (truthvalue_conversion): Handle TRUTH_XOR_EXPR.
8453 * c-convert.c, cp-cvt.c (convert_to_integer): Likewise.
8454 * c-typeck.c (build_binary_op): Likewise.
8455 * cp-typeck.c (build_binary_op_nodefault): Likewise.
8456 * cp-class.c (instantiate_type): Likewise.
8457 * stmt.c (expand_return): Likewise.
8459 Wed Dec 30 01:48:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8461 * fixincludes: Chmod each copied file a+r.
8462 * fixinc.svr4, fixinc.sco: Likewise.
8464 * Makefile.in (extraclean): Quote the sharps.
8466 * expr.c (expand_expr): In NOP_EXPR case, truncate and
8467 reextend integer constants.
8469 Tue Dec 29 18:21:06 1992 James Van Artsdalen (james at bigtex.cactus.org)
8471 * i386/i386.md (bit complement): Constrain inputs and outputs to
8472 match, instead of using match_dup.
8473 (zero_extract test): Reenable with separate patterns to match
8474 QImode and SImode zero_extract.
8476 * i386/sysv3.h: Renamed from i386/svr3.h.
8477 * i386/sysv4.h: Renamed from i386/svr4.h.
8478 * i386/x-sysv3: Renamed from i386/x-svr3.
8479 * i386/xm-sysv3.h: Renamed from i386/xm-svr3.h.
8480 * i386/xm-sysv4.h: Renamed from i386/xm-svr4.h.
8482 * configure (i386): Use new file names for 386 files.
8483 * i386/*.h: Likewise for included files.
8485 Tue Dec 29 18:04:13 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8487 * Avoid truncation of object sizes when bit size won't fit in a word.
8488 * fold-const.c (const_binop): New arg NOTRUNC. All calls changed.
8489 (size_binop): Pass 1 for NOTRUNC.
8490 (force_fit_type): No longer static.
8491 * tree.c (size_in_bytes): Call force_fit_type with end result.
8492 (int_size_in_bytes): Avoid overflow as long as result fits.
8493 Return type is now unsigned int.
8494 * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
8495 Call force_fit_type with end result.
8497 * stor-layout.c (layout_record): Avoid overflow in const_size
8498 by adding into var_size instead.
8500 Tue Dec 29 09:01:33 1992 Tom Wood (wood@dg-rtp.dg.com)
8502 * configure (m88k-dgux): Use t-m88kdgux.
8504 Tue Dec 29 06:56:41 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8506 * genemit.c (gen_split): Initialize _val in generated function.
8508 Tue Dec 29 02:27:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8510 * cccp.c (make_definition): Pass NULL as 3rd arg to do_define.
8512 Mon Dec 28 14:56:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8514 * c-parse.in (stmt, FOR case): Do call position_after_white_space
8515 after recording the current lineno for the increment.
8517 * config.sub: Default to bsd for *-sequent.
8519 Mon Dec 28 06:05:12 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8521 * combine.c: Add a few missing HOST_WIDE_INT casts.
8522 Rename references to `significant' bits to be `nonzero' bits;
8523 specifically the following, but also local vars and comments:
8524 (reg_nonzero_bits): Renamed from reg_significant.
8525 (nonzero_bits): Renamed from significant_bits.
8526 (nonzero_sign_valid): Renamed from significant_valid.
8527 (set_nonzero_bits_and_sign_copies): Renamed from set_significant.
8529 * fold-const.c (fold, case BIT_IOR_EXPR): Convert the IOR of a pair
8530 of shifts into a rotate when it is equivalent.
8532 * expmed.c (expand_shift): If rotating by a constant, try both
8533 directions of rotate.
8534 If can't open-code a rotate, do it as a pair of shifts followed by
8537 * combine.c (simplify_comparison, case NEG): Replace large block of
8538 code with equivalent call to num_sign_bit_copies.
8540 * expr.c (get_inner_reference): Don't look at flag_volatile.
8541 (expand_expr, case INDIRECT_REF, OFFSET_REF): Likewise.
8542 * c-typeck.c, cp-typeck.c (build_indirect_ref): Set volatility from
8545 * i386/rose.h (OPTIMIZATION_OPTIONS): Delete; we don't want to set
8546 -finline-functions for -O3 and this does nothing else useful.
8547 * mips.h (OPTIMIZATION_OPTIONS): Likewise.
8548 * i960.h (OPTIMIZATION_OPTIONS): Don't set -finline-functions for -O3.
8550 Sun Dec 27 18:33:38 1992 James Van Artsdalen (james at bigtex.cactus.org)
8552 * config/i386: New directory.
8553 * configure.bat: 386 configuration files moved to new directory.
8554 * configure (i386): Likewise.
8555 Delete lines that duplicate default actions of configure.
8557 * i386/386bsd.h: Renamed from i386bsd.h.
8558 * i386/att.h: Renamed from att386.h.
8559 * i386/bsd.h: Renamed from bsd386.h.
8560 * i386/gas.h: Renamed from i386gas.h.
8561 * i386/gstabs.h: Renamed from i386gstabs.h.
8562 * i386/linux.h: Renamed from i386linux.h.
8563 * i386/mach.h: Renamed from i386mach.h.
8564 * i386/rose.h: Renamed from i386rose.h.
8565 * i386/sco.h: Renamed from i386sco.h.
8566 * i386/sco4.h: Renamed from i386sco4.h.
8567 * i386/seq-gas.h: Renamed from seq386gas.h.
8568 * i386/sequent.h: Renamed from seq386.h.
8569 * i386/sun.h: Renamed from i386sun.h.
8570 * i386/svr3.h: Renamed from i386v.h.
8571 * i386/svr4.h: Renamed from i386v4.h.
8572 * i386/t-isc: Renamed from t-i386isc.
8573 * i386/t-rose: Renamed from t-i386rose.
8574 * i386/t-sco: Renamed from t-i386sco.
8575 * i386/unix.h: Renamed from unx386.h.
8576 * i386/x-aix: Renamed from x-aix386.
8577 * i386/x-isc: Renamed from x-i386isc.
8578 * i386/x-rose: Renamed from x-i386rose.
8579 * i386/x-sco: Renamed from x-i386sco.
8580 * i386/x-sco4: Renamed from x-i386s4.
8581 * i386/x-svr3: Renamed from x-i386v.
8582 * i386/xm-aix.h: Renamed from xm-aix386.h.
8583 * i386/xm-dos.h: Renamed from xm-i386dos.h.
8584 * i386/xm-isc.h: Renamed from xm-i386isc.h.
8585 * i386/xm-sco.h: Renamed from xm-i386sco.h.
8586 * i386/xm-sun.h: Renamed from xm-i386sun.h.
8587 * i386/xm-svr3.h: Renamed from xm-i386v.h.
8588 * i386/xm-svr4.h: Renamed from xm-i38v4.h.
8590 * i386/*.h: Use new file names for included 386 files.
8592 Sun Dec 27 22:02:09 1992 H.J. Lu (hlu@yardbird.eecs.wsu.edu)
8594 * i386linux.h (CPP_SPEC): Define -D__i486__ if compile for i486.
8595 (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION):
8596 Copy definitions from i386v4.h to get PIC code correct.
8597 (FUNCTION_PROFILER): Copy definition from i386bsd.h.
8598 (COMMENT_BEGIN, ASM_APP_ON, ASM_APP_OFF): Copy from i386bsd.h
8599 to prepare for new GAS.
8601 * Makefile.in: (gcc.o): Add $(MAYBE_TARGET_DEFAULT).
8603 Sun Dec 27 16:33:13 1992 Tom Wood (wood@dg-rtp.dg.com)
8605 * m88k.c (block_move_loop, block_move_no_loop, block_move_sequence):
8606 Always set MEM_IN_STRUCT_P. If it wasn't previously set, use BLKmode.
8607 * m88k.md (BLKmode load/store patterns): New.
8608 (call_block_move, call_movstrsi_loop): Allow any mode for the preload.
8610 * m88k.c (output_file_start): Emit `requires_88110' when -m88110
8611 is used with -mversion-04.00.
8612 * m88k.h (OVERRIDE_OPTIONS): Allow version 04.00 default.
8613 (VERSION_0400_SYNTAX, REQUIRES_88110_ASM_OP): New definitions.
8614 * m88kdgux.h (ASM_FIRST_LINE): Print the version string.
8616 * m88k.md (length attribute): Branches may be expanded to two
8617 instructions by the assembler.
8618 (DFmode bcnd pattern): Don't try to fill the delay slot.
8619 (CCmode bbx patterns): Reverse the 1/0, not the condition.
8621 * m88kdgux.h (ASM_SPEC): Pass -KVstring given -mversion-string.
8623 * m88kdgux.ld, t-m88kdgux: New file.
8624 * m88kdgux.h (LIB_SPEC): Add crtend.o.
8625 (STARTFILE_SPEC): Add crtbegin.o, and m88kdgux.ld for COFF.
8626 (CTOR_LIST_END, DTOR_LIST_END): Define as -1.
8627 (DO_GLOBAL_{C,D}ORS_BODY): Ignore null entries and look for -1
8630 Sun Dec 27 16:08:04 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8632 * hp320.h (ASM_OUTPUT_DOUBLE_OPERAND): Delete spurious space after \.
8634 * gstddef.h [__sequent__]: #undef _PTRDIFF_T_ at beginning, if defined.
8636 * reload1.c (emit_reload_insns): Error instead of abort
8637 if an asm has a VOIDmode output operand.
8639 * reload.c (push_reload): Move the NO_REGS abort after the
8640 error check for asms, to avoid crashing for asms.
8641 Fix inmode and outmode too, if they are VOID for an asm.
8643 Sun Dec 27 10:48:10 1992 Jeffrey A Law (law@schirf.cs.utah.edu)
8645 * reorg.c (mostly_true_jump): When trying to determine
8646 if the current insn is essentially a conditional return,
8647 look inside of SEQUENCE insns for jumps.
8648 Predict jumps to the exit test for loops as likely to be taken.
8650 Sun Dec 27 06:53:39 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8652 * reorg.c (relax_delay_slots): Only look at JUMP_LABEL for a
8655 * jump.c (delete_jump): Use single_set to see if INSN just sets PC.
8656 Remove code to delete previous cc0-setting insn.
8657 (delete_compution): No longer conditional on #ifndef HAVE_cc0.
8658 If insn uses CC0, delete previous insn that just sets CC0 for us;
8659 do deletion via recursive call.
8661 * combine.c (subst, case SET): Call recog_for_combine with OTHER_INSN,
8662 not UNDOBUF.OTHER_INSN.
8664 * genoutput.c (have_error): New variable.
8666 (main): Test it and return FATAL_EXIT_CODE if it is set.
8668 * emit-rtl.c (copy_rtx_if_shared): A CONST can be shared if it
8669 contains a SYMBOL_REF.
8670 * rtl.c (copy_rtx): Likewise.
8671 A SCRATCH must be shared.
8672 A MEM may be shared if it is at a constant address.
8674 Sun Dec 27 02:48:27 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8676 * cccp.c (macroexpand): Expand each macroarg first time we find a need
8677 to substitute its expansion.
8678 (macarg): Don't expand them here.
8680 * expr.c (expand_expr, constructor case): If we made a stack slot,
8681 set MEM_IN_STRUCT_P if the type warrants it.
8683 * configure: When testing existence of a config file, specify $srcdir.
8685 Sat Dec 26 18:12:08 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8687 * tree.c (make_node, case 'c'): For INTEGER_CST, use size of
8688 struct containing constant, just like for reals. Also, clean
8689 up code to avoid confusing fallthrough.
8691 * a29k/unix.h, rs6000/aix32.h, rs6000/mach.h, rs6000/xm-mach.h:
8692 Include main file from subdirectory.
8694 * config/a29k, config/alpha, config/romp, config/rs6000: New
8696 * configure: If a file isn't in config, try in config/$cpu_type.
8697 (a29k, alpha, romp, rs6000): Files moved to new machine subdirectories.
8698 Delete lines that duplicate default actions of configure.
8700 * combine.c (gen_lowpart_for_combine): Allow MODE to be wider
8701 than a word in restricted circumstances.
8703 * c-typeck.c (check_format): Using both a precision and the `0' flag
8704 is only a problem on `d', `i', `o', `u', `x', and `X' conversions.
8706 Sat Dec 26 17:05:24 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8708 * object.h: Don't include objc.h or stdio.h.
8709 Change Class_t to Class everywhere.
8710 (id, nil, Nil, Class, STR, SEL, IMP, BOOL, YES, NO): Define,
8711 but not if objc.h was already included.
8712 [__objc_INCLUDE_GNU] (Class): Alias this to Class_t.
8714 * object.m: Include objc.h and stdio.h before object.h.
8716 Sat Dec 26 05:12:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8718 * Version 2.3.3 released.
8720 Fri Dec 25 06:53:49 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8722 * expmed.c (store_bit_field): If VALUE needs to be narrowed, do
8723 it with gen_lowpart, not an explicit SUBREG.
8725 * a29k.md (divsf3): Fix typo in mode of DIV.
8727 Fri Dec 25 00:03:26 1992 James Van Artsdalen (james at bigtex.cactus.org)
8729 * Makefile.in (install-dir): Add missing semicolon.
8731 * i386sco4.h (_KR, _SVID, _NO_PROTOTYPE): Define if -traditional.
8733 Thu Dec 24 15:02:29 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8735 * fixinc.svr4: Don't change bitfield types to int.
8737 * seq386.h (TARGET_DEFAULT): Override.
8739 Wed Dec 23 20:19:17 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8741 * i386sco4.h (CPP_SPEC): Avoid repeated def of _M_SYSV.
8743 Tue Dec 22 15:40:08 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8745 * c-decl.c (store_parm_decls): Use TYPE_MAIN_VARIANT to compare types
8746 when merging info from previous prototype.
8748 * fixinc.svr4: Add special fixes for netinet/in.h and sys/endian.h.
8750 Mon Dec 21 02:58:27 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8752 * m68kv4.h (ASM_OUTPUT_CASE_END):
8753 Use switch_table_difference_label_flag.
8755 * configure (m68k-motorola-sysv*): Set use_collect2.
8757 Sat Dec 19 20:19:44 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8759 * a29k.c (secondary_reload_class): Return CR_REGS for larger than
8760 word memory, and BP_REGS for part-word mem with no DW.
8762 * a29k.md: Consistently use `&' in constraint of MATCH_SCRATCH.
8763 Always use a reg as 4th arg of dmac/fmac even if ignored by insn.
8764 Uses of `b' as a constraint in multi-word reload patterns should
8767 Sat Dec 19 01:32:13 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8769 * Makefile.in (all.cross): Add `specs' as dep.
8771 * build-make (CC): Delete the -V option.
8773 * getpwd.c (getpwd): Don't get upset if ERANGE is not defined.
8775 Fri Dec 18 20:56:59 1992 John Hassey (hassey@dg-rtp.dg.com)
8777 * objc-actions.c (build_encode_expr):
8778 Terminate the encode string with a null.
8779 (encode_aggregate): Distinguish pointer to record from a
8780 record. Output fields for record. Fix unions.
8782 Fri Dec 18 17:17:39 1992 Michael Meissner (meissner@osf.org)
8784 * mips.h (MIPS_VERSION): Set Meissner version # to 33.
8785 (struct mips_args): Add support for passing QI/HI mode structures
8786 the way the MIPS compiler passes them.
8787 (SIZE_TYPE, PTRDIFF_TYPE): Define as unsigned int, and int if not
8790 * mips.c (init_cumulative_args): Use a static structure to
8791 initialize the CUMULATIVE_ARGS structure.
8792 (function_arg_advance): Add a newline at the end of debug output.
8793 (function_arg): If a structure is passed as a QImode or HImode
8794 value in a register, record the fact for the call define_expands
8795 and prologue expander to move the structure into the high part of
8796 the register, and back again. If debugging, print if the argument
8798 (mips_expand_prologue): Shift any QI/HI structures passed back, so
8799 they can be used as normal QI/HI values.
8801 * mips.md (call): If there were any tiny structures passes as
8802 QI/HI modes in registers, shift the register, so that the
8803 structure value is in the high part of the register.
8804 (call_value): Ditto.
8805 (call_internal): Delete creating $31 rtx, since we can get it from
8806 the normal insn patterns.
8807 (call_value_internal): Ditto.
8809 Fri Dec 18 05:14:14 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
8811 Make abstract virtual functions work.
8812 * cp-call.c (compute_conversion_costs): Undo change of Sept 1 about
8813 setting HARSHNESS to 0 re: the conversion of the first argument.
8814 (build_method_call): Delete the code that redid the RTL for calling
8815 the right fn, since we will now behave correctly. (Even with this,
8816 we ended up calling the wrong fn---the base class, rather than the
8819 * cp-decl2.c (grokclassfn): Try using the local value for a nested
8820 type if the IDENTIFIER_TYPE_VALUE isn't there.
8822 * cp-method.c (build_overload_nested_name): Use DECL_NAME instead of
8823 DECL_ASSEMBLER_NAME, since pushtag now mangles together
8824 DECL_ASSEMBLER_NAME. This will make us emit `Q21D1B', not `Q221D1B'.
8826 Thu Dec 17 17:51:16 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
8828 * Makefile.in (install-dir): Added missing then and semicolon.
8830 Thu Dec 17 15:19:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8832 * x-i386s4 (CC): New assignment.
8834 Wed Dec 16 15:49:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8836 * objc-actions.c (finish_objc) [OBJC_SELECTORS_WITHOUT_LABELS]:
8837 Always call build_selector_translation_table.
8839 * Makefile.in (install-dir):
8840 If cross-compiler, create $(tooldir) and $(assertdir).
8842 Wed Dec 16 14:19:08 1992 Richard Kenner (kenner at vlsi1.ultra.nyu)
8844 * rs6000.h (INITIALIZE_TRAMPOLINE): Get function address and toc
8845 pointer from correct place relative to FNADDR.
8847 * varasm.c (assemble_trampoline_template): If TRAMPOLINE_SECTION
8848 is defined, put the trampoline template into that section.
8850 * alpha.h (TRAMPOLINE_SECTION): New macro.
8852 Wed Dec 16 14:19:41 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
8854 * reload.c (get_secondary_mem): Don't save address if it isn't valid.
8856 Wed Dec 16 13:59:17 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8858 * varasm.c (assemble_trampoline_template):
8859 Use readonly_data_section, not text_section.
8861 Wed Dec 16 11:32:11 1992 Michael Meissner (meissner@osf.org)
8863 * mips.h (MIPS_VERSION): Set Meissner version # to 32.
8864 (compute_frame_size): Change function return type to long.
8865 (epilogue_reg_mentioned_p): New function decl.
8866 (mips_frame_info): Change unsigned longs to longs.
8867 (ELIGIBLE_FOR_EPILOGUE_DELAY): Call epilogue_reg_mentioned_p.
8869 * mips.c (epilogue_reg_mentioned_p): New function to return true
8870 if any register used in the epilogue sequence is referenced. If
8871 the stack size is greater than 32k bytes, return true for
8872 registers $8 and $9, since they are used to hold temps.
8873 (compute_frame_size): Change return type & variables to long.
8874 (compute_frame_size): Use 1L in shifts to create GP save mask.
8875 (save_restore): Merge function into save_restore_insns.
8876 (save_restore_insns): Add FILE * argument, to write to the .s
8877 file if non-NULL -- otherwise produce insns. Add arguments to
8878 pass in that the prologue/epilogue has loaded the stack size into
8879 $8 if large stack frame. Completely rewrite large stack frame
8880 support, so that it doesn't abort if large stack frame, saved GP
8881 registers, and no saved FP registers. If large stack frame, use
8882 stack size stored in $8 if we can.
8883 (function_prologue): Make tsize long.
8884 (function_epilogue): Ditto.
8885 (mips_expand_prologue): Ditto.
8886 (mips_expand_epilogue): Ditto.
8887 (mips_expand_prologue): Change call to save_restore_insns.
8888 (mips_expand_epilogue): Ditto.
8889 (function_epilogue): Call save_restore_insns instead of
8892 Wed Dec 16 07:33:08 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8894 * stmt.c (expand_goto): Set LABEL_REF_NONLOCAL_P in the LABEL_REF
8895 we make in the non-local case.
8897 * varasm.c (assemble_trampoline_template): Always put template in
8900 Wed Dec 16 05:04:06 1992 Tom Wood (wood@dg-rtp.dg.com)
8902 * combine.c (try_combine): Allow for the case where I3 becomes an
8903 unconditional jump when it is the last nonnote insn.
8905 Tue Dec 15 20:30:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8907 * cccp.c (do_pragma): Use index, not strchr.
8909 * seq386.h (FUNCTION_PROFILER): Add missing . to label name.
8911 * reload1.c (eliminate_regs_in_insn): Test old_body, not new_body,
8912 since people have tested it that way.
8914 * reload1.c (eliminate_regs_in_insn): Don't recopy new_body
8915 if it is an asm_operands insn.
8917 Tue Dec 15 19:42:58 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
8919 * sparc.md (return peepholes): Add QImode and HImode move/return
8922 Tue Dec 15 17:42:07 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8924 * alpha.h (ASM_SPEC): New macro.
8926 * alpha.h (TRAMPOLINE_{TEMPLATE,SIZE}, INITIALIZE_TRAMPOLINE):
8927 Make major changes to fix numerous bugs.
8928 (TRANSFER_FROM_TRAMPOLINE): New macro.
8929 * alpha.md: Add new UNSPEC_VOLATILE 0 to flush instruction cache.
8931 Mon Dec 14 13:16:14 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8933 * rs6000.c (output_epilog): Support LANGUAGE_STRING values for F77,
8936 Sun Dec 13 16:42:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8938 * fixinc.sco: Complete rewrite by ian@cygnus.com.
8940 Sat Dec 12 17:51:43 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8942 * va-alpha.h: Correctly form multi-word object.
8944 * alpha.c (alpha_builtin_savregs): Correctly compute ARGSIZE and NREGS.
8946 * alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Deleted.
8948 Sat Dec 12 08:42:43 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
8950 * pa-hpux.h (TARGET_DEFAULT): Do not enable TARGET_SHARED_LIBS
8951 by default in 2.3.3 since it doesn't really work.
8952 * pa-ghpux.h, pa1-hpux.h, pa1-ghpux.h: Likewise.
8954 * pa.md (floatsisf, floatsidf): Do not accept general registers.
8956 Fri Dec 11 00:13:52 1992 Ian Lance Taylor (ian@cygnus.com)
8958 * configure (i[34]86-*-sco3.2v4*): Use fixinc.sco.
8959 * fixinc.sco: New file.
8960 Like fixinc.svr4 but turn !__STDC__ into !__STRICT_ANSI__. Don't
8961 require space after getcwd argument in stdlib.h.
8962 * x-i386s4: Don't use rcc:
8963 (CC, OLDCC, RCCFLAGS, CCLIBFLAGS): Vars deleted.
8964 * xm-i386sco.h (ONLY_INT_FIELDS): Define if not __GNUC__.
8965 (CODE_FIELD_BUG): Likewise.
8966 * rtl.h (struct rtx_def) [ONLY_INT_FIELDS]: Handle CODE_FIELD_BUG.
8968 Fri Dec 11 17:56:53 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
8970 * cp-search.c (lookup_nested_field): Check for assignment to members
8971 of an enclosing class only when looking at a member, not at other
8972 things (like nested types).
8974 * cp-cvt.c (convert_to_reference): If a conversion can be found via
8975 a constructor, then use it. Also fix a typo about when to
8976 return the result of a type conversion.
8978 Fri Dec 11 08:15:53 1992 James Van Artsdalen (james@bigtex.cactus.org)
8980 * reload1.c (choose_reload_regs): Don't inherit a reload if the
8981 previous reload wasn't at least as wide as the current reload.
8983 Fri Dec 11 07:19:11 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
8985 * alpha.c (output_epilog): Remove garbage from one decl of EXTRA.
8986 Subtract, not add, size from frame pointer.
8988 * a29kunix.h (LINK_SPEC): Use -T, not -c, for new gld and change file
8989 name to default.gld from default.ld.
8991 * function.c (assign_outer_stack_local): Align proper frame offset.
8993 * loop.c (get_condition): Check for overflow when canonicalizing
8996 Thu Dec 10 15:53:41 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
8998 * enquire.c (i_define, u_define, f_define): Add #undef before #define.
8999 * fixinc.svr4 (limits.h): Add #ifndef/#endif around macros that
9000 are supposed to be defined in float.h.
9002 * combine.c (try_combine): Only use I2DEST as a scratch reg for
9003 a split if it does not overlap any inputs of NEWPAT.
9005 Thu Dec 10 10:23:28 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9007 * combine.c (get_last_value): Never use value from later insn, even
9008 if reg is only set once.
9010 * c-tree.h (IDENTIFIER_LIMBO_VALUE): Delete duplicate definition.
9012 Thu Dec 10 08:54:03 1992 Tom Wood (wood@dg-rtp.dg.com)
9014 * i386sco4.h (CPP_PREDEFINES): Define i386 and unix here.
9015 (CPP_SPEC): Not here.
9017 Wed Dec 9 19:03:55 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
9019 * pa.h (ASM_DECLARE_FUNCTION_NAME): Correctly get the return type
9022 * x-pa (CC): Set to "/usr/local/bin/gcc" instead of
9025 Tue Dec 8 17:50:26 1992 Michael Meissner (meissner@osf.org)
9027 * mips.h (MIPS_VERSION): Bump Meissner version number to 31.
9028 (LEGITIMIZE_ADDDRESS): Split large offsets, even when not
9029 optimizing. Otherwise, illegal stack offsets can be generated.
9031 Tue Dec 8 11:55:52 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
9033 * pa.md (sh[123]add): Use "shadd_operand" as the predicate for
9035 * pa.c (shadd_operand): New function.
9037 Tue Dec 8 08:30:13 1992 Tom Wood (wood@dg-rtp.dg.com)
9039 * hp320.h (AS_BUG_FLOATING_CONSTANT, AS_BUG_TRAILING_LABEL): New.
9040 (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Output align 1 to
9041 accomodate the "trailing label" bug.
9042 (ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_FLOAT_OPERAND): Define to
9043 output values in hex to accomodate the "floating constant" bug.
9044 (PRINT_OPERAND_FLOAT, PRINT_OPERAND): Ditto.
9046 * gcc.c (temp_names): New variable.
9047 (do_spec_1): Rewrite MKTEMP_EACH_FILE for %g/%u/%U.
9048 (choose_temp_base): Abort if mktemp yields a null string.
9050 Tue Dec 8 08:30:13 1992 Niklas Hallqvist (niklas@della.appli.se)
9052 * integrate.c (expand_inline_function): Don't output line notes
9053 for implicit formals.
9055 Tue Dec 8 06:21:44 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9057 * cse.c (max_uid): New variable.
9058 (cse_end_of_basic_block): Use it to ignore insns made by CSE.
9061 Mon Dec 7 21:22:29 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
9063 * cp-init.c (do_friend): Revert change of Sept 1; it seems to have
9064 broken properly emitting friends.
9066 Mon Dec 7 19:09:25 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9068 * reload1.c (eliminate_regs_in_insn): Make another copy of all the
9069 RTL if we changed something and we aren't permanently replacing.
9071 * romp.md (reload_out{q,h}i): Write as proper PARALLEL.
9073 Sun Dec 6 16:27:14 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9075 * alpha.md (add-mult): Add missing `&' in constraints of kludge
9076 plus/plus/mult pattern.
9078 Sun Dec 6 16:26:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9080 * optabs.c (expand_binop): Correct sign of complex quotient imagpart.
9082 Sun Dec 6 07:59:16 1992 Michael Meissner (meissner@osf.org)
9084 * mips.h (MIPS_VERSION): Set Meissner version # to 30.
9085 (LEGITIMIZE_ADDRESS): For <reg>+<large int> addresses, rewrite so
9086 that <reg> + (<large int> & ~0x7fff) is put into a pseudo reg.
9087 This is to allow CSE to generate better code for repeated
9088 references in the same general vicinity, such as when large stack
9091 * config/dec-osf1.h (LINK_SPEC): Pass -call_shared, -no_archive,
9092 and -exact_version to the linker. If -call_shared, do not pass
9093 -non_shared to the linker.
9094 * mips-5.h (LINK_SPEC): Ditto.
9095 * mips-5bsd.h (LINK_SPEC): Ditto.
9096 * mips-svr4.h (LINK_SPEC): Ditto.
9097 * mips-sysv.h (LINK_SPEC): Ditto.
9099 Fri Dec 4 19:50:29 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9101 * fixincludes: fix _cplusplus typo in SCO's tinfo.h
9103 Fri Dec 4 19:22:35 1992 Randy S. Welch (randy@kcin.alphacdc.com)
9105 * xm-plexus.h: New file.
9106 * configure (m68k-plexus-sysv*): Use it.
9108 Fri Dec 4 19:21:44 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9110 * c-decl.c (start_function): Use TYPE_MAIN_VARIANT when comparing
9111 return type with previous prototype declaration.
9113 * cccp.c (output_line_command): Use alloca for line_cmd_buf.
9115 Fri Dec 4 19:20:34 1992 Richard Kenner (kenner@mole.gnu.ai.mit.edu)
9117 * cse.c (cse_insn): Always pass result of canon_reg through
9118 validate_change before using it in insn.
9120 * c-decl.c, cp-decl.c (init_decl_processing): Don't use hardwired
9121 sizes for the modes when making int{Q,H,S,D}I_type_mode and the
9122 unsigned versions of them; the actual size depends on BITS_PER_UNIT.
9124 Fri Dec 4 19:13:35 1992 Jonas Olsson (ljo@po.cwru.edu)
9126 * i386bsd.h (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION):
9127 Copy definitions from i386v4.h to get PIC code correct.
9129 Thu Dec 3 19:20:14 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9131 * cp-decl.c: Include sys/types.h for systems that need things for
9134 Thu Dec 3 01:40:42 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
9136 * sparc.c (finalize_pic): Remove "*_" from GLOBAL_OFFSET_TABLE name.
9137 * spc-sol2.h (ASM_SPEC): Pass "-K PIC" to assembler when pic.
9138 (JUMP_TABLES_IN_TEXT_SECTION): Define.
9139 (SELECT_RTX_SECTION): Define.
9141 * fixincludes (sys/types.h): Check for [ \t]size_t not size_t.
9143 Wed Dec 2 15:40:36 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9145 * configure (rs6000-ibm-aix32): New target.
9146 * rs6000-aix32.h: New file.
9148 Tue Dec 1 18:05:20 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9150 * cp-type2.c (build_functional_cast): Revert change of Nov 2,
9151 concerning clearing the TREE_VALUE of a default parameter.
9153 Tue Dec 1 13:33:25 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
9155 * local-alloc.c (optimize_reg_copy_2): Correct reg_n_refs updates.
9157 * Makefile.in (INSTALLED_H): Add syslimits.h.
9159 Tue Dec 1 11:09:50 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9161 * cp-call.c (build_method_call): When looking for a default arg
9162 initialized by a ctor, be careful of a null ref w/ operand 1.
9164 Tue Dec 1 10:43:13 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9166 * combine.c (num_sign_bit_copies): Return 1 on failure, not 0.
9167 Fix typo in last change; return 1 on failure, not BITWIDTH.
9169 Tue Dec 1 09:39:47 1992 Michael Meissner (meissner@osf.org)
9171 * mips.c (function_prologue): Do not emit a .loc before the
9172 function if debug level is 1. This confuses gdb.
9174 Tue Dec 1 02:48:29 1992 James Van Artsdalen (james at bigtex.cactus.org)
9176 * isc.h (TARGET_DEFAULT): New macro - don't make TARGET_IEEE_FP
9179 Fri Nov 27 01:30:41 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9181 * Version 2.3.2 released.
9183 * objc/core.c (searchForMethodInHierarchy):
9184 If SEL or NAME is 0, return 0.
9186 * gcc.c (LINK_LIBGCC_SPECIAL_1): New parameter.
9187 * rs6000.h (LINK_LIBGCC_SPECIAL_1): Defined.
9189 * t-hp320g (RANLIB, RANLIB_TEST, AR, AR_FLAGS):
9190 Just copy value of ..._FOR_TARGET.
9191 (LIBCONVERT): Use TARGET_TOOLPREFIX.
9193 * reload.c (find_reloads) [SMALL_REGISTER_CLASSES]:
9194 Don't use preferred_class for a multiword register.
9196 * cccp.c (do_include): Initialize searchptr to 0.
9198 Fri Nov 27 07:40:54 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
9200 * combine.c (subst, make_field_assignment, num_sign_bit_copies):
9201 Protect calls to significant_bits; unless we only care if the
9202 result is a power of two, don't call if mode size is wider
9203 than HOST_BITS_PER_WIDE_INT.
9204 (extended_count, simplify_shift_const, simplify_comparison): Likewise.
9206 Thu Nov 26 10:31:48 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9208 * gstdarg.h (va_end): #undef before the declaration.
9210 * gstdarg.h (va_arg): Alternative definition for big-endian machines.
9211 * gvarargs.h (va_arg): Copy both definitions from gstdarg.h.
9213 * limitx.h, limit.y: Test and define _GCC_LIMITS_H_, not _LIMITS_H_.
9215 * mips.c (mips_debugger_offset): Don't crash for unknown cases.
9217 * c-typeck.c (build_unary_op): Call pedantic_lvalue_warning
9218 for *all* cases of incrementing a cast.
9220 * libgcc2.c (__udiv_w_sdiv): Cast 1 before shifting by 31.
9222 * fixincludes (PWDCMD): New variable, set specially for Apollos.
9223 Use it to get the working dir.
9225 * combine.c (num_sign_bit_copies): Fix 1-off error in PLUS case.
9227 * c++: Put newline into `for arg do'.
9229 Thu Nov 26 08:32:20 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9231 * expmed.c (struct algorithm): Make coeff a HOST_WIDE_INT.
9233 * romp.c (output_epilog): Always call output_fpops.
9235 Wed Nov 25 16:24:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9237 * Makefile.in (install-fixincludes): Use SYSTEM_HEADER_DIR.
9239 * m68ksgs.h (ASM_OUTPUT_DOUBLE_OPERAND): Really use the operand VALUE.
9241 * tree.h (CONSTRUCTOR_NAME_FORMAT): Let config.h override this.
9242 * tower-as.h (CONSTRUCTOR_NAME_FORMAT): Defined.
9244 * c++: Replace `for arg do' which ash can't handle.
9246 * t-next (OTHER_FIXINCLUDES_DIRS): Delete /NextDeveloper/Headers.
9248 * apollo68.h (HAVE_ATEXIT): Commented out.
9250 * regclass.c: Fix typo in use of SECONDARY_INPUT_RELOAD_CLASS.
9251 (copy_cost): Fix typo in use of SECONDARY_OUTPUT_RELOAD_CLASS.
9253 Wed Nov 25 14:15:50 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
9255 * fixinc.svr4 (regexp.h): Don't add a getrnge declaration if a
9256 conflicting declaration is already present.
9258 Wed Nov 25 06:47:18 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9260 * rs6000.h (LINK_LIBGCC_SPECIAL): No longer define.
9262 * stmt.c (expand_value_return): Don't emit move between differing
9263 modes when PROMOTE_FUNCTION_RETURN is defined; convert instead.
9265 * integrate.c (expand_inline_function): Ensure a REG used as
9266 COPY has REG_USERVAR_P set if LOC does.
9268 * optabs.c (expand_binop, expand_twoval_binop): If we are going
9269 to fail, remove any load from MEM we did due to -fforce-mem;
9270 if the MEM was volatile, this will cause an extra load.
9271 (expand_complex_abs): Likewise.
9272 Correct use of variable LAST so it doesn't include the load
9273 from MEM (to fix unrelated bug).
9275 Tue Nov 24 00:23:39 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9277 * i386bsd.h (FUNCTION_PROFILER): Use mcount, not _mcount.
9279 * t-next (OTHER_FIXINCLUDES_DIRS): Leave just /LocalDeveloper/Headers
9280 and /NextDeveloper/Headers.
9282 Mon Nov 23 22:06:31 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9284 * ns32k.md (movsi): Split alt 1 to deprecate xy classes in operand 1.
9286 * combine.c (make_extraction): When making a low part subreg of a reg,
9287 use inner_mode, not is_mode.
9289 Mon Nov 23 21:11:13 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9291 * romp.h (ASM_FILE_START): Stop at first blank in VERSION_STRING.
9293 Mon Nov 23 21:09:20 1992 Tom Wood (wood@dg-rtp.dg.com)
9295 * fold-const.c (range_test): Convert the constants to the unsigned
9296 type before expanding the range test.
9298 Mon Nov 23 20:54:45 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9300 Mon Nov 23 13:21:43 1992 Brendan Kehoe (brendan@cygnus.com)
9302 * c++ (first): Only shift if $first is no, on the chance we got no
9303 arguments at all. If we didn't get anything, say so (since -lg++
9304 will fake out the gcc driver into thinking we want to do something).
9306 * cp-decl.c (start_decl): If grokdeclarator returns a
9307 void_type_node, return a NULL_TREE.
9309 * cp-typeck.c (build_modify_expr_1): When calling build_opfncall for
9310 `operator=', use make_node to create a plain NOP_EXPR for it to use,
9311 rather than trying to pass NOP_EXPR down hoping it gets there intact.
9312 (build_modify_expr): Ditto.
9313 * cp-parse.y (expr_no_commas): Ditto.
9314 * cp-method.c (build_opfncall): Use TREE_CODE on ARG3 for a
9315 MODIFY_EXPR, since it'll be coming in properly as a tree now.
9317 Sat Nov 21 02:33:28 1992 Brendan Kehoe (brendan@cygnus.com)
9319 * cp-init.c (expand_default_init): Clear DECL_REGISTER if we're
9320 going to call a ctor, otherwise we may end up generating bogus and
9321 confusing error messages about taking the addr of something declared
9324 * cp-typeck.c (build_x_function_call): Recognize a ptr-to-method
9325 that is being passed in as a function argument or as part of
9327 (build_indirect_ref): If ERRORSTRING is NULL (it's passed in that
9328 way in many places), then don't try to use it.
9330 Thu Nov 19 01:41:58 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9332 * cp-dem.c (do_builtin_type): Recognize `w', a wide character, since
9333 it's now a type according to the ANSI X3J16 working paper; output
9335 (cplus_demangle): Accept `w' as an integral type.
9337 Wed Nov 18 21:29:14 1992 Brendan Kehoe (brendan@cygnus.com)
9339 * cp-class.c (finish_struct): Re-enable code to cut down on the size
9340 of symbol output, the positives outweigh the negatives.
9342 Wed Nov 18 19:51:59 1992 Mike Stump (mrs@cygnus.com)
9344 * cp-search.c (dfs_walk): Move setting of
9345 vbase_decl_ptr_intermediate out of #ifdef code.
9347 Wed Nov 18 18:49:13 1992 Mike Stump (mrs@cygnus.com)
9349 * cp-decl.c (grokdeclarator): Make wording on error message
9352 Tue Nov 17 17:46:11 1992 Brendan Kehoe (brendan@cygnus.com)
9354 * cp-search.c (CHECK_convert_pointer_to_single_level): Don't define.
9356 Mon Nov 23 19:44:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9358 * mot3300.h (switch_table_difference_label_flag): Define it.
9360 * ns32k.md (addsi3): Add & for alternative 1 in operand 0.
9362 Mon Nov 23 18:29:27 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
9364 * genattrtab.c (obstack.h): Include after sys/time.h.
9366 * c-decl.c (duplicate_decls): For builtins, create new function
9367 type instead of trying to modify old one.
9369 Mon Nov 23 16:28:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9371 * i386bsd.h (COMMENT_BEGIN): Redefine as #.
9372 (ASM_APP_ON, ASM_APP_OFF): Redefine to use #.
9374 * combine.c (num_sign_bit_copies): Inhibit x-1 special case
9375 when x is a paradoxical subreg.
9377 * xm-linux.h (malloc, calloc): Definitions deleted.
9379 Mon Nov 23 11:52:41 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
9381 * pa.md (sh[123]add): Use "nonmemory_operand" instead of
9382 "register_operand" as the predicate for the first operand.
9384 Mon Nov 23 00:29:27 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9386 * gcc.c (default_compilers): Pass -i* after -U*.
9388 Sun Nov 22 17:03:48 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9390 * hp320.h (FUNCTION_PROFILER): Complete replacement.
9392 * xm-hp320.h (index, rindex): Defined.
9394 * gstddef.h: Fix prev change; test of _STDDEF_H was backwards.
9396 Sun Nov 22 16:12:38 1992 Tom Wood (wood@dg-rtp.dg.com)
9398 * toplev.c (W_options): Delete -Wreturn-type, as it is in lang_options.
9399 * c-decl.c (c_decode_option): Decode -Wreturn-type.
9401 * c-decl.c, cp-decl.c (pushdecl): Don't inherit DECL_INITIAL when
9402 redeclaring the current function.
9404 * integrate.c (expand_inline_function): Use the original
9405 declaration of the inlined function rather than a redeclaration as
9406 the BLOCK_ABSTRACT_ORIGIN of the body.
9408 Sat Nov 21 19:54:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9410 * cccp.c (main): Do -D's and -A's and -U's in order specified.
9412 * gcc.c (default_compilers): When running cpp,
9413 move %{D*} and %{U*} (in that order) just before %i.
9415 Sat Nov 21 18:24:55 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
9417 * xm-pa.h: Remove #ifdef hpux stuff.
9419 * xm-pahpux.h: New file, developed from old xm-pa.h. Define
9421 * pa-hpux7.h, pa-gux7.h: New files.
9423 * configure (hppa1.0-*-hpux*, hppa1.0-*-hpux*): Use xm-pahpux.h.
9424 (hppa1.0-*-hpux7*): New alternative.
9426 Sat Nov 21 14:10:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9428 * spc-sol2.h (SWITCH_TAKES_ARG, LINK_SPEC): New override definitions.
9430 * xm-mot3300.h (index, rindex): Defined.
9432 Sat Nov 21 07:54:53 1992 Michael Meissner (meissner@osf.org)
9434 * mips.h (MIPS_VERSION): Set Meissner version number to 29.
9436 * mips.c (mips_expand_prologue): If profiling, emit an insn to
9437 block other insns from being scheduled before the end of the
9440 * mips.md (blockage): New unspec_volatile insn to prevent other
9441 insns from being scheduled before it.
9443 Sat Nov 21 06:03:38 1992 Brendan Kehoe (brendan@cygnus.com)
9445 * sdbout.c (template_name_p): New function.
9446 (sdbout_record_type_name): Use it to possibly use the
9447 DECL_ASSEMBLER_NAME instead of DECL_NAME if looking at a template.
9448 (sdbout_symbol): Ditto.
9450 Fri Nov 20 15:31:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9452 * dbxout.c (dbxout_type): Handle need for name of a RECORD_TYPE
9455 * configure (sparc-*-solaris2): Set broken_install.
9457 * integrate.c (subst_constants): Inhibit special treatment of subreg
9458 when the stuff inside is not a reg.
9460 * config/plexus.h (SIZE_TYPE): Fix syntax.
9462 * gcc.c (do_spec_1): Handle MKTEMP_EACH_FILE.
9464 Fri Nov 20 15:10:20 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
9466 * fixincludes (math.h): Get rid of inconsistent inline definitions
9467 for abs that are present in HP-UX 8.0.
9469 Fri Nov 20 10:07:48 1992 Michael Meissner (meissner@osf.org)
9471 * collect2.c (FREAD, FWRITE): Undef these macros if they were
9472 defined before including ldfcn.h.
9474 Fri Nov 20 15:38:47 1992 Tom Wood (wood@dg-rtp.dg.com)
9476 * integrate.c (expand_inline_function): Mark all notes as integrated.
9478 * final.c (final): When producing SDB debugging info, delete line
9479 number notes from inlined functions in other files as well as
9480 duplicate line number notes.
9482 Fri Nov 20 05:24:16 1992 Jim Blandy (jimb@totoro.cs.oberlin.edu)
9484 * config.sub: Added machines and operating systems for Emacs
9485 ports, since Emacs now uses config.sub for its configuration.
9486 New manufacturers recognized not to be operating systems: High
9487 Level Hardware (highlevel, defaults to using BSD), Gould
9488 (gould, defaults to System V), Commodore (cbm, defaults to
9489 amigados), National Semiconductor (ns, defaults to Genix), and
9490 Masscomp (masscomp, defaults to RTU).
9491 Recognize the NS1600 (ns16k) and the Clipper (clipper) as
9493 Recognize these processors with default manufacturers: the
9494 Cydra (cydra) from Cydrome (cydrome), the XPS100 (xps100) from
9495 Honeywell (honeywell), and the Orion (orion) and Orion 1/05
9496 (orion105) from High Level Hardware (highlevel).
9497 If the ISC operating system is given with a version number,
9498 don't kill it and set it to 2.2; just have it default to 2.2
9500 Make Irix SGI's default operating system, not SYSV.
9501 Make BSD Encore's default, so it applies for all Encore
9502 machines, not just the umax and mmax abbreviations.
9503 All of Encore's machines use BSD, not just the ns32k-based
9504 ones. Make it the manufacturer's default.
9505 Make it possible to specify an operating system for a Gould
9506 machine. Make sysv the manufacturer's default, so it applies
9507 when we specify the manufacturer as well as when we omit it.
9508 Add Uniplus (uniplus), Iris (iris), Xenix (xenix), and RTU
9509 (rtu) as recognized operating system names.
9511 Wed Nov 18 17:58:18 1992 Karl Berry (karl@cs.umb.edu)
9513 * i386iscgas.h (SDB_DEBUGGING_INFO): #undef.
9514 (DBX_DEBUGGING_INFO): #define.
9515 (DBX_OUTPUT_MAIN_SOURCE_{DIRECTORY,FILENAME}): Override dbxout.c.
9517 * bsd386.h (LPREFIX) [NO_UNDERSCORES]: Define as `.L'.
9519 Wed Nov 18 13:50:43 1992 Michael Meissner (meissner@osf.org)
9521 * mips.c (compute_frame_size): Make sure the {gp,fp}+offset fields
9522 are always initialized, even if there were no gp/fp registers
9525 Wed Nov 18 09:58:50 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9527 * a29k.md (insv): Remove constraints from operand matching
9530 * regclass.c (regclass): Add missing cast from enum to int.
9532 Wed Nov 18 09:40:01 1992 John Hassey (hassey@dg-rtp.dg.com)
9534 * core.c (initialize_class): The class may not have an initialize
9537 Wed Nov 18 09:40:01 1992 Wilson Tien (wtien@urbana.mcd.mot.com)
9539 * xm-m68kv.h (rindex, index): use strrchr and strchr instead.
9541 Wed Nov 18 01:27:37 1992 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
9543 * config.sub: Added Xenix operating system.
9545 Tue Nov 17 18:32:01 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
9547 * reload.c (combine_reloads): Don't combine with a reload needed
9548 for multiple things.
9550 Mon Nov 16 08:52:52 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu)
9552 * pa.c (output_move_double): Handle indirect stores to memory
9553 via an auto-incremented/auto-decremented register in the same
9554 manner in which loads are handled.
9556 Thu Nov 12 21:02:59 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu)
9558 Cygnus<-->FSF merge.
9560 Thu Nov 12 15:02:53 1992 Brendan Kehoe (brendan@cygnus.com)
9562 * tree.h (value_member, purpose_member, binfo_member,
9563 tree_int_cst_equal, tree_int_cst_lt, index_type_equal,
9564 expand_decl_init): Add decls with prototypes.
9566 * cp-decl.c (finish_decl): Don't try to use TYPE if it's an
9569 * cp-decl.c (sigsegv): Set to the default handler before calling
9570 anything, so we can avoid possible infinite loops. Call
9571 my_friendly_abort instead of just error().
9572 * cp-type2.c (my_friendly_abort): If I is 0, it's coming from sigsegv.
9574 * cp-type2.c (my_friendly_assert): New function.
9575 * cp-call.c, cp-class.c, cp-class.h, cp-cvt.c, cp-decl.c, cp-decl.h,
9576 cp-decl2.c, cp-dem.c, cp-edsel.c, cp-except.c, cp-expr.c, cp-gc.c,
9577 cp-hash.h, cp-init.c, cp-input.c, cp-lex.c, cp-lex.h, cp-method.c,
9578 cp-pt.c, cp-search.c, cp-spew.c, cp-tree.c, cp-tree.h, cp-type2.c,
9579 cp-typeck.c, cp-xref.c, cp-parse.y: Don't include assert.h, and use
9580 the new function `my_friendly_assert' instead of the `assert' macro.
9582 Wed Nov 11 22:14:51 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9584 * tree.h (perm_calloc): Add decl.
9585 * cp-parse.y (except_stmts): Declare return type of get_insns,
9586 since we don't (can't) include rtl.h.
9587 * cp-tree.c (TYPE_HASH): Use HOST_WIDE_INT instead of int when
9588 casting pointers to integers.
9590 * cp-call.c (build_method_call): Likewise.
9591 * cp-class.c (finish_struct_methods): Likewise.
9592 * cp-method.c (build_overload_value): Add decl of index.
9593 (build_opfncall): Cast to HOST_WIDE_INT, not int.
9594 * cp-search.c (get_binfo): Likewise.
9595 (get_base_distance): Likewise.
9596 (breadth_first_search): Likewise. Also declare to return
9597 HOST_WIDE_INT, not int.
9599 Wed Nov 11 14:34:25 1992 Mike Stump (mrs@rtl.cygnus.com)
9601 Thu Nov 5 15:58:38 1992 Tim Moore (moore at defmacro.cs.utah.edu)
9603 * cp-decl.c (duplicate_decls): Round to obstack alignment when
9604 testing if newdecl is at the top of the permanent obstack.
9606 Wed Nov 11 13:56:18 1992 Mike Stump (mrs@rtl.cygnus.com)
9608 * cp-search.c (build_vbase_vtables_init): Make sure external virtual
9609 tables are declared on machines that need the declaration by calling
9612 Wed Nov 11 12:51:44 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9614 * cp-decl2.c (grokfield): If the init field is really a list with
9615 just an error_mark_node, then it wasn't a real initialization, so
9616 don't treat it like one.
9618 Tue Nov 10 16:21:20 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9620 * cp-init.c (build_new): If arg 1 of an array reference is an
9621 error_mark, then just pretend that there were 0 elements.
9623 Tue Nov 10 13:23:30 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9625 * cp-typeck.c (build_x_function_call): If the type of FUNCTION is an
9626 error_mark, don't bother checking its lang-specific info.
9628 Tue Nov 10 12:38:36 1992 Mike Stump (mrs@rtl.cygnus.com)
9630 * cp-decl.c (decls_match): Avoid core dumping when TREE_TYPE is
9631 NULL_TREE, as is the case when olddecl is a TEMPLATE_DECL.
9633 Tue Nov 10 11:03:36 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9635 * cp-decl.c (pushdecl_top_level): Disable assert for now; it's
9636 always acted correctly.
9638 Mon Nov 9 12:04:27 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9640 * cp-parse.y (try_for_typename): Deleted rule.
9641 (scoped_id): Don't use it.
9643 Fri Nov 6 18:07:37 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9645 * cp-init.c (expand_aggr_init): If INIT is 0, don't bother trying to
9648 Thu Nov 5 16:52:37 1992 Chip Salzenberg (chip@tct.com)
9650 * cp-decl.c (finish_decl): Set TREE_STATIC, TREE_PUBLIC and
9651 DECL_EXTERNAL correctly for use with #pragma interface.
9653 Fri Nov 6 10:07:01 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9655 * cp-class.c (finish_struct): Don't try to work with a field that
9658 * cp-method.c (build_overload_value): Don't call debug_tree!
9660 * cp-call.c (build_method_call): If processing a default argument
9661 that calls a ctor for its default value, use INSTANCE_PTR for the
9662 parm list, discarding what we knew before.
9664 * cp-decl.c (grokdeclarator): If initializing a const member and
9665 acting pedantic, then do make it an error.
9667 * cp-decl2.c (warn_traditional): New variable.
9668 (lang_decode_option): Use it for -Wtraditional and -Wno-traditional.
9669 * cp-tree.h (warn_traditional): Add decl.
9670 * cp-lex.c (readescape): For x, avoid overflow when shifting in if.
9671 Warn for \a and \x if warn_traditional; pass through
9672 the escaped x and a if -traditional. Support \e like \E; for both,
9673 pedwarn about ANSI C.
9675 * cp-call.c (find_scoped_type): Delete arg TAGS; instead, compute it
9676 inside from TYPE. If TAGS is null, don't return immediately, since
9677 we need to look for TYPE_DECLs.
9678 (resolve_scope_to_name): Call find_scoped_type without replicating
9681 Thu Nov 5 17:53:32 1992 Brendan Kehoe (brendan@cygnus.com)
9683 * cp-decl.c (grokdeclarator): Constant class members can be
9686 Thu Nov 5 17:11:30 1992 Mike Stump (mrs@cygnus.com)
9688 Thu Nov 5 19:48:17 1992 Niklas Hallqvist (niklas@appli.se)
9690 * cp-pt.c (instantiate_class_template): Types are used in later
9691 processing, so they must go into the permanent obstack.
9693 Thu Nov 5 13:02:56 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9695 * cp-decl.c (grokdeclarator): Don't allow members to be initialized
9696 in the class declaration.
9698 * cp-decl2.c (finish_file): Set the DECL_CLASS_CONTEXT on a function
9699 that's a file-scope set of ctors/dtors for global variables, so
9700 is_friend will see things the way they should be seen.
9702 * cp-call.c (find_scoped_type): New function.
9703 (resolve_scope_to_name): Use it to check for names that might be in
9706 Wed Nov 4 00:43:15 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9708 * cp-parse.y (db_yyerror): Deleted fn.
9709 (yyprint, yyerror, init_parse, yyhook, reduce_cmp, token_cmp,
9710 print_parse_statistics,set_yydebug, debug_yytranslate): Moved to
9712 (reduce_count, token_count): Ditto.
9713 (current_declspecs): Made static.
9715 * cp-typeck.c (build_c_cast): Warn if casting between a pointer and
9716 an integer whose sizes differ.
9718 * cp-parse.y (unary_expr): Finish making new with placement work;
9719 use the rule `new' instead of the token `NEW' when parsing it.
9721 Tue Nov 3 02:16:47 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9723 * cp-typeck.c (c_expand_return): Avoid referencing DECL_NAME if it's
9724 null when checking for a ref to or the addr of a local variable.
9726 * cp-search.c (dfs_pushdecls): Don't try to use the context of a
9727 field which has none at the time.
9729 * cp-decl.c (redeclaration_error_message): Don't complain about
9730 redefinition of a function if it's a definition of an abstract
9732 (duplicate_decls): For an abstract virtual, don't use the old RTL
9733 from abort when creating the RTL for the newdecl.
9735 Tue Nov 3 00:15:44 1992 Brendan Kehoe (brendan@cygnus.com)
9737 * cp-decl.c (grokdeclarator): For `inline', `unsigned', and `signed',
9738 see them as types, not as storage class specs, when looking for more
9739 than one storage class.
9741 * cp-lex.c (readescape): New arg ignore_ptr.
9742 (real_yylex): Pass new arg, handle result that comes back.
9744 * cp-decl.c (WCHAR_TYPE_SIZE): Deleted; never used.
9746 Mon Nov 2 10:23:52 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9748 * cp-lex.c (real_yylex): Let skip_white_space handle \r.
9750 * cp-parse.y (parmlist): Warn on a decl `foo (...)', without a first
9753 * cp-type2.c (build_functional_cast): If expr_as_ctor's argument is
9754 a SAVE_EXPR, don't wipe out the argument.
9756 * cp-call.c (build_method_call): Only complain about not having an
9757 object for a called method if the method is non-static.
9759 Sun Nov 1 16:50:14 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9761 * cp-decl2.c (warn_char_subscripts): Declare.
9762 (lang_decode_option): Handle -Wchar-subscripts.
9763 * cp-typeck.c (build_array_ref): If the type of either the array or
9764 its index is an error_mark_node, then return one. Add code to see
9765 if the index is a character (add warning), then do the default
9766 promotions. Don't warn if it's a register array. Make a ref
9767 volatile if the array is volatile.
9768 * cp-tree.h (warn_char_subscripts): Add decl.
9770 * cp-typeck.c (common_type): If either type is nonsense (an
9771 error_mark), use the other type.
9773 Thu Oct 29 18:39:50 1992 Mike Stump (mrs@cygnus.com)
9775 * cp-decl.c (grokdeclarator): Fix problem introduce by me on Oct 22
9776 17:41:13. Put back call to build_offset_type that I took out, as it
9777 is not wrong, as the comment for build_offset_type had led me to
9780 Thu Oct 29 17:30:12 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9782 * cp-cvt.c: Delete block-level extern decls; include flags.h instead.
9783 * cp-tree.h (flag_int_enum_equivalence): Declare here.
9784 * cp-call.c: Not here.
9786 * Makefile.in (stamp-cp-parse): There are now only 29 shift/reduce
9787 conflicts, because of the removed wrapper stuff.
9789 * cp-lex.c (lastiddecl, ridpointers): Define here.
9790 (NORID): Don't define here.
9791 * cp-lex.h (NORID): Define here instead.
9792 (ridpointers, lastiddecl, token_buffer, looking_for_typename): Ditto.
9793 (make_pointer_declarator, make_reference_declarator,
9794 reinit_parse_for_function, reinit_parse_for_method, yylex): Likewise.
9795 * cp-parse.y: Don't define any of them in here.
9797 * cp-typeck.c (commonparms): Call tree_cons with NULL_TREEs, not 0s.
9798 (convert_arguments): Likewise.
9799 Throughout the file, say `ANSI C++ forbids', not `ANSI C forbids'.
9800 * cp-lex.c, cp-type2.c: Likewise.
9802 Remove wrapper functionality from the compiler.
9803 * cp-call.c (build_method_call): Delete wrap and wrap_type.
9804 Delete code that used them. Don't set err_name to "wrapper", since
9805 wrapper_name doesn't exist anymore.
9806 * cp-class.c (finish_base_struct): Don't worry about TYPE_WRAP_TYPE.
9807 * cp-decl.c (grokfndecl): Delete code for WRAPPER_EXPR and
9809 (grokdeclarator): Likewise. Don't set TREE_HAS_WRAPPER_PRED.
9810 * cp-decl2.c (grokclassfn): Likewise.
9811 (check_classfn): Likewise.
9812 * cp-init.c (get_member_function): Don't check TYPE_NEEDS_WRAPPER.
9813 * cp-lex.c (real_yylex): Don't check WRAPPER_OR_ANTI_WRAPPER_NAME_P.
9814 * cp-method.c (wrapper_name, wrapper_pred_name, anti_wrapper_name):
9816 (init_method): Don't do any setup for *WRAPPER_*.
9817 (hack_wrapper): Deleted function.
9818 * cp-parse.y (wrapper): Deleted rule.
9819 (identifier_or_opname): Deleted all wrapper predicates.
9820 (notype_declarator): Deleted predicates LEFT_RIGHT for wrappers.
9821 * cp-ptree.c (print_lang_type): Deleted message for printing "wrapper".
9822 * cp-search.c (get_wrapper): Deleted fn.
9823 * cp-tree.h (struct lang_type): Deleted has_wrapper_pred and
9825 (build_wrapper, hack_wrapper, get_wrapper): Deleted decls.
9826 (wrapper_name, wrapper_pred_name, anti_wrapper_name): Deleted decls.
9827 (TYPE_WRAP_TYPE, TYPE_HAS_WRAPPER, TYPE_NEEDS_WRAPPER,
9828 TYPE_HAS_WRAPPER_PRED, WRAPPER_DECL_FORMAT, WRAPPER_PRED_DECL_FORMAT,
9829 ANTI_WRAPPER_DECL_FORMAT, WRAPPER_NAME_FORMAT,
9830 WRAPPER_PRED_NAME_FORMAT, ANTI_WRAPPER_NAME_FORMAT,
9831 WRAPPER_NAME_P, WRAPPER_PRED_NAME_P, ANTI_WRAPPER_NAME_P,
9832 WRAPPER_OR_ANTI_WRAPPER_NAME_P): Deleted.
9833 (enum overload_flags): Deleted WRAPPER_FLAG, WRAPPER_PRED_FLAG,
9834 and ANTI_WRAPPER_FLAG tags.
9835 * cp-typeck.c (build_function_call_real): Delete wrapper code.
9836 (unary_complex_lvalue): Don't check TYPE_NEEDS_WRAPPER.
9837 * stmt.c (warn_if_unused_value): Don't check *WRAPPER_EXPR.
9838 * tree.def (WRAPPER_EXPR, ANTI_WRAPPER_EXPR): Deleted.
9840 Wed Oct 28 15:38:44 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9842 * cp-cvt.c (convert_to_reference): New arguments FNDECL, PARMNUM,
9843 and ERRTYPE. Use them to give warnings about const and volatile
9844 references being used incorrectly. Call itself with dummy arguments
9846 (convert): Call convert_to_reference with dummy args.
9847 (convert_force): Likewise.
9848 * cp-typeck.c (warn_for_assignment): Remove static declaration,
9849 cp-cvt.c needs to see it now.
9850 (convert_for_initialization): Call convert_to_reference with fndecl,
9851 parmnum, and errtype.
9853 Tue Oct 27 17:38:18 1992 Mike Stump (mrs@cygnus.com)
9855 * cp-decl.c (grokdeclarator): Fix problem introduce by me on Oct 22
9856 17:41:13. Only output error or warning message about extra
9857 qualifiers when we are inside a class declaration.
9859 Tue Oct 27 16:21:41 1992 Mike Stump (mrs@cygnus.com)
9861 * cp-tree.h (THIS_NAME_P): Fix to reflect September 1 change in
9864 Tue Oct 27 12:35:59 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9866 * cp-parse.y (operator_name): Remove check for top-level operator
9868 * cp-decl.c (grokdeclarator): Complain here about type conversion
9869 operators that aren't declared as members of classes.
9871 * cp-decl.c (grokdeclarator): Only call do_friend on a friend if
9874 Tue Oct 27 09:31:08 1992 Mike Stump (mrs@cygnus.com)
9876 * cp-lex.c (do_identifier): Add missing fourth argument to
9879 Mon Oct 26 15:15:39 1992 Mike Stump (mrs@cygnus.com)
9881 * cp-cvt.c (convert_to_reference): Check for ambiguities
9882 between constructor and conversion operators a bit harder.
9884 Sat Oct 24 19:34:39 1992 Brendan Kehoe (brendan@cygnus.com)
9886 Mon Sep 14 14:36:53 1992 Chip Salzenberg (chip@tct.com)
9888 cp-decl.c (poplevel): If apparently nested inline function has
9889 DECL_ABSTRACT_ORIGIN, don't output it; propagate TREE_ADDRESSABLE.
9890 (pushdecl): When copying inline details into an extern decl,
9891 copy DECL_RESULT, TREE_ASM_WRITTEN. Set DECL_ABSTRACT_ORIGIN.
9893 Fri Oct 23 18:52:19 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9895 * cp-decl.c (poplevel): Use error_with_decl on an unused label, so
9896 its line number comes out correct.
9898 Thu Oct 22 18:31:50 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9900 * cp-parse.y (operator_name): If a type conversion operator is
9901 defined at the top level, don't crash, complain.
9903 Thu Oct 22 17:41:13 1992 Mike Stump (mrs@cygnus.com)
9905 * cp-decl.c (grokdeclarator): Return void_type_node instead of
9906 NULL_TREE on errors, to forestall another error message. Check for
9907 redundant or illegal qualification on class members.
9909 Thu Oct 22 13:15:57 1992 Mike Stump (mrs@cygnus.com)
9911 * cp-tree.h (ANON_AGGRNAME_P): Check the second charater as well, as
9912 it could be $vtbl_ptr_type, and not an ANON_AGGRNAME.
9914 Wed Oct 21 19:31:36 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
9916 * cp-call.c (build_method_call): Initialize b_or_d to 0.
9918 * cp-typeck.c (compparms): Delete dead code for returning if either
9919 TREE_PURPOSE is true when t1 and t2 are both 0.
9921 * cp-parse.y (object): Only pass one argument into build_x_arrow.
9923 * cp-parse.y (unary_expr): Add code to parse `&&label'.
9924 (stmt): Expand computed gotos.
9926 * cp-method.c (fndecl_as_string): Say it's static before giving its
9927 type, it looks better (and matches how you'd declare it).
9929 Wed Oct 21 16:22:43 1992 Mike Stump (mrs@cygnus.com)
9931 * cp-decl.c (start_decl): return NULL_TREE, not error_mark_node to
9933 * cp-decl2.c (cplus_decl_attributes): New function. Don't call
9934 decl_attributes if the first argument is NULL_TREE.
9935 * cp-tree.h (cplus_decl_attributes): Declare new function.
9936 * cp-parse.y: Changed all calls to decl_attributes into calls to
9937 cplus_decl_attributes, as all calls may pass NULL_TREE in the first
9940 Wed Oct 21 11:40:35 1992 Mike Stump (mrs@cygnus.com)
9942 * cp-call.c (build_method_call): Avoid an abort on parse errors by
9943 changing an assert into a conditional my_friendly_abort.
9945 Tue Oct 20 16:52:32 1992 Mike Stump (mrs@cygnus.com)
9947 * cp-tree.h (TYPE_ASSEMBLER_NAME_STRING,
9948 TYPE_ASSEMBLER_NAME_LENGTH): New macros.
9949 * cp-search.c (build_type_pathname): Use new macros.
9950 * cp-decl.c (pushtag): Set DECL_ASSEMBLER_NAME for TYPE_DECLs with
9951 build_overload_name so that assembler names for template type things
9952 are like __vt$t1X1Zi$1T.4 and not __vt$X<int>$T.4.
9953 * cp-decl.c (pushdecl): Since the rest of the compiler wants to use
9954 DECL_NAME for TYPE_DECLs, use that instead of DECL_ASSEMBLER_NAME.
9956 Tue Oct 20 11:29:50 1992 Mike Stump (mrs@cygnus.com)
9958 Wed Oct 7 16:01:55 1992 Chip Salzenberg (chip@tct.com)
9960 [ changes propagated from 921005 snapshot ]
9961 * cp-lex.c (readescape): No warning if digits in \x are all 0's.
9963 Fri Oct 9 15:18:19 1992 Brendan Kehoe (brendan@cygnus.com)
9965 * cp-decl.c (duplicate_decls): Only find out if olddecl is a
9966 friend after we know it's not a TREE_LIST.
9968 Wed Oct 7 16:04:34 1992 Mike Stump (mrs@cygnus.com)
9970 Wed Oct 7 12:26:07 PDT 1992 Ron Guilmette (rfg at netcom.com)
9972 * cp-lex.c (readescape): Permit \? as an escape sequence.
9974 Tue Oct 6 17:54:09 1992 Mike Stump (mrs@cygnus.com)
9978 * cp-search.c (get_binfo, find_base_distance): Fix comments.
9979 Disable incorrect code that would incorrectly find ambiguities where
9980 none existed. Add some code to find all ambiguities.
9981 * cp-search.c (get_binfo2_recursive, get_binfo2): Added to find
9984 * cp-search.c (convert_pointer_to_single_level): Added so that one
9985 can convert pointer unambiguously to an immediate base class
9988 * cp-search.c (dfs_walk): Added comments. Fixed to keep track of
9989 how it walks the inheritance hierarchy so that when we get down to
9990 the bottom, we have a pointer to what we want.
9991 * cp-search.c (dfs_find_vbases): Changed to use new intermediate
9992 pointer instead of incorrectly trying to convert at the bottom.
9993 * cp-search.c (init_vbase_pointers): Changed to set up new
9994 intermediate pointer.
9996 * cp-*.c: Rename child -> base_binfo, child_child ->
9997 base_base_binfo, child_binfos -> base_binfos, .*_child ->
9998 .*_base_binfo. Rename DERIVED_FROM_P to UNIQUELY_DERIVED_FROM_P.
10000 Tue Oct 6 14:51:13 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
10002 * cp-spew.c (yylex_ctr): Make unsigned.
10003 * cp-decl2.c (spew_debug): Add extern reference.
10004 (lang_decode_option): New option `-spew-debug', so masochists can
10005 use it when they need to.
10007 Mon Oct 5 15:47:35 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
10009 Implement protected baseclasses.
10010 * cp-class.c (finish_base_struct): Set TREE_VIA_PROTECTED.
10011 (finish_struct_methods): Check for either public or protected
10012 members to kick out of the "all members are private" test.
10013 * cp-decl.c (xref_tag): Set TREE_VIA_PROTECTED appropriately.
10014 * cp-parse.y (base_class_visibility_list): Remove code about
10015 `protected' visibility not being implemented.
10016 * cp-pt.c (tsubst): Set via_protected and call hash_tree_cons
10017 with it as necessary.
10018 * cp-search.c (compute_visibility): Set visibility if protected.
10019 Return the appropriate visibility when resolving a field.
10020 (lookup_field): Set TREE_VIA_PROTECTED for btypes from its child.
10021 When complaining about a member being protected, differentiate when
10022 it's from a protected base class (could be a public member in the
10024 (lookup_fnfields): Set TREE_VIA_PROTECTED.
10025 (get_baselinks): Pass TREE_VIA_PROTECTED into hash_tree_cons.
10026 Also pass a 0 when necessary.
10027 * cp-tree.c (propagate_binfo_offsets): Set TREE_VIA_PROTECTED.
10028 (layout_vbasetypes): Ditto.
10029 (layout_basetypes): Ditto.
10030 (list_hash_lookup): Check TREE_VIA_PROTECTED when looking at an
10031 incomplete basetype.
10032 (hash_tree_cons): New argument `via_protected'. Set TREE_VIA_PROTECTED
10034 (list_hash_lookup_or_cons): Check TREE_VIA_PROTECTED when making
10035 sure a hash list is sane.
10036 (make_binfo): Set TREE_VIA_PROTECTED for the new child.
10038 Mon Oct 5 13:27:44 1992 Mike Stump (mrs@cygnus.com)
10040 * cp-init.c (maybe_adjust_addr_for_delete): Make sure we don't
10041 evaluate the addr twice if it has side effects.
10043 Mon Oct 5 13:05:37 1992 Mike Stump (mrs@cygnus.com)
10045 * cp-init.c (build_vec_delete): Make sure we don't evaluate the base
10046 expression twice if it has side effects.
10048 Mon Oct 5 12:38:35 1992 Brendan Kehoe (brendan@rtl.cygnus.com)
10050 * cp-decl.c (grokdeclarator): Issue a warning or error if we're
10051 being ANSI-careful when they do `extern inline'.
10052 (flag_ansi): Add extern decl.
10054 Mon Oct 5 12:34:32 1992 Mike Stump (mrs@cygnus.com)
10056 * cp-class.c (finish_struct): Don't give an error if an enumeration
10057 type is stuck in a bit-field, as it is legal c++.
10059 Mon Oct 5 11:43:09 1992 Mike Stump (mrs@cygnus.com)
10061 Mon Sep 14 16:39:10 1992 Chip Salzenberg (chip@tct.com)
10063 * cp-cvt.c (convert_to_integer): Don't pass truncation thru lshift
10064 if shift count >= width of narrower type. Instead, just use 0.
10066 Fri Oct 2 13:21:40 1992 Ken Raeburn (raeburn@kyriath.cygnus.com)
10068 * cp-decl.c (start_function): Reinstate error check for missing
10069 semicolon erroneously removed.
10071 Thu Nov 12 17:37:23 1992 Michael Meissner (meissner@osf.org)
10073 * mips.md (movdf_internal): Split movdf insn into two -- one for
10074 normal use, and one for -msoft-float, and don't prefer FPU
10075 registers in the -msoft-float case.
10076 (movsf_internal): Ditto for movsf.
10078 Thu Nov 12 07:30:17 1992 James Van Artsdalen (james at bigtex.cactus.org)
10080 * i386.h (HARD_REGNO_MODE_OK): Restrict MODE_INT from FP regs only.
10082 * i386.md (floatMN2 recognizers): Don't omit mode on a
10083 match_operand that might be reloaded. Split into separate
10084 patterns for each mode.
10085 (zero_extract test): Disable for now.
10087 * i386.c (float_op): Delete - no longer used.
10089 Wed Nov 11 11:55:22 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
10091 * combine.c (simplify_comparison, case ASHIFTRT): mode_for_size
10092 returns BLKmode on error, not VOIDmode.
10094 * romp.md (reload_outdi): Write as proper PARALLEL.
10096 Wed Nov 11 01:06:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10098 * toplev.c (lang_options): Change +e... to -+e...
10100 * xm-tower.h: Include xm-svr3.h.
10101 (bcopy, bzero, bcmp, USG): Macros deleted.
10103 Tue Nov 10 12:26:23 1992 Steve Chamberlain (sac@cygnus.com)
10105 * sdbout.c (plain_type_1): Handle LONG_TYPE_SIZE like INT_TYPE_SIZE.
10107 Tue Nov 10 14:20:27 1992 Michael Meissner (meissner@osf.org)
10109 * mips.md (ffssi2): Add =& constraints to the two match_scratch
10110 clobbered registers. Fix from John F Carr.
10112 * mips-tdump.c (toplevel): Move #undef index and rindex before
10115 Tue Nov 10 10:37:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10117 * Makefile.in (install-common): Delete deps $(srcdir)/g++ $(srcdir)/c++
10119 * expr.c (init_expr_once): Try indexing mem by fp as well as sp.
10121 Tue Nov 10 10:28:59 1992 Chris Smith (csmith@convex.com)
10123 * genattrtab.c (main): Unlimit stack size.
10125 Tue Nov 10 10:17:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10127 * print-rtl.c (print_rtx): Use sizeof spaces - 1 to get the length
10128 of the spaces string.
10130 Tue Nov 10 09:56:32 1992 Jeffrey A. Law (law@schirf.cs.utah.edu)
10132 * pa-hpux.h (LINK_SPEC): Disable linking against shared libraries.
10133 * pa-ghpux.h (LINK_SPEC): Likewise.
10135 Tue Nov 10 08:39:01 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
10137 * elxsi.h (GO_IF_LEGITIMATE_ADDRESS): Verify that register is valid
10138 for use as base register (un-allocated pseudos aren't when strict).
10140 Mon Nov 9 22:17:23 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10142 * xm-3b1.h (index, rindex): Define as macros.
10144 * i386bsd.h: Complete rewrite.
10146 Mon Nov 9 14:22:38 1992 Michael Meissner (meissner@osf.org)
10148 * mips.h, decrose.h: Move LINK_LIBGCC_SPECIAL to decrose.h.
10150 Mon Nov 9 12:39:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10152 * unroll.c (final_biv_value): Make a note after loop_end
10153 if we need to use NEXT_INSN (loop_end).
10155 * objc-actions.c (build_message_expr): Don't crash if super_type is 0.
10157 Mon Nov 9 07:42:30 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
10159 * caller-save.c (save_call_clobbered_regs): Ensure any insns we add
10160 are in the same basic block as the insn we added them for.
10162 Mon Nov 9 12:35:57 1992 Torbjorn Granlund (tege@jupiter.sics.se)
10164 * pa.h (TARGET_*): Move it to the beginning of the file.
10165 (CPP_SPEC): Handle -mnosnake.
10166 * pa-ghpux.h pa-hpux.h pa1-ghpux.h pa1-hpux.h pa1.h pa.h: Move
10167 definition of TARGET_DEFAULT to before inclusion of other pa*h files.
10168 Only define TARGET_DEFAULT if not already defined.
10169 Get rid of hpux8 conditionals.
10171 Sun Nov 8 20:38:19 1992 James Van Artsdalen (james at bigtex.cactus.org)
10173 * i386.md (movstrsi): mask move count after signed shift.
10175 Sun Nov 8 00:24:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10177 * fixinc.svr4: Avoid use of | in sed regexp; use multiple s commands.
10179 * i386mach.h: Include i386gstabs.h, not i386gas.h.
10181 * gsyslimits.h: Renamed from syslimits.h.
10182 * Makefile.in (USER_H): syslimits.h deleted.
10183 (install-common-headers): Install gsyslimits.h as syslimits.h.
10184 Depend on gsyslimits.h and assert.h.
10186 * cccp.c (rescan): Accept # as command inside macro args, etc.
10187 If an actual newline at the same level precedes.
10189 * fixincludes (EXINIT): Set it to `set', not null.
10191 * toplev.c (main): Use strncmp when testing for gstabs+ vs gstabs.
10193 Sat Nov 7 17:46:35 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10195 * optabs.c (expand_unop):
10196 For complex negation, do get_insns, not gen_sequence.
10198 * c-decl.c (finish_decl): Don't clear DECL_INITIAL in inline fn decls.
10200 * c-typeck.c (process_init_constructor): Strip NOP_EXPR from indices.
10201 Clear end_index if there's an error in a range.
10203 * mips-5sysv.h, mips-5svr4.h, mips-5bsd.h (CPP_PREDEFINES):
10204 Add single-underscore variants of all the predefined symbols.
10206 * gstddef.h [_ANSI_H_]: When undefing at the end, test _STDDEF_H,
10207 not __need_ptrdiff_t.
10209 * mips.c (gen_int_relational): Handle overflow when incrementing cmp1.
10211 Fri Nov 6 23:03:14 1992 Brendan Kehoe (brendan@lisa.cygnus.com)
10213 * elxsi.c: Include config.h.
10215 Fri Nov 6 18:53:21 1992 Chip Salzenberg (chip@tct.com)
10217 * i386sco.h (STARTFILE_SPEC): Fix line wrap.
10218 (SIGNED_CHAR_SPEC): Defined to set _CHAR_UNSIGNED.
10220 Fri Nov 6 19:06:56 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
10222 * dbxout.c (dbxout_symbol): Give name ` ' to unnamed enums.
10224 Fri Nov 6 15:26:30 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
10226 * optabs.c (init_libfuncs): Add casts when comparing/incrementing enum.
10228 Fri Nov 6 15:41:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10230 * toplev.c (main): Really accept -gstabs+.
10232 Fri Nov 6 06:46:22 1992 Tom Wood (wood@dg-rtp.dg.com)
10234 * m88k.md (tcnd_divide_by_zero, divsi3, udivsi3): Allow the
10235 explicit trap for divide by zero to resume execution along the
10238 * t-m88kv4 (FIXINCLUDES): Delete.
10240 Fri Nov 6 03:08:13 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10242 * i386.md (andsi3): Mask immed op to 0xff in QI-reg ff00-byte case.
10244 * gstddef.h: Find ansi.h in machine subdir.
10245 [__need_ptrdiff_t]: Don't undef _SIZE_T_ or _WCHAR_T_.
10246 * gvarargs.h, gstdarg.h: Don't test, define or undef _VA_LIST_
10247 on NET 2 systems. Don't include ansi.h.
10249 * c-lex.c (readescape): Support \e like \E. Warn only if -pedantic.
10251 Fri Nov 6 08:34:17 1992 Tim Moore (moore at defmacro.cs.utah.edu)
10253 * integrate.c (copy_rtx_and_substitute)[ARGS_GROW_DOWNWARD]: Map
10254 virtual args pointer to the top of the argument block.
10255 * calls.c (expand_call)[ARGS_GROW_DOWNWARD] Fix fencepost error in
10256 calculating high_to_save and low_to_save. Use - high_to_save to
10257 address stack_area.
10259 Fri Nov 6 00:41:53 1992 Paul Eggert (eggert@twinsun.com)
10261 * sparc.h (TARGET_EDOM, GEN_ERRNO_RTX): Deleted.
10263 Thu Nov 5 18:55:44 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
10265 * alpha.c (output_prologue): Fix typo: `add' should be `addq'.
10267 Thu Nov 5 18:35:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10269 * Makefile.in (install-fixincludes): Add semicolon in new for-loop.
10271 Thu Nov 5 15:24:14 1992 Michael Meissner (meissner@osf.org)
10273 * i386rose.h, decrose.h (REAL_LD_FILE_NAME): Define to be the
10274 correct location on OSF/1 -- /usr/bin/ld points to
10275 /usr/ccs/gcc/ld, which is collect.
10276 (REAL_NM_FILE_NAME): Ditto for nm.
10277 (REAL_STRIP_FILE_NAME): Ditto for strip.
10279 Wed Nov 4 13:36:10 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
10281 * optabs.c (expand_binop): When trying to expand a multiple word
10282 add into multiple single word adds, don't overwrite OP0 and OP1 in
10283 case we must backtrack. We use instead new variables XOP0 and XOP1.
10285 Wed Nov 4 16:45:53 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10287 * config.sub: Don't discard SCO version number if it's 3.2v4.
10289 * xm-vax-vms.h (HOST_FLOAT_FORMAT): Defined.
10291 * varasm.c: Fix typos in last change.
10293 Wed Nov 4 10:11:28 1992 Torbjorn Granlund (tege@jupiter.sics.se)
10295 * va-pa.h (va_end): Do it like in other va-*.h files.
10297 Wed Nov 4 07:23:46 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
10299 * local-alloc.c (optimize_reg_copy_1): If P is a CALL_INSN, count
10300 it as being crossed by SRC since SRC used to die there.
10302 Wed Nov 4 00:13:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10304 * x-next (libgcc2.a, stdarg.h): New rules.
10306 * varasm.c (immed_real_const_1, immed_double_const):
10307 Don't push on const_double_chain in nested function.
10309 * expr.c (emit_move_insn): Do return a value, in complex case.
10311 Tue Nov 3 10:45:09 1992 H.J. Lu (hlu@yardbird.eecs.wsu.edu)
10313 * i386linux.h (STARTFILE_SPEC): -static is added to ld if
10314 -pg, -g or -p is passed down by gcc.
10316 Tue Nov 3 15:14:48 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10318 * pa.c (output_ior): Handle "ior" against zero.
10320 * i386mach.h (YES_UNDERSCORES): Define it.
10322 * sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Use REAL_VALUE_MINUS_ZERO.
10323 (ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
10325 Tue Nov 3 08:25:35 1992 Chris Smith (csmith@convex.com)
10327 * convex.h (REG_CLASS_FROM_LETTER): Add 'A', index regs.
10328 (movsi alternative): Use it to make psh.w sp (push the
10329 stack pointer) a noninstruction.
10331 Tue Nov 3 08:05:10 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
10333 * jump.c (jump_optimize): Ensure operand of REG_NOTES is an INSN;
10334 otherwise, we might try to read outside allocated memory.
10336 * va-alpha.h (va_end): Don't define enum if va_end already defined.
10338 Tue Nov 3 02:56:22 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10340 * objc/Makefile: Use $(srcdir), not `..'.
10342 * objc-actions.c (build_message_expr): Use save_expr for receiver.
10344 * va-i860.h (va_end, anonymous enum): Don't declare if
10345 va_end already defined as macro.
10346 * va-mips.h, va-i960.h (va_end): If already a macro, don't declare.
10348 Mon Nov 2 21:17:40 1992 Paul Eggert (eggert@twinsun.com)
10350 * va-sparc.h (va_end): If already def as macro, don't declare.
10352 Mon Nov 2 16:04:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10354 * i386linux.h: Include i386gstabs.h, not i386gas.h.
10356 Mon Nov 2 14:46:31 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
10358 * Makefile.in (install-cross-tools): Delete old symlink before
10359 making new one; else symlink will fail and we will use
10362 Sun Nov 1 17:55:56 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
10364 * varasm.c (decode_rtx_const): Handle PC same as LABEL_REF.
10366 Sun Nov 1 03:19:39 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
10368 * Version 2.3.1 released.
10370 * x-i386s4: Renamed from x-i386sco4.
10371 * configure (i[34]86-*-sco*): Use new name.
10373 * sol2-c1.asm, sol2-ci.asm, sol2-cn.asm: Renamed from sol2-crt...
10374 * t-sol2: User new names.
10376 See ChangeLog.6 for earlier changes.