OSDN Git Service

784fe4f1bd6d8f2b5a093ca3322df6bdf4bfc532
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog.7
1 Sun Jun 20 13:37:00 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2
3         * Version 2.4.5 released.
4
5         * c-common.c (decl_attributes): If first_arg_num is 0, no error for it.
6
7         * Makefile.in (extraclean): Delete *.gz, and other diff and tar files.
8
9 Sun Jun 20 18:09:50 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10
11         * calls.c (expand_call): In last change, preserve the temp slot.
12
13 Sat Jun 19 19:55:43 PDT 1993  Ron Guilmette  (rfg@netcom.com)
14
15         * dwarfout.c (type_main_variant): New function.
16         Use it in place of TYPE_MAIN_VARIANT everywhere in dwarfout.c.
17
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.
20
21 Sat Jun 19 03:57:57 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
22
23         * Version 2.4.4 released.
24
25         * toplev.c (compile_file): For static decl never defined,
26         use just warning, not pedwarn.
27
28         * dbxout.c (dbxout_type): Reinstall #if 0 around code for
29         outputting structure types, that confused GDB.
30
31 Fri Jun 18 20:06:35 1993  Pat Rankin  (rankin@eql.caltech.edu)
32
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.
35
36 Fri Jun 18 14:21:14 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
37
38         * Makefile.in (clean): Delete objc-headers subdir.
39
40         * config/m68k/m68k.h (TARGET_SWITCHES): For -m68020, -m68000 and
41         -msoft-float, turn off 01400 bits.
42
43         * Makefile.in (gcc.xtar.gz): Renamed from gcc.tar.z.
44         (dist): Change the dependency.
45         (mostlyclean): Delete tmp-gcc.xtar.gz.
46
47         * c-iterate.c (save_exprs): New variable.
48         (collect_iterators): Don't process a SAVE_EXPR twice.
49         (iterator_expand): Clear save_exprs.
50
51         * Makefile.in (gcc.info, cpp.info): Actually cd to srcdir.
52
53         * configure (clipper-intergraph-clix*): Use install-headers-cpio.
54
55 Fri Jun 18 13:37:16 1993  Michael Meissner  (meissner@osf.org)
56
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
59         scratch registers.
60
61 Fri Jun 18 00:25:16 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
62
63         * config/i386/i386.c (call_insn_operand): Require constant address
64         be a general_operand.
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.
68
69 Thu Jun 17 17:58:11 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
70
71         * config/pa/pa.md (decrement_and_branch_until_zero):
72         Pattern disabled.
73
74 Thu Jun 17 13:34:20 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
75
76         * unroll.c (calculate_giv_inc): Add new variables increment_total
77         and tries, and new label retry, to handle case where increment is
78         two add instructions.
79
80 Thu Jun 17 12:13:53 1993  Minh Tran-Le  (mtranle@paris)
81
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
85         not using GAS.
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.
90         
91         * config/i386/aix386.h (USE_GAS): New define.
92
93 Thu Jun 17 00:26:38 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
94
95         * reg-stack.c (stack_result_p): New function.
96         (stack_reg_life_analysis): Use that.
97
98         * final.c (output_addr_const): Don't insert a leading space
99         in the CONST_DOUBLE_HIGH != 0 case.
100
101 Thu Jun 17 00:09:19 1993  Jeff Law  (law@snake.cs.utah.edu)
102
103         * pa.h (LEGITIMATE_CONSTANT_P): Reject function addresses for now.
104
105 Wed Jun 16 20:14:10 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
106
107         * cp-typeck.c (build_unary_op): Make sure it's the global fn `main'
108         before complaining about taking the address of it.
109
110 Wed Jun 16 16:24:31 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
111
112         * config/i386/xm-sysv4.h (SMALL_ARG_MAX): Defined.
113
114         * c-typeck.c (check_format): Don't crash if cur_type is an error_mark.
115         Handle identifier_node as the TYPE_NAME.
116
117 Mon Jun 14 16:09:24 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
118
119         * calls.c (expand_call): If PCC_STATIC_STRUCT_RETURN and TARGET
120         is zero, copy result from static location.
121
122         * cse.c (invalidate_skipped_set): Promote "nonscalar" to "all".
123
124 Mon Jun 14 16:01:34 1993  Karl Berry  (karl@cs.umb.edu)
125
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.
128
129 Mon Jun 14 04:41:38 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
130
131         * reload.c (make_memloc): Don't reuse a memloc.
132
133 Sun Jun 13 16:01:37 1993  Jeff Law  (law@snake.cs.utah.edu)
134
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.
139
140 Sun Jun 13 20:23:04 1993  Stephen Moshier  (moshier@world.std.com)
141
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.
145
146 Sun Jun 13 12:55:22 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
147
148         * cp-decl.c (start_function): Avoid a null-reference on CTYPE.
149
150 Sun Jun 13 08:22:30 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
151
152         * expr.c (expand_expr, case COND_EXPR): Fix typo; const1_rtx should
153         be const0_rtx when ignoring expression.
154
155 Sun Jun 13 00:15:00 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
156
157         * genopinit.c (optabs): For strlen_optab, don't look for `2' in name.
158
159 Sat Jun 12 20:23:04 1993  Stephen Moshier  (moshier@world.std.com)
160
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.
165
166 Sat Jun 12 13:44:00 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
167
168         * sched.c (add_dependence): Reject CODE_LABELs when searching for
169         last insn of a sched group.
170
171 Sat Jun 12 08:06:25 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
172
173         * m68k.md (movqi): Handle copying an address register to or
174         from memory when the address uses the address register.
175
176 Sat Jun 12 00:17:06 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
177
178         * cse.c (record_jump_cond): Look up op1 again after inserting op0.
179
180 Fri Jun 11 21:50:16 1993  John F Carr  (jfc@Athena.mit.edu)
181
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.
185
186 Fri Jun 11 20:04:43 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
187
188         * rs6000.c (rs6000_gen_section_name): Only replace last period
189         in filename with section name and correct calculation of
190         string length.
191
192         * recog.c (constrain_operands): Correctly ignore MATCH_OPERATOR
193         operands.
194
195         * reload1.c (eliminate_regs_in_insn): Don't use a later elimination
196         than eliminate_regs would use.
197
198         * c-decl.c (finish_decl): Don't modify DECL_INITIAL of a PARM_DECL.
199
200 Thu Jun 10 23:48:01 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
201
202         * genextract.c (main): Use __volatile__, not volatile.
203
204 Thu Jun 10 16:21:08 1993  Michael Meissner  (meissner@osf.org)
205
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
209         format.
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
212          a function.
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.
217
218          * i386/osfelf.h (ASM_SPEC): Pass -v to assembler if used.
219          (OBJECT_FORMAT_ROSE): Undefine.
220
221 Thu Jun 10 16:20:24 1993  Doug Evans  (dje@canuck.cygnus.com)
222
223         * expmed.c (MAX_BITS_PER_WORD): Define earlier.
224         (shift_cost, shiftadd_cost, shiftsub_cost): Use MAX_BITS_PER_WORD.
225
226 Thu Jun 10 12:56:18 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
227
228         * sched.c (sched_analyze_2): Don't ignore USE insns when creating
229         dependencies.
230         (sched_analyze): Likewise.
231
232 Wed Jun  9 12:58:51 1993  Michael Meissner  (meissner@osf.org)
233
234         * configure (i386-*-osfelf): Add new configuration for OSF/1 using
235         the ELF object file format.
236
237         * i386/osfelf.h (new file): New config file for OSF/1 with ELF.
238         Include osfrose.h and redefine things as needed.
239
240         * i386/osfrose.h (SUBTARGET_SWITCHES): Add -melf, -mrose, and
241         -mno-rose switches.
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
249         debugging format.
250
251 Wed Jun  9 13:21:03 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
252
253         Mon Jun  7 18:01:31 1993  Mike Stump  (mrs@cygnus.com)
254
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.
261
262         Wed Jun  2 11:53:24 1993  Mike Stump  (mrs@cygnus.com)
263
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.
267
268 Tue Jun  8 19:44:23 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
269
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).
273
274 Tue Jun  8 13:14:27 1993  John Hassey  (hassey@dg-rtp.dg.com)
275
276         * configure: Added gas support for m88k-* targets.
277
278         * t-luna-gas t-dgux-gas t-m88k-gas: New files in config/m88k.
279
280 Tue Jun  8 14:51:44 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
281
282         * loop.c (move_movables): Delete REG_EQUAL notes that describe a
283         non loop invariant value.
284
285         * sparc.c (call_operand, call_operand_address): Accept any address
286         not just REG rtx.
287
288 Tue Jun  8 18:47:39 1993  Torbjorn Granlund  (tege@nada.kth.se)
289
290         * sparc.h: (RTX_COSTS): Make cost of MULT depend on TARGET_V8.
291
292         * pa.h (CPP_SPEC): Fix typo: define __hp9000s700.
293
294 Tue Jun  8 06:16:30 1993  John Hassey  (hassey@dg-rtp.dg.com)
295
296         * m88k.h (HARD_REGNO_REGS, HARD_RENO_MODE_OK, MODES_TIEABLE_P):
297         Restrict use of 88110 extended registers to floating point.
298
299 Mon Jun  7 15:42:10 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
300
301         * math-68881.h (atan2): For x <= 0, lump y == 0 with y > 0
302         to get the right result in 0, -1 case.
303
304 Mon Jun  7 17:50:25 1993  Jeff Law  (law@snake.cs.utah.edu)
305
306         * pa.h (RTX_COSTS): Cost of MULT also depends on 
307         TARGET_DISABLE_FPREGS.
308
309         * pa.h (ASM_OUTPUT_INT): Always emit special "plabel" relocation for
310         function labels.
311
312 Sun Jun  6 16:31:59 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
313
314         * gcc.c (translate_options): Don't assume option_map[j].arg_info != 0.
315
316         * config/vax/vax.h (PRINT_OPERAND): Prefix constant by `$'.
317
318 Sun Jun  6 00:44:48 1993  Torbjorn Granlund  (tege@nada.kth.se)
319
320         * m88k.md (fix_truncdfsi2): Destination is general register, source
321         general or extended register.
322         (fix_truncsfsi2): Likewise.
323
324 Sun Jun  6 00:20:25 1993  Kresten Krab Thorup  (krab@iesd.auc.dk)
325
326         * objc-act.c (encode_type): Add cases for DImode, encoded
327         as 'q' and 'Q' respectively.
328
329 Sat Jun  5 14:02:36 1993  James Van Artsdalen  (james@bigtex.cactus.org)
330
331         * c-decl.c (pushdecl): Copy DECL_FRAME_SIZE for inline function decls.
332
333         * stmt.c (check_for_full_enumeration_handling): Don't create a
334         default label if all enumeration literals are covered by cases.
335
336 Sat Jun  5 04:49:19 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
337
338         * function.c (uninitialized_vars_warning): Change warning text.
339         (setjmp_args_warning): Likewise.
340
341         * c-typeck.c (convert_for_assignment): Allow conversion to union type
342         for pointer if the pointer could convert to the union member.
343
344 Fri Jun  4 18:09:47 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
345
346         * integrate.c (expand_inline_function): Always copy a SUBREG as an
347         argument into a REG.
348
349 Fri Jun  4 05:52:28 1993  Torbjorn Granlund  (tege@nada.kth.se)
350
351         * pa.h (RTX_COSTS): Make cost of MULT depend on TARGET_SNAKE.
352
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.
357
358 Fri Jun  4 23:18:35 1993  Kresten Krab Thorup  (krab@iesd.auc.dk)
359
360         * objc/sendmsg.c (objc_msg_sendv): Pass a dummy va_list, not 0,
361         to objc_error.
362
363 Fri Jun  4 16:12:43 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
364
365         * byteorder.h: Use new-style function definitions, so that this
366         file is both valid C and C++.
367
368 Fri Jun  4 00:59:31 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
369
370         * config/mips/svr4-5.h (CPP_PREDEFINES): 
371         Add _MIPS_SZINT _MIPS_SZLONG _MIPS_SZPTR.
372
373 Thu Jun  3 23:48:39 1993  Jeff Law  (law@snake.cs.utah.edu)
374
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.
378
379 Thu Jun  3 18:52:24 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
380
381         * config/nextstep.h (INCLUDE_DEFAULTS): Use same order as cccp.c.
382         Add CCC_INCLUDE_DIR with /ansi and /bsd concatenated.
383
384         * varasm.c (immed_real_const_1): Check explicitly for NaNs.
385
386 Thu Jun  3 14:37:25 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
387
388         * combine.c (num_sign_bit_copies): At end, return 1 is nonzero has
389         the high bit set.
390
391 Wed Jun  2 17:27:31 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
392
393         * loop.c (record_initial): Reject insns that store into subregs.
394
395 Tue Jun  1 12:46:48 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
396
397         * Version 2.4.3 released.
398
399         * just-fixinc: New file.
400
401         * config/convex/convex.h [_IEEE_FLOAT_] (LINK_SPEC):
402         Use ___gcc_cleanup, not __gcc_cleanup.
403
404 Tue Jun  1 07:41:26 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
405
406         * rs6000.md (ffs): Delete pattern containing nonexistant instruction.
407
408         * alpha.md (extendsidi2): Correctly do operation when in FP
409         registers and, since expensive, don't have FP regs as a preference.
410
411 Tue Jun  1 00:09:46 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
412
413         * fixincludes (signal.h): Fix typo in last change.
414
415         * configure: Add missing dash in patterns for mips-*-riscos...
416         In riscos 5 patterns, use fixinc.mips.
417
418         * fixinc.mips: New file.
419
420         * config.sub: Handle 386bsd.
421
422 Mon May 31 23:47:00 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
423
424         * config/vax/vax.md (untyped_call, blockage): New patterns,
425         basically copied from m68k.md.
426
427 Mon May 31 21:46:08 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
428
429         * romp.c (output_epilog): Don't crash if TYPE_SIZE of an arg is
430         not set.
431
432 Mon May 31 00:15:20 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
433
434         * config/mips/x-sony (OLDCC): Fix typo.
435
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.
440
441         * pa.md (decrement_and_branch_until_zero):
442         Reverse all conditions in reload cases.
443
444         * Version 2.4.2 released.
445
446 Sun May 30 21:14:42 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
447
448         * integrate.c (expand_inline_function): Increment map->const_age
449         before copying REG_NOTES.
450
451         * sparc.c (sparc_builtin_saveregs): Don't set first_reg to zero
452         for varargs.
453
454 Sun May 30 23:58:52 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
455
456         * objc/Makefile (copy-headers): chmod the headers, not the dir.
457
458         * Makefile.in (objc-headers): Don't dep on force.
459         Touch objc-headers so copy is not repeated at install time.
460
461         * final.c (shorten_branches): Conditionalize last change
462         on SHORTEN_WITH_ADJUST_INSN_LENGTH.
463
464         * pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Defined.
465
466 Sun May 30 13:53:30 1993  Jeff Law  (law@snake.cs.utah.edu)
467
468         * final.c (shorten_branches): Call ADJUST_INSN_LENGTH during the
469         shortening phase.
470
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.
475         
476         * pa.h (ADJUST_INSN_LENGTH): Call pa_insn_adjust_length.
477
478         * pa.h (INSN_SETS_ARE_DELAYED): Do not call get_attr_type with a 
479         CLOBBER insn.
480         (INSN_REFERENCES_ARE_DELAYED): Likewise.
481
482         * pa.md (call insns and expanders): Do not explicitly clobber %r31.
483
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
487         a movstrsi pattern.
488         (output_cbranch): Long branches with unfilled delay slots can
489         always nullify the following instruction if their delay slot
490         was not filled.
491
492 Sun May 30 18:58:22 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
493
494         * mips.c (function_arg_partial_nregs): For BLKmode values, fits in
495         remaining register if total size <= MAX_ARGS_IN_REGISTERS, not <.
496
497 Sun May 30 17:45:06 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
498
499         * emit-rtl.c (operand_subword): Shift by (HOST_BITS_PER_WIDE_INT / 2),
500         not by 32.
501
502         * reload1.c (reload): If only non-group need is unfilled, see if
503         regs spilled for earlier classes can satisfy it.
504
505         * config/mips/iris4loser.h (ASM_SPEC): Add unconditional -O0.
506
507 Sat May 29 15:19:57 1993  Jeff Law  (law@snake.cs.utah.edu)
508
509         * pa.md (movdf for const_double): Handle loading
510         a CONST_DOUBLE into general registers.
511         (movsf for const_double): Likewise.
512
513         * pa.c (singlemove_string): Handle SFmode CONST_DOUBLE 
514         as a source operand.
515
516 Sat May 29 14:14:30 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
517
518         * emit-rtl.c (operand_subword): Correctly handle case when
519         REAL_VALUE_TO_TARGET_DOUBLE is used on a 64-bit machine.
520
521 Sat May 29 12:15:43 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
522
523         * fixincludes (signal.h): Don't mung #endif if nonwhite stuff precedes.
524
525         * rtl.h: Undef PC.
526
527 Fri May 28 19:01:39 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
528
529         * configure (i[34]86-*-isc*): If gas and not stabs, use isccoff.h.
530
531         * final.c (shorten_branches): Do not call insn_current_length
532         with an insn which has a non-varying length.  Use insn_lengths
533         instead.
534
535         * c-typeck.c (process_init_constructor): Never set current_index
536         itself--always store into current_index_node.
537
538         * dbxout.c (dbxout_type): Add missing `;' for array with no domain.
539
540 Fri May 28 16:47:54 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
541
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.
545
546         * combine.c (make_compound_operation, case ASHIFTRT): Fix typo.
547         Was using C1 where C2 is needed.
548
549 Fri May 28 17:50:38 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
550
551         * integrate.c (expand_inline_function): When copy REG_NOTES, must
552         also call subst_constants.
553
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.
557
558 Fri May 28 00:50:53 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
559
560         * config/arm/arm.h (GO_IF_LEGITIMATE_INDEX): Check explicitly for
561         upper and lower bounds of valid INDEX.
562
563         * genopinit.c (insn_name_ptr): Declare as variable.
564         (optabs): Fix typo in floatuns case.
565
566 Thu May 27 12:13:55 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
567
568         * combine.c (simplify_and_const_int, case IOR, XOR, NOT): Don't
569         create constant wider than mode of VAROP.
570
571 Thu May 27 20:41:18 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
572
573         * configure (i[34]86-ibm-aix*): Set fixincludes.
574         (i[34]86-*-sco*): Don't test --with-gas, just --with-stabs.
575
576 Wed May 26 16:05:05 1993  Michael Collison  (collison@osf.org)
577
578         * jump.c (jump_optimize): Insert missing GET_MODE call.
579
580 Wed May 26 18:40:09 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
581
582         * i960.md (ashlsi3): Use shlo instead of shli.
583
584 Wed May 26 00:34:33 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
585
586         * config/nextstep.h (INCLUDE_DEFAULTS): Undo previous change.
587
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.
591
592         * Version 2.4.1 released.
593
594         * c-lex.c (readescape): Don't complain for \% unless pedantic.
595
596         * config/mips/mips.h (ASM_SPEC): If -noasmopt, pass -O0.
597         * config/mips/iris3.h: Likewise.
598
599         * config/mips/iris4loser.h: New file.
600         * config/mips/iris4gl.h: New file.
601         * configure (mips-sgi-iris4loser): New alternative.
602
603 Tue May 25 18:05:50 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
604
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.
608
609         * m68k/sun3.h (FUNCTION_VALUE, FUNCTION_VALUEX): Ifdef out.
610
611         * c-typeck.c (convert_for_assignment): When allowing mixing of
612         signed and unsigned pointers, compare unsigned types not type sizes.
613
614 Tue May 25 00:08:42 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
615
616         * nextstep.h (INCLUDE_DEFAULTS): Delete /NextDeveloper/Headers/ansi
617         and /NextDeveloper/Headers/bsd.
618
619         * regclass.c (regclass): Fix paren error.
620
621         * c-decl.c (finish_decl): If type is laid out, but decl is not,
622         call layout_decl.
623
624         * protoize.c (include_defaults): Update to match cccp.c.
625         * Makefile.in (stamp-proto):
626         Pass LOCAL_INCLUDE_DIR based on local_prefix.
627
628         * stmt.c (expand_asm_operands): Detect constants as outputs.
629
630 Mon May 24 18:25:23 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
631
632         * collect2.c (main): Use TARGET-gcc, not gcc-TARGET.
633
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.
638
639         * configure (i[34]86-*-sco3.2v4*): Test --with-stabs, not --with-gas.
640
641 Mon May 24 14:10:59 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
642
643         * integrate.c (expand_inline_function): Set MEM_IN_STRUCT_P for
644         return value if needed.
645
646 Mon May 24 13:10:07 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
647
648         * cp-call.c (convert_harshness): Don't dereference a null parm.
649
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.
652
653 Mon May 24 10:13:26 1993  Mike Stump  (mrs@poseidon.cygnus.com)
654
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.
657
658 Mon May 24 00:30:50 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
659
660         * expr.c (expand_expr, TARGET_EXPR case):
661         Handle case where DECL_RTL is nonzero.
662
663         * configure (i[34]86-*-isc*): Use install-headers-cpio.
664
665         * genopinit.c (optabs): Add backslashes to prevent SCCS confusion.
666         * config/m68k/tower-as.h (CONSTRUCTOR_NAME_FORMAT): Likewise.
667
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.
670
671         * gstddef.h (size_t) [__GNUG__]: Don't typedef it if it's
672         already defined as a macro.
673
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.
685
686         * config/i386/sco4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
687         New override definitions.
688
689         * toplev.c (compile_file): Undo previous changes (that were to call
690         assemble_zeros whenever DBX_DEBUGGING_INFO is defined).
691
692 Sun May 23 16:31:38 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
693
694         * config/nextstep.h (INCLUDE_DEFAULTS): Fix missing comma.
695
696         * config/i386/x-aix (FIXINCLUDES): Defined.
697         * fixinc.ps2: New file.
698
699 Sun May 23 14:51:06 1993  Kresten Krab Thorup  (krab@iesd.auc.dk)
700
701         * objc/objc.h (objc_protocol): New field `class_pointer'.
702
703         * objc/init.c (__objc_init_protocols): Call recursively
704         on super protocols.  Make local var `proto_class' static.
705
706 Sun May 23 00:49:17 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
707
708         * Makefile.in (BISONFLAGS): Remove -v since output file names are long.
709
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.
713
714         * reload.c (push_reload): Fix NULL arg in last change.
715
716         * config/m88k/x-tekXD88 (AR_FLAGS): Defined.
717
718 Sat May 22 14:49:59 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
719
720         * config/mips/mips.h (ASM_SPEC): If -noasmopt, don't pass -O2.
721         * config/mips/iris3.h: Likewise.
722
723         * config/nextstep.h (INCLUDE_DEFAULTS): Put /usr/include/bsd last.
724
725         * config/alpha/alpha.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): 
726         Use hex if infinite, nan, or minus zero.
727
728         * real.c (target_isnan): Use GET_REAL macro to get argument.
729         (ereal_to_int): Fix potentially wrong-endian argument passed to eisnan.
730
731 Fri May 21 14:24:01 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
732
733         * config/nextstep.h (INCLUDE_DEFAULTS): Add /usr/include/bsd.
734
735         * cccp.c (default_include): Put TOOL_INCLUDE_DIR after
736         LOCAL_INCLUDE_DIR in non-cross case.
737
738         * real.c (emdnorm): Fix typo affecting roundoff behavior in XFmode.
739
740         * config/m68k/amix.h (CPP_PREDEFINES): Add -D__svr4__.
741         (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
742         New override definitions.
743
744         * collect2.c (main) [CROSS_COMPILE]: Use TARGET-TOOL for full_...
745
746         * collect2.c (main): For -debug, if ..._file_name is a null pointer,
747         say so instead of crashing.
748
749         * m68k.md (cmpxf2 recognizer): Test SGS_CMP_ORDER, not HPUX_ASM.
750
751         * c-common.c (constant_expression_warning)
752         (overflow_warning, convert_and_check): Change pedwarn to warning.
753
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.
757
758         * protoize.c (add_symbol, unexpand_if_needed, abspath): 
759         Supply missing arg to savestring.
760
761         * Makefile.in (info, dvi): New targets.
762
763 Fri May 21 10:28:41 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
764
765         * cp-pt.c (subst): Don't use a method's arguments unless it has some.
766
767 Fri May 21 11:51:20 1993  Kresten Krab Thorup  (krab@iesd.auc.dk)
768
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.
772         
773 Fri May 21 00:51:10 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
774
775         * configure (mips-*-ultrix*): Renamed from mips-dec-ultrix*.
776
777 Thu May 20 23:16:43 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
778
779         * reload1.c (choose_reload_regs): Handle earlyclobbers
780         when inheriting from reg_last_reload_reg.
781
782 Thu May 20 13:59:16 1993  Doug Evans  (dje@canuck.cygnus.com)
783
784         * Makefile.in (install-dir): Fix syntax, make tooldir before assertdir.
785
786 Thu May 20 08:52:30 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
787
788         * gstddef.h [_ANSI_H_]: Handle __need_size_t and __need_wchar_t.
789
790         * fixincludes (Fixing CTRL): Reject CTRL or _CTRL following digit.
791
792         * enquire.c (F_check): Check NO_LONG_DOUBLE_IO.
793
794 Wed May 19 23:18:55 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
795
796         * config/i386/x-isc3 (X_CFLAGS): Delete -DPOSIX_JC.
797
798         * real.c (e24toe, e53toe, e64toe): Fix sign in conversions
799         of -infinity.  Do eclear before einfin.
800
801 Wed May 19 15:37:20 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
802
803         * va-sparc.h (va_dcl): Restore accidentally deleted __builtin_va_alist
804         declaration.
805
806         * objc-act.c (handle_class_ref): Call assemble_constant_align
807         before output_constant.
808         * varasm.c (assemble_constant_align): New function.
809
810 Wed May 19 13:40:01 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
811
812         * config/i860/x-sysv4 (X_CFLAGS): Deleted.
813
814         * configure (i[34]86-*-isc*): If version is 3, use x-isc3.
815         * config/i386/x-isc3: New file.
816
817 Mon May 19 21:47:49 1993  Jeff Law  (law@snake.cs.utah.edu)
818
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.
826
827         * pa.h (FUNCTION_ARG_REGNO_P): Account for registers which may
828         be unavailable on particular cpu models.  Fix indentation.
829
830 Wed May 19 13:13:42 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
831
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.
834
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.
839
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.
842
843 Tue May 18 16:31:06 1993  Torbjorn Granlund  (tege@nada.kth.se)
844
845         * pa.h (INITIALIZE_TRAMPOLINE): Make 2:nd flush, end_addr,
846         at the last real insn in the trampoline.
847
848 Tue May 18 13:35:43 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
849
850         * Makefile.in (assertdir): use $(tooldir)/include for this.
851         (install-dir): Always create assertdir and tooldir.
852
853         * config/arm/arm.md (add/asl recognizer): Use space, not #, after asl.
854         Shuffle operands differently.
855
856         * objc-act.c (synth_module_prologue): Set TREE_PUBLIC in umsg_decl.
857
858         * Makefile.in (infodir): New variable.
859         (install-dir): Create that dir.
860         (install-info): New rule.
861         (install-normal): Depend on install-info.
862
863         * fixincludes: Use $file. rather than $file.sed 
864         when $file is or might be more than 10 characters long.
865
866         * config/i386/isc.h (LIB_SPEC): Handle -posix before -shlib.
867
868         * config/mips/x-sony: New file.
869         * configure (mips-sony-bsd*): Use x-sony.
870
871         * Makefile.in (local_prefix): Do not default from $(prefix).
872
873 Tue May 18 09:28:02 1993  Chris Smith (csmith@convex.com)
874
875         * convex.c (replace_pushes, emit_ap_optimizations): Delete.
876
877 Mon May 17 18:07:53 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
878
879         * fixinc.svr4 (ieeefp.h): Delete definitions of __mips and __m68k.
880
881 Mon May 17 17:00:00 1993  DJ Delorie (dj@ctron.com)
882
883         * configure.bat: Fix sed for version.c to handle both with
884         and without spaces correctly (MS-DOS).
885
886 Mon May 17 12:26:55 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
887
888         * rtl.c (init_rtl): Correct number of 'w's in CONST_DOUBLE format.
889
890 Mon May 17 00:07:50 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
891
892         * Version 2.4.0 released.
893
894         * Makefile.in (extraclean): Remove junk from objc subdir.
895
896         * fixinc.svr4 (ieeefp.h): Delete definitions of __i860 and __m88k.
897
898         * mips/iris4.h (ASM_OUTPUT_ASCII): New overriding definition.
899
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.
904
905         * gvarargs.h, gstdarg.h [__svr4__ __i860__]:
906         Define _VA_LIST only if not defined already.
907
908 Mon May 17 00:40:36 1993  James Van Artsdalen  (james at bigtex.cactus.org)
909
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.
913
914 Sun May 16 19:25:38 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
915
916         * unroll.c (initial_reg_note_copy, final_reg_note_copy): New functions.
917         (copy_loop_body): Use new function to copy REG_NOTES.
918
919 Sun May 16 13:03:58 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
920
921         * Makefile.in (extraclean): Delete junk in subdirs of config.
922         (distclean): Delete {c,cplus,objc}-parse.output.
923
924         * reorg.c (find_end_label): Update insn after calling emit_jump_insn.
925
926         * fixinc.svr4 (ieeefp.h): Delete `#define __sparc' also.
927
928 Sun May 15 01:37:19 PDT 1993  Ron Guilmette  (rfg@netcom.com)
929
930         * fixinc.svr4 (ieeefp.h): Delete `#define __i386' line.
931
932 Sat May 15 10:11:01 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
933
934         * math-68881.h: Add conditional against multiple inclusion.
935
936         * gvarargs.h [__svr4__ __i860__] (_VA_LIST): Do define.
937         * gstdarg.h: Likewise.
938
939         * toplev.c (compile_file): If support dbx output,
940         always output 0 at start of text section.
941
942         * cp-tree.h (error_not_base_type): Fix typo in decl.
943
944 Sat May 15 09:08:23 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
945
946         * expr.c (expand_assignment): Fix error in last change.
947
948         * rs6000.md (movqi, movhi, movsi): Make sure that address returned
949         from force_const_mem is valid.
950
951         * i860.h (INITIALIZE_TRAMPOLINE): Don't make improper SUBREGs
952         and ensure that CXT and FNADDR are in registers.
953
954         * convex.c (insert_ap_loads): Initialize AP_IS_LIVE to 0 at
955         start of both loops, not just first one.
956
957         * convex.h (REGNO_REG_CLASS): Don't call abort; it will cause
958         a compilation error as written and isn't done elsewhere.
959
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.
963
964         * expr.c (expand_assignment): Always return a result that has
965         the mode of TO.
966
967         * rs6000.c (rs6000_makes_calls): If profiling, say we make calls.
968
969 Sat May 15 00:38:22 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
970
971         * va-mips.h (va_arg) [__MIPSEB__]:
972         After incrementing, subtract the rounded size, not the size proper.
973
974         * config/i860/x-sysv4 (X_CFLAGS): Defined.
975         (GCC_CFLAGS): Definition deleted.
976
977         * final.c (output_addr_const): Don't printing leading zeros.
978
979 Sat May 15 06:18:43 1993  James Van Artsdalen  (james at bigtex.cactus.org)
980
981         * reload1.c (reload): Don't start 2-group unless it could be finished.
982
983 Sat May 15 12:23:58 1993  Torbjorn Granlund  (tege@nada.kth.se)
984
985         * alpha.c (output_prolog): Change (sp) to ($30).
986
987         * pa.h (TRAMPOLINE_TEMPLATE): Change .long to .word; split into
988         two lines.
989
990 Fri May 14 18:09:31 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
991
992         * gcc.c (option_map): Renamed --version to --use-version.
993
994 Fri May 14 17:20:21 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
995
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.
999
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.
1005
1006 Fri May 14 16:12:28 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
1007
1008         * configure (hppa1.1-*-hpux*): Use CPIO for headers, just like
1009         other HPUX configs.
1010         (hppa1.1-*-hpux8.02*): Likewise.
1011
1012 Fri May 14 16:35:22 1993  Ian Lance Taylor  (ian@cygnus.com)
1013
1014         * reorg.c (fill_slots_from_thread): If try_split split new_thread,
1015         update it to the new value.
1016
1017 Fri May 14 13:42:39 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
1018
1019         * configure (hp700-hpux8.02): New target.
1020         * pa1-oldas.h: New target for 1.1 machines running HPUX 8.02.
1021
1022 Fri May 14 13:23:51 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
1023
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.
1030
1031 Fri May 14 12:28:51 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1032
1033         * c-typeck.c (default_conversion):
1034         Don't replace iterator with its initial value.
1035
1036         * config/i386/svr3gas.h: Added two pages at end, with macros
1037         copied from config/svr3.h and i386/sysv3.h.
1038
1039         * config/m68k/tower-as.h (PRINT_OPERAND): Handle CODE == '/'.
1040         * hp320.h, mot3300.h, news.h, crds.h: Likewise.
1041
1042 Fri May 14 15:44:45 1993  Kresten Krab Thorup  (krab@xiv.iesd.auc.dk)
1043
1044         * objc/init.c (__objc_init_protocols): Don't complain if a
1045         protocol object is attempted resolved twice.  
1046
1047 Fri May 14 00:51:38 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
1048
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
1051         default target.
1052
1053 Thu May 13 21:47:55 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
1054
1055         * rs6000.md (fix_truncdfsi2, fixuns_truncdfsi2, trunc_call): Fix
1056         typo in mode of FIX and UNSIGNED_FIX rtl.
1057
1058         * reorg.c (reorg_redirect_jump): New function.
1059         Call it in most places instead of redirect_jump.
1060
1061 Thu May 13 17:01:05 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
1062
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.
1066
1067 Thu May 13 08:28:22 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1068
1069         * Makefile.in (OBJC, OBJECTIVE-C): Don't depend on objc-runtime.
1070
1071         * dbxout.c (dbxout_parms): Don't output a parm if it's a mem
1072         that has a constant address.
1073
1074         * config/pa/x-pa (TAROUTOPTS): Overridden.
1075         * config/m68k/x-hp320,x-hp320g (TAROUTOPTS): Overridden.
1076
1077         * Makefile.in (TAROUTOPTS): New variable.
1078         (install-headers-tar): Use TAROUTOPTS.
1079
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.
1083
1084         * objc/runtime.h: Include gstdarg.h before stdio.h.
1085
1086         * Makefile.in (libobjc.a): Depend on EXTRA_PARTS.
1087
1088 Wed May 13 18:33:26 1993  Torbjorn Granlund  (tege@nada.kth.se)
1089
1090         * arm.h: Declare output_arithmetic_with_immediate_multiply.
1091
1092         * arm.md (combined mult/arithmetic recognizers): Switch on.
1093         Add special pattern for reload.
1094
1095         * arm.md (restorehi): Use SImode for address.
1096         (storehi): Use SImode for address and address computation.
1097         (storeinthi): Likewise.
1098
1099 Wed May 12 22:47:35 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1100
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.
1104
1105 Wed May 12 14:18:36 1993  John Hassey  (hassey@dg-rtp.dg.com)
1106
1107         * m88k.h (REG_OK_FOR_BASE_P REG_OK_FOR_INDEX_P): Don't
1108         use extended registers for base or index.
1109
1110 Wed May 12 14:48:00 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
1111
1112         * unroll.c (copy_loop_body): Delete May 10 change.
1113
1114 Tue May 11 20:20:41 1993  James Van Artsdalen  (james at bigtex.cactus.org)
1115
1116         * tree.c (real_value_from_int_cst): Use temporary variable `e' to
1117         work around bugs in 386 PCC.
1118
1119 Tue May 11 16:50:54 1993  Michael Meissner  (meissner@osf.org)
1120
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>
1124         switches.
1125
1126         * local-alloc.c (block_alloc): Don't dereference a NULL pointer.
1127
1128 Tue May 11 12:09:37 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1129
1130         * tree.c (build_array_type): Delete the code to set TYPE_MAIN_VARIANT.
1131         * c-decl.c (complete_array_type): Likewise.
1132
1133 Tue May 11 11:40:14 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
1134
1135         * pa.c (emit_move_sequence): Handle secondary reloads for loads of
1136         FP registers from constant expressions.
1137
1138         * pa.h (CONSTANT_ADDRESS_P): Accept symbolic addresses during
1139         and after reload.
1140
1141 Tue May 11 07:26:06 1993  Richard Kenner  (kenner@mole.gnu.ai.mit.edu)
1142
1143         * reorg.c (mostly_true_jump): Jump is forward if TARGET_LABEL is
1144         zero; don't try to get INSN_CODE of zero.
1145
1146 Tue May 11 00:44:09 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1147
1148         * tree.c (build_array_type):
1149         Don't change TYPE_MAIN_VARIANT if incomplete (domain not known).
1150
1151         * real.c (enan): Add forward decl.
1152
1153 Mon May 10 20:32:12 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
1154
1155         * unroll.c (copy_loop_body): Copy REG_NOTES during main loop
1156         instead of afterwards.
1157
1158 Mon May 10 17:36:31 1993  Richard Kenner  (kenner@vlxisi1.ultra.nyu.edu)
1159
1160         * alpha.c (output_epilog): Fix minor error in instructions used
1161         to restore stack pointer.
1162
1163 Mon May 10 15:59:41 1993  Michael Meissner  (meissner@osf.org)
1164
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
1167         not specified.
1168
1169 Mon May 10 12:14:07 1993  John Hassey  (hassey@dg-rtp.dg.com)
1170
1171         * m88k.h (TRAMPOLINE_TEMPLATE): Fixed invalid bsr insn.
1172
1173 Mon May 10 11:55:18 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1174
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.
1179
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.
1183
1184 Mon May 10 11:53:02 1993  Steve Chamberlain  (sac@wookumz.gnu.ai.mit.edu)
1185
1186         * sh.md (movstrsi): Take alignment into account.
1187         * sh.c (shift_value_ok): Can't shift by negative values.
1188
1189 Mon May 10 11:49:48 1993  Michael Meissner  (meissner@osf.org)
1190
1191         * va-mips.h (va_arg): Use __alignof__ instead of __alignof.
1192
1193         * cp-decl.c (finish function): Add missing ';'.
1194
1195 Mon May 10 00:54:16 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1196
1197         * objc/runtime.h: Include gstdarg.h, not stdarg.h.
1198
1199         * libgcc2.c (__floatdisf): Use DFtype for intermediate values.
1200
1201         * tree.c (real_value_from_int_cst):
1202         If I is unsigned, use REAL_VALUE_FROM_UNSIGNED_INT.
1203
1204         * config/m68k/m68k.c (output_move_double): Use operand 0 to get SIZE.
1205
1206         * reload.c (find_equiv_reg): Set goal_mem_addr_varies
1207         for all but true constant addresses.
1208
1209 Sun May  9 17:53:52 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1210
1211         * config/sparc/sparc.h (SIZE_TYPE): Deleted.
1212
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.
1215
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
1223         and a warning.
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.
1237
1238         * real.c (mtherr): Don't put newlines in error message string.
1239
1240         * real.h (REAL_VALUES_LESS): True if return value of ereal_cmp is -1.
1241
1242 Sun May  9 17:34:06 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
1243
1244         * cp-decl.c (finish_function): Don't do anything if we haven't got a
1245         current_function_decl.
1246
1247         * cp-pt.c (tsubst): Don't assert if IN_DECL is null.
1248         (coerce_template_parms): Likewise.
1249
1250         * cp-type2.c (process_init_constructor): Fix argument passing to
1251         initializer_constant_valid_p.
1252
1253 Sun May  9 10:47:05 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1254
1255         * c-decl.c (complete_array_type):
1256         Make maxindex -1 for empty constructor.
1257
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.
1261
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.
1266
1267         * config/m68k/m68k.md (mulhisi3, umulhisi3 matchers):
1268         Restrict range of constants allowed.
1269
1270 Sun May  9 13:31:35 1993 CET  Kresten Krab Thorup  (krab@iesd.auc.dk)
1271
1272         * objc/hash.h, objc/objc.h, objc/sarray.h (gstddef.h): 
1273         Conditionally include gstddef.h or stddef.h by IN_GCC.
1274
1275 Sun May  9 00:51:33 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1276
1277         * reload.h: Fix unterminated comment.
1278
1279         * objc-act.c (string_section): Delete comma before close-brace.
1280
1281 Sat May  8 23:49:50 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1282
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,
1286         copy it.
1287
1288 Sat May  8 23:19:11 1993  Kaveh R. Ghazi  (ghazi@caip.rutgers.edu)
1289
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.
1294
1295 Sat May  8 10:40:54 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1296
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.
1300
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.
1304
1305         * m68k.c (print_operand): For CONST_DOUBLE, treat VOIDmode like DImode.
1306
1307         * expmed.c (init_expmed): Supply missing arg to rtx_cost.
1308
1309         * config/convex/convex.h (LINK_LIBGCC_SPECIAL_1):
1310         Define this instead of LINK_LIBGCC_SPECIAL.
1311
1312 Sat May  8 14:43:27 1993  Torbjorn Granlund  (tege@nada.kth.se)
1313
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.
1318
1319 Sat May  8 07:06:14 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
1320
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.
1324
1325 Fri May  7 19:43:49 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
1326
1327         * cp-typeck.c (default_conversion): Disable change of Apr 13th for
1328         now, since it seems to behave incorrectly in some cases.
1329
1330 Fri May  7 17:38:22 1993  Michael Meissner  (meissner@osf.org)
1331
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.
1337
1338         * mips/t-mips-gas: New target file, used when the GNU assembler is
1339         used instead of the MIPS assembler.
1340
1341 Fri May  7 17:41:00 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1342
1343         * Makefile.in (float.h-nat): Use tmp-float.h as intermediate file.
1344
1345 Fri May  7 13:42:06 1993  Mike Stump  (mrs@poseidon.cygnus.com)
1346
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.
1349
1350 Fri May  7 13:15:40 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
1351
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.
1355
1356         * loop.c (strength_reduce): Handle case where loop_end is the
1357         end of the current function.
1358
1359 Fri May  7 05:50:39 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
1360
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.
1363
1364 Fri May  7 04:48:25 1993  Chris Smith  (csmith@convex.com)
1365
1366         * x-convex (CCLIBFLAGS): Build libgcc1 with -tm c1 so it can't
1367         cause executables to become c2-only.
1368
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.
1371
1372         * convex[123*].h (CC1_SPEC, CPP_SPEC, LIB_SPEC): Move to convex.h.
1373
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 
1431         errors.
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.
1435         
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.
1462         (movstrsi): Add.
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.
1468
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
1486         new machines.
1487         (emit_ap_optimizations): New.  Do simple live analysis of arg pointer
1488         register and eliminate dead reloads.
1489         
1490         math-convex.h: removed.
1491         fixinc.convex: new file.
1492
1493 Thu May  6 22:54:43 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
1494
1495         * config/we32k/we32k.h (ASM_OUTPUT_ASCII): 
1496         Cast PTR to unsigned char *.
1497         * config/clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.
1498
1499 Thu May  6 20:20:41 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
1500
1501         * cp-decl.c (build_enumerator): Strip any no-op casts off the
1502         value before we try to do anything with it.
1503
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.
1507
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.
1510
1511 Thu May  6 19:21:34 1993  Doug Evans  (dje@canuck.cygnus.com)
1512
1513         * reload1.c (eliminate_regs, case {PRE,POST}_{INC,DEC}): Account
1514         for PUSH_ROUNDING.
1515
1516 Thu May  6 18:17:19 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1517
1518         * config/i386/sequent.h (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC):
1519         Override the usual definitions.
1520
1521         * objc/hash.h, objc/objc.h, objc/runtime.h, objc/sarray.h:
1522         Use gstddef.h, with doublequotes.
1523
1524 Thu May  6 15:58:18 1993  Ian Lance Taylor  (ian@cygnus.com)
1525
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.
1529
1530 Thu May  6 13:58:39 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
1531
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.
1535
1536         * c-typeck.c (pointer_diff): Error if op1 is pointer to incomplete
1537         type.
1538
1539         * fixinc.svr4 (sys/varargs.h): Replace.
1540
1541 Thu May  6 11:58:28 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1542
1543         * reload1.c (forget_old_reloads_1): Accept and ignore 2nd arg.
1544         (reload_as_needed): Pass that second arg.
1545
1546         * c-parse.in: For Objc, expect just 20 conflicts.
1547
1548         * objc-act.c (OBJC_GEN_METHOD_LABEL): Do use CAT_NAME.
1549
1550         * config/i386/i386.md (extendsidi2): Use cdq or cltd, not cwtl.
1551
1552         * configure (i[34]86-*-bsd): Don't use collect2.
1553
1554         * c-typeck.c (convert_for_assignment): Don't use convert_and_check
1555         when handling arithmetic types here.
1556
1557         * c-common.c (truthvalue_conversion): Turn off Apr 29 change.
1558
1559 Thu May  6 05:44:23 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
1560
1561         * reload.c (find_equiv_reg): Don't look inside a CONST_DOUBLE;
1562         use operand_subword instead.
1563
1564         * varasm.c (record_constant): Properly make the header of
1565         a struct constant_descriptor.
1566
1567         * function.c (walk_fixup_memory_subreg): Add new arg UNCRITICAL.
1568         (fixup_var_refs_insn): Call with UNCRITICAL of 1 when processing
1569         REG_NOTES.
1570
1571         * integrate.c (expand_inline_function): Don't call convert_to_mode
1572         unless we need to; some converstions of VOIDmode objects can
1573         mess them up.
1574
1575         * expmed.c (store_split_bit_field): Properly handle VALUE when
1576         it is a CONST_DOUBLE.
1577
1578         * fold-const.c (decode_field_reference): Don't do anything for
1579         non-integral fields.
1580
1581         * cse.c (simplify_binary_operation, simplify_relational_operation):
1582         Check for MODE_CC modes, not just CCmode.
1583
1584 Thu May  6 00:54:40 1993  Kresten Krab Thorup  (krab@iesd.auc.dk)
1585
1586         * objc/class.c, objc/hash.c: Change calloc to __objc_xcalloc.
1587         * objc/objects.c (class_create_instance): bzero new instances
1588
1589         * objc/sendmsg.c (__objc_send_initialize, class_add_method_list):
1590         Allow multiple +initialize methods per class.
1591
1592 Wed May  5 21:40:04 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1593
1594         * config/i386/sequent.h (LINK_LIBGCC_SPECIAL): #if 0.
1595
1596         * toplev.c (main): Improve error message in previous change.
1597
1598 Wed May  5 19:36:15 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
1599
1600         * combine.c (combinable_i3pat): Do not make REG_DEAD notes for
1601         the stack pointer, frame pointer, or arg pointer.
1602
1603 Wed May  5 17:57:30 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1604
1605         * config/i386/sequent.h (LINK_LIBGCC_SPECIAL): Defined.
1606
1607 Wed May  5 00:01:57 PDT 1993  Ron Guilmette  (segfault!rfg@netcom.com)
1608
1609         * expr.h: Fix comment typos.  emit_block_move decl was hidden.
1610
1611         * toplev.c (main): If C++ for Dwarf requested, warn and turn it off.
1612
1613 Wed May  5 21:48:24 1993  Kresten Krab Thorup  (krab@iesd.auc.dk)
1614
1615         * objc-act.c (check_methods_accessible): Handle interface types. 
1616
1617 Wed May  5 14:37:42 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
1618
1619         * fold-const.c: (optimize_bit_field_compare): Add missing arg
1620         to const_binop.
1621
1622         * reg-stack.c (record_asm_reg_life): Don't abort for asm that
1623         doesn't match its constraints.
1624
1625         * combine.c (num_sign_bit_copies, case SUBREG): Properly compute
1626         the number of sign bit copies of SUBREGs of promoted objects.
1627
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.
1634
1635 Wed May  5 14:11:12 1993  Ian Lance Taylor  (ian@cygnus.com)
1636
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.
1640
1641 Wed May  5 11:34:59 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1642
1643         * toplev.c (flag_defer_pop): Initialize to 0.
1644         (main): Set it to 1 if optimizing.
1645
1646 Wed May  5 06:38:47 1993  Tom Wood  (wood@hal.gnu.ai.mit.edu)
1647
1648         * configure (i[34]86-next-*, m68k-next-*): collect2 isn't needed.
1649
1650 Tue May  4 14:21:11 1993  Kresten Krab Thorup  (krab@xiv.iesd.auc.dk)
1651
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
1654         gstddef.h 
1655
1656         * objc/Makefile (OBJC_H): Add typedstream.h 
1657
1658         * objc/Object.h: Add includes objc/objc.h and objc/typedstreams.h 
1659         objc/Object.h: Removed `minimal' definitions.  Includes objc.h
1660         instead.  
1661         * objc/archive.c: Add include "typedstream.h"
1662
1663         * objc/typedstream.h: New file.  Contents moved from
1664         objc/objc-api.h.
1665
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
1669
1670         * objc/archive.c: Change malloc into __objc_xmalloc
1671
1672         * objc/objc.h, objc/sendmsg.c: Remove any code for hash lookup
1673         * objc/cache.h: File removed
1674
1675         * objc/objc-api.h (class_create_instance, object_copy,
1676         object_dispose): Definitions moved to objc/objects.c 
1677
1678         * objc/objc.h: Remove declarations for library functions.
1679         * objc/Object.m (-conformsTo:): Bugfix: Also ask superclasses.
1680
1681 Tue May  4 23:46:37 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
1682
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.
1685
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.
1689
1690         * cp-cvt.c (convert_pointer_to): Only call get_base_distance et al.
1691         on RECORD_TYPEs, not on UNION_TYPEs.
1692
1693         * cp-decl.c (grokdeclarator): Don't try to divine the name of the
1694         incomplete type for a field decl.
1695
1696 Tue May  4 19:55:29 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
1697
1698         * combine.c (distribute_notes, REG_DEAD case): Handle hard
1699         registers which partially overlap the destination of the insn.
1700
1701 Tue May  4 17:59:10 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
1702
1703         * pa.md (casesi0): Remove incorrect fix from April 23.
1704         * pa.h (CASE_DROPS_THROUGH): Define.
1705
1706 Tue May  4 13:22:21 1993  John Hassey  (hassey@dg-rtp.dg.com)
1707
1708         * t-dgux: Fixed name of link script.
1709
1710 Tue May  4 11:15:40 1993  Steve Chamberlain  (sac@wookumz.gnu.ai.mit.edu)
1711
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.
1716
1717 Mon May  3 20:41:00 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1718
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.
1721
1722 Mon May  3 19:27:04 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
1723
1724         * lite.h (CPP_PREDEFINES): Delete -Dsun and -Dunix.
1725
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.
1729
1730         * c-decl.c (grokdeclarator, ARRAY_REF case): Build array type, and
1731         then build the variant array type.
1732
1733         * sparc.md (floatsitf2): Output fitoq not fitox.
1734
1735         * i960.md (scc pattterns): Add missing mode to conditional operators.
1736         * i960.c (output_function_profiler): Add missing newlines in strings.
1737
1738         * c-common.c (truthvalue_conversion): Don't optimize subtract of
1739         reals when target uses IEEE arithmetic.
1740
1741         * c-parse.in: Delete cond.awk reference.
1742         * cond.awk: Delete file.
1743
1744 Mon May  3 16:58:55 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1745
1746         * c-typeck.c (digest_init): Check size properly for wide-string.
1747
1748         * Makefile.in (TEXI2DVI): New variable.
1749         (cpp.dvi, gcc.dvi): Use it.
1750
1751 Mon May  3 16:29:38 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
1752
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.
1756
1757 Mon May  3 21:02:22 1993  H.J. Lu  (hlu@yardbird.eecs.wsu.edu)
1758
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.
1762
1763 Mon May  3 06:41:56 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1764
1765         * objc/Makefile (copy-headers): Put `-' on mkdir command.
1766
1767 Sun May  2 09:28:43 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1768
1769         * cccp.c (macroexpand): Treat `foo ( )' as 0 args if foo wants 0 args.
1770
1771 Sun May  2 07:37:45 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
1772
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.     
1778
1779 Sun May  2 08:57:33 1993  Michael Meissner  (meissner@osf.org)
1780
1781         * real.c (EDOM, ERANGE): Do not define since errno.h was
1782         previously included.
1783
1784 Sun May  2 08:28:15 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1785
1786         * cse.c (record_jump_cond): Use mode of op0 or op1, not MODE,
1787         when testing for narrowing or widening subregs.
1788
1789 Sat May  1 10:10:44 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1790
1791         * config/nextstep.h (WORD_SWITCH_TAKES_ARG): Fix typo.
1792
1793         * cse.c (simplify_binary_operation): Reject CCmode in  A & (~A) -> 0.
1794
1795         * cccp.c (macroexpand): If just whitespace between parens,
1796         treat it as one argument.
1797
1798 Sat May  1 11:02:22 1993  H.J. Lu  (hlu@yardbird.eecs.wsu.edu)
1799
1800         * Makefile.in (libobjc.a): Depend on $(USE_COLLECT2)
1801
1802         * objc/Makefile (xforward): Add `else true;' for Ultrix 4.2 make.
1803
1804 Sat May  1 06:49:51 1993  Tom Wood  (wood@next.com)
1805
1806         * objc-act.c (build_ivar_reference): Warn when a class method
1807         refers to an instance variable.
1808
1809 Fri Apr 30 22:37:56 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1810
1811         * c-lex.c (yylex): Avoid invalid shift for erroneous empty char const.
1812
1813         * combine.c (subst, case COMPARE): Use SELECT_CC_MODE even if HAVE_CC0.
1814
1815 Fri Apr 30 12:40:23 1993  John Hassey  (hassey@dg-rtp.dg.com)
1816
1817         * configure, install.texi: Updated -local configuration option.
1818
1819 Fri Apr 30 15:20:10 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
1820
1821         * sparc.h (LONG_DOUBLE_TYPE_SIZE): Ifdef out.
1822
1823 Fri Apr 30 14:53:43 1993  Doug Evans  (dje@wookumz.gnu.ai.mit.edu)
1824
1825         * config.sub: Fix syntax error.
1826
1827 Fri Apr 30 12:00:24 1993  Ian Lance Taylor  (ian@cygnus.com)
1828
1829         * fixincludes: Fix #endif comments for Ultrix 4.2.
1830
1831 Fri Apr 30 10:45:53 1993  Steve Chamberlain  (sac@wookumz.gnu.ai.mit.edu)
1832
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.
1836
1837 Thu Apr 29 22:20:20 1993  Jeff Law  (law@kahlua.cs.utah.edu)
1838
1839         * cse.c (cse_insn): Reset the INSN_CODE for conditional
1840         or computed jumps which have been converted into simplejumps.
1841
1842 Thu Apr 29 14:30:25 PDT 1993  Ron Guilmette  (rfg@netcom.com)
1843
1844         * c-common.c (truthvalue_conversion):  Specific error message when the
1845         "truthvalue" of a struct, union, or array type operand is needed.
1846
1847 Thu Apr 29 21:42:26 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
1848
1849         Thu Apr 29 12:27:59 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
1850
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.
1854
1855         Wed Apr 28 11:50:28 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
1856
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.
1860
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.
1865
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).
1869
1870 Thu Apr 29 19:26:21 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1871
1872         * config/mips/mips.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
1873         Definitions put into #if 0.
1874
1875         * c-typeck.c (build_conditional_expr): Do default_conversion
1876         before testing for ERROR_MARK.
1877
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.
1881
1882         * Makefile.in (install-normal): Move install-libgcc
1883         after $(INSTALL_HEADERS).
1884
1885 Thu Apr 29 17:09:59 1993  Ian Lance Taylor  (ian@cygnus.com)
1886
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.
1893
1894 Thu Apr 29 15:30:09 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
1895
1896         * pa.md (shadd for reload): Fix constraint to match the output
1897         pattern.
1898
1899 Thu Apr 29 15:05:05 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
1900
1901         * we32k.md (float_extend:DF recognizer): Add missing arg to
1902         output_asm_insn.
1903         (float_truncate:SF recognizer): Likewise.
1904
1905 Thu Apr 29 10:18:36 1993  Kresten Krab Thorup  (krab@wombat.gnu.ai.mit.edu)
1906
1907         * objc/xforward.c: File renamed from objc/_forward.c.
1908         * objc/Makefile: Updated accordingly.
1909
1910 Thu Apr 29 12:10:49 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1911
1912         * real.c: Deleted casts to void.
1913
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.
1923
1924         * Makefile.in (tooldir): Use exec_prefix, not prefix.
1925         (gcc.o): Likewise for TOOLDIR_BASE_PREFIX.
1926
1927         * config/convex/convex.c (output_call):
1928         Add missing arg to output_asm_insn.
1929
1930         * gcc.c (default_compilers): Inhibit -D__OPTIMIZE__ if -O0.
1931
1932         * config/m68k/m68k.md (movxf): Add pattern for soft-float moves.
1933
1934         * config/m68k/m68k.c (output_move_double): Support XFmode moves.
1935
1936 Thu Apr 29 00:09:34 1993  Kresten Krab Thorup  (krab@wombat.gnu.ai.mit.edu)
1937
1938         * objc/init.c (__objc_exec_class): Added check for selectors = 0
1939
1940         Undid the following changes:
1941
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.
1949
1950 Thu Apr 29 00:04:11 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
1951
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.
1957
1958 Wed Apr 28 18:15:57 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
1959
1960         * pa.h (HARD_REGNO_MODE_OK): Allow 1.0 FP registers to hold modes
1961         which are smaller than 4 bytes.
1962
1963 Wed Apr 28 16:40:38 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
1964
1965         * Makefile.in (distdir): Copy subdirectories of config/ too, except RCS
1966
1967 Wed Apr 28 16:19:18 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
1968
1969         * Makefile.in (extraclean): Delete *.z as well.
1970
1971 Wed Apr 28 15:10:33 1993  Michael Meissner  (meissner@osf.org)
1972
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.
1976
1977         * mips/osfrose.h (CC1_SPEC): Don't pass -mgpopt here.
1978
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.
1982
1983 Wed Apr 28 07:31:20 1993  Kresten Krab Thorup  (krab@wombat.gnu.ai.mit.edu)
1984
1985         * objc/argframe.h (__AF_ARG_ADDR): Removed .curr_off from
1986         definition. (__AF_ARG_ADVANCE): Removed __AF_CUM_OFF around CUM. 
1987
1988         * objc/runtime.h (_objc_error): Declaration added.
1989
1990 Wed Apr 28 06:17:02 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
1991
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.
1998
1999         * convert.c (convert_to_integer): When we want to return zero, 
2000         be sure we honor any side-effects in our operand.
2001
2002 Tue Apr 27 22:25:29 1993  Kresten Krab Thorup  (krab@xiv.iesd.auc.dk)
2003
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.
2011
2012 Tue Apr 27 16:29:45 1993  Tom Wood  (wood@next.com)
2013
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.
2017
2018 Tue Apr 27 12:20:08 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
2019
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
2022         and epilogue.
2023   
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.
2028
2029 Tue Apr 27 10:59:33 1993  Ian Lance Taylor  (ian@cygnus.com)
2030
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.
2038
2039 Tue Apr 27 07:38:47 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu
2040
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.
2046
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.
2050
2051 Tue Apr 27 09:26:04 1993 CET  Kresten Krab Thorup  (krab@xiv.iesd.auc.dk)
2052
2053         * objc/Makefile (fflags): -x test changed to -s test 
2054
2055         * objc/Makefile: CFLAGS changed to GCC_CFLAGS
2056
2057         * objc/Object.h: No longer includes objc.h  Instead, a minimal set
2058         of definitions is provided here.
2059
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.
2063
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.
2069
2070 Tue Apr 27 01:40:50 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2071
2072         Mon Apr 26 20:45:07 1993  Mike Stump  (mrs@poseidon.cygnus.com)
2073
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.
2078
2079         Mon Apr 26 12:58:23 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2080
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!".
2084
2085         * cp-decl.c (grokdeclarator): Forbid declaring an array of references.
2086
2087         * cp-parse.y (unary_expr): Forbid doing sizeof on a function.
2088
2089         * cp-typeck.c (build_unary_op): Pedwarn if they try to do pre/post
2090         increment/decrement on an enum.
2091
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.
2095
2096         * cp-search.c (compute_visibility): Check for a member fn
2097         manipulating its own members before checking the basetype_path.
2098
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
2101         error_mark_node.
2102
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.
2109
2110         Sat Apr 24 17:12:17 1993  Mike Stump  (mrs@poseidon.cygnus.com)
2111
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.
2115
2116 Mon Apr 26 18:48:18 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2117
2118         * fold-const.c (fold): Signedness matters for comparisons and
2119         right shifts.
2120
2121         * xm-alpha.h (ONLY_INT_FIELD): Define again; this time say why.
2122
2123         * tree.h (INTEGRAL_TYPE_P, FLOAT_TYPE_P): New macros.
2124         * fold-const.c: Use INTEGRAL_TYPE_P and FLOAT_TYPE_P.
2125
2126         * protoize.c (other_variable_style_function): Properly test for
2127         the presence of the string "...".
2128
2129         * c-decl.c (pushdecl): Don't make a copy of type of error_mark_node.
2130
2131 Mon Apr 26 18:15:03 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
2132
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.
2136
2137 Mon Apr 26 16:57:03 1993  Michael Meissner  (meissner@osf.org)
2138
2139         * mips-tdump.c (CODE_MASK): Define if running on an alpha instead
2140         of a MIPS.
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
2145         header.
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.
2152
2153 Mon Apr 26 17:47:10 1993  Kresten Krab Thorup  (krab@iesd.auc.dk)
2154
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
2160         class1 removed. 
2161         * objc/class.c (class_pose_as): Unused variable node removed.
2162         * objc/hash.c, objc/init.c: extra parenthesis around assignment
2163         conditionals. 
2164         * objc/Makefile, objc/hash.h, objc/runtime, objc/sarray.h: IN_OBJC
2165         changed to IN_GCC.
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
2172         unsigned long. 
2173         * objc/objects.c, objc/api.h, objc/sarray.h: Changed usage of
2174         bcopy to memcpy.
2175         * objc/sendmsg (__objc_print_dtable_stats): Returntype changed to
2176         void. 
2177
2178 Mon Apr 26 07:55:03 1993  Doug Evans  (dje@canuck.cygnus.com)
2179
2180         * sparc.h (ASM_OUTPUT_LONG_DOUBLE): New macro.
2181         * sysv4.h (ASM_OUTPUT_LONG_DOUBLE): Likewise.
2182
2183 Mon Apr 26 08:45:18 1993  Kresten Krab Thorup  (krab at xiv.iesd.auc.dk)
2184
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.
2192
2193         * objc/Object.m, objc/archive.c, objc-api.h: Take out archiving
2194         support for alpha.  
2195
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. 
2199
2200 Sun Apr 25 21:50:16 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2201
2202         * cp-lex.c (yylex): Re-incorporate changes to redo converting
2203         float values to desired type.
2204
2205 Sun Apr 25 18:11:24 1993  Ron Guilmette  (rfg@netcom.com)
2206
2207         * rtl.h (NOTE_INSN_FUNCTION_BEG): Make non-zero.
2208         * rtl.c (note_insn_name): Re-order for above.
2209
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.
2216
2217 Sun Apr 25 17:07:44 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
2218
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.
2230
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.
2234
2235         * sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER): Make %f0/%f1
2236         the last float registers allocated.
2237
2238         * sparc.c (output_load_address, output_size_for_block_move,
2239         output_block_move): Ifdef out.
2240         * sparc.md (movstrsi): Comment out.
2241
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.
2245
2246         * expmed.c (extract_fixed_bit_field): Adjust BITPOS so that it
2247         fits inside MODE before adjusting OFFSET to get an aligned address.
2248
2249 Sun Apr 25 06:28:56 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2250
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.
2253
2254         * c-decl.c (init_decl_processing): Last arg to __builtin_apply
2255         is size_t, not int.
2256
2257         * c-lex.c (yylex): Don't warn about floating point out of 
2258         range if target floating-point format is IEEE.
2259
2260         * romp.h (SIZE_TYPE): Deleted.
2261
2262 Sat Apr 24 16:46:41 1993  Stephen L. Moshier  (moshier@world.std.com)
2263
2264         * c-lex.c (forget_protocol_qualifiers): Cast enums to ints before
2265         comparing.
2266
2267 Sat Apr 24 13:08:56 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
2268
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.
2273
2274 Sat Apr 24 11:15:02 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2275
2276         * flow.c (mark_used_regs): Use proper type for {all,some}_needed.
2277         * cse.c (invalidate): Likewise for in_table.
2278
2279         * tree.h (build_binary_op, build_indirect_ref, build_unary_op):
2280         Delete declarations; these are part of the front ends.
2281
2282         * objc-act.c (HASHFUNCTION): Cast pointers to widest int type.
2283
2284 Sat Apr 24 02:48:37 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2285
2286         Cygnus<->FSF merge.
2287
2288         Fri Apr 23 11:08:25 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2289
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.
2293
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.
2297
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
2303         type names.
2304
2305         * cp-lex.c (yyerror): Delete extern decl of input_redirected.
2306
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.
2310
2311         * cp-typeck.c (build_modify_expr_1): Put in missing `else'.
2312
2313         Wed Oct  7 16:00:29 1992  Chip Salzenberg  (chip@tct.com)
2314
2315         Change propagated from the C front-end.
2316         * cp-decl.c (shadow_tag): Use pedwarn for useless keyword.
2317
2318         Wed Oct  7 17:51:36 PDT 1992  Ron Guilmette (rfg at netcom.com)
2319
2320         * cp-type2.c (digest_init):  Handle union initializers which are
2321         "raw" constructors.
2322         (process_init_constructor):  Renamed `erred' to `erroneous' (as in
2323         the C front end).
2324         (process_init_constructor):  Added code to handle union initializers.
2325
2326         Fri Oct 23 16:29:45 1992  Chip Salzenberg  (chip@tct.com)
2327
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.
2331
2332         Tue Dec  1 21:35:36 1992  Niklas Hallqvist  (niklas at della.appli.se)
2333
2334         * cp-call.c (convert_harshness): Add support for ellipsis matching
2335         when dealing with function pointers (or references) in argument
2336         lists.
2337         (rank_for_overload): Ditto.
2338         (compute_conversion_costs): Ditto.
2339         (*_HARSHNESS): Ditto
2340         * cp-class.h (struct candidate): Ditto.
2341
2342         Mon Jan  4 11:46:19 1993  Chip Salzenberg  (chip@tct.com)
2343
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.
2347
2348         Sat Jan 30 01:23:22 1993  Niklas Hallqvist  (niklas at della.appli.se)
2349
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.
2353
2354         Mon Feb  1 09:40:11 1993  Niklas Hallqvist  (niklas at della.appli.se)
2355
2356         * cp-search.c (compute_visibility): Add support for  anonymous
2357         unions nested in classes.
2358
2359         Tue Feb  2 16:06:10 1993  Chip Salzenberg  (chip@tct.com)
2360
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_...".
2366
2367         Mon Feb 15 10:45:12 1993  Niklas Hallqvist  (niklas@della.appli.se)
2368
2369         * cp-method.c (build_typename_overload): Identifiers built by this
2370         function needs the IDENTIFIER_OPNAME_P slot set.
2371
2372         Wed Apr 21 11:25:15 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2373
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.
2377
2378         Tue Apr 20 20:17:42 1993  Mike Stump  (mrs@poseidon.cygnus.com)
2379
2380         * cp-spew.c (yylex): Add `typespec (ID::*ID)[' and `typespec
2381         (ID::*ID)(' to list of things that parse as declarators.
2382
2383         Mon Apr 19 15:05:21 1993  Mike Stump  (mrs@cygnus.com)
2384
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.
2388
2389         Fri Apr 16 13:59:28 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2390
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.
2395
2396         * cp-lex.c (set_yydebug): Add extern decl of yydebug.
2397
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.
2410
2411         Thu Apr 15 11:23:18 1993  Mike Stump  (mrs@poseidon.cygnus.com)
2412
2413         * cp-search.c (report_ambiguous_mi_virtuals): Pass pointers to
2414         arrays, not pointers to first elements in the array in call to
2415         rank_mi_virtuals.
2416
2417         * cp-lex.c (do_identifier), cp-parse.y: move
2418         undeclared_variable_notice to where it is really used.
2419
2420         * cp-lex.c (do_identifier): Improve error message.
2421
2422         Tue Apr 13 17:04:12 1993  Mike Stump  (mrs@cygnus.com)
2423
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.
2427
2428         Fri Apr  9 20:26:32 1993  Mike Stump  (mrs@rtl.cygnus.com)
2429
2430         * cp-lex.c (real_yylex): Use MAP_CHARACTER translate incoming
2431         character set.  See c-lex.c ChangeLog entry for more details.
2432
2433         Thu Apr  8 15:30:58 1993  Mike Stump  (mrs@rtl.cygnus.com)
2434
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.
2438
2439         Thu Apr  8 11:40:16 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2440
2441         * cp-tree.h (lookup_name_current_level): Add prototype.
2442
2443         Tue Apr  6 13:36:00 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2444
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
2448         prototype.
2449
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.
2453
2454         Sat Apr  3 12:16:23 1993  Mike Stump  (mrs@cygnus.com)
2455
2456         * cp-init.c (emit_base_init): init can be NULL_TREE when dealing
2457         with arrays, guard against it.
2458
2459 Fri Apr 23 19:33:58 1993  Tor Egge  (tegge@pvv.unit.no)
2460  
2461         * reorg.c (relax_delay_slots): Make sure target_label is set.
2462  
2463 Fri Apr 23 19:19:06 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2464
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.
2468
2469         * c-decl.c (push_parm_decl): Turn off warning when parameter
2470         shadows typedef.
2471
2472 Fri Apr 23 16:41:54 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
2473
2474         * pa.md (casesi0): Indicate that the PC is set to the 
2475         out-of-range label if the index is not valid.
2476
2477 Fri Apr 23 14:00:48 1993  Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2478
2479         * i386/svr3dbx.h, i386/svr3gas.h: Reflect new directory structure.
2480         * i386/t-svr3dbx: New file to install the required ld ifiles
2481         automatically.
2482         * configure (i[34]86-...): Use t-svr3dbx if configured --with-stabs.
2483
2484 Fri Apr 23 13:53:31 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
2485
2486         * reload1.c (emit_reload_insns): Advance following_insn if it is a
2487         clobber, not if the next insn is a clobber.
2488
2489 Fri Apr 23 13:44:12 1993  Joey Pruett  (joey@tessi.com)
2490
2491         * protoize.c (scan_for_missed_items): Add keywords: else, do, case.
2492
2493 Fri Apr 23 06:52:25 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2494
2495         * fold-const.c (fold, case REALPART_EXPR, IMAGPART_EXPR): Avoid using
2496         build_{unary,binary}_op since the calling sequences depend on
2497         the front-end.
2498         * expr.c (expand_expr, case OFFSET_REF): Likewise.
2499         * convert.c (convert_to_integer, convert_to_complex): Likewise.
2500
2501         * c-typeck.c (readonly_warning): Correctly check for assignments
2502         to iterators.
2503
2504 Thu Apr 22 07:44:40 1993  Tom Wood  (wood@next.com)
2505
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.
2516
2517         * nextstep.h (ASM_FILE_START): Don't output a .file directive.
2518         That's used by the assembler for error reporting.
2519
2520 Wed Apr 21 17:45:50 1993  Ron Guilmette  (rfg at netcom.com)
2521
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.
2525
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
2528         clone.
2529
2530         * dwarf.h (AT_lo_user, AT_hi_user):  Fix defined values to be correct
2531         according to final DWARF V1 spec.
2532
2533 Tue Apr 20 20:32:57 1993  Doug Evans  (dje@canuck.cygnus.com)
2534
2535         * function.c (assign_parms): Use mode of type, not BLKmode.
2536
2537 Tue Apr 20 18:37:12 1993  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
2538
2539         * configure (rs6000-ibm-aix*): Put cases in proper order.
2540
2541 Mon Apr 19 15:27:16 1993  Doug Evans  (dje@canuck.cygnus.com)
2542
2543         * calls.c (expand_call): New FUNCTION_ARG_CALLEE_COPIES macro.
2544         * function.c (assign_parms): Ditto.
2545
2546 Sat Apr 17 17:44:59 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2547
2548         * expr.h (FUNCTION_ARG_PADDING): Add parens to make clearer.
2549         (MUST_PASS_IN_STACK): Don't allow machine to override (none
2550         currently do).
2551         Don't force in stack if wrong padding when padding isn't needed.
2552
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
2556         as array of ints.
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.
2564
2565 Sat Apr 17 03:27:48 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2566
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.
2570
2571         * c-decl.c (finish_struct): Promote unsigned bitfield to signed int
2572         if the field isn't as wide as an int.
2573
2574 Fri Apr 16 21:42:49 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2575
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.
2579
2580 Fri Apr 16 20:27:57 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2581
2582         * alpha.md (blockage): Use unspec_volatile #1; #0 is IMB.
2583
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.
2588
2589 Fri Apr 16 20:27:16 1993  Tom Wood  (wood@next.com)
2590
2591         * a29k.h (FUNCTION_VALUE_REGNO_P): True only for the first register
2592         in the group.
2593
2594         * alpha.md, romp.md, rs6000.md (untyped_call, blockage): New patterns.
2595
2596 Fri Apr 16 17:53:21 1993  Ron Guilmette  (rfg at netcom.com)
2597
2598         * reload1.c (last_spill_reg): Add missing "int".
2599
2600 Fri Apr 16 16:55:16 1993  Doug Evans  (dje@wookumz.gnu.ai.mit.edu)
2601
2602         * Makefile.in (objc-headers): Ensure objc dir exists.
2603
2604 Fri Apr 16 16:40:49 1993  Michael Meissner  (meissner@osf.org)
2605
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.
2610
2611         * mips/iris3.h (INITIALIZE_TRAMPOLINE, TRANSFER_FROM_TRAMPOLINE):
2612         Provide versions of these that does not rely on using mprotect.
2613
2614         * mips/t-mips, mips/t-osfrose, mips/t-ultrix, i386/t-osfrose:
2615         Delete extra dependencies.
2616
2617         * i386/osfrose.h (SELECT_SECTION): Do not put items with
2618         relocation into .text if -pic-lib.
2619
2620 Fri Apr 16 01:09:53 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2621
2622         * config/i386/xm-isc.h (REAL_VALUE_ATOF): Define only if
2623         not REAL_ARITHMETIC.
2624
2625 Thu Apr 15 07:25:00 1993  Tom Wood  (wood@next.com)
2626
2627         * objc-act.c (IS_ID, IS_PROTOCOL_QUALIFIED_ID, IS_SUPER): New type
2628         checking macros.
2629         (objc_comptypes, build_message_expr, gen_declspecs): Use them.
2630
2631         * objc-act.c (gen_declarator): Don't use strcpy's return value.
2632
2633         * objc-act.c (build_message_expr): Allow any type that matches
2634         objc_class_type.
2635
2636         * objc-act.c (get_class_reference): We already have a name.
2637
2638         * objc-act.c (receiver_is_class_object): Use STRIP_NOPS.  Search
2639         cls_ref_chain.
2640
2641 Thu Apr 15 07:25:00 1993  Michael Meissner  (meissner@osf.org)
2642
2643         * objc-act.c (build_objc_string): Use TREE_SET_CODE instead of
2644         assigning to TREE_CODE.
2645         (build_objc_string_object): Ditto.
2646
2647 Wed Apr 14 17:51:50 1993  Holger Teutsch  (holger@hotbso.rhein-main.de)
2648
2649         * clipper.h (FRAME_POINTER_REQUIRED, FRAME_POINTER_OFFSET):
2650         Frame pointer is no longer required for leaf functions.
2651         (OPTIMIZATION_OPTIONS): Define.
2652
2653         * clipper.c (clipper_frame_size): New function.
2654         (output_function_pro/epilogue): Support omitting frame pointer.
2655
2656         * clipper.md (cmpsi): Use `cmpq' for small immediate values.
2657         (addsi3): Use `loada' for `reg1 = reg2  + immed'.
2658
2659 Wed Apr 14 15:23:24 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2660
2661         * print-tree.c (print_node): Use (struct rtx_def *), not (rtx).
2662
2663 Wed Apr 14 13:46:36 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2664
2665         * config/i860/i860.md (floatsidf2): Add missing arg to REAL_VALUE_ATOF.
2666
2667         * c-parse.in: Improve error message for sym undeclared at top level.
2668
2669 Wed Apr 14 12:06:08 1993  Tom Wood  (wood@next.com)
2670
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.
2674
2675         * objc-act.c (get_class_reference): Call add_class_reference for
2676         the GNU runtimes.
2677
2678 Wed Apr 14 03:49:21 CDT 1993  Paul Burchard  (burchard@geom.umn.edu)
2679
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.
2683
2684 Wed Apr 14 10:58:29 1993  Kresten Krab Thorup  (krab@xiv)
2685
2686         * objc/Object.m, objc/Object.h (+streamVersion:): New method.
2687         * objc/archive.c (objc_get_stream_class_version): New function.
2688
2689 Tue Apr 13 17:23:22 1993  Ron Guilmette  (rfg at netcom.com)
2690
2691         * c-decl.c (pop_label_level, combine_parm_decls): Correct args
2692         in error calls.
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
2700         for negative.
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.
2716
2717 Tue Apr 13 14:09:00 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2718
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.
2722
2723         * dbxout.c (dbxout_type): Re-enable debugging output for anonymous
2724         structures in C++.
2725
2726 Tue Apr 13 08:44:55 1993  Kresten Krab Thorup  (krab@iesd.auc.dk)
2727
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.
2733
2734        * objc-act.c (start_class): For class implementations Assign
2735        SUPER_CLASS_NAME from interface specification if not present.
2736
2737 Tue Apr 13 06:48:20 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2738
2739         * alpha.md (sminsf, smindf, smaxsf, smaxdf): Should be minsf, etc.
2740
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.
2745
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.
2757
2758 Tue Apr 13 06:08:16 1993  Paul Eggert  (eggert@twinsun.com)
2759
2760         * fold-const.c (div_and_round_double): Don't mix HOST_WIDE_INT * and
2761         unsigned HOST_WIDE_INT * parameters; some compilers complain.
2762
2763 Mon Apr 12 22:14:03 1993  Kresten Krab Thorup  (krab@iesd.auc.dk)
2764
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
2769         stdlib.h.  
2770
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
2780
2781 Mon Apr 12 22:05:58 1993  Tom Wood  (wood@next.com)
2782
2783         * Makefile.in (objc-act.o): Add dependencies.
2784
2785 Mon Apr 12 20:52:00 1993  Kresten Krab Thorup  (krab@spiff.gnu.ai.mit.edu)
2786
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.
2791
2792         * Makefile.in (stmp-int-hdrs): Added dependency objc-headers.
2793         (objc-headers): New target.
2794
2795         * objc/Makefile (_forward, fflags): Made targets error prone.
2796         (objc-msg.o, _forward): Use explicit path instead of $<.
2797
2798 Mon Apr 12 19:49:55 1993  Tom Wood  (wood@next.com)
2799
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.
2806
2807         * m68k/next.h (ASM_OUTPUT_FLOAT_OPERAND): Use CODE.
2808
2809
2810 Mon Apr 12 15:46:21 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
2811
2812         * Makefile.in (install-common): Delete $(bindir)/$(target)-gcc
2813         before trying to install it.
2814
2815         * i960.h (CONSTANT_ALIGNMENT): Only increase alignment of string
2816         constants.
2817
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.
2821
2822         * explow.c (emit_stack_save): At end, call validize_mem when
2823         inside sequence.
2824
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.
2829
2830 Mon Apr 12 15:24:05 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2831
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
2835         for Objective-C.
2836         * rs6000.md (adddi3/subdi3): Allow immediate constants.
2837
2838         * configure (rs6000-ibm-aix*): Make AIX 3.2 the default.
2839
2840         * README.RS6000: Replaced file to discuss assembler for AIX 3.2 and
2841         problems with NLS support.
2842
2843         * combine.c (record_value_for_reg): Properly set SUBST_LOW_CUID
2844         for last change; otherwise won't get best value.
2845
2846 Mon Apr 12 13:23:59 1993  Jeffrey A. Law (law@schirf.cs.utah.edu)
2847
2848         * jump.c (jump_optimize, clause for `x=a; if (...) x=b;'):
2849         Do this regardless of BRANCH_COST if HAVE_conditional_move
2850         defined.
2851
2852 Mon Apr 12 17:15:43 1993  Kresten Krab Thorup  (krab at xiv)
2853
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
2864
2865 Sat Apr 10 18:07:46 1993  Kresten Krab Thorup  (krab@iesd.auc.dk)
2866
2867         * objc/Makefile: Cleaned up for inclusion in gcc distribution.
2868         Target copy-headers added.
2869
2870 Sun Apr 11 06:40:16 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2871
2872         * toplev.c (strip_off_ending): Add .atr for Ada.
2873
2874         * reorg.c (add_to_delay_list): Clear any cached block information
2875         for INSN.
2876
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.
2881
2882         * combine.c (make_compound_operation, case xSHIFTRT):
2883         Clean up code so more readable and don't restrict to case
2884         where C2 >= C1.
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.
2889
2890 Sun Apr 11 11:16:48 1993  John F Carr  (jfc@Athena.mit.edu)
2891
2892         * combine.c (can_combine_p):  Don't move an UNSPEC_VOLATILE.
2893
2894 Sun Apr 11 01:32:39 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2895
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.
2899
2900 Sat Apr 10 10:57:09 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
2901
2902         * xm-alpha.h (ONLY_INT_FIELDS): No longer needed.
2903
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
2906         space is needed.
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
2913         negative constants.
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.
2918
2919 Fri Apr  9 20:03:38 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
2920
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.
2927
2928 Fri Apr  9 19:05:31 1993  Tom Wood  (wood@next.com)
2929
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
2942         Objective-C module.
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
2946         strings.
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
2951         c-parse.gperf.
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.
2969
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.
2977
2978         Dumped Kresten's latest objc-runtime into the objc directory.
2979         This needs work.
2980
2981         * objc/core.c, objc/objc-proto.h, objc/object.h, objc/object.m,
2982         objc/record.h: Deleted.
2983
2984         Thu Apr  1 11:02:49 1993  Kresten Krab Thorup  (krab at xiv)
2985
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)
2989
2990         Thu Mar 30 11:04:11 1993  Kresten Krab Thorup  (krab at xiv)
2991
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
2997
2998         Thu Mar 25 17:09:40 1993  Kresten Krab Thorup  (krab at xiv)
2999
3000         * configure, Makefile.in: added
3001         * Makefile.in (install): added
3002
3003         Wed Mar 24 14:32:14 1993  Kresten Krab Thorup  (krab at xiv)
3004
3005         * objc/objc.h: Define objc_msg_lookup inline if optimization is
3006         turned on.  objc-actions.c changed accordingly.
3007
3008         Tue Mar 23 18:02:04 1993  Kresten Krab Thorup  (krab at eos)
3009
3010         * sarray.c, objc/sarray.h: Structure of `sarray' changed
3011         eliminating one indirection.  This affects most functions.
3012
3013         Mon Mar 29 1993  Christopher J. Kane  (kane@rock-opera)
3014
3015         * objc-object.c (_objc_object_alloc, _objc_object_dispose,
3016         _objc_object_copy): moved to objc-misc.c, init to 0.
3017         : deleted file.
3018
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.
3024
3025         * objc-api.m (class_create_instance, object_copy, object_dispose):
3026         moved from objc-object.c, inline'd
3027
3028         Sun Mar 28 1993  Christopher J. Kane  (kane@prelude)
3029
3030         * objc-api.h (several inline functions): rewritten to
3031         use new CLS_ISCLASS and CLS_ISMETA macros.
3032         (object_is_metaclass): added.
3033
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.
3038
3039         Sat Mar 27 1993  Christopher J. Kane  (kane@toccata)
3040
3041         * Object.m: method comments added.
3042         (-transmuteClassTo:): removed error message.
3043         (+error:): removed.
3044         (-error:): added +error: functionality.
3045         (+readFrom:): changed objc_get_class to objc_lookup_class.
3046         (+readFrom:): added class_set_version.
3047
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.
3051
3052         * objc.h (_objc_error): moved to objc-api.h.
3053
3054         Fri Mar 26 1993  Christopher J. Kane  (kane@toccata)
3055
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
3059         objc.h.
3060         (objc_msg_sendv): removed.
3061         
3062         * Object.h, Object.m (-isMetaClass): added.
3063         (+free, +name, +respondsTo:, +respondsTo:): removed.
3064         (+class, +superClass, +metaClass): removed.
3065
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.
3073
3074         Wed Mar 24 1993  Christopher J. Kane  (kane@rock-opera)
3075
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
3079         functions.
3080
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.
3094
3095         * Object.h, Object.m (-changeClass:): renamed to -transmuteClassTo:.
3096         (+initialize, -isClass, -isInstance): added.
3097
3098         * Object.h: redundant #defines, typedefs removed; comments modified.
3099         (+readFrom:, -readFrom:, -storeOn:) added.
3100         (-perform:with:): duplicate declaration removed.
3101
3102 Fri Apr  9 17:42:11 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3103
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.
3108
3109         * c-lex.c (yylex): Use MAP_CHARACTER if it's defined.
3110
3111         * cccp.c (no_precomp): Make it 1 by default.
3112
3113 Fri Apr  9 17:15:00  DJ Delorie (dj@ctron.com)
3114
3115         * configure.bat: Updated to handle current Makefile
3116         and new config/i386/go32.h.
3117
3118         * config/i386/go32.h: New file.
3119
3120         * config/i386/xm-dos.h: Define MKTEMP_EACH_FILE and
3121         NO_PRECOMPILES.
3122
3123 Fri Apr  9 15:11:25 1993  Ian Lance Taylor  (ian@cygnus.com)
3124
3125         * Makefile.in: Install as $(target)-gcc, not gcc-$(target).
3126
3127         * fixincludes: Avoid inserting #ifndefs in limits.h if they are
3128         already there (solves HP/UX problem).
3129
3130 Thu Apr  8 21:36:11 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
3131
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.
3141
3142         * expr.c (do_store_flag, case GT_EXPR, LE_EXPR): Don't
3143         confuse highest unsigned value with -1.
3144
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.
3148
3149         * ns32k.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
3150         Add new register class GEN_AND_FLOAT_REGS.
3151
3152 Thu Apr  8 18:42:27 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3153
3154         * Makefile.in (c-parse.y, objc-parse.y): Use sed, not awk.
3155
3156         * c-decl.c (finish_enum): Store layout results into variant types.
3157
3158         * flow.c (mark_set_1): Clear reg_next_use at the proper place.
3159
3160 Thu Apr  8 10:50:00 1993  Ian Lance Taylor  (ian@cygnus.com)
3161
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
3167         float.h.
3168         (stmp-headers): Depend on stmp-int-hdrs, and just install float.h.
3169
3170 Thu Apr  8 06:58:27 1993  Michael Meissner  (meissner@osf.org)
3171
3172         * c-tree.h (require_complete_type, lookup_name_current_level): Add
3173         prototypes.
3174
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.
3178
3179 Wed Apr  7 14:37:41 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3180
3181         * flow.c (mark_set_1): Clear reg_next_use for all kinds of regs.
3182
3183 Wed Apr  7 09:18:20 1993  Michael Meissner  (meissner@osf.org)
3184
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
3188         support.
3189
3190 Tue Apr  6 18:07:20 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3191
3192         * c-decl.c (start_function):
3193         Inhibit missing prototype warning for `main'.
3194
3195 Tue Apr  6 17:23:34 1993  Bill Cox  (bill@cygnus.com)
3196
3197         * tree.h (require_complete_type, lookup_name_current_level): Add
3198         prototypes.
3199
3200 Tue Apr  6 15:09:42 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
3201
3202         * va-sparc.h (va_arg): Cast argument pointer to (char *).
3203
3204         * unroll.c (loop_iterations): When computing comparison_value, use
3205         reg_set_p to identify instructions that modify it.
3206
3207         * sparc.md (lshldi3, lshrdi3): Define.
3208
3209         * Makefile.in (STAGESTUFF): Add insn-opinit.c, stamp-opinit, and
3210         genopinit.
3211
3212         * cccp.c (do_include): For missing header file, if -M, don't
3213         output dependencies, and warning not error if no dependency is
3214         needed.
3215
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
3218         anonymous argument.
3219
3220         * function.c (init_function_start): Always set
3221         current_funtion_returns_pcc_struct if PCC_STATIC_STRUCT_RETURN defined.
3222
3223         * sparc.md (movdi): End by returning the last template; otherwise
3224         we return junk for a template.
3225
3226         * README.ALTOS: Comment as possibly obsolete.
3227         * README.ENCAP: Delete.
3228         * install.texi: Delete references to COFF encapsulation.
3229
3230         * tree.h: Add more prototypes.
3231
3232 Tue Apr  6 12:01:17 1993  Michael Meissner  (meissner@osf.org)
3233
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.
3238
3239         * mips.c (override_options): Set mips_section_threshold to
3240         MIPS_DEFAULT_GVLAUE if -G xx not used.
3241
3242         * mips/osfrose.h (DWARF_DEBUGGING_INFO): Define.
3243         (MIPS_DEFAULT_GVALUE): If mips assembler, the value is 8,
3244         otherwise it is 0.
3245
3246         * i386/osfrose.h (DWARF_DEBUGGING_INFO): Define.
3247         (PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.
3248
3249 Mon Apr  5 20:47:44 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
3250
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
3269         code as RTL.
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.
3273
3274 Mon Apr  5 06:57:35 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
3275
3276         * expr.c (expand_expr, case SAVE_EXPR): Pass promoted type to
3277         store_expr.
3278
3279 Mon Apr  5 03:26:06 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3280
3281         * reload1.c (emit_reload_insns): Cast enum array index to int.
3282
3283         * expr.c (store_constructor): Properly compute size of array
3284         when clearing the whole array.
3285
3286 Mon Apr  5 02:54:54 1993  Per Bothner  (bothner@hal.gnu.ai.mit.edu)
3287
3288         * c-decl.c (lookup_name_current_level):  Make non-static.
3289
3290 Sun Apr  4 20:09:19 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
3291
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.
3298
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.
3302
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.
3313
3314 Sun Apr  4 18:56:25 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
3315
3316         * pa.h (FUNCTION_OUTGOING_VALUE): Remove.
3317         (FUNCTION_VALUE_REGNO_P): Return regs depend on TARGET_SNAKE.
3318
3319 Sun Apr  4 17:47:43 1993  John F Carr  (jfc@Athena.mit.edu)
3320
3321         * reorg.c (get_jump_flags):  Check for LABEL == 0 before using
3322         LABEL.
3323
3324 Sun Apr  4 16:38:04 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3325
3326         * mips-tfile.c: Change "illegal" to "invalid" in error messages.
3327         (parse_stabs_common): Allow nonzero ignored fields in .stabs/.stabn.
3328
3329         * calls.c (expand_call) [PCC_STATIC_STRUCT_RETURN]:
3330         Always set pcc_struct_value if aggregate_value_p returns 1.
3331
3332         * Makefile.in (alloca.o): Delete -Demacs from command.
3333
3334 Sun Apr  4 11:19:07 PDT 1993  Ron Guilmette  (rfg at netcom.com)
3335
3336         * dwarfout.c (type_attribute): Use the TYPE_MAIN_VARIANT of the
3337         given type when calling `user_def_type_attribute'.
3338
3339 Sun Apr  4 07:57:18 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
3340
3341         * optabs.c: Include reload.h.
3342         * Makefile.in (optabs.o): Show includes reload.h.
3343
3344         * alpha.c (output_prolog): Need LDGP even for static procedure.
3345
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.
3349
3350         * alpha.h (LINK_SPEC): Don't pass -O2 to ld; it seems to be broken.
3351
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.
3357
3358 Sun Apr  4 03:09:23 1993  Richard Stallman  (rms@churchy.gnu.ai.mit.edu)
3359
3360         * gstdarg.h [__svr4__]: Test only _VA_LIST_ to avoid dup typedef.
3361         (This used to be if __SVR4_2__.)
3362
3363         * config/m68k/m68k.c (floating_exact_log2): Initialize r1.
3364
3365 Sat Apr  3 20:01:05 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
3366
3367         * pa.c (hppa_legitimize_address): Use Pmode consistently.
3368
3369 Sat Apr  3 17:35:11 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
3370
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.
3373
3374         * expr.c (store_expr): Call size_binop instead of doing the
3375         same thing with fold and build.
3376
3377         * combine.c (simplify_comparison, case PLUS): Generalize
3378         simplification of (eq (plus A B) C).
3379         (simplify_comparison, case MINUS): Add corresponding cases.
3380
3381 Fri Apr  2 19:11:46 1993  Richard Stallman  (rms@geech.gnu.ai.mit.edu)
3382
3383         * c-parse.in (expr_no_commas, from ASSIGN op):
3384         Store ERROR_MARK as the original code.
3385
3386 Fri Apr  2 07:49:03 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
3387
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
3395         being used.
3396
3397         * genopinit (optabs): Fix typo in name for "fix" pattern.
3398
3399 Thu Apr  1 21:24:04 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
3400
3401         Cygnus<->FSF merge.
3402
3403         Thu Apr  1 17:20:05 1993  Mike Stump  (mrs@sphagnum.cygnus.com)
3404
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.
3408
3409         Thu Apr  1 12:06:03 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
3410
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.
3413
3414         * cp-decl.c (grokvardecl): Don't use declarator unless it's non-null
3415         when looking for a redefinition.
3416
3417         * cp-typeck.c (convert_for_initialization): Check if `rhs' is a
3418         TREE_LIST before looking for its value.
3419
3420         * cp-init.c (expand_default_init): Don't clear DECL_REGISTER.
3421
3422         Wed Mar 31 17:57:50 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
3423
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.
3429
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.
3435
3436         Wed Mar 31 14:43:50 1993  Mike Stump  (mrs@cygnus.com)
3437
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.
3442
3443         Wed Mar 31 13:32:38 1993  Mike Stump  (mrs@cygnus.com)
3444
3445         * cp-method.c (report_type_mismatch): Arguments are numbered
3446         starting from 1 now.
3447
3448         Tue Mar 30 17:21:18 1993  Mike Stump  (mrs@cygnus.com)
3449
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
3453         later.
3454
3455         Tue Mar 30 14:14:53 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
3456
3457         * cp-decl2.c (check_classfn): Say which class when giving an error
3458         about arglist mismatches or missing members.
3459
3460         * cp-decl.c (grokdeclarator): For class-local typedefs, call pushtag
3461         to make sure the identifier is in scope properly.
3462
3463         Mon Mar 29 18:05:22 1993  Mike Stump  (mrs@cygnus.com)
3464
3465         lookup_fnfields hacking...  Corrects some problems found with Thu
3466         Mar 25 23:09:27 1993 vtable fixes.
3467
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.
3481
3482         Mon Mar 29 16:42:58 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
3483
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.
3486
3487         * cp-typeck.c (build_binary_op_nodefault): Delete spurious warning
3488         about comparision between signed/unsigned (matches C front-end).
3489
3490         Fri Mar 26 16:30:57 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
3491
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.
3498
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
3502         being operated on.
3503
3504         Fri Mar 26 01:21:43 1993  Mike Stump  (mrs@cygnus.com)
3505
3506         * cp-decl.c (grokdeclarator): Don't set TREE_PUBLIC for friends.
3507
3508         Fri Mar 26 01:09:34 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
3509
3510         * cp-decl.c (pushdecl): Give a pedwarn, not a regular warning, when
3511         we shadow a formal parameter.
3512
3513         * cp-init.c (expand_default_init): Get rid of spurious abort call.
3514
3515         Thu Mar 25 23:09:27 1993  Mike Stump  (mrs@cygnus.com)
3516
3517         Major vtable re-vamp.
3518
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
3529         routines.
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.
3535
3536 Thu Apr  1 19:38:53 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
3537
3538         * reorg.c (redundant_insn_p): Stop searching for a redundant
3539         insn if an INSN or JUMP_INSN with delayed effects is 
3540         encountered.
3541
3542 Thu Apr  1 12:00:01 1993  Michael Meissner  (meissner@osf.org)
3543
3544         * real.c (toplevel): Add 'extern' keyword in forward declaration
3545         of arrays without bounds to silence warnings from the MIPS
3546         compiler.
3547
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
3550         ready to handle it.
3551
3552         * mips/mips.md (untyped_call): Rewrite code so that the MIPS
3553         compiler will not issue statement not reached warning messages.
3554
3555 Thu Apr  1 07:28:11 1993  James Van Artsdalen  (james@bigtex.cactus.org)
3556
3557         * expr.c (emit_push_insn, expand_assignment): Fix typo in last change.
3558
3559 Thu Apr  1 02:31:16 1993  Per Bothner  (bothner@hal.gnu.ai.mit.edu)
3560
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.
3564
3565 Thu Apr  1 02:11:10 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3566
3567         * Makefile.in (LIB2FUNCS): Add _fixunsxfdi, _fixxfdi, _floatdixf,
3568         _fixunsxfsi.
3569
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.
3573
3574 Wed Mar 31 20:05:19 1993  Michael Meissner  (meissner@osf.org)
3575
3576         * mips.h (CLASS_UNITS): Fix typo in previous change, patch from
3577         ian@cygnus.com.
3578
3579 Wed Mar 31 17:18:27 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3580
3581         * toplev.c (compile_file): Call incomplete_decl_finalize_hook
3582         only if nonzero.
3583
3584 Wed Mar 31 00:59:50 1993  Gerald Baumgarnter  (gb@cs.purdue.edu)
3585
3586         * toplev.c (compile_file): Only call `*incomplete_decl_finalize_hook'
3587         if the `decl' in question is a VAR_DECL.
3588
3589 Wed Mar 31 15:27:41 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
3590
3591         * pa.h (CONSTANT_ADDRESS_P): Fix typo in last change.
3592
3593 Wed Mar 31 15:11:12 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
3594
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
3601         out CONST_DOUBLE.
3602
3603 Wed Mar 31 11:28:21 1993  James Van Artsdalen  (james@bigtex.cactus.org)
3604
3605         * reg-stack.c (emit_swap_insn): Don't link cc0 insns: emit swap
3606         after cc0 user.
3607
3608 Wed Mar 31 07:00:45 1993  Richard Kenner  (kenner@apple-gunkies.gnu.ai.mit.edu)
3609
3610         * expr.c (expand_expr, case ADDR_EXPR): Allow taking the
3611         address of any object; used in call-by-reference situations.
3612
3613         * tree.c (next_type_uid): Move definition to reasonable place.
3614         (copy_node): Make new DECL_UID and TYPE_UID as comments say.
3615
3616         * expr.c (emit_block_move, emit_push_insn, expand_assignment):
3617         Size passed to memcpy/bcopy is SIZETYPE, not Pmode.
3618
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.
3623
3624         * alpha.h (INITIAL_ELIMINATION_OFFSET): Subtract
3625         current_function_pretend_args_size from OFFSET for AP.
3626
3627         * alpha.h (LINK_SPEC): New definition.
3628
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.
3631
3632 Wed Mar 31 02:02:29 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3633
3634         * gvarargs.h [__svr4__]: Test only _VA_LIST_ to avoid dup typedef.
3635         (This used to be if __SVR4_2__.)
3636
3637         * local-alloc.c (optimize_reg_copy_1): Don't increment n_calls
3638         specially if P is a call_insn.
3639
3640         * convert.c (convert_to_real): Pass mode arg to REAL_VALUE_ATOF.
3641
3642 Tue Mar 30 17:07:33 1993  Stephen L. Moshier  (moshier@world.std.com)
3643  
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.
3648  
3649         * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_TARGET_DOUBLE)
3650         (REAL_VALUE_TO_TARGET_SINGLE): New macros.
3651
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.
3654
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.
3658
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.
3662  
3663         * Makefile.in (real.o): New target.
3664         (OBJS): Add real.o.
3665  
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.
3670
3671         * cp-lex.c (yylex): Redo converting float values to desired type.
3672
3673         * final.c (split_double) :  Use REAL_VALUE macros to extract ints
3674         from float mode CONST_DOUBLEs.
3675  
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.
3681  
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.
3687  
3688         * rtl.c: Include real.h to get the definition of REAL_VALUE_TYPE.
3689  
3690         * varasm.c (assemble_real): Case TFmode and XFmode invoke
3691         ASM_OUTPUT_LONG_DOUBLE.
3692  
3693         * optabs.c (expand_fix): Initialized REAL_VALUE_TYPE
3694         confuses some compilers.
3695
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.
3699
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.
3703
3704         * explow.c (rtx_to_tree_code): New function.
3705
3706         * rtl.h (rtx_to_tree_code): Declare.
3707
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.
3713
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.
3723
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.
3728
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.
3732  
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.
3748
3749         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):
3750         Use new REAL_VALUE... macros.
3751         (ASM_OUTPUT_LONG_DOUBLE): New definition.
3752
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.
3756
3757         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND):
3758         Use new REAL_VALUE... macros.
3759
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.
3764
3765         * vaxv.h (ASM_OUTPUT_DOUBLE): Use new REAL_VALUE... macros. 
3766
3767         * alpha.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
3768         Use new REAL_VALUE... macros.
3769         (REAL_ARITHMETIC): Defined.
3770
3771 Tue Mar 30 17:07:33 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
3772
3773         For Tege:    
3774         * pa.md (sminsi3, smaxsi3): Fix bugs in last addition.
3775
3776 Tue Mar 30 16:52:15 1993  Michael Meissner  (meissner@osf.org)
3777
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.
3782
3783 Tue Mar 30 05:40:26 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
3784
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.
3791
3792         * reload.c (form_sum): Use mode of inputs when making new PLUS.
3793
3794         * genopinit.c: New file.
3795         * expr.h (extendtab, fixtab, fixtrunctab, floattab, movstr_optab):
3796         New definitions.
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.
3808
3809         * reload1.c (emit_reload_insns): Properly track what was reloaded
3810         into what register when what we reloaded was a hard register group.
3811
3812 Mon Mar 29 17:35:04 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
3813
3814         * sparc.md (movsi+2): Add f/f constraint case.
3815
3816         * sched.c (schedule_block): Reset n_ready if schedule_select
3817         removes all insns from ready list.
3818
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.
3824
3825 Mon Mar 29 13:57:28 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3826
3827         * c-iterate.c (collect_iterators): Cast tree code to int for indexing.
3828
3829 Mon Mar 29 06:28:57 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
3830
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.
3833
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.
3837
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.
3843
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):
3847         Deleted.
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
3853         some definitions.
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
3857         and type).
3858         (push_reload): Accept and use new reload description instead of
3859         old NEEDED_FOR.
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
3900         GENERAL_REGS.
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
3905         current sequence.
3906         (inc_for_reload): Return void; no longer need INSN as operand.
3907         Emit insns to end of current sequence.
3908
3909 Mon Mar 29 02:59:27 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3910
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.
3914
3915 Sun Mar 28 20:26:11 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
3916
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.
3921
3922 Sun Mar 28 18:49:12 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3923
3924         * c-decl.c (store_parm_decls): Use pedwarn for "promoted arg doesn't
3925         match prototype" warning.
3926
3927         * expr.c (expand_expr): For COMPONENT_REF, don't force_reg op0
3928         if it is BLKmode.
3929
3930 Sun Mar 28 16:25:59 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
3931
3932         * pa.md (smin, umin, smax, umax): New patterns.
3933
3934         * Support nullification of conditional branch delay slots on
3935         the PA.
3936
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
3944         a length of 3.
3945         (decrement and branch pattern): Handle nullification of long
3946         backward branches.  Such branches have lengths of either 3 or 6.
3947
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.
3953
3954         * pa.h (toplevel): Declare output_bb.
3955
3956         * genattr.c (main): Output ATTR_FLAG masks.
3957
3958         * rtl.def (ATTR_FLAG): New RTL code.
3959
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.
3966         
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.
3979
3980 Sun Mar 28 00:36:04 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
3981
3982         * fixincludes: Move comments about big sed command outside the
3983         command itself.
3984
3985         * toplev.c (lang_options): Add -W{no-,}missing-braces.
3986
3987         * c-typeck.c (process_init_constructor, digest_init):
3988         Check and set new static var partial_bracket_mentioned.
3989
3990         * c-lex.c: Updated for recent change in c-parse.gperf.
3991
3992 Sat Mar 27 13:43:27 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
3993
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.
3999
4000 Sat Mar 27 08:22:25 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4001
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.
4005
4006         * va-alpha.h: Major rework to agree with new calling sequence.
4007         Should have been installed with Feb 10th changes.
4008
4009         * rs6000.md (mov[qhs]i): Allow moving a special reg to itself.
4010
4011 Sat Mar 27 03:13:46 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
4012
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.
4016
4017 Fri Mar 26 17:07:31 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4018
4019         * c-tree.h, output.h: Use STDIO_PROTO for prototypes with FILE.
4020
4021         * input.h: Add standard copyright notice.
4022
4023         * caller-save.c: Add prototypes for static functions.
4024         (choose_hard_reg_mode): Add missing parameters declaration.
4025
4026         * a29k.md (multiply/multiplu/mulm/mulmu insns): These clobber Q.
4027
4028 Fri Mar 26 06:23:31 1993  Tom Wood  (wood@next.com)
4029
4030         * i960.h (FUNCTION_VALUE_REGNO_P): Change to agree with
4031         FUNCTION_VALUE.
4032         * pyr.h, spur.h (INCOMING_REGNO, OUTGOING_REGNO): Define.
4033         * arm.md (untyped_call, blockage): New patterns.
4034
4035 Fri Mar 26 02:09:02 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
4036
4037         * configure (sparc-tti-*, m68k-tti-*): Don't set use_collect2.
4038
4039 Fri Mar 26 01:05:43 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
4040
4041         Cygnus<->FSF merge.
4042
4043         Thu Mar 25 18:19:19 1993  Mike Stump  (mrs@cygnus.com)
4044
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.
4048
4049         Wed Mar 24 16:28:17 1993  Per Bothner  (bothner@rtl.cygnus.com)
4050
4051         * cp-call.c (build_method_call):  Fix handling of foo->~Class().
4052
4053         Sat Mar 20 12:29:37 1993  Michael Tiemann  (tiemann@rtl.cygnus.com)
4054
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.
4057
4058         Fri Mar 19 15:58:34 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
4059
4060         * cp-pt.c (tsubst): Call build_decl_overload for the new
4061         instantiation.
4062
4063         Thu Mar 18 19:09:39 1993  Ken Raeburn  (raeburn@cygnus.com)
4064
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'.
4071
4072         Tue Mar  2 16:24:39 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
4073
4074         * cp-typeck.c (c_expand_return): If operand 0 is a TREE_LIST, then
4075         make sure to use its value.
4076
4077         Mon Mar  1 14:22:12 1993  Bill Cox  (bill@rtl.cygnus.com)
4078
4079         * cp-decl.c (push_level_decl): Add cast to correct push_stack_level
4080           parameter.
4081
4082         Mon Mar  1 10:19:38 1993  Mike Stump  (mrs@cygnus.com)
4083
4084         * cp-lex.c (do_identifier): Improve wording on error message.
4085
4086         Wed Feb 24 19:54:46 1993  Mike Stump  (mrs@rtl.cygnus.com)
4087
4088         * cp-typeck.c (commonparms, convert_for_assignment): Number
4089         arguments starting at 1 in error messages to match the C front-end.
4090
4091         Wed Feb 24 14:55:54 1993  Mike Stump  (mrs@cygnus.com)
4092
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.
4098
4099         Mon Feb 22 18:07:23 1993  Mike Stump  (mrs@cygnus.com)
4100
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.
4105
4106         Wed Feb 17 15:12:12 1993  Mike Stump  (mrs@cygnus.com)
4107
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.
4111
4112         Tue Feb 16 22:47:29 1993  Mike Stump  (mrs@cygnus.com)
4113
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
4119         inheritance.
4120
4121         * cp-search.c (get_binfo_recursive, get_base_distance_recursive):
4122         New routines that use a depth first search strategy instead of
4123         breadth first.
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.
4128
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.
4134
4135         * cp-class.c (build_vtable, prepare_fresh_vtable, finish_struct),
4136         cp-tree.h: Remove DECL_VPARENT.
4137
4138         * cp-class.c (get_vtable_entry): Use unsigned when dealing with
4139         DECL_VINDEXes.
4140         * cp-class.c (finish_struct): Use get_vtable_entry instead of open
4141         coding that routine here.
4142
4143         Fri Feb 12 10:24:52 1993  Brendan Kehoe  (brendan@cygnus.com)
4144
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
4148         SIGABRT.
4149
4150         Thu Feb 11 10:30:59 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
4151
4152         * cp-type2.c (readonly_error): New arg `SOFT', to pedwarn instead of
4153         error.
4154         * cp-typeck.c, cp-cvt.c, cp-tree.h: Modify callers appropriately.
4155
4156         Tue Feb  9 10:02:58 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
4157
4158         * cp-lex.c (real_yylex): When parsing an exponent, check for 'e' and
4159         'E' explicitly.
4160
4161         * cp-typeck.c (build_unary_op): Disallow taking the address of
4162         the `main' fn.
4163         * cp-decl.c (grokdeclarator): Check for the length of ORIGINAL_NAME
4164         being 4, and that it starts with 'm', before calling strcmp.
4165
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
4168         pedwarn.
4169         * cp-cvt.c, cp-typeck.c: Change all callers.
4170         * cp-tree.h (readonly_error): Rename prototype.
4171
4172         Sun Jan 31 09:58:16 1993  Niklas Hallqvist  (niklas at della.appli.se)
4173  
4174         * cp-typeck.c (build_modify_expr): Accept taking the address of a
4175         temporary generated by an explicit constructor call, but generate
4176         a warning.
4177
4178         Mon Feb  8 10:45:56 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
4179
4180         * cp-decl.c (grokdeclarator): Demangle DECLARATOR if it's an operator.
4181
4182 Thu Mar 25 11:38:02 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
4183
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.
4187
4188         * Makefile.in (USER_H): Add va-clipper.h.
4189
4190 Thu Mar 25 07:01:14 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4191
4192         * calls.c (store_one_arg): Fix typo in previous change.
4193
4194 Thu Mar 25 03:37:51 1993  Mike Stump  (mrs@hal.gnu.ai.mit.edu)
4195
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.
4207
4208 Wed Mar 24 17:53:11 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
4209
4210         * c-parse.gperf: Change __cimag__ to __imag__, __creal__ to __real__,
4211         to void rejection by gperf.
4212
4213 Tue Mar 23 18:43:14 1993  Holger Teutsch  (holger@hotbso.rhein-main.de)
4214
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.
4218
4219         * clipper.h (HARD_REGNO_MODE_OK): DImode regs must start on even
4220         registers.
4221
4222         * gstdarg.h, gvarargs.h: Use va-clipper.h.
4223
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.
4228
4229 Wed Mar 24 1993 18:54:51  Paul Eggert  (eggert@twinsun.com)
4230
4231         * fixincludes (memory.h):
4232         Use proper ANSI syntax in `#endif __memory_h__'.
4233
4234 Wed Mar 24 12:52:40 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4235
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.
4240
4241 Wed Mar 24 08:03:31 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4242
4243         * rs6000.h (EXTRA_SECTION_FUNCTIONS, ASM_DECLARE_FUNCTION_NAME):
4244         Don't output tab before .csect pseudo-op.
4245
4246 Wed Mar 24 02:01:14 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
4247
4248         * config/pyr/pyr.h (NO_DOT_IN_LABEL): Defined.
4249
4250         * tree.c (stabilize_reference_1): For division and remainder,
4251         make a save_expr.
4252
4253 Tue Mar 23 14:51:07 1993  Jim Wilson  (wilson@geech.gnu.ai.mit.edu)
4254
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.
4265
4266 Tue Mar 23 07:43:18 1993  Tom Wood  (wood@next.com)
4267
4268         * emit-rtl.c (push_topmost_sequence, pop_topmost_sequence): New
4269         functions.
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.
4272
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.
4296
4297 Tue Mar 23 06:38:36 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4298
4299         * calls.c (store_one_arg): Use int_size_in_bytes and
4300         expr_size when appropriate instead of size_in_bytes.
4301
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
4304         wins.
4305
4306         * cse.c (CHEAP_REG): Add missing parens.
4307
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.
4321
4322         * dbxout.c (dbxout_type): Use int_size_in_bytes instead of
4323         size_in_bytes for consistency with other code.
4324
4325         * calls.c (expand_call): Use expr_size instead of doing it ourself.
4326
4327 Mon Mar 22 19:15:17 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
4328
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.
4331
4332 Mon Mar 22 15:28:48 1993  Paul Eggert  (eggert@twinsun.com)
4333
4334         * fixincludes: Use `set x $y; shift', not `set - $y', to avoid
4335         altering sh options.  Fix `#endif foo' constructions.  Clean up
4336         all DONE files.
4337
4338 Mon Mar 22 17:02:58 1993  Doug Evans  (dje@canuck.cygnus.com)
4339
4340         * expr.h (MUST_PASS_IN_STACK): Make machine parameter.
4341
4342 Mon Mar 22 01:38:41 1993  James Van Artsdalen  (james at bigtex.cactus.org)
4343
4344         * reload1.c (eliminate_regs): Eliminate regs within a CLOBBER.
4345
4346         * emit-rtl.c (init_emit): Use INIT_EXPANDERS.
4347
4348         * i386.c (output_fix_trunc): Use MEMs in insn as stack temps.
4349         No need to allocate & deallocate stack space on the fly.
4350         
4351         (clear_386_stack_locals): New function.
4352         (assign_386_stack_local): New function.
4353
4354         * i386.h (PREFERRED_RELOAD_CLASS): Only narrow MODE_FLOAT reloads
4355         from ALL_REGS to GENERAL_REGS.
4356         (PREFERRED_OUTPUT_RELOAD_CLASS): Deleted.
4357
4358         (INIT_EXPANDERS): New macro.
4359
4360         * i386.md (movsf,movdf): Use an input reload for MEM-MEM moves.
4361         (extendsfdf2): Don't allow GENERAL_REGS in any operand.
4362
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.
4367
4368 Sun Mar 21 17:24:09 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4369
4370         * toplev.c (compile_file): If warning about a function
4371         declared static but not defined, make the function extern.
4372
4373         * cccp.c (collect_expansion): Don't make # special in argless macro.
4374
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.
4381
4382 Sun Mar 21 16:30:22 1993  Michael Meissner  (meissner@osf.org)
4383
4384         * t-osfrose (CONFIG2_H): Change include file name to osfrose.h.
4385
4386         * halfpic.h (prototype support): Fix recent changes for
4387         prototypes, so it compiles again.
4388
4389         * configure (ns32k-encore-osf): Delete, last ns32k OSF/rose
4390         machine turned off.
4391
4392         * encrose.h, x-encrose, t-encrose: Delete, no longer used.
4393
4394 Sun Mar 21 16:20:04 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4395
4396         * integrate.c (copy_rtx_and_substitute, case USE):
4397         Don't remove a subreg if ORIG had one.
4398
4399 Sun Mar 21 01:50:07 1993  Pat Rankin  (rankin@eql.caltech.edu)
4400
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.
4405
4406 Sat Mar 20 22:46:31 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4407
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
4414         references changed. 
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
4425         delayed effects.
4426
4427 Sat Mar 20 18:54:46 1993  Michael Meissner  (meissner@osf.org)
4428
4429         * mips.h (TARGET_SWITCHES): Or in TARGET_CPU_DEFAULT for default
4430         case.
4431         (TARGET_CPU_DEFAULT): Default to 0.
4432
4433 Sat Mar 20 14:52:26 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4434
4435         * pa.h (singlemove_string): Declare.
4436
4437         * configure: Add support for 4.4BSD on hp300s.
4438         * hp3bsd44.h, x-hp3bsd44.h: New files for 4.4BSD on hp300s
4439
4440         * pa.md (conditional branch patterns): Clean up constraints.
4441
4442         * pa.md (shadd reload patterns): Clean up output templates.
4443
4444 Sat Mar 20 11:23:15 1993  Torbjorn Granlund  (tege@gnu.ai.mit.edu)
4445
4446         * expmed.c (init_expmed): Fix typo in last change.
4447
4448 Sat Mar 20 07:11:54 1993  Richard Kenner  (kenner@apple-gunkies.gnu.ai.mit.edu)
4449
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
4455         computation.
4456
4457         * fold-const.c (fold, case PLUS_EXPR): Don't associate apart
4458         a constant operand.
4459
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
4464         force_to_mode.
4465
4466 Sat Mar 20 03:16:52 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
4467
4468         * print-tree.c (print_node): Print the chain of a STRING_CST.
4469
4470         * c-lex.c (yylex): Copy the string value we get from __FUNCTION__.
4471
4472 Fri Mar 19 21:06:41 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
4473
4474         * expr.h: Correct partly nested comment.
4475
4476         From Bill Cox (bill@cygnus.com):
4477         * cp-decl.c (push_level_decl): Add cast to correct push_stack_level
4478         parameter.
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.
4483
4484         * xcoffout.h (DEBUG_SYMS_TEXT): Define.
4485         * xcoffout.c (xcoffout_declare_function): Call dbxout_source_file
4486         before emitting .function psuedo-op.
4487
4488 Fri Mar 19 17:45:13 1993  Michael Meissner  (meissner@osf.org)
4489
4490         * mips.h (MIPS_VERSION): Bump Meissner version to 36.
4491         (TARGET macros): Move this section to be earlier than
4492         ASM_FINAL_SPEC.
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.
4495
4496         * configure (target_cpu_default): Set to 16 when configuring a
4497         MIPS using the GNU assembler.
4498
4499 Fri Mar 19 06:27:34 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4500
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.
4504
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.
4508
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.
4513         Compute zero_cost.
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.
4526
4527 Fri Mar 19 01:37:54 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
4528
4529         * c-typeck.c (digest_init): Typo in last change.
4530         (initializer_constant_valid_p): Handle COMPLEX_CST.
4531
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.
4535
4536         * calls.c (emit_call_1): Don't defer pops in const call.
4537
4538 Thu Mar 18 17:02:24 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
4539
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.
4544
4545 Thu Mar 18 21:28:43 1993  Paul Eggert  (eggert@twinsun.com)
4546
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.
4553
4554 Thu Mar 18 16:16:21 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
4555
4556         * c-typeck.c (digest_init): Handle COMPLEX_TYPE like other scalars.
4557
4558         * c-parse.in (REALPART, IMAGPART): New token types.
4559         (unary_expr): Handle REALPART, IMAGPART.
4560
4561         * expr.c (expand_expr): Don't ensure ref to a volatile value
4562         if it is a function.
4563
4564         * c-parse.gperf: Add __cimag, __cimag__, __creal, __creal__.
4565
4566         * collect2.c  (output_file): New static var.
4567         (main): Set output_file.
4568         (my_exit): Delete output_file on failure.
4569
4570 Thu Mar 18 12:39:06 1993  Doug Evans  (dje@canuck.cygnus.com)
4571
4572         * function.c (assign_parms): Minor cleanup.
4573         * calls.c (expand_call): Fix bug (don't clobber bitpos).
4574
4575 Thu Mar 18 00:08:40 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4576
4577         * config/vax/vms.h (PCC_STATIC_STRUCT_RETURN): Add #undef.
4578
4579 Wed Mar 17 17:28:17 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4580
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.
4588
4589 Wed Mar 17 17:24:29 1993  Michael Meissner  (meissner@osf.org)
4590
4591         * mips.h (MIPS_VERSION): Bump Meissner version to 35.
4592         (TARGET_SWITCHES): Add -mlong-calls, delete -mwc* switches.
4593
4594         * mips.md (call insns & expanders): If -mlong-calls, require
4595         function address to be in a register.
4596
4597         * x-iris (OLDCC): Iris now needs -Wf,-XNh1500 as well.
4598
4599 Wed Mar 17 16:00:29 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4600
4601         * pa.h (IS_RELOADING_PSEUDO_P): New subroutine for
4602         EXTRA_CONSTRAINT.
4603         (EXTRA_CONSTRAINT): Use IS_RELOADING_PSEUDO_P.  Accept any MEM for
4604         `Q' constraint during the reload pass.
4605
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
4609         copies.
4610         * pa.md (movqi, movhi, movsi, movdi, movsf, movdf): Remove support
4611         for GR<->FP copies.
4612         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
4613
4614 Wed Mar 17 14:58:49 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4615
4616         * config/vax/vms.h (STRUCT_VALUE): Defined.
4617         (STRUCT_VALUE_REGNUM): Add #undef.
4618
4619 Wed Mar 17 14:23:25 1993  Torbjorn Granlund  (tege@gnu.ai.mit.edu)
4620
4621         * pa.md (branch-on-bit): New patterns.
4622         * pa.c (pc_or_label_operand): New predicate.
4623
4624 Wed Mar 17 02:46:58 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4625
4626         * config/m68k/m68k.md (movqi): In address reg case, if d0
4627         appears in the address, use d1 instead as intermediate reg.
4628
4629 Tue Mar 16 17:42:14 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4630
4631         * cse.c (FIXED_REGNO_P): Remove previous change; all callers but
4632         one already check.
4633         (CHEAP_REG): Only call FIXED_REGNO_P for hard regs.
4634         (fold_rtx): Clarify comments.
4635
4636 Tue Mar 16 14:55:40 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
4637
4638         * x-apollo68 (CFLAGS, LIBGCC2_CFLAGS): Delete overrides and
4639         comment why they were wrong.
4640
4641         * c-decl.c (grokdeclarator, ARRARY_REF): If exern, then end
4642         temporary allocation before building type.
4643
4644         * sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Define.
4645         * reload.c (get_secondary_mem): Use macro SECONDARY_MEMORY_NEEDED_RTX.
4646
4647 Tue Mar 16 03:49:13 1993  James Van Artsdalen  (james at bigtex.cactus.org)
4648
4649         * cse.c (FIXED_REGNO_P): Pseudos can't be fixed regs.
4650
4651 Tue Mar 16 04:33:41 1993  Paul Eggert  (eggert@twinsun.com)
4652  
4653         * cccp.c (main): Report errors in output to pcp_outfile.
4654
4655 Mon Mar 15 21:30:32 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4656
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.
4660
4661 Mon Mar 15 20:52:17 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4662
4663         * pa.h (EXTRA_CONSTRAINT, case 'S'): Do not accept CONSTANT_P if
4664         TARGET_LONG_CALLS.
4665
4666         * pa.h (EXTRA_CONSTRAINT): Merge strict and non-strict variants.
4667         Delete 'R' constraint.
4668
4669 Mon Mar 15 18:38:22 1993  Torbjorn Granlund  (tege@sics.se)
4670
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.
4685
4686 Mon Mar 15 16:44:08 1993  Doug Evans  (dje@canuck.cygnus.com)
4687
4688         * function.c (assign_parms): Remove unnecessary #ifdef.
4689
4690 Mon Mar 15 14:33:52 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
4691
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.
4698
4699         * xm-sol2.h (NO_SYS_SIGLIST): Define.
4700
4701         * i960.c (print_operand_address): For MULT, set ireg not breg.
4702
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.
4705
4706         * config.sub (sparclite, sparclite-*): New configuration.
4707         * configure (sparclite-*-*): Likewise.
4708         * sparc/lite.h: New file.
4709
4710         * sched.c (adjust_priority): Comment unreachable code.
4711         (memrefs_conflict_p): Add comment about Fortran aliasing.
4712
4713 Mon Mar 15 13:54:06 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4714
4715         * cse.c (simplify_plus_minus): Remove last change.  Instead,
4716         count initial operands and test against that count to see if we
4717         did anything.
4718
4719         * alpha.h (ASM_OUTPUT_{INT,SHORT,CHAR,BYTE}): Truncate constant
4720         to maximum range permitted in order to avoid assembler error.
4721
4722 Mon Mar 15 13:37:35 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4723
4724         * pa.md (sh[123]add patterns): Use register_operand, not 
4725         shadd_operand.      
4726         (sh[123]add patterns for reload): Special patterns to avoid
4727         lossage due to reload problems.
4728         * pa.c (shadd_operand): Delete.
4729  
4730 Mon Mar 15 00:31:20 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4731
4732         * configure (rs6000-ibm-aix3.2): Renamed from rs6000-ibm-aix32.
4733
4734 Sun Mar 14 22:54:10 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4735
4736         * reorg.c (find_end_label): Update unfilled_slots if the return
4737         insn we make has a delay slot.
4738
4739 Sun Mar 14 21:27:48 1993  Torbjorn Granlund  (tege@sics.se)
4740
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.
4750
4751 Sun Mar 14 06:34:28 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4752
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.
4758
4759         * cse.c (simplify_plus_minus): Reject "simplifications" that are
4760         too complex in form.
4761         Correct sign error in expanding NOT.
4762
4763 Sun Mar 14 00:02:12 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4764
4765         * reload1.c (choose_reload_regs): Verify reload_out[j] != 0
4766         before comparing with reload_earlyclobber elements.
4767
4768 Sat Mar 13 21:05:12 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4769
4770         * calls.c (emit_call_1): Restore inhibit_defer_pop before popping args
4771         so that pops really do get deferred if appropriate.
4772
4773 Sat Mar 13 18:13:30 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4774
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.
4777
4778         * calls.c, expr.c: Correctly define PUSH_ARGS_REVERSED.
4779
4780 Sat Mar 13 16:49:10 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4781
4782         * pa.c (eligible_for_epilogue_delay): Insns which access %r2 can
4783         not be used to fill the epilogue's delay slot.
4784
4785 Sat Mar 13 15:31:02 1993  James Van Artsdalen  (james at bigtex.cactus.org)
4786
4787         * reg-stack.c (emit_swap_insn): If emitting after a cc0 setter,
4788         link the cc0 insns.
4789
4790 Fri Mar 12 17:45:36 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4791
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.
4795
4796         * expr.c (emit_push_insn): Handle failure of gen_movstr...
4797
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.
4800
4801 Fri Mar 12 17:25:35 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4802
4803         * expr.c: Add prototypes for static functions.
4804         (struct move_by_pieces): Move definition before function
4805         forward decls.
4806
4807         * rs6000.h, a29k.h (PROMOTE_MODE): Fix typo.
4808
4809         * cse.c (refers_to_mem_p): Use rtx_equal_p to see if bases
4810         are equal.
4811
4812         * cse.c (set_nonvarying_address_components): Fix type mismatch with
4813         caller.
4814         (refers_to_mem_p): Call properly in second call.
4815
4816         * jump.c (jump_optimize): Fix bug in last change.
4817
4818 Fri Mar 12 07:25:43 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4819
4820         * optabs.c (expand_binop): For doubleword int addition,
4821         clobber the whole register at the start.
4822
4823 Fri Mar 12 03:19:26 1993  James Van Artsdalen  (james at bigtex.cactus.org)
4824
4825         * reg-stack.c (get_true_reg): Don't ignore FLOAT_TRUNCATE.
4826         (subst_stack_regs_pat): Substitute in FLOAT_TRUNCATE insns.
4827
4828         (compare_for_stack_reg): Reset insn code after swapping operands.
4829
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.
4835
4836         (SELECT_CC_MODE): Use VOIDmode for non-FP-equality comparisons.
4837
4838         * i386.md (truncdfsf2): Rewrite to allow FLOAT_REGS in constraints
4839         for better register preferences.
4840
4841         (movM): If REG_WAS_0, make sure the reg hasn't changed since then.
4842
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.
4847
4848         (cmpdf,cmpsf recognizers): When using VOIDmode as mode of the
4849         COMPARE rtx, require that the mode be exactly VOIDmode.
4850
4851         * i386.c (VOIDmode_compare_op): New operand predicate function.
4852
4853         * vax.md (movM): If REG_WAS_0, make sure the reg hasn't changed
4854         since then.
4855         * tahoe.md (movM): Likewise.
4856
4857 Thu Mar 11 19:23:51 1993  Doug Evans  (dje@canuck.cygnus.com)
4858
4859         * function.c (aggregate_value_p): RETURN_IN_MEMORY now handles
4860         BLKmode values.
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.
4872
4873 Thu Mar 11 19:02:55 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4874
4875         * alpha.h (RTX_COST, case MULT): Handle s8addx and s4addx.
4876         (RTX_COST, case MULT): Correctly assign cost to multiplies by a
4877         power of two.
4878         (RTX_COST, case ASHIFT, ASHIFTRT, LSHIFTRT, IF_THEN_ELSE): New cases.
4879
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.
4883
4884 Thu Mar 11 07:47:09 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4885
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.
4890
4891         * cse.c (set_nonvarying_address_components): New function.
4892         (invalidate): Use set_nonvarying_address_components instead of 
4893         computing them.
4894         (refers_to_mem_p): Likewise.  Simplify checks for conflicting
4895         memory accesses.  Make static.
4896         * loop.c (addr_overlap_p): Delete.
4897
4898 Wed Mar 10 23:52:40 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4899
4900         * fixincludes: Delete ${LIB}/DONE just before exit.
4901
4902 Wed Mar 10 12:27:51 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
4903
4904         * pa.c (reg_or_cint_move_operand): Use cint_ok_for_move.
4905
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.
4910
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.
4914
4915 Wed Mar 10 11:50:06 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
4916
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.
4921
4922 Wed Mar 10 01:43:43 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4923
4924         * objc-act.c (OBJC_GEN_METHOD_LABEL): Convert colons to _'s.
4925         Don't use the category name or the number.
4926
4927         * gcc.c (link_command_spec): New option -nostartfiles.
4928
4929 Tue Mar  9 18:55:43 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4930
4931         * convert.c (convert_to_complex): Avoid using comptypes.
4932
4933 Tue Mar  9 11:33:32 1993  Michael Meissner  (meissner@osf.org)
4934
4935         * objc-act.c (#ifdef NEXT_OBJC_RUNTIME): Close #ifdef properly.
4936
4937 Tue Mar  9 00:03:03 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4938
4939         * flags.h (flag_volatile_global): Declared.
4940
4941         * c-decl.c (define_label): Use current line number in error msg.
4942
4943 Mon Mar  8 16:11:18 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4944
4945         * config/i386/i386.h (HARD_REGNO_MODE_OK): Add some casts.
4946
4947         * reg-stack.c (record_asm_reg_life): Cast class to int for indexing.
4948
4949         * sdbout.c (PUSH_DERIVED_LEVEL): Cast enumm constants to int.
4950
4951         * toplev.c (flag_volatile_global): New variable.
4952         (f_options): Add option for it.
4953         * varasm.c (make_decl_rtl): Handle that option.
4954
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.
4959
4960 Mon Mar  8 12:01:49 1993  Paul Eggert  (eggert@twinsun.com)
4961
4962         * fold-const.c (const_binop): When evaluating a shift, ignore
4963         overflows generated by force_fit_type.
4964
4965 Mon Mar  8 07:24:30 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4966
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.
4973
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.
4978
4979         * expr.h: Clean up prototypes for functions in expr.c and
4980         optabs.c and add some missing ones.
4981
4982         * optabs.c: Add prototypes for static functions.
4983         (init_libfuncs): Put args in proper order.
4984
4985 Sun Mar  7 07:59:34 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
4986
4987         * reorg.c: Add prototypes for static functions.
4988         (fill_simple_delay_slots): Add missing declaration of arg.
4989
4990 Sat Mar  6 15:08:59 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4991
4992         * gcc.c: Handle long options by translation to old-style ones.
4993         (translate_options): New function.
4994         (option_map): New table.
4995
4996         * config/i386/t-iscscodbx: New file.
4997         * configure (i[34]86-*-isc*, i[34]86-*-sco...): Use that if stabs.
4998
4999         * reload1.c (choose_reload_regs): Handle SUBREG in reload_earlyclobber
5000         when matching output reloads for setting reload_when_needed.
5001
5002 Sat Mar  6 08:43:09 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
5003
5004         * genattrtab.c (write_test_expr): Use INSN_CODE == -2, not 0, for
5005         constant attributes.
5006
5007         * genattrtab.c: Add prototypes in forward declarations.
5008         Add some missing parameters to a few calls.
5009
5010 Sat Mar  6 07:41:36 1993  Doug Evans (dje@cygnus.com)
5011
5012         * calls.c (expand_call): Fix typo in unaligned code.
5013
5014 Fri Mar 5 20:32:28 1993  Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5015
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.
5021
5022 Fri Mar  5 19:41:50 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5023
5024         * expr.c (expand_assignment): Special handling for storing in
5025         RESULT_DECL.
5026
5027 Fri Mar  5 17:48:41 1993  Chris Smith  (csmith@mozart.convex.com)
5028
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.
5034
5035 Fri Mar  5 17:37:20 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
5036
5037         * alpha.md: Add new define_split for doing sign-extended adds
5038         of some large constants using sNaddl.
5039
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.
5043
5044 Fri Mar  5 15:11:41 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
5045
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.
5052
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.
5056
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.
5075
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.
5081
5082
5083 Fri Mar  5 12:45:51 1993  Jim Wilson  (wilson@geech.gnu.ai.mit.edu)
5084
5085         * sparc.c (output_function_prologue, output_function_epilogue):
5086         Add comments for frame_base_name usage in leaf_functions.
5087
5088         * gcc.c (main): Put argv[0] in collect_obstack instead of programname.
5089
5090         * cse.c (note_mem_written): QImode varying structure memory
5091         accesses can alias scalars.
5092
5093 Thu Mar  4 10:05:52 1993  Juergen Keil  (jk@leo.tools.de)
5094
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.
5098
5099 Thu Mar  4 17:52:52 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
5100
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.
5104
5105 Thu Mar  4 17:18:57 1993  Steve Chamberlain  (sac@geech.gnu.ai.mit.edu)
5106
5107         * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx for
5108         partial ints too.
5109
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.
5114
5115 Thu Mar  4 15:18:15 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5116
5117         * c-common.c (truthvalue_conversion): Fix handling of COMPLEX_EXPR.
5118         Handle all complex values specially.
5119
5120 Thu Mar  4 13:48:38 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
5121
5122         * pa.md (recognizer for general uaddcm): New pattern.
5123
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.
5128
5129 Thu Mar  4 13:14:13 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5130
5131         * fold-const.c (fold): Handle complex constants as "winning".
5132         Handle REALPART_EXPR and IMAGPART_EXPR.
5133
5134 Thu Mar  4 13:08:53 1993  Steve Chamberlain  (sac@geech.gnu.ai.mit.edu)
5135
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.
5139
5140 Thu Mar  4 10:31:17 1993  Michael Meissner  (meissner@osf.org)
5141
5142         * gcc.c (link_command_spec): Add missing \ before newline inside
5143         character string.
5144
5145         * c-parse.in (all_iter_stmt_simple): Add missing comma so that
5146         Objective C compiles.
5147
5148 Thu Mar  4 02:43:43 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5149
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.
5154
5155         * dbxout.c (dbxout_type): Handle complex integer types.
5156
5157 Wed Mar  3 16:01:11 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5158
5159         * c-typeck.c (common_type): Handle complex types.
5160
5161         * machmode.def: Add complex integer modes.
5162
5163         * c-common.c (truthvalue_conversion): Handle COMPLEX_EXPR.
5164
5165         * c-typeck.c (lvalue_p): Handle REALPART_EXPR, IMAGPART_EXPR.
5166         (build_binary_op, build_unary_op): Handle complex types.
5167
5168         * c-parse.gperf: Add `__complex', `__complex__'.
5169         Add `__iterator'.  Delete `iterator'.
5170
5171         * tree.c (build_complex): Set the TREE_TYPE based on real part.
5172
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.
5176
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.
5181
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.
5187
5188 Wed Mar  3 15:34:36 1993  Per Bothner  (bothner@hal.gnu.ai.mit.edu)
5189
5190         * tree.c (build_range_type):  New function.
5191         * tree.c (build_index_2_type): Re-implement using build_range_type.
5192
5193 Wed Mar  3 08:34:43 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
5194
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.
5200
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
5203         output modifiers.
5204         (ashiftrt recognizer for [reg const_int]): Likewise.
5205         (lshrsi3): Likewise.
5206         (rotrsi3): Reduce integer argument to 5 bits.
5207
5208         * pa.md: Remove some empty lines.
5209
5210         * pa.c (pa_adjust_cost): Replace, the function of Mar 2 was an old
5211         version.
5212         (output_fp_move_double): Use %r syntax for registers.
5213
5214 Wed Mar  3 01:42:42 1993  Per Bothner  (bothner@hal.gnu.ai.mit.edu)
5215
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.
5225
5226 Tue Mar  2 23:34:45 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5227
5228         * collect2.c (main): Use strlen, not sizeof, for our_file_name.
5229
5230         * c-common.c (convert_and_check): No warning for converting
5231         signed integer to unsigned of same width.
5232
5233 Tue Mar  2 18:59:39 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu.edu)
5234
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.
5237
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.
5242
5243 Tue Mar  2 18:03:25 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5244
5245         * objc-act.c (handle_class_ref): Call assemble_external.
5246
5247 Tue Mar  2 15:56:17 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
5248
5249         * genattrtab.c (write_const_num_delay_slots): Output 'rtx insn' not
5250         'rtx *insn' for const_num_delay_slot argument.
5251
5252         * gcc.c (main): Truncate programname to what is after last slash.
5253
5254         * cccp.c (do_include): Warn if find unreadable header file.
5255         (errno.h): Move outside VMS specific section.
5256
5257         * sparc.c (print_operand): Use output_operand_lossage, not abort.
5258
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.
5265
5266         * reorg.c (relax_delay_slots): Delete jump around insn identical
5267         to the insn in its delay slot.
5268
5269         * i960.c (i960_output_call_insn): Delete scratch_reg arg.  Use r3
5270         instead.
5271         * i960.md (call_internal*): Use hard register 19 (r3) in clobber
5272         instead of match_scratch.
5273
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.
5277
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.
5283
5284 Tue Mar  2 14:57:06 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5285
5286         * gcc.c (link_command_spec): Do nothing if -fsyntax-only.
5287
5288 Tue Mar  2 14:17:47 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
5289
5290         * pa.h (ADJUST_COST): Add new definition.
5291         * pa.c (pa_adjust_cost): New procudure.
5292
5293 Tue Mar  2 02:12:13 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5294
5295         * optabs.c (gen_move_insn): Big `if' applies only for MODE_CC class.
5296
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.
5300
5301 Tue Mar  2 10:48:46 1993  Wilson Tien  (wtien at urbana.mcd.mot.com)
5302
5303         * m68k.md (truncdfsf2+2): Use f%$move instead of fsmove.
5304
5305         * m68k.md (fix_truncdfsi2, fix_truncdfhi2, fix_truncdfqi2):
5306         Use %# instead of #.
5307
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.
5311
5312         * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Use SIZE instead
5313         of ROUNDED.
5314
5315         * m68kv4.h (ASM_OUTPUT_CASE_LABEL): Always use `swbeg' syntax to
5316         output switch table (m68k.md depends on this to happen).
5317
5318         * m68kv4.h (LEGITIMATE_PIC_OPERAND_P): Treat a symbol_ref rtx with
5319         SYMBOL_REF_FLAG set a valid PIC operand.
5320
5321         * m68kv4.h (OVERRIDE_OPTIONS): Turn off function cse when doing pic.
5322
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.
5326
5327         * m68k.c (print_operand_address): Always add "@GOT" suffix for the
5328         global object operand when doing PIC. 
5329
5330 Mon Mar  1 19:00:38 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5331
5332         * c-lex.h (RID_ITERATOR): New alternative.
5333         * c-tree.h (ITERATOR_P, ITERATOR_BOUND_P): New macros.
5334
5335         * c-typeck.c (build_unary_op): Warn if increment `struct unknown *'.
5336
5337         * c-lex.c (init_lex): Set up ridpointers for `iterator'.
5338         But maybe turn it off again.
5339         
5340         * c-parse.gperf: Add `iterator' and `__iterator__'.
5341
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.
5345
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.
5350
5351         * c-typeck.c (readonly_warning): Warn about assignment to iterator.
5352
5353         * c-iterate.c: New file.
5354         * Makefile.in (c-iterate.o): New target.
5355         (C_OBJS, OBJC_OBJS): Add c-iterate.o.
5356
5357         * Makefile.in (gcc.o): Delete dep obstack.h.
5358
5359 Mon Mar  1 07:29:51 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
5360
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.
5364
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.
5371
5372         * combine.c (BYTE_LOADS_EXTEND): Fix typo when defining.
5373         (setup_incoming_promotions): Set modes properly.
5374
5375         * alpha.md: Add three special-cases of CMP insns against zero.
5376
5377 Mon Mar  1 06:17:02 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
5378
5379         * pa.h (CONSTANT_ADDRESS_P): Do not accept symbolic
5380         addresses.
5381         (LEGITIMIZE_ADDRESS): Just a stub now.  Call
5382         hppa_legitimize_address to do the real work.
5383
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.
5390
5391         * pa.md (define_split for symbol_ref+int): New define_split for
5392         the combiner.
5393
5394 Sat Feb 27 01:57:34 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5395
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.
5399
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.
5402
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.
5408
5409         * va-i860.h (struct __gnuc_va_list): Test __svr4__ like __SVR4__.
5410
5411         * config/ns32k/ns32k.h (TARGET_SWITCHES): Reverse defn of 32332.
5412
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.
5417
5418         * c-decl.c (pushdecl): Nested fn decl gets DECL_CONTEXT iff not extern.
5419
5420         * c-lex.c (check_newline): #line updates input_file_stack->name.
5421
5422         * c-typeck.c (convert_for_assignment): Automatically convert
5423         to a union from its members' types.
5424
5425         * config/ns32k/ns32k.h (ASM_OUTPUT_ALIGN_CODE):
5426         Pad with no-op insns.
5427
5428         * c-decl.c (grokdeclarator): Make `long long' work even with
5429         -pedantic, despite the warning.
5430
5431 Fri Feb 26 22:01:32 1993  Ian Lance Taylor  (ian@cygnus.com)
5432
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
5437         REGISTER_PREFIX.
5438         (initialize_builtins): New builtin definitions
5439         __USER_LABEL_PREFIX__ and __REGISTER_PREFIX__.
5440
5441 Fri Feb 26 18:08:58 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5442
5443         * Makefile.in (distdir): Depend on cp-parse.y,
5444         and the .c files for the .y files.
5445
5446         * c-decl.c (declare_parm_level): Unconditionally store 1.
5447         (pushdecl): Criterion for no warning is, next level up
5448         is a parm level.
5449
5450         * Makefile.in (all.cross): Depend on enquire.
5451
5452         * libgcc2.c (inhibit_libc): Renamed from inhibit_eprintf.
5453         (L_new_handler): Don't include stdio.h if inhibit_libc.
5454
5455         * c-typeck.c (process_init_constructor): Error msg change.
5456
5457         * gstdarg.h (_VA_LIST_T_H): Test and define this.
5458         * gvarargs.h (_VA_LIST_T_H): Test and define this.
5459
5460         * gstddef.h (_SYS_SIZE_T_H): Test this and define this.
5461
5462         * xm-pbd.h (USE_C_ALLOCA): Define here.
5463         * pbd.h (USE_C_ALLOCA): Not here.
5464
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.
5468
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.
5472
5473         * c-typeck.c (initializer_constant_valid_p):
5474         Allow cast of ptr to wider integer.
5475
5476 Fri Feb 26 19:04:36 1992  Karl Berry  (karl@cs.umb.edu)
5477
5478         * optabs.c (init_libfuncs): Use int instead of enum for
5479         first_mode, last_mode, and mode.
5480
5481 Fri Feb 26 14:29:22 PST 1992  Ron Guilmette (rfg@netcom.com)
5482
5483         * c-parse.in (ivar_decls):  Give a pedwarn (instead of a warning) for
5484         excess semicolons.
5485
5486         * cccp.c (do_include): Correctly report the directive name
5487         when any kind of include directive has no argument or null argument.
5488
5489 Fri Feb 26 11:27:35 1992  Tom Wood  (wood@NeXT.com)
5490
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.
5494
5495 Fri Feb 26 10:34:33 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
5496
5497         * Makefile.in (uninstall): Also remove the g++ manual page.
5498
5499 Fri Feb 26 01:29:53 1992  Paul Eggert  (eggert@twinsun.com)
5500
5501         * cexp.y (parse_escape): Don't treat ^ as special after \.
5502
5503 Fri Feb 26 21:37:29 1993  John F Carr  (jfc at Athena.MIT.EDU)
5504
5505         * varasm.c (make_decl_rtl): Print an error for explicit register
5506         variable whose type cannot be stored in that register.
5507
5508 Fri Feb 26 17:07:25 1993  Doug Evans  (dje@canuck.cygnus.com)
5509
5510         * machmode.def: Added 32-byte int OImode.
5511
5512 Fri Feb 26 13:59:23 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
5513
5514         * explow.c (memory_address): Use CONSTANT_ADDRESS_P instead of
5515         LEGITIMATE_CONSTANT_P.
5516         (break_out_memrefs): Likewise.
5517
5518 Fri Feb 26 06:18:40 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
5519
5520         * expr.c (expand_expr, case IN_EXPR): Fix numerous small bugs and
5521         make some cleanups.
5522
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.
5525
5526         * alpha.h (LEGITIMIZE_ADDRESS): Add missing args to calls to
5527         expand_binop.
5528
5529 Thu Feb 25 17:24:45 1993  Bill Cox  (bill@rtl.cygnus.com)
5530
5531         * expr.h: Add prototypes for most expr-related functions.
5532         * jump.c (jump_optimize): Add missing parameter in expand_binop call.
5533
5534 Thu Feb 25 17:50:55 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
5535
5536         * toplev.c: No need to #undef ABS; done in rtl.h.
5537
5538         * reorg.c (redundant_insn_p): Fix typo in testing for types of
5539         insns by using GET_RTX_CLASS.
5540
5541         * expmed.c (emit_store_flag): Fix typo in testing BRANCH_COST.
5542
5543 Thu Feb 25 14:32:31 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
5544
5545         * combine.c (set_nonzero_bits_and_sign_copies): Fix typo in
5546         paradoxical set dest handling.
5547
5548         * convert.c (convert_to_integer): Delete Feb 19 change.
5549
5550         * fold-const.c (decode_field_reference): Fix force_fit_type call.
5551
5552 Thu Feb 25 07:38:36 1993  Ian Lance Taylor  (ian@cygnus.com)
5553
5554         * fixinc.sco: Use pwd if PWDCMD is not defined.
5555
5556 Wed Feb 24 18:28:06 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5557
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.
5561
5562         * config/m68k/xm-mot3300.h (NO_SYS_SIGLIST): Defined.
5563
5564 Wed Feb 24 16:01:42 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
5565
5566         * loop.c (consec_sets_invariant_p): Correct REG_EQUAL note checks
5567         to distinguish libcall case from ordinary insn case.
5568
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.
5573
5574         * fixinc.svr4 (string.h): Delete 'g' from sed command.
5575
5576         * sparc.md (zero_extendqi*i2): Delete never matched constraints.
5577
5578         * i960.c (umulsidi3+1): Delete extra parenthesis.
5579
5580 Tue Feb 23 15:09:50 1993  Ian Lance Taylor  (ian@cygnus.com)
5581
5582         * Makefile.in (install-headers): Create relative paths for
5583         symbolic links within installed include directory.
5584
5585 Tue Feb 23 14:43:46 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5586
5587         * stmt.c (check_for_full_enumeration_handling): Handle nameless type.
5588
5589         * tree.h (CONSTRUCTOR_NAME_FORMAT): Handle NO_DOT_IN_LABEL.
5590
5591         * config/m68k/mot3300.h (NO_DOLLAR_IN_LABEL, NO_DOT_IN_LABEL): Defined.
5592
5593         * collect2.c (is_ctor_dtor): Handle NO_DOT_IN_LABEL.
5594
5595 Mon Feb 22 18:06:06 1993  John Hassey  (hassey@dg-rtp.dg.com)
5596
5597         * m88k.c (output_call): Don't use the delay slot of a bsr.n 
5598         to modify the return address, unless -O2 specified.
5599
5600 Mon Feb 22 17:36:52 1993  Kresten Krab Thorup  (krab at xiv)
5601
5602         * objc/core.c (initialize_class): Take Class_t instead of
5603         char* as argument.  Callers changed to pass the class.
5604
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.
5608
5609         * objc/object.m (doesNotRecognize): Call sel_getName to get
5610         the name of the selector, and print that.
5611         (subclassResponsibility, notImplemented): Likewise.
5612
5613 Mon Feb 22 00:23:47 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
5614
5615         * expr.c (emit_library_call_value): Fix bug in prev change.
5616
5617         * Makefile.in (install-include-dir): Depend on install-dir.
5618
5619         * convert.c (convert_to_integer): #if 0 the truncated integer warning.
5620
5621 Mon Feb 22 15:15:40 1993  James Van Artsdalen  (james@bigtex.cactus.org)
5622
5623         * fold-const.c (all_ones_mask_p): Really use tmask.
5624
5625 Mon Feb 22 11:59:09 1993  Michael Meissner  (meissner@osf.org)
5626
5627         * fold-const.c (all_ones_mask_p): Declare tmask to be `tree'.
5628         (optimize_bit_field_compare) Add missing semicolon.
5629
5630 Sun Feb 21 20:20:13 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
5631
5632         * expr.c (emit_library_call_value): Really pass mem value address
5633         to the library function.
5634
5635 Sun Feb 21 15:15:40 1993  James Van Artsdalen  (james@bigtex.cactus.org)
5636
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.
5640
5641 Sun Feb 21 13:06:00 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
5642
5643         * pa.md (load high pattern): Rework constraints to reduce %r1
5644         spillage.
5645
5646         * pa.md (const_double -> FP pattern): Remove cases which can never
5647         happen anymore.
5648
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.
5651
5652 Sun Feb 21 01:38:19 1993  Richard Stallman  (rms@wookumz.gnu.ai.mit.edu)
5653
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.
5658
5659 Sat Feb 20 20:33:51 1993  Doug Evans  (dje@wookumz.gnu.ai.mit.edu)
5660
5661         * cccp.c: Add declaration for pedwarn_with_line.
5662
5663 Sat Feb 20 14:46:25 1993  James Van Artsdalen  (james@bigtex.cactus.org)
5664
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.
5669
5670 Sat Feb 20 18:41:05 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5671
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.
5675
5676 Sat Feb 20 17:25:16 1993  Doug Evans  (dje@wookumz.gnu.ai.mit.edu)
5677
5678         * fold-const.c (decode_field_reference): Use force_fit_type
5679         instead of convert to avoid truncated integer warning.
5680
5681 Sat Feb 20 07:31:32 1993  John Hassey  (hassey@dg-rtp.dg.com)
5682
5683         * fixincludes: Change "va_list)" to "__gnuc_va_list)".
5684
5685 Sat Feb 20 03:19:44 1993  Doug Evans  (dje@wookumz.gnu.ai.mit.edu)
5686
5687         * fixincludes: Save temp file in ${LIB}.
5688         Use -I${ORIGDIR} when compiling types.c.
5689
5690 Fri Feb 19 00:45:41 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5691
5692         * convert.c (convert_to_integer): Warn if integer is truncated
5693         and that changes the value.
5694
5695 Thu Feb 18 20:15:20 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
5696
5697         * aix386.h: Include aix386ng.h instead of duplicating it.
5698         * 3b1.h (ASM_OUTPUT_CASE_END): Add missing semicolon.
5699
5700         * sparc.c (output_function_prologue): Don't save %f31 to stack.
5701         * sparc.h (STARTING_FRAME_OFFSET): Set to -8.
5702
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
5706         old definition.
5707
5708         * final.c (end_final): Don't call assemble_zeros with an size
5709         argument of zero.
5710
5711         * move-if-change: Use cmp -s instead of redirecting output to
5712         /dev/null.
5713
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.
5716
5717 Thu Feb 18 17:43:30 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5718
5719         * objc/core.c (__objc_execClass):
5720         Don't assign superclass pointer more than once.
5721
5722         * objc/record.h (record_store_at, record_get):
5723         Test record_capacity, not record_entries, in assertion.
5724
5725         * flow.c (regno_uninitialized): Test global_regs only for hard regs.
5726
5727         * c-lex.c (yylex): Undo Feb 7 change.
5728         * c-parse.in (program): After extdefs, pop any unpopped binding lvls.
5729
5730         * Makefile.in (BISONFLAGS): Add -v.
5731
5732 Wed Feb 17 18:51:51 1993  Karl Berry  (karl@owl.hq.ileaf.com)
5733
5734         * toplev.c (ABS): #undef after including sys/resource.h.
5735
5736 Wed Feb 17 22:02:09 1993  John Hassey  (hassey@dg-rtp.dg.com)
5737
5738         * m88k.c (emit_ldst): For large offsets use register index
5739         instead of immediate.  
5740
5741 Wed Feb 17 18:02:26 EST 1993  John Wehle  (john@feith.com)
5742
5743         * we32k.h (CONST_COSTS): Updated to better reflect
5744         the actual constant costs on a we32k.
5745
5746         * we32k.md (truncdfsf2, extendsfdf2): Changed from
5747         define_insn to expand_insn so the optimizer can do
5748         a better job.
5749
5750         * we32k.h (GO_IF_LEGITIMATE_ADDRESS): Added support for
5751         deferred addressing.
5752
5753         * we32k.md: Eliminated a jmp pattern and the peephole
5754         patterns which are no longer needed now that deferred
5755         addressing is supported.
5756
5757 Wed Feb 17 17:55:34 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5758
5759         * fixincludes (sys/types.h): Replace definition of size_t
5760         based on SIZE_TYPE.
5761
5762 Wed Feb 17 06:54:42 1993  John Hassey  (hassey@dg-rtp.dg.com)
5763
5764         * config/m88k/m88k.h (CONST_OK_FOR_LETTER_P): Added 'K'.  
5765         * config/m88k/m88k.md: Use 'K' constraint with arith5_operand
5766         predicate.  
5767
5768 Wed Feb 17 03:04:49 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5769
5770         * Makefile.in (stmp-fixinc): Renamed from stmp-fixincludes.
5771
5772 Tue Feb 16 14:34:19 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5773
5774         * config/sparc/sparc.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Defined.
5775
5776 Tue Feb 16 02:48:58 EST 1992  John Wehle  (john@feith.com)
5777
5778         * reload.c (find_reloads_address): Use strict_memory_address_p
5779         to check for valid indirect address.
5780
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.
5785
5786 Tue Feb 16 01:28:52 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5787
5788         * c-typeck.c (build_indirect_ref): Avoid *& short-cut if -fvolatile.
5789
5790 Mon Feb 15 22:22:08 1993  Michael Meissner  (meissner@osf.org)
5791
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.
5795
5796         * i386/osfrose (CPP_SPEC): Ditto.
5797
5798 Mon Feb 15 02:17:47 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5799
5800         * objc-act.c (HASHFUNCTION): insure nonnegative hash even if
5801         addresses are negative.
5802
5803 Sat Feb 13 04:16:29 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5804
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.
5808
5809 Fri Feb 12 19:40:38 1993  Doug Evans  (dje@wookumz.gnu.ai.mit.edu)
5810
5811         * combine.c (setup_incoming_promotions): Make static.
5812
5813 Fri Feb 12 16:02:52 1993  Per Bothner  (bothner@hal.gnu.ai.mit.edu)
5814
5815         * tree.def:  Fix typo in comment (TREE_VALUES -> TYPE_VALUES).
5816
5817 Fri Feb 12 11:26:28 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
5818
5819         * pa.md (rotlsi3): Fix typo, rotate was rotatert in rtl template.
5820
5821 Fri Feb 12 07:47:11 1993  John Hassey  (hassey@dg-rtp.dg.com)
5822
5823         * function.c (reposition_prologue_and_epilogue_notes): Allow
5824         for zero length prologue and epilogue list.
5825
5826 Thu Feb 11 05:55:33 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
5827
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
5832         comes from argv[0].
5833
5834         * fixincludes: Don't assume that macros defining IO and CTRL
5835         ioctl codes always use `x'; some use `c' or `g'.
5836
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
5841         called with.
5842         Pass filename used for ld to ld as argv[0].
5843
5844 Thu Feb 11 03:55:39 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5845
5846         * expr.c (expand_builtin): Move memory_address calls
5847         out of arglist of emit_block_move.
5848
5849 Wed Feb 10 16:14:09 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
5850
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.
5880
5881 Wed Feb 10 09:53:00 1993  John Hassey  (hassey@wombat.gnu.ai.mit.edu)
5882
5883         * config.sub: removed m88kbcs, changed delta88 and harris to
5884         use sysv3.  
5885
5886 Wed Feb 10 03:29:11 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5887
5888         * c-decl.c (duplicate_decls): Silently accept harmless mismatch
5889         in type of 1st arg of builtin function.
5890
5891         * c-typeck.c (build_indirect_ref): If arg is void *, just warn.
5892
5893 Tue Feb  9 22:15:08 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
5894
5895         * alpha.md (fix_truncdfdi2, fix_truncsfdi2): Use `cvttqc', not
5896         `cvttq', to avoid rounding up.
5897
5898 Tue Feb  9 18:45:57 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
5899
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.
5904
5905 Tue Feb  9 14:04:22 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
5906
5907         * fixincludes: Fix logic about when to duplicate entries under the
5908         `FILE' link.
5909
5910 Tue Feb  9 13:22:28 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5911
5912         * cccp.c (main): Fix lineno of "does not end in newline" message.
5913         (finclude): Likewise.
5914
5915 Tue Feb  9 12:03:37 1993  Michael Meissner  (meissner@osf.org)
5916
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.
5920
5921 Tue Feb  9 05:46:17 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
5922
5923         * rtl.h: Undefine ABS; some POSIX systems define it as 1.
5924
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.
5929
5930 Tue Feb  9 01:13:18 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5931
5932         * c-lex.c (yylex): For wide char constant, use wchar_type_node.
5933         Swallow any preprocessing number as a (possibly erroneous) number.
5934
5935         * tree.c (size_in_bytes): Add 2nd arg to force_fit_type.
5936
5937 Mon Feb  8 07:52:23 1993  Ian Lance Taylor  (ian@cygnus.com)
5938
5939         * configure (*-*-hpux*): Use install-headers-cpio.
5940
5941 Mon Feb  8 07:13:49 1993  John Hassey  (hassey@dg-rtp.dg.com)
5942
5943         * toplev.c (compile_file): Don't flag global register variables
5944         as unused.  
5945
5946 Mon Feb  8 06:06:58 1993  James Van Artsdalen  (james at bigtex.cactus.org)
5947
5948         * i386.md (extendsidi2): Use correct mnemonic for cwtl opcode.
5949
5950 Mon Feb  8 05:52:08 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
5951
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.
5960
5961 Sun Feb  7 23:34:16 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5962
5963         * expmed.c (emit_store_flag): Add missing arg to convert_move.
5964
5965 Sun Feb  7 16:13:05 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu.edu)
5966
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.
5970
5971 Sun Feb  7 13:12:23 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5972
5973         * c-lex.c (yylex): At eof, if binding levels not popped,
5974         imagine some close-braces to pop them.
5975
5976 Sun Feb  7 10:54:42 1993  Chip Salzenberg  (chip@tct.com)
5977
5978         * fold-const.c (fold): Call force_fit_type with two parameters.
5979
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.
5982
5983 Sat Feb  6 20:26:09 1993  James Van Artsdalen  (james at bigtex.cactus.org)
5984
5985         * byteorder.h (386 htonl,htons): Avoid hard-coded register usage.
5986
5987 Sat Feb  6 20:23:02 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5988
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.
5992
5993 Fri Feb  5 19:58:26 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5994
5995         * stmt.c (expand_expr_stmt): Bypass fetching a volatile value
5996         if it is VOIDmode.
5997
5998 Fri Feb  5 18:27:27 1993  Jim Wilson  (wilson@geech.gnu.ai.mit.edu)
5999
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.
6008
6009         * sparc.h (EXTRA_CONSTAINTS): Delete 'R' support.
6010         (CONST_OK_FOR_LETTER_P): Correct 'K' comment.
6011
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.
6015
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.
6019
6020         * i960.c (legitimate_address_p): Accept either REG or SUBREG where
6021         a register is valid in an address.
6022
6023         * configure (*-*-sco*): Set install_headers_dir to cpio instead of tar.
6024
6025         * cccp.c (finclude): Error if try to include a directory.
6026         (S_ISDIR): Add a default definition.
6027
6028 Fri Feb  5 10:24:35 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6029
6030         * toplev.c (lang_options): Remove `-fSOS' and `-fno-SOS'.
6031
6032         Wed Feb  3 16:34:58 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6033
6034         * cp-decl.c (init_decl_processing): Add __builtin_args_info.
6035
6036         Wed Feb  3 12:47:02 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6037
6038         * cp-class.c (finish_struct_methods): Avoid creating a circularity
6039         when putting ctors and dtors at the front of the list.
6040
6041         * cp-init.c (build_new): Call c_sizeof_nowarn, not c_sizeof.
6042         (build_delete): Likewise.
6043
6044         Tue Feb  2 09:57:29 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6045
6046         * cp-lex.c (yyprint): Make non-static.
6047
6048         Mon Feb  1 17:09:19 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6049
6050         * cp-lex.c (real_yylex): Use pedwarn for exceeding the range of a
6051         double.
6052
6053         Sat Jan 30 13:09:35 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6054
6055         * cp-method.c (hack_identifier): Also check for VALUE being a
6056         RESULT_DECL before looking for the DECL_REFERENCE_SLOT.
6057
6058         * cp-decl2.c (bad_specifiers): Pass OBJECT into error.
6059
6060         Fri Jan 29 11:46:46 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6061
6062         * cp-class.c (alter_visibility): Forbid reducing the visibility of a
6063         public member of the derived class.
6064
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.
6068
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
6071         second definition.
6072
6073         Tue Jan 26 15:39:54 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6074
6075         * cp-pt.c (lookup_template_class): Try to use the class value if
6076         there's no global value.
6077
6078         Mon Jan 25 15:59:21 1993  Mike Stump  (mrs@cygnus.com)
6079
6080         * cp-call.c (build_method_call): Remove TYPE_NEEDS_WRAPPER cruft.
6081
6082         Sat Jan 23 12:13:24 1993  Niklas Hallqvist  (niklas at della.appli.se)
6083
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.
6086
6087         Mon Jan 25 11:04:23 1993  Niklas Hallqvist  (niklas at della.appli.se)
6088
6089         * cp-decl.c (define_label): Don't report crossings of any internal
6090         entity initializations.  Don't dereference NULL.
6091
6092         Wed May 13 21:44:05 1992  Niklas Hallqvist  (niklas@appli.se)
6093
6094         * cp-decl2.c: Support for NO_DOT_IN_LABEL.
6095         * cp-tree.h: Likewise.
6096         * cp-method.c: Likewise.
6097
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.
6101
6102         Fri Jan 22 08:52:58 1993  Niklas Hallqvist  (niklas at della.appli.se)
6103
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.
6107
6108         Mon Jan 25 11:04:23 1993  Niklas Hallqvist  (niklas at della.appli.se)
6109
6110         * cp-decl.c (xref_tag): Enable test of incomplete basetypes.
6111         * cp-tree.c (layout_basetypes): Disabled it here.
6112
6113         Mon Jan 25 11:04:23 1993  Niklas Hallqvist  (niklas at della.appli.se)
6114
6115         * cp-init.c (build_new): Move error check of array size before use.
6116
6117         Sun Jan 24 21:41:09 1993  John Carr  (jfc@Athena.MIT.EDU)
6118
6119         * cp-typeck.c (build_binary_op_nodefault): Add support for
6120         FLOOR_MOD_EXPR, merged in from the c front-end.
6121
6122 Wed Feb  3 18:23:07 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6123
6124         * objc-act.c (init_objc): Use xrealloc, not realloc.
6125
6126         * expr.c (emit_library_call, emit_library_call_value):
6127         Handle STACK_BOUNDARY when using push insns.
6128
6129 Tue Feb  2 16:37:49 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6130
6131         * varasm.c (assemble_zeros): Output nothing rather than empty skip.
6132
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.
6136
6137         * c-decl.c: Add some braces for clarity.
6138
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.
6144
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.
6148
6149 Tue Feb  2 15:20:52 1993  Chip Salzenberg  (chip@tct.com)
6150
6151         * c-decl.c (pushdecl): DECL_EXTERNAL implies TREE_PUBLIC,
6152         so don't bother to check for both.
6153
6154         * regclass.c (int_reg_class_contents): Make unsigned to avoid
6155         signed integer overflow.
6156         (init_reg_sets): Avoid signed integer overflow.
6157
6158         * cexp.y (parse_escape):  Support \E and \e like cc1:
6159         they mean \033, and they generate a warning if pedantic.
6160
6161 Tue Feb  2 15:17:38 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
6162
6163         * t-sol2 (INSTALL_TARGET): Delete.
6164
6165 Tue Feb  2 14:18:59 1993  Brendan Kehoe  (brendan@cygnus.com)
6166
6167         * Makefile.in (gcc.o): Depend upon config.status, so any changes
6168         in prefix will be communicated to the build process.
6169         (cccp.o): Likewise.
6170
6171 Tue Feb  2 07:09:36 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
6172
6173         * pa.md (cmov): Use @ for output.
6174
6175 Mon Feb  1 01:50:54 1993  Paul Eggert  (eggert@twinsun.com)
6176
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.
6189
6190         * c-parse.in (unary_expr): Warn about overflows in parser-built
6191         unary expressions.
6192         * c-typeck.c (parser_build_binary_op): Warn about overflows and
6193         conversions of out-of-range constants in parser-built binary
6194         expressions.
6195         (build_conditional_expr): Check conversions in if-then-else
6196         expressions.
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
6200         indexes.
6201         * c-common.c (constant_expression_warning): Suppress duplicate
6202         warnings.
6203         (convert_and_check, overflow_warning, unsigned_conversion_warning):
6204         New functions.  Prototypes added to c-tree.h.
6205
6206         * expr.c (expand_builtin): Report overflow if __builtin_args_info
6207         arg exceeds one word.
6208         Fix punctuation of error messages.
6209
6210 Sun Jan 31 17:45:11 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
6211
6212         * combine.c (simplify_and_const_int): Never consider bits outside
6213         of MODE.
6214
6215 Sun Jan 31 15:24:46 1993  Doug Evans  (dje@wookumz.gnu.ai.mit.edu)
6216
6217         * objc-act.c (build_module_descriptor): Fix call to start_function.
6218
6219 Sun Jan 31 13:08:05 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
6220
6221         * pa.md (zvdep32): Handle 5 bit immediates for operand 1.
6222         (ashlsi3): Likewise.
6223         (and + ashift): New combine pattern.
6224
6225 Sun Jan 31 12:40:00 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6226
6227         * protoize.c: Include gvarargs.h before system headers.
6228
6229 Sat Jan 30 18:51:46 1993  Doug Evans  (dje@wookumz.gnu.ai.mit.edu)
6230
6231         * c-typeck.c (build_compound_expr): insert missing return
6232
6233 Sat Jan 30 16:10:56 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
6234
6235         * pa.c (reg_or_0_operand): Use CONST0_RTX instead of 
6236         const0_rtx.
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
6240         of const0_rtx.
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
6244         values too.
6245
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.  
6250
6251         * pa.md (cmpXf expands): Allow 0.0 for either operand
6252         of the comparison.
6253         (cmpXf insns): Allow 0.0 for either operand of the
6254         comparison.  Update output template to handle 0.0 as one
6255         of the operands.
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.
6268
6269 Sat Jan 30 14:57:44 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6270
6271         * c-tree.h: Add many prototypes from bill@cygnus.com
6272
6273 Sat Jan 30 01:06:52 1993  Niklas Hallqvist  (niklas@spiff.gnu.ai.mit.edu)
6274
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.
6281
6282 Fri Jan 29 18:16:47 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6283
6284         * config/m68k/m68k.md (iorsi3): Add CC_STATUS_INIT if use bset.
6285
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.
6288
6289         * config/i386/t-linux (FIXINCLUDES): New file.
6290         * configure (i[34]86-*-linux*): Use t-linux.
6291
6292 Fri Jan 29 12:08:04 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
6293
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.
6298
6299         * pa.h (FIXED_REGISTERS): %r31 is not fixed.
6300
6301 Thu Jan 28 23:49:25 1993  James Van Artsdalen  (james at bigtex.cactus.org)
6302
6303         * reg-stack.c (compare_for_stack_reg): Properly swap operands of a
6304         COMPARE.
6305
6306 Thu Jan 28 13:47:53 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
6307
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.
6312
6313         * pa.h (LEGITIMIZE_ADDRESS): Delete cases which can never happen.
6314
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
6326
6327 Thu Jan 28 07:51:47 1993  Ian Lance Taylor  (ian@cygnus.com)
6328
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
6332         names.
6333
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.
6338
6339 Thu Jan 28 07:30:25 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
6340
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.
6344
6345 Thu Jan 28 06:56:04 1993  Pat Rankin  (rankin@eql.caltech.edu)
6346
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).
6351
6352 Thu Jan 28 06:48:57 1993  Michael Collison  (collison@osf.org)
6353
6354         * optabs.c (init_fixtab, init_optabs): Fix typos in QFmode and HFmode
6355         initialization.
6356
6357 Wed Jan 27 13:11:26 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6358
6359         * Makefile.in (includedir): Use local_prefix.
6360
6361 Wed Jan 27 12:08:05 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
6362
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.
6369
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.
6374
6375 Wed Jan 27 06:46:50 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
6376
6377         * cse.c (simplify_relation_operation): We can compute the result
6378         of a comparison of CONST_INTs no matter what mode the computation
6379         is to be done in.
6380
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
6384         expect.
6385         * expr.c (compare_from_rtx): Only swap operand if first is a
6386         constant and second is not.
6387
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.
6392
6393         * function.c (put_var_into_stack, fixup_var_refs_insns): Minor
6394         cleanups.
6395         (fixup_var_refs_1, case SET): Correctly check for simple insns
6396         that don't need fixups.
6397
6398         * collect2.c: Delete ISCOFF macro which was in #ifdef _AIX.
6399         * rs6000.h, a29k/unix.h (MY_ISCOFF): New macro.
6400
6401 Tue Jan 26 19:31:31 1993  Tom Wood  (Tom_Wood@NeXT.com)
6402
6403         * combine.c (combine_instructions): Initialize undobuf in the
6404         event `gen_rtx_combine' is called before `try_combine'.
6405
6406 Tue Jan 26 18:20:04 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
6407
6408         * i960.md (umulsidi3+1): Add variant which accepts constants.
6409
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.
6413
6414 Tue Jan 26 13:46:04 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6415
6416         * xm-alpha.h (ONLY_INT_FIELDS): Define if not __GNUC__.
6417
6418         * collect2.c (write_list_with_asm): Use `__asm__' instead of
6419         `asm', to avoid problems with `-fno-asm'.
6420
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.
6425
6426 Tue Jan 26 07:14:29 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
6427
6428         * cse.c (simplify_binary_operation, case SMAX): Correctly
6429         compute largest possible signed integer.
6430
6431         * Makefile.in: (rest.cross, gfloat.h, stmp-headers, mostlyclean):
6432         Build and install gfloat.h instead of float.h.
6433
6434         * a29k/x-unix (CLIB): Add -lld.
6435
6436         * integrate.c (copy_rtx_and_substitute, case REG): Call
6437         gen_lowpart instead of making an explicit SUBREG.
6438         
6439         * stmt.c (expand_value_return): Call convert_move instead of the
6440         erroneous convert_to_mode.
6441
6442 Tue Jan 26 00:58:53 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6443
6444         * collect2.c (find_a_file): First `access' test was backwards.
6445         (main): Set full_real_ld_suffix right.
6446
6447         * c-decl.c (init_decl_processing): Use 10 as size
6448         of ..._array_type_node.
6449
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.
6454
6455 Mon Jan 25 19:31:32 1993  Doug Evans  (dje@wookumz.gnu.ai.mit.edu)
6456
6457         * print-rtl.c (debug_rtx_list, debug_rtx_find): New functions.
6458         * .gdbinit (prl): New command.
6459
6460 Mon Jan 25 14:49:45 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
6461
6462         * sparc.c (init_arg_profiler, output_arc_profiler): Delete unused
6463         functions.
6464         * sparc.h (ARC_PROFILER): Delete unused macro.
6465
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.
6474
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
6478         versa copy support.
6479         (output_fp_move_quad): Likewise.
6480         * sparc.md (movsi, movtf, movdf, movdi, movsf): Delete f/r and r/f
6481         constraint pairs.
6482
6483         * i960.c (secondary_reload_class): Correct test against
6484         FIRST_PSEUDO_REGISTER.
6485
6486         * sparc.c (registers_ok_for_ldd_peep): Delete test for pseudos.
6487
6488         * optabs.c (emit_indirect_jump): Use Pmode instead of VOIDmode and
6489         insn_operand_mode.
6490
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
6495         function calls.
6496
6497         * c-decl.c (language_string): Delete from here.
6498         * c-parse.in (language_string): Define here for C and Obj-C.
6499
6500 Mon Jan 25 13:54:16 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
6501
6502         * c-decl.c (finish_struct): Disable "structure/union defined
6503         inside parms" if compiling with -traditional.
6504
6505 Mon Jan 25 05:24:12 1993  Niklas Hallqvist  (niklas at della.appli.se)
6506
6507         * i386.md (extendsidi2): Fix typo in regno.
6508
6509 Mon Jan 25 00:07:18 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6510
6511         * c-decl.c (lookup_label): Return 0 if not within a function.
6512
6513         * c-parse.in (unary_expr => ANDAND identifier):
6514         Handle lookup_label returning 0.
6515
6516         * Makefile.in (install-float-h-cross):
6517         Don't ignore error when running enquire.
6518
6519 Sun Jan 24 22:41:00 1993  Michael Meissner  (meissner@osf.org)
6520
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
6526         get a warning.
6527
6528 Sun Jan 24 18:40:44 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6529
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.
6533
6534 Sun Jan 24 07:19:03 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
6535
6536         * final.c (final_scan_insn): Call alter_subreg on duplicate
6537         operands (in case we need to split the insn).
6538
6539         * local-alloc.c (CLASS_LIKELY_SPILLED_P): Add default definition.
6540         (alloc_qty_for_scratch, local_alloc): Use CLASS_LIKELY_SPILLED_P.
6541
6542 Sat Jan 23 19:41:21 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6543
6544         * combine.c (apply_distributive_law): Don't mess with float arith.
6545
6546         * c-parse.in: Use new name objc-act.h.
6547
6548 Sat Jan 21 13:12:49 1993  Serge Adda  (adda@soft01)
6549
6550         * expmed.c (emit_store_flag): Reset ICODE using returned COMPARISON.
6551
6552 Sat Jan 23 18:27:35 1993  Niklas Hallqvist  (niklas@spiff.gnu.ai.mit.edu)
6553
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
6556         absolute path.
6557         * config/m68k/tower-as.h (STARTFILE_SPEC): Moved to tower.h.
6558
6559 Sat Jan 23 16:28:48 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6560
6561         * cccp.c (change_newlines): Renamed from delete_newlines.
6562         Insert a space in place of a newline.  Caller changed.
6563
6564         * config/m68k/hp320.h (ASM_OUTPUT_DOUBLE_OPERAND): Delete space
6565         before arglist.
6566
6567 Sat Jan 23 09:20:41 1993  Niklas Hallqvist  (niklas at della.appli.se)
6568
6569         * Makefile.in (cross-test): Depend on GCC_PARTS.
6570
6571 Sat Jan 23 07:15:10 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
6572
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
6576         consistency.
6577
6578         * rs6000.h (ADJUST_COST): Add new definition.
6579
6580 Fri Jan 22 18:55:00 1993  Niklas Hallqvist  (niklas at della.appli.se)
6581
6582         * fixinc.svr4: Use pwd if PWDCMD is undefined.  Add missing echo
6583         command.
6584
6585 Fri Jan 22 18:08:47 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6586
6587         Cygnus<-->FSF merge.
6588
6589         Thu Jan 21 15:26:59 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6590
6591         * Makefile.in (convert.o): Add dependencies.
6592
6593         * cp-gc.c (NULL): Undef before defining.
6594         * cp-init.c (NULL): Likewise.
6595         * cp-expr.c (NULL): Likewise.
6596
6597         * cp-decl.c (grokdeclarator): Relegate error about operator= to a
6598         warning for now, an error later.
6599
6600         Tue Jan 19 16:40:19 1993  Mike Stump  (mrs@cygnus.com)
6601
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".
6604
6605         Mon Jan 18 19:44:53 1993  Mike Stump  (mrs@cygnus.com)
6606
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.
6610
6611         Mon Jan 18 16:23:11 1993  Mike Stump  (mrs@cygnus.com)
6612
6613         * cp-typeck.c (build_unary_op): Improve error message for
6614         {pre,post}-{increment,decrement}.
6615
6616         Mon Jan 18 13:58:14 1993  Mike Stump  (mrs@cygnus.com)
6617
6618         * cp-typeck.c (build_binary_op): Improve error message.
6619
6620         Fri Jan 15 17:53:33 1993  Mike Stump  (mrs@cygnus.com)
6621
6622         Fri Jan 15 00:35:22 1993  Niklas Hallqvist  (niklas at della.appli.se)
6623
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.
6627
6628         Fri Jan 15 17:32:56 1993  Mike Stump  (mrs@cygnus.com)
6629
6630         Fri Jan 15 00:35:22 1993  Niklas Hallqvist  (niklas at della.appli.se)
6631
6632         * cp-decl.c (grokvardecl): Implement the "one definition rule".
6633
6634         Fri Jan 15 17:17:05 1993  Mike Stump  (mrs@cygnus.com)
6635
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.
6639
6640         Fri Jan 15 17:10:59 1993  Mike Stump  (mrs@cygnus.com)
6641
6642         Thu Jan 14 16:02:27 1993  Niklas Hallqvist  (niklas at della.appli.se)
6643
6644         * cp-decl.c (start_function): Don't try to match static member
6645         functions with "C"-linkage declared global functions.
6646
6647         Thu Jan 14 17:58:15 1993  Mike Stump  (mrs@cygnus.com)
6648
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
6651         a plain 0.
6652
6653         Thu Jan 14 17:15:40 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6654
6655         * cp-decl.c (grokdeclarator): Don't warn on an initialized var
6656         that's extern if it's a const.
6657
6658         Thu Jan 14 17:03:40 1993  Michael Tiemann  (tiemann@rtl.cygnus.com)
6659
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.
6664         (tsubst): 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.
6669
6670         Thu Jan 14 02:09:17 1993  Mike Stump  (mrs@cygnus.com)
6671
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. 
6675
6676         Wed Jan 13 22:43:58 1993  Mike Stump  (mrs@cygnus.com)
6677
6678         * cp-search.c (get_base_distance):  Allow checking of UNION_TYPEs,
6679         as some of the init code calls us.
6680
6681         Wed Jan 13 21:12:22 1993  Mike Stump  (mrs@cygnus.com)
6682
6683         Mon Jan 11 20:11:17 1993  Niklas Hallqvist  (niklas at della.appli.se)
6684
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.
6694
6695         Tue Jan 12 18:53:44 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6696
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
6700         instead of -1.
6701
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
6704         the overload name.
6705
6706         * cp-call.c (convert_harshness): Avoid dereferencing a null PARM,
6707         which can be passed in by convert_harshness itself.
6708
6709         Mon Jan 11 12:25:51 1993  Brendan Kehoe  (brendan@cygnus.com)
6710
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.
6713
6714         * cp-xref.c (fctname): Delete extern decl of `declname'.
6715
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.
6719
6720         * cp-class.c (build_vbase_path): flag_assume_nonnull_objects is an
6721         int, not a tree.
6722
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
6728         given -Wall.
6729         * flags.h (warn_template_debugging): Add extern decl.
6730         * toplev.c (lang_options): Add -Wtemplate-debugging.
6731
6732         * cp-decl.c (make_temporary_for_reference): Call make_decl_rtl with
6733         a NULL_PTR, not 0.
6734         (finish_decl): Likewise.
6735         (grokfndecl): With a NULL_PTR, not a NULL_TREE.
6736
6737         Fri Jan  8 19:43:52 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6738
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.
6744
6745 Fri Jan 22 15:09:42 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
6746
6747         * pyr.h (SIZE_TYPE): Define.
6748         (NO_DOLLAR_IN_LABEL): Define.
6749
6750 Fri Jan 22 12:19:47 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
6751
6752         * pa.c (secondary_reload_class): Simplify.
6753
6754 Fri Jan 22 07:57:57 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu)
6755
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.
6759
6760         * expr.c (emit_library_call): Correct mis-applied patch.
6761
6762 Thu Jan 21 11:36:04 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
6763
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.
6768
6769 Tue Jan 19 20:08:01 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
6770
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.
6781
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.
6785
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.
6788
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
6794         word_mode.
6795         * optabs.c (emit_cmp_insn, emit_float_lib_cmp): libcall comparisons
6796         return word_mode.
6797
6798 Tue Jan 19 15:28:59 1993  James Van Artsdalen  (james at bigtex.cactus.org)
6799
6800         * function.c (fixup_var_refs_1): Set INSN_CODE to -1 before seeing
6801         if new insn form is recognized.
6802
6803         * reg-stack.c (all functions): Use NULL_RTX instead of 0 for rtx
6804         comparisons.
6805
6806         (emit_pop_insn): Emit insn with mode QImode: insn contains
6807         stack-regs.
6808
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
6816         one.
6817
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.
6821
6822         * i386.h (PREFERRED_RELOAD_CLASS): Narrow ALL_REGS to
6823         GENERAL_REGS.
6824         (PREFERRED_OUTPUT_RELOAD_CLASS): New macro.  Narrow ALL_REGS to
6825         GENERAL_REGS.
6826         (SECONDARY_MEMORY_NEEDED): New macro.
6827
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.
6832
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.
6839
6840 Tue Jan 19 15:51:16 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
6841
6842         * pa.md (define_function_unit for memory): Memory is pipelined.
6843
6844         * pa.md (sCC patterns): Use %char notation instead of nested
6845         if stmts.
6846         (branch matchers): Likewise.
6847         (incscc, negscc): Likewise.  Add ? constraint for 3-insn
6848         alternative.
6849         (incscc): Split into `incscc' and `decscc' to make this really
6850         match.
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.
6856
6857         * pa.md (many patterns): Use canonical address format.  Use %r
6858         register notation.  Use GEN_INT.
6859
6860         * pa.md (main move SF recognizer): Allow 0 for copying to
6861         general register.
6862
6863         * pa.md (zero_extendhisi2): Remove DEFINE_EXPAND.
6864         (zero_extendqihi2): Likewise.
6865         (zero_extendqisi2): Likewise.
6866         (comment before sign extension): Remove the lie.
6867
6868         * pa.h (REG_CLASS_FROM_LETTER): Remove partly incorrect PA
6869         documentation.
6870
6871 Tue Jan 19 09:22:06 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6872
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.
6877
6878 Tue Jan 19 08:29:16 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
6879
6880         * rs6000.c (print_operand, case 'k'): New case.
6881         * rs6000.md (plus of gtu patterns): Add case to handle immediates.
6882
6883         * rs6000.c (output_epilog): Only restore the cr's that we actually
6884         used; previously, we saved and restored all of them.
6885
6886         * combine.c (combine_instructions): Clear reg_last_set_label.
6887
6888 Tue Jan 19 01:16:45 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6889
6890         * flow.c (find_basic_blocks): Don't mark labels in nonlocal_label_list
6891         that were deleted due to having no references.
6892
6893 Mon Jan 18 21:02:22 1993  H.J. Lu  (hlu@yardbird.eecs.wsu.edu)
6894
6895         * configure (--local-prefix=DIR): new flag sets $local_prefix.
6896         The default is /usr/local.  Put it into Makefile.
6897
6898         * Makefile.in (local_prefix): new prefix, the default is /usr/local.
6899         (cccp.o): change LOCAL_INCLUDE_DIR to $(local_prefix)/include.
6900
6901 Mon Jan 18 15:29:46 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6902
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.
6906
6907         * objc-actions.c (encode_method_def): Null-terminate encoding.
6908         (build_ivar_list_initializer): Null-terminate type encoding.
6909
6910         * cccp.c (include_defaults): Do use GCC_INCLUDE_DIR for cross compiler.
6911         Move TOOL_INCLUDE_DIR later if cross.
6912
6913 Mon Jan 18 13:39:32 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
6914
6915         * expr.c (emit_library_call): Handle OUTGOING_REG_PARM_STACK_SPACE.
6916         Use NULL_TREE instead of (tree) 0.
6917
6918         * expr.c (emit_move_insn, expand_expr): Fix typos in comments.
6919
6920         * cccp.c (initialize_builtins): Add uses of new macros
6921         NO_BUILTIN_SIZE_TYPE and NO_BUILTIN_PTRDIFF_TYPE.
6922
6923         * i960.h (ROUND): Change macro name to ROUND_PARM.
6924         * i960.c (i960_function_arg_advance, i960_function_arg): Likewise.
6925
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.
6931
6932         * x-linus (LANGUAGES): Delete.
6933
6934 Mon Jan 18 08:13:34 1993  James Van Artsdalen  (james at bigtex.cactus.org)
6935
6936         * Makefile.in (stmp-headers): Delete target files before copying
6937         to them.
6938
6939 Mon Jan 18 06:23:35 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
6940
6941         * collect2.c (choose_temp_base, main): Fix "off by one" errors in
6942         sizes of allocated strings.
6943
6944 Mon Jan 18 00:32:20 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6945
6946         * gcc.c (process_command): Fix typo in last change.
6947
6948 Sun Jan 17 13:09:03 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
6949
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.
6953
6954 Sun Jan 17 10:38:38 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
6955
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)
6959         address format.
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.
6966
6967 Fri Jan 15 16:42:30 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
6968
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.
6972
6973         * integrate.c (FIXED_BASE_PLUS_P): Fix typo.
6974
6975         * loop.c (move_movables): Clear INSN_CODE for each insn as
6976         we perform register replacements.
6977         (strength_reduce): Likewise.
6978
6979 Fri Jan 15 16:02:07 1993  Brendan Kehoe  (brendan@mole.gnu.ai.mit.edu)
6980
6981         * final.c (alter_cond): Undo previous change.
6982
6983 Thu Jan 14 22:09:40 1993  Ian Lance Taylor  (ian@cygnus.com)
6984
6985         * Makefile.in (stmp-headers): Avoid problems with relative
6986         $(srcdir) when installing syslimits.h.
6987
6988 Thu Jan 14 19:20:01 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
6989
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.
6994
6995         * cccp.c (main): Trim down to the basename of what's to go in
6996         PROGNAME.
6997
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.
7002
7003 Thu Jan 14 18:19:35 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7004
7005         * t-mips, t-ultrix, t-osfrose: Change `config/' to `config/mips/'.
7006
7007 Thu Jan 14 16:55:11 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
7008
7009         * pa.h (CONDITIONAL_REGISTER_USAGE): Do not make %r27 a global_reg.
7010
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.
7016
7017         * pa.h (LEGITIMIZE_ADDRESS): Rework to create REG and REG+D 
7018         addresses instead of REG+REG addresses.
7019
7020 Thu Jan 14 15:45:50 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7021
7022         * objc/core.c (initialize_dispatch_tables): Create an entry in RECORD
7023         for each class used in a given file, not just one.
7024
7025 Thu Jan 14 12:00:35 1993  Ian Lance Taylor  (ian@cygnus.com)
7026
7027         * Makefile.in (INSTALL_HEADERS_DIR, FLOAT_H, CROSS_FLOAT_H): New
7028         variables.
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).
7046
7047 Thu Jan 14 14:17:05 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
7048
7049         * libgcc2.c: Correct typo in comment.
7050
7051         * fixinc.sco, fixinc.svr4 (egrep and sed loop): Don't print
7052         messages about files that need no change.
7053
7054         * sparc.md (muldf+1, muldf+2):  Add patterns for fsmuld and fdmulq.
7055
7056         * sparc.c: Clarify numerous *_operand comments.
7057         (SPARC_STACK_ALIGN): Delete.
7058         (sparc_frw_output_function_epilogue): Delete unused variable
7059         load_only_r15.
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
7067         when profiling.
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.
7078
7079         * expr.c (do_tablejump): Pass 1 for unsigned flag to emit_cmp_insn.
7080
7081 Thu Jan 14 14:43:15 1993  Torbjorn Granlund  (tege@sics.se)
7082
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
7086         ldwm/stwm insns.
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
7090         changed.
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
7098         CONST_INT.
7099
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.
7105
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.
7117
7118 Thu Jan 14 13:33:55 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
7119
7120         * rtl.c (copy_rtx): A MEM with constant address is not sharable.
7121         Undo Dec 27 change.
7122
7123 Thu Jan 14 06:45:51 1993  James Van Artsdalen  (jrv@goldman.gnu.ai.mit.edu)
7124
7125         * i386.md (cmpstr patterns): Fix mode mismatch in SET.
7126
7127 Wed Jan 13 16:05:07 1993  Ian Lance Taylor  (ian@cygnus.com)
7128
7129         * configure: Precompute version in generated Makefile.
7130
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.
7136
7137 Wed Jan 13 12:04:21 1993  Michael Meissner  (meissner@osf.org)
7138
7139         * libgcc2.c (_ffsdi2): Use the correct names for structure
7140         elements of type DIunion.  Return the correctly typed value.
7141
7142         * mips-tdump.c (print_file_desc): Correctly scale the rfd pointer.
7143         Patch from ian@cygnus.com.
7144
7145 Wed Jan 13 10:04:26 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
7146
7147         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Fix typo.
7148
7149 Wed Jan 13 03:05:08 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7150
7151         * fixinc.svr4 (rpc/types.h): Change const extern to extern const.
7152
7153         * expr.c (expand_increment): Handle all preincrements by building
7154         arithmetic and calling expand_assignment.
7155
7156         * stmt.c (expand_asm_operands): For clobbering memory,
7157         generate (MEM (SCRATCH)) inside the CLOBBER.
7158
7159         * cccp.c (include_defaults):
7160         Put GCC_INCLUDE_DIR just before the system dirs whose files are fixed.
7161
7162         * Makefile.in (risky-stage1, etc): Use $(GCC_PARTS) as what to mv.
7163
7164 Tue Jan 12 23:24:30 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7165
7166         * stor-layout.c (variable_size): Change back to NULL_PTR.
7167
7168 Tue Jan 12 18:59:01 1993  James Van Artsdalen  (james at bigtex.cactus.org)
7169
7170         * reload1.c (reload): Clear reload_in_progress even if reloading
7171         fails.
7172
7173 Tue Jan 12 18:32:01 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
7174
7175         * calls.c (emit_call_1): Pass a NULL_RTX into emit_call_insn for
7176         missing last arg.
7177
7178         * stor-layout.c (variable_size): Call expand_expr with a NULL_RTX,
7179         not a NULL_PTR.
7180
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.
7185
7186         * fold-const.c (fold): Only call force_fit_type with one arg.
7187
7188         * expr.c (group_insns): Make void, since it never returns an rtx.
7189
7190         * emit-rtl.c (emit_jump_insn_before): Call make_jump_insn_raw with
7191         only one argument.
7192         (emit_jump_insn_after): Likewise.
7193         (emit_jump_insn): Likewise.
7194
7195         * dbxout.c (dbxout_type) [case FILE_TYPE, SET_TYPE]: Call with
7196         missing third arg as 0.
7197
7198         * cse.c (fold_rtx): Call itself with missing arg INSN as NULL_RTX.
7199
7200 Tue Jan 12 17:53:13 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
7201
7202         From Fred Fish:
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.
7208
7209         * cccp.c (main): Set signal handler for SIGPIPE.
7210         (pipe_closed): New function, to handle SIGPIPE.
7211
7212 Tue Jan 12 17:48:13 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7213
7214         * expr.c (compare_from_rtx): Allow simplify_relational_operation to
7215         fail.
7216
7217 Tue Jan 12 02:52:50 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7218
7219         * optabs.c (init_optabs): Use plain `ffs' for SImode ffs_optab libcall.
7220
7221         * Makefile.in (LIB2FUNCS): Add _ffsdi2.
7222         * libgcc2.c (__ffsdi2): New function.
7223
7224         * c-decl.c (init_decl_processing): Declare ffs as builtin.
7225
7226         * fixincludes (egrep and sed loop): Don't print messages about
7227         files that need no change.
7228
7229 Mon Jan 11 17:22:16 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
7230
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'.
7239
7240         * reload1.c (reload): Delete unused variable inc_groups.
7241
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.
7251
7252         * fixincludes: Do not consider //* to be a C++ comment which needs
7253         to be fixed.
7254
7255 Mon Jan 11 15:03:41 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
7256
7257         * pa.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Fix typos.
7258
7259 Mon Jan 11 12:41:06 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7260
7261         * config/xm-svr4.h (sys_siglist): New macro.
7262
7263 Sun Jan 10 18:16:49 1993  James Van Artsdalen  (james at bigtex.cactus.org)
7264
7265         * i386.md (extendsidi2,zero_extendsidi2): New patterns.
7266         (adddi3,subdi3): Don't emit code for low part if known to be zero.
7267
7268         * i386/xm-sysv4.h (alloca): Delete - already defined in xm-i386.h.
7269
7270         * i386/xm-aix.h,i386/xm-sun.h: Include i386/xm-i386.h.
7271         Remove redundant defines.
7272
7273 Sun Jan 10 18:00:17 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
7274
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
7278         of "z" constraint.
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
7287         same RTL now.  
7288         Emit the same RTL before and after reload, only change how the 
7289         scratch/temporary register is chosen.
7290
7291 Sun Jan 10 11:42:12 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7292
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.
7298
7299 Sat Jan  9 01:34:27 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7300
7301         * reload1.c (reload_as_needed): Test for whether to call
7302         forget_old_reloads_1 for a REG_INC note was backwards.
7303
7304         * config/i386/xm-i386.h (alloca): Undef before defining.
7305
7306         * config/i860/sysv3.h (ASM_OUTPUT_LOCAL): New override.
7307
7308         * gcc.c (lookup_compiler): Fix special code for `-' suffix.
7309
7310         * c-lex.c (yylex): Change warning msg when decimal const is unsigned.
7311
7312         * Makefile.in (bootstrap*): Pass BOOT_LDFLAGS down as LDFLAGS.
7313
7314         * Makefile.in (install-dir): Don't create gcc-lib/include.
7315
7316         * objc-actions.c (init_module_descriptor):
7317         Use size_in_bytes to get size of `struct objc_module'.
7318
7319         * c-decl.c (init_decl_processing): Use unsigned_intQI_type_node,
7320         not unsigned_char_..., as index type for ..._array_type_node.
7321
7322         * toplev.c (really_sorry): Use progname in error message, not c++.
7323
7324         * optabs.c (expand_binop): For complex mult, compute res
7325         in each alternative, not before.
7326
7327         * Makefile.in (bootstrap): Pass along CC and libdir in first compile.
7328
7329         * c-decl.c (pushdecl): Avoid multiple extern decl mismatch warnings
7330         when previous decl is built-in.
7331
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.
7336
7337 Sat Jan  9 09:11:25 1993  Michael Tiemann  (tiemann@rtl.cygnus.com)
7338
7339         * varasm.c (output_constant): Handle CHAR_TYPE and BOOLEAN_TYPE like
7340         INTEGER_TYPE.
7341
7342 Sat Jan  9 08:06:42 1993  Michael Meissner  (meissner@osf.org)
7343
7344         * cccp.c (main): If we are creating a new dependency file with -MD
7345         or -MMD, use "w" fopen mode instead of "a".
7346
7347 Fri Jan  8 20:58:12 1993  Brendan Kehoe  (brendan@mole.gnu.ai.mit.edu)
7348
7349         Cygnus<->FSF merge.
7350         Thu Jan  7 18:16:05 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
7351
7352         * cp-parse.y (template_type): Avoid dereferencing an error_mark.
7353
7354         Wed Jan  6 17:43:23 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
7355
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.
7360
7361         * cp-decl.c (current_local_enum): New variable.
7362         (start_enum): Set TREE_ADDRESSABLE on the tag here, and clear
7363         current_local_enum.
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.
7367
7368         Tue Jan  5 22:09:18 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
7369
7370         * cp-pt.c (tsubst): Properly demangle a method's name if it's for an
7371         operator.
7372
7373         Tue Jan  5 15:29:40 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
7374
7375         * cp-method.c (build_opfncall): Make postfix/prefix ++/-- work by
7376         setting the second arg to 0 when using postfix ++/--.
7377
7378         * cp-decl.c (grokdeclarator): Forbid declaring operator= from being
7379         declared as a non-member (or friend) function.
7380
7381         Tue Jan  5 14:26:38 1993  Mike Stump  (mrs@cygnus.com)
7382
7383         Jan  5 14:09:08 1993  Paul Eggert  (eggert@twinsun.com)
7384
7385         * cp-lex.c ():  Propagate a change from c-lex.c.
7386
7387         Tue Jan  5 13:27:05 1993  Mike Stump  (mrs@cygnus.com)
7388
7389         Sep 14 17:48:27 1992  Paul Eggert  (eggert@twinsun.com)
7390
7391         * cp-lex.c (real_yylex): For floats, use REAL_VALUES_LESS to
7392         distinguish underflow from overflow.  Delete special case for 0.0.
7393
7394         Mon Jan  4 15:26:47 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
7395
7396         * cp-typeck.c (build_array_ref): Convert the index from a reference
7397         before doing any appropriate type conversions.
7398          
7399         Wed Dec 30 15:36:18 1992  Per Bothner  (bothner@cygnus.com)
7400
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).
7414
7415         Fri Dec 18 19:19:28 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7416
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'.
7420
7421         * cp-decl2.c (grokclassfn): Try using the local value for a nested
7422         type if the IDENTIFIER_TYPE_VALUE isn't there.
7423
7424         Wed Dec 16 18:18:43 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7425
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).
7428          
7429         Wed Dec 16 16:09:37 1992  Mike Stump  (mrs@cygnus.com)
7430
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
7433         abort.
7434
7435         Tue Dec 15 16:50:45 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7436
7437         * cp-tree.h (CLASSTYPE_NAMES): Deleted.
7438
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.
7442
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
7446         replicated code.
7447
7448         Tue Dec 15 04:05:54 1992  Mike Stump  (mrs@cygnus.com)
7449
7450         * cp-lex.c (UNSET_RESERVED_WORD): Update from c-lex.c.
7451
7452         Tue Dec 15 01:21:44 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7453
7454         * cp-lex.c (real_yylex): Convert invisible initialized char array
7455         vars to string constants.
7456
7457         Mon Dec 14 11:38:10 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7458
7459         * Makefile.in: Fix a lot of dependencies on cp-lex.h and other
7460         headers for cp-*.o targets.
7461
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.
7465
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.
7468
7469         * cp-type2.c (my_friendly_abort): Don't say anything like "please
7470         fix above errors", just exit quietly.
7471
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.
7476
7477         * cp-parse.y (overloaddef): Warn that using `overload' is an
7478         anachronism.
7479
7480         Wed Dec  9 08:27:13 1992  Niklas Hallqvist  (niklas at della.appli.se)
7481
7482         * cp-decl.c (init_decl_processing): Make sure the "unknown type"
7483         typedecl gets ignored by the debuginfo generators.
7484
7485         Sun Dec 13 02:38:43 1992  Brendan Kehoe  (brendan@cygnus.com)
7486
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).
7490
7491         * cp-pt.c (type_unification): Only check that ARGS is a TREE_LIST if
7492         it's non-null. 
7493
7494         These four are from Niklas Hallqvist:
7495
7496         * cp-search.c (compute_visibility): Use the main variant when
7497         testing if a member function belongs in the current class.
7498
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).
7502
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.
7506
7507         * cp-decl.c (grokdeclarator): Instead of an assert, return a
7508         NULL_TREE if the return_type's not return_ctor.
7509
7510         Sat Dec 12 23:52:25 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7511
7512         * cp-dem.c (cplus_demangle): Recognize 'S' for signed char.
7513         (do_cuv_prefix): Print out "signed" for it.
7514
7515         Fri Dec 11 19:36:36 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7516
7517         * cp-cvt.c (convert_to_reference): Fix a typo about when to return
7518         the result of a type conversion.
7519
7520         Tue Dec  8 20:05:25 1992  Mike Stump  (mrs@cygnus.com)
7521
7522         * cp-cvt.c (convert_to_reference): If a conversion can be found via
7523         a constructor, then use it.
7524
7525         Fri Dec  4 13:53:01 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7526
7527         * cp-lex.c (init_lex): Delete inits for CARD_EXPR and SET_LE_EXPR,
7528         since we never actually use them.
7529
7530         Thu Dec  3 19:20:14 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7531
7532         * cp-decl.c: Include sys/types.h for systems that need things for
7533         signal.h.
7534
7535         Wed Dec  2 15:51:34 1992  Mike Stump  (mrs@cygnus.com)
7536
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.
7540
7541         Wed Dec  2 14:44:41 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7542
7543         * cp-call.c (convert_harshness): If parm's null for a reference (as
7544         can be passed in), return 0.
7545
7546         Tue Dec  1 18:05:20 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7547
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.
7555
7556         * cp-type2.c (build_functional_cast): Revert change of Nov 2,
7557         concerning clearing the TREE_VALUE of a default parameter.
7558
7559         Tue Dec  1 11:09:50 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7560
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.
7563
7564         * cp-method.c (icat): Handle an argument of `1' first, since it's
7565         the most common case. 
7566
7567         Tue Dec  1 02:36:28 1992  Mike Stump  (mrs@cygnus.com)
7568
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
7571         previous context.
7572
7573         Tue Dec  1 02:20:32 1992  Mike Stump  (mrs@cygnus.com)
7574
7575         Wed Nov 25 18:25:06 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
7576
7577         * cp-decl.c (pushdecl): Clear DECL_CONTEXT for local declarations.
7578
7579         Mon Nov 30 15:36:43 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7580
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.
7583
7584         Thu Nov 26 11:22:12 1992  Mike Stump  (mrs@cygnus.com)
7585
7586         * c++: Put a newline after for arg and before do, as ``for arg do''
7587         is not accepted by all shells.
7588
7589         Mon Nov 23 13:21:43 1992  Brendan Kehoe  (brendan@cygnus.com)
7590
7591         * c++ (-lm): Also recognize -lmath as a math library.
7592
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).
7596
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'.
7600
7601         * cp-decl.c (start_decl): If grokdeclarator returns a
7602         void_type_node, return a NULL_TREE.
7603
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.
7610
7611         Sat Nov 21 02:33:28 1992  Brendan Kehoe  (brendan@cygnus.com)
7612
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
7616         to be `register'.
7617
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
7620         a COMPONENT_REF.
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.
7623
7624         Sat Nov 21 01:49:34 1992  Brendan Kehoe  (brendan@cygnus.com)
7625
7626         Work towards 64-bit support, and still more housecleaning.
7627
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
7641         rank_for_overload.
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
7654         build_unary_op.
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
7671         front end, dammit).
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
7677         combine_strings.
7678         (init_exception_processing): Add decls of build_function_type and
7679         define_function.
7680         * cp-gc.c (define_function): Add extern decl.
7681         * cp-init.c (is_aggr_typedef): Delete extern decl.  Add type for
7682         argument OR_ELSE.
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
7693         just passing it in.
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
7700         type_as_string.
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
7704         HOST_WIDE_INTs.
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
7718         last two args.
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 *').
7724
7725         Thu Nov 19 01:41:58 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
7726
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
7729         "wchar_t" for it.
7730         (cplus_demangle): Accept `w' as an integral type.
7731
7732         * cp-lex.c (init_lex): Delete duplicate setting of `__pl'.
7733
7734         Wed Nov 18 21:29:14 1992  Brendan Kehoe  (brendan@cygnus.com)
7735
7736         * cp-class.c (finish_struct): Re-enable code to cut down on the size
7737         of symbol output, the positives outweigh the negatives.
7738
7739         Wed Nov 18 19:51:59 1992  Mike Stump  (mrs@cygnus.com)
7740
7741         * cp-search.c (dfs_walk): Move setting of
7742         vbase_decl_ptr_intermediate out of #ifdef code.
7743
7744         Wed Nov 18 18:49:13 1992  Mike Stump  (mrs@cygnus.com)
7745
7746         * cp-decl.c (grokdeclarator): Make wording on error message
7747         stronger.
7748
7749         Tue Nov 17 17:46:11 1992  Brendan Kehoe  (brendan@cygnus.com)
7750
7751         * cp-search.c (CHECK_convert_pointer_to_single_level): Don't define.
7752
7753         Mon Oct  5 03:10:14 1992  Mark Eichin  (eichin at tweedledumber.cygnus.com)
7754
7755         * c++ (numargs): $# was used after set was called; instead, save
7756         $# in $numargs and use that value instead.
7757
7758 Fri Jan  8 18:11:55 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7759
7760         * cccp.c (rescan): Prevent token pasting before macro call.
7761         (macroexpand): Prevent token pasting around an arg unless it's raw.
7762
7763         * c-lex.c (yylex): Don't allow @ in identifier outside of Objective C.
7764
7765 Fri Jan  8 15:03:52 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
7766
7767         * pa.c (plus_xor_ior_operator): New predicate.
7768
7769 Fri Jan  8 13:09:47 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7770
7771         * combine.c (BYTE_LOADS_EXTEND, LOAD_EXTEND): New macros.
7772         (subst, simplify_and_const_int, nonzero_bits, num_sign_bit_copies):
7773         Use them.
7774         (subst, case SET): Make a SIGN_EXTEND instead of paradoxical SUBREG
7775         if BYTE_LOADS_SIGN_EXTEND; previously only made ZERO_EXTEND.
7776
7777         * function.c (assign_parm): Fix typo introduced by previous change.
7778
7779         * configure (486 targets): Set cpu_type to i386.
7780
7781 Fri Jan  8 03:48:27 1993  James Van Artsdalen  (james at bigtex.cactus.org)
7782
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.
7786
7787 Thu Jan  7 19:03:56 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
7788
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.
7795
7796 Thu Jan  7 18:21:52 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
7797
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.
7801
7802         * config/vax, config/convex: New directories; all files moved.
7803         * configure (vax-*, convex-*): Files now in subdirectories.
7804
7805 Thu Jan  7 17:31:36 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
7806
7807         * Makefile.in (specs): Use GCC_FOR_TARGET.
7808
7809         * Makefile.in (install-common): Install c++ and g++ only if cc1plus
7810         built.
7811
7812         * fixincludes: fix the rename prototype on the rs6000 <stdio.h>,
7813         which conflicted with c++ use of new
7814
7815         * c-decl.c (start_decl): Correct order of parameter declarations.
7816
7817 Thu Jan  7 16:52:01 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7818
7819         * config/romp/x-romp (CC): Add -U__STDC__.
7820
7821 Thu Jan  7 05:30:10 1993  Torbjorn Granlund  (tege@sics.se)
7822
7823         * libgcc2.c (__udiv_w_sdiv): Replace hard-coded constants 31 with
7824         (SI_TYPE_SIZE - 1).
7825
7826         * pa.md: Add floating point ld/st indexed patterns.
7827
7828         * pa.md (reg 112:SI recognizers): Remove.
7829         (main move:SI recognizer): Add alternative for greg -> reg 112.
7830
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.
7835
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.
7841
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.
7845
7846 Thu Jan  7 00:38:02 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7847
7848         * objc/object.m (+ error:, - error:): Use _objc_error.
7849
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.
7854
7855 Wed Jan  6 20:38:20 1993  Brendan Kehoe  (brendan@cygnus.com)
7856
7857         * alpha.h (ASM_FILE_START): Change .verstamp ident for BL10.
7858         * alpha.md (div/mod): Change calling sequence to agree with BL10.
7859
7860 Wed Jan  6 19:54:05 1993  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
7861
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.
7867
7868 Wed Jan  6 19:03:18 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7869
7870         * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC, LINK_SPEC):
7871         Add -compat-bsd conditionals.
7872
7873         * cccp.c (main): Implement -iwithprefix.
7874
7875 Wed Jan  6 18:13:13 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
7876
7877         * pa.c (print_operand): Always use "<>" instead of "!=".
7878
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. 
7887
7888 Wed Jan  6 11:20:59 1993  Michael Collison  (collison at osf.org)
7889
7890         * expr.c (convert_move): Support new modes QFmode and HFmode.
7891
7892         * optabs.c (init_optabs): Add optab entries for QFmode and HFmode.
7893
7894         * reload1.c (init_reload): Add entries in 'reload_in_optab'
7895         for QFmode and HFmode.
7896
7897         * varasm.c (assemble_real): Use `ASM_OUTPUT_BYTE_FLOAT' and
7898         `ASM_OUTPUT_SHORT_FLOAT' for QFmode and HFmode respectively.
7899
7900         * machmode.def: Added new modes QFmode and HFmode.
7901
7902 Wed Jan  6 11:29:46 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
7903
7904         * pa.c (fmpyaddoperands, fmpysuboperands): Cleanups suggested by
7905         Tege.
7906         * pa.md (fmpyadd peepholes): Cleanups suggested by Tege.
7907
7908         * pa.md (movqi, movhi, movsi, movdi, movsf, movdf): Discourage
7909         regclass from preferring anything which involves a FP<->GR copy.
7910
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.
7918
7919         * pa.md (movsi, movhi, movqi, movdi): Use reg_or_0_operand
7920         consistently.
7921
7922 Wed Jan  6 02:23:48 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7923
7924         * cexp.y (yylex): Make tokstart an unsigned char *.
7925
7926 Wed Jan  6 10:46:19 1993  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
7927
7928         * fixincludes (limits.h):  Add #ifndef/#endif around macros that
7929         are supposed to be defined in float.h.
7930
7931         * fixincludes, fixinc.svr4, fixinc.sco: Don't "make LIB absolute"
7932         if already absolute, to avoid problems with the automounter.
7933
7934 Wed Jan  6 02:35:23 1993  Paul Eggert  (eggert@twinsun.com)
7935
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.
7938
7939 Tue Jan  5 21:20:29 1993  James Van Artsdalen  (james at bigtex.cactus.org)
7940
7941         * i386/386.h (DEBUG_PRINT_REG): Print regno along with printable
7942         name.
7943         (CONST_COSTS): Handle integer CONST_DOUBLE correctly.
7944         (PREFERRED_RELOAD_CLASS): Allow integer CONST_DOUBLE into int
7945         regs.
7946
7947         * config/fx80: New directory.
7948         * configure (fx80): fx80 configuration files moved there.
7949
7950         * config/i960: New directory.
7951         * configure (i960): i960 configuration files moved there.
7952
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.
7961
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.
7974
7975         * m68k/tti68k.h: Deleted.
7976         * i386/x-xenix: Deleted.
7977         * i860/i860g3.h: Deleted.
7978
7979 Tue Jan  5 23:54:36 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
7980
7981         * config/pa: New directory.
7982         * config/pa/*.h: Handle PA configuration files in new
7983         subdirectory.
7984         * configure (pa): Likewise.
7985
7986 Tue Jan  5 23:31:34 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
7987
7988         * elxsi, gmicro, tahoe, we32k, spur: New subdirs; files moved.
7989
7990         * config/harris.h: Include tahoe.h from tahoe/ subdir.
7991
7992 Tue Jan  5 21:45:56 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
7993
7994         * fixincludes (Xmu.h): Add missing ${LIB}/.
7995
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.
7999
8000         * Makefile.in (install-dir): Only make includedir once.
8001
8002         * cccp.c (do_line): Add pedantic warnings for out of range line
8003         numbers, and non-space characters after the filename.
8004
8005 Tue Jan  5 15:09:29 1993  Michael Meissner  (meissner@osf.org)
8006
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.
8054
8055         * mips/* Modify include files as needed for the MIPS files being
8056         in the config/mips subdirectory.
8057
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.
8061
8062 Tue Jan  5 00:29:45 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8063
8064         * c-typeck.c (c_sizeof): Call force_fit_type only for INTEGER_CST.
8065
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.
8070
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.
8077
8078 Mon Jan  4 20:59:37 1993  James Van Artsdalen  (james at bigtex.cactus.org)
8079
8080         * config/ns32k: New directory.
8081         * configure (ns32k): ns32k configuration files moved there.
8082
8083         * ns32k/*.h: Use new file names for included ns32k files.
8084
8085         * config/m68k: New directory.
8086         * configure (m68k): m68k configuration files moved there.
8087
8088         * m68k/sgs.h: Renamed from m68ksgs.h.
8089
8090         * m68k/*.h: Use new file names for included m68k files.
8091
8092 Mon Jan  4 18:06:31 1993  Michael Meissner  (meissner@osf.org)
8093
8094         * configure (i386-osfrose): Rename i386 OSF/rose files to
8095         osfrose.h, t-osfrose.h, and x-osfrose.h.
8096
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.
8100
8101 Mon Jan  4 11:03:11 1993  Torbjorn Granlund  (tege@gnu.ai.mit.edu)
8102
8103         * Makefile.in (install-common-headers): Pipe grep output to /dev/null.
8104
8105 Mon Jan  4 01:12:48 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8106
8107         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
8108         Alternate definitions if NO_UNDERSCORES.
8109
8110         * c-parse.in (component_declarator):
8111         Allow attribute after nameless field.
8112
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.
8116
8117 Sun Jan  3 07:28:32 1992  Karl Berry  (karl@red.cs.umb.edu)
8118
8119         * x-romp (CC): Add -w.
8120
8121 Sun Jan  3 21:19:50 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
8122
8123         * pa.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
8124
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.
8130
8131         * pa.h (actual_fsize, apparent_fsize): Delete unused variables.
8132
8133 Sun Jan  3 20:37:55 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8134
8135         * cccp.c (main): Recognize and remove .cxx as filename suffix.
8136
8137 Sun Jan  3 19:39:18 1993  Michael Meissner  (meissner@osf.org)
8138
8139         * mips.h (MIPS_VERSION): Bump Meissner version number to 34.
8140
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
8144         registers.
8145
8146 Sun Jan  3 19:00:29 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8147
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
8151         operand.
8152
8153         * rtl.c (rtx_alloc): Clear common area of rtx in a portable manner.
8154
8155 Sun Jan  3 13:57:33 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
8156
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.
8160
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.
8167
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
8170         register.
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.
8174
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 ().
8183
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
8196         frame pointer.
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.
8200
8201 Sun Jan  3 07:28:29 1993  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8202
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.
8206
8207 Sat Jan  2 16:35:55 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8208
8209         * config.sub: Translate sunos5 to solaris2, and solaris1 to sunos4.
8210
8211         * tree.c, tree.h (int_size_in_bytes): Change ret type back to int.
8212
8213         * calls.c (expand_call): Don't use int_size_in_bytes
8214         for a variable-size object.
8215
8216 Sat Jan  2 15:16:24 1993  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
8217
8218         * c-parse.in (label): Use expr_no_commas instead of expr for case
8219         labels.
8220
8221 Sat Jan  2 03:30:10 1993  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8222
8223         * Makefile.in (gcc.o): Define TOOLDIR_BASE_PREFIX.
8224
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.
8229
8230         * cccp.c (default_include): Look directly in TOOL_INCLUDE_DIR.
8231         * protoize.c (default_include): Likewise.
8232
8233         * collect2.c (main): Look for `real-ld' after `gld', before `ld'.
8234         In debug printout, fix typo in prev change.
8235
8236 Fri Jan 1 13:32:36 1992  Ian Lance Taylor  (ian@cygnus.com)
8237
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.
8241
8242         * config/i386/linux.h (STARTFILE_SPEC): Removed -L"TOOLDIR"/lib.
8243
8244 Fri Jan  1 06:26:11 1993  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
8245
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.
8266
8267 Fri Jan  1 17:51:05 1993  Jim Wilson  (wilson@sphagnum.cygnus.com)
8268
8269         * dbxout.c (dbxout_symbol, TYPE_DECL case): Don't output tag which
8270         references incomplete type.
8271
8272         * fixincludes (sunwindow/{win_cursor.h,win_lock.h}): Change invalid
8273         #ifdef identifier `ecd.cursor' to `ecd_cursor'.
8274
8275         * c-typeck.c (build_binary_op): Add 'right' and 'left' to shift
8276         count warnings to distinguish them from each other.
8277
8278         * function.c (fixup_var_refs_insn):  Update last_parm_insn when
8279         insns are output after it to fix it up.
8280
8281         * sdbout.c (plain_type_1): Distinguish some C integer types by name.
8282
8283         * Makefile.in (MAKEINFO): New variable, defined to `makeinfo'.
8284
8285         * rs6000.h (ASM_FILE_START): Switch to text section at end.
8286         Output declaration for .mcount when profiling.
8287
8288 Fri Jan  1 12:15:42 1993  Jeffrey A. Law  (law@schirf.cs.utah.edu)
8289
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".
8293
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.
8299
8300         * pa.h (REGISTER_MOVE_COST): Make moving between FP and non-FP 
8301         registers more expensive.
8302
8303         * pa.h (TARGET_NO_BSS): Delete target switch.  Delete all references.
8304
8305 Fri Jan  1 07:40:58 1993  Tom Wood  (wood@dg-rtp.dg.com)
8306
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
8312         m88k/m88k-move.sh.
8313
8314 Thu Dec 31 17:38:43 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8315
8316         * gcc.c (do_spec_1): Propagate failure from recursive calls.
8317
8318         * i386/386bsd.h (perform_*): Rename macro args to arg0, arg1.
8319
8320 Thu Dec 31 15:42:35 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
8321
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.
8325
8326         * sched.c (sched_analyze_2): Use REG_NOTE_KIND not GET_MODE in
8327         add_dependence call.
8328         (sched_analyze_insn): Likewise.
8329
8330         * sparc.h (LIB_SPEC): When -a, include bb_link.o.
8331
8332         * t-sol2 (gmon.o, crt*.o): Change config to $(srcdir)/config.
8333
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
8338         reloadreg.
8339         * reload1.c (emit_reload_insns): Likewise.
8340
8341         * reload1.c (gen_input_reload):  Also handle PLUS of a MEM and
8342         CONSTANT specially.
8343
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.
8348
8349         * sparc.c (print_operand): For invalid operands, call
8350         output_operand_lossage instead of aborting.
8351
8352         * i960.md (call_internal, call_value_internal): Use 'l' for
8353         match_scratch constraint not 'd'.
8354
8355         * function.c (assign_parms): Emit conversions into a sequence, and
8356         then output the sequence after all parameters have been moved.
8357
8358         * optabs.c (expand_binop): Correct indentation of doubleword
8359         multiply picture.
8360
8361         * sparc.h (TARGET_SWITCHES): Have -msparclite also clear TARGET_FPU.
8362
8363         * va-i960.h: Define away __extension__ if compiled by GCC v1.
8364
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
8368         builtin_vec_new.
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.
8374
8375         * m68k.h (TARGET_SWITCHES): -m68030 does not imply -m68881.
8376
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 %|.
8381
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.
8385
8386         * configure (elxsi): Move it out of the middle of the sparc section.
8387
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
8390         unrolled loop.
8391
8392         * c-decl.c (pushdecl): Check TREE_PUBLIC in addition to
8393         DECL_EXTERNAL decls when looking for duplicate external declarations.
8394
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.
8401
8402 Thu Dec 31 11:11:30 1992  Jeffrey A. Law  (law@schirf.cs.utah.edu)
8403
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.
8407
8408 Thu Dec 31 08:50:42 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8409
8410         * a29k.h (OBJECT_FORMAT_COFF): Add definition.
8411
8412         * rs6000/xm-rs6000.h (REAL_NM_FILE_NAME): Delete from here.
8413         * rs6000/rs6000.h (REAL_NM_FILE_NAME): Put it here.
8414
8415 Thu Dec 31 01:53:13 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8416
8417         * tree.c (build_index_type): Leave TYPE_MAX_VALUE as -1 if it was;
8418         don't truncate the high bits.
8419
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.
8424
8425 Wed Dec 30 12:54:53 1992  James Van Artsdalen  (james at bigtex.cactus.org)
8426
8427         * i386/i386.c (output_fp_cc0_set): Abort if cc0 user not found.
8428
8429         * i386/i386.md (movsf,movdf): Change constraints to use integer regs
8430         for mem-mem copies.
8431
8432         * i386/i386.h (PREFERRED_RELOAD_CLASS): Don't reload CONST_DOUBLE into
8433         integer regs.
8434
8435         * jump.c (delete_computation): reg_referenced_p wants body, not insn.
8436
8437 Wed Dec 30 07:03:49 1992  John F Carr  (jfc at Athena.MIT.EDU)
8438
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
8441         area.
8442
8443 Wed Dec 30 06:05:07 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8444
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.
8458
8459 Wed Dec 30 01:48:38 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8460
8461         * fixincludes: Chmod each copied file a+r.
8462         * fixinc.svr4, fixinc.sco: Likewise.
8463
8464         * Makefile.in (extraclean): Quote the sharps.
8465
8466         * expr.c (expand_expr): In NOP_EXPR case, truncate and
8467         reextend integer constants.
8468
8469 Tue Dec 29 18:21:06 1992  James Van Artsdalen  (james at bigtex.cactus.org)
8470
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.
8475
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.
8481
8482         * configure (i386): Use new file names for 386 files.
8483         * i386/*.h: Likewise for included files.
8484
8485 Tue Dec 29 18:04:13 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8486
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.
8496
8497         * stor-layout.c (layout_record): Avoid overflow in const_size
8498         by adding into var_size instead.
8499
8500 Tue Dec 29 09:01:33 1992  Tom Wood  (wood@dg-rtp.dg.com)
8501
8502         * configure (m88k-dgux): Use t-m88kdgux.
8503
8504 Tue Dec 29 06:56:41 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8505
8506         * genemit.c (gen_split): Initialize _val in generated function.
8507
8508 Tue Dec 29 02:27:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8509
8510         * cccp.c (make_definition): Pass NULL as 3rd arg to do_define.
8511
8512 Mon Dec 28 14:56:55 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8513
8514         * c-parse.in (stmt, FOR case): Do call position_after_white_space
8515         after recording the current lineno for the increment.
8516
8517         * config.sub: Default to bsd for *-sequent.
8518
8519 Mon Dec 28 06:05:12 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8520
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.
8528
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.
8531
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
8535         an IOR.
8536
8537         * combine.c (simplify_comparison, case NEG): Replace large block of
8538         code with equivalent call to num_sign_bit_copies.
8539
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
8543         flag_volatile.
8544
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.
8549
8550 Sun Dec 27 18:33:38 1992  James Van Artsdalen  (james at bigtex.cactus.org)
8551
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.
8556
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.
8589
8590         * i386/*.h: Use new file names for included 386 files.
8591
8592 Sun Dec 27 22:02:09 1992  H.J. Lu  (hlu@yardbird.eecs.wsu.edu)
8593
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.
8600
8601         * Makefile.in: (gcc.o): Add $(MAYBE_TARGET_DEFAULT).
8602
8603 Sun Dec 27 16:33:13 1992  Tom Wood  (wood@dg-rtp.dg.com)
8604
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.
8609
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.
8615
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.
8620
8621         * m88kdgux.h (ASM_SPEC): Pass -KVstring given -mversion-string.
8622
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
8628         bounds.
8629
8630 Sun Dec 27 16:08:04 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8631
8632         * hp320.h (ASM_OUTPUT_DOUBLE_OPERAND): Delete spurious space after \.
8633
8634         * gstddef.h [__sequent__]: #undef _PTRDIFF_T_ at beginning, if defined.
8635
8636         * reload1.c (emit_reload_insns): Error instead of abort
8637         if an asm has a VOIDmode output operand.
8638
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.
8642
8643 Sun Dec 27 10:48:10 1992  Jeffrey A Law  (law@schirf.cs.utah.edu)
8644
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.
8649
8650 Sun Dec 27 06:53:39 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8651
8652         * reorg.c (relax_delay_slots): Only look at JUMP_LABEL for a
8653         condjump_p.
8654
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.
8660
8661         * combine.c (subst, case SET): Call recog_for_combine with OTHER_INSN,
8662         not UNDOBUF.OTHER_INSN.
8663
8664         * genoutput.c (have_error): New variable.
8665         (error): Set it.
8666         (main): Test it and return FATAL_EXIT_CODE if it is set.
8667
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.
8673
8674 Sun Dec 27 02:48:27 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8675
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.
8679
8680         * expr.c (expand_expr, constructor case): If we made a stack slot,
8681         set MEM_IN_STRUCT_P if the type warrants it.
8682
8683         * configure: When testing existence of a config file, specify $srcdir.
8684
8685 Sat Dec 26 18:12:08 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8686
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.
8690
8691         * a29k/unix.h, rs6000/aix32.h, rs6000/mach.h, rs6000/xm-mach.h:
8692         Include main file from subdirectory.
8693
8694         * config/a29k, config/alpha, config/romp, config/rs6000: New
8695         directories.
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.
8699
8700         * combine.c (gen_lowpart_for_combine): Allow MODE to be wider
8701         than a word in restricted circumstances.
8702
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.
8705
8706 Sat Dec 26 17:05:24 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8707
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.
8713
8714         * object.m: Include objc.h and stdio.h before object.h.
8715
8716 Sat Dec 26 05:12:05 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8717
8718         * Version 2.3.3 released.
8719
8720 Fri Dec 25 06:53:49 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
8721
8722         * expmed.c (store_bit_field): If VALUE needs to be narrowed, do
8723         it with gen_lowpart, not an explicit SUBREG.
8724
8725         * a29k.md (divsf3): Fix typo in mode of DIV.
8726
8727 Fri Dec 25 00:03:26 1992  James Van Artsdalen  (james at bigtex.cactus.org)
8728
8729         * Makefile.in (install-dir): Add missing semicolon.
8730
8731         * i386sco4.h (_KR, _SVID, _NO_PROTOTYPE): Define if -traditional.
8732
8733 Thu Dec 24 15:02:29 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8734
8735         * fixinc.svr4: Don't change bitfield types to int.
8736
8737         * seq386.h (TARGET_DEFAULT): Override.
8738
8739 Wed Dec 23 20:19:17 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8740
8741         * i386sco4.h (CPP_SPEC): Avoid repeated def of _M_SYSV.
8742
8743 Tue Dec 22 15:40:08 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8744
8745         * c-decl.c (store_parm_decls): Use TYPE_MAIN_VARIANT to compare types
8746         when merging info from previous prototype.
8747
8748         * fixinc.svr4: Add special fixes for netinet/in.h and sys/endian.h.
8749
8750 Mon Dec 21 02:58:27 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8751
8752         * m68kv4.h (ASM_OUTPUT_CASE_END):
8753         Use switch_table_difference_label_flag.
8754
8755         * configure (m68k-motorola-sysv*): Set use_collect2.
8756
8757 Sat Dec 19 20:19:44 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8758
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.
8761
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
8765         be `c'.
8766
8767 Sat Dec 19 01:32:13 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8768
8769         * Makefile.in (all.cross): Add `specs' as dep.
8770
8771         * build-make (CC): Delete the -V option.
8772
8773         * getpwd.c (getpwd): Don't get upset if ERANGE is not defined.
8774
8775 Fri Dec 18 20:56:59 1992  John Hassey  (hassey@dg-rtp.dg.com)
8776
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.
8781
8782 Fri Dec 18 17:17:39 1992  Michael Meissner  (meissner@osf.org)
8783
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
8788         defined already.
8789
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
8797         is a structure.
8798         (mips_expand_prologue): Shift any QI/HI structures passed back, so
8799         they can be used as normal QI/HI values.
8800
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.
8808
8809 Fri Dec 18 05:14:14 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
8810
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
8817         derived one.)
8818
8819         * cp-decl2.c (grokclassfn): Try using the local value for a nested
8820         type if the IDENTIFIER_TYPE_VALUE isn't there.
8821
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'.
8825
8826 Thu Dec 17 17:51:16 1992  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
8827
8828         * Makefile.in (install-dir): Added missing then and semicolon.
8829
8830 Thu Dec 17 15:19:36 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8831
8832         * x-i386s4 (CC): New assignment.
8833
8834 Wed Dec 16 15:49:11 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8835
8836         * objc-actions.c (finish_objc) [OBJC_SELECTORS_WITHOUT_LABELS]:
8837         Always call build_selector_translation_table.
8838
8839         * Makefile.in (install-dir):
8840         If cross-compiler, create $(tooldir) and $(assertdir). 
8841
8842 Wed Dec 16 14:19:08 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu)
8843
8844         * rs6000.h (INITIALIZE_TRAMPOLINE): Get function address and toc
8845         pointer from correct place relative to FNADDR.
8846
8847         * varasm.c (assemble_trampoline_template): If TRAMPOLINE_SECTION
8848         is defined, put the trampoline template into that section.
8849
8850         * alpha.h (TRAMPOLINE_SECTION): New macro.
8851
8852 Wed Dec 16 14:19:41 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
8853
8854         * reload.c (get_secondary_mem): Don't save address if it isn't valid.
8855
8856 Wed Dec 16 13:59:17 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8857
8858         * varasm.c (assemble_trampoline_template):
8859         Use readonly_data_section, not text_section.
8860
8861 Wed Dec 16 11:32:11 1992  Michael Meissner  (meissner@osf.org)
8862
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.
8868
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
8890         save_restore.
8891
8892 Wed Dec 16 07:33:08 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8893
8894         * stmt.c (expand_goto): Set LABEL_REF_NONLOCAL_P in the LABEL_REF
8895         we make in the non-local case.
8896
8897         * varasm.c (assemble_trampoline_template): Always put template in
8898         text section.
8899
8900 Wed Dec 16 05:04:06 1992  Tom Wood  (wood@dg-rtp.dg.com)
8901
8902         * combine.c (try_combine): Allow for the case where I3 becomes an
8903         unconditional jump when it is the last nonnote insn.
8904
8905 Tue Dec 15 20:30:06 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8906
8907         * cccp.c (do_pragma): Use index, not strchr.
8908
8909         * seq386.h (FUNCTION_PROFILER): Add missing . to label name.
8910
8911         * reload1.c (eliminate_regs_in_insn): Test old_body, not new_body,
8912         since people have tested it that way.
8913
8914         * reload1.c (eliminate_regs_in_insn): Don't recopy new_body
8915         if it is an asm_operands insn.
8916
8917 Tue Dec 15 19:42:58 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
8918
8919         * sparc.md (return peepholes): Add QImode and HImode move/return
8920         patterns.
8921
8922 Tue Dec 15 17:42:07 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8923
8924         * alpha.h (ASM_SPEC): New macro.
8925
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.
8930
8931 Mon Dec 14 13:16:14 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8932
8933         * rs6000.c (output_epilog): Support LANGUAGE_STRING values for F77,
8934         Ada, and Pascal.
8935
8936 Sun Dec 13 16:42:26 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
8937
8938         * fixinc.sco: Complete rewrite by ian@cygnus.com.
8939
8940 Sat Dec 12 17:51:43 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8941
8942         * va-alpha.h: Correctly form multi-word object.
8943
8944         * alpha.c (alpha_builtin_savregs): Correctly compute ARGSIZE and NREGS.
8945
8946         * alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Deleted.
8947
8948 Sat Dec 12 08:42:43 1992  Jeffrey A. Law  (law@schirf.cs.utah.edu)
8949
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.
8953
8954         * pa.md (floatsisf, floatsidf): Do not accept general registers.
8955
8956 Fri Dec 11 00:13:52 1992  Ian Lance Taylor  (ian@cygnus.com)
8957
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.
8967
8968 Fri Dec 11 17:56:53 1992  Brendan Kehoe  (brendan@mole.gnu.ai.mit.edu)
8969
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).
8973
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.
8977
8978 Fri Dec 11 08:15:53 1992  James Van Artsdalen  (james@bigtex.cactus.org)
8979
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.
8982
8983 Fri Dec 11 07:19:11 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
8984
8985         * alpha.c (output_epilog): Remove garbage from one decl of EXTRA.
8986         Subtract, not add, size from frame pointer.
8987
8988         * a29kunix.h (LINK_SPEC): Use -T, not -c, for new gld and change file
8989         name to default.gld from default.ld.
8990
8991         * function.c (assign_outer_stack_local): Align proper frame offset.
8992
8993         * loop.c (get_condition): Check for overflow when canonicalizing
8994         comparison.
8995
8996 Thu Dec 10 15:53:41 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
8997
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.
9001
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.
9004
9005 Thu Dec 10 10:23:28 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9006
9007         * combine.c (get_last_value): Never use value from later insn, even
9008         if reg is only set once.
9009
9010         * c-tree.h (IDENTIFIER_LIMBO_VALUE): Delete duplicate definition.
9011
9012 Thu Dec 10 08:54:03 1992  Tom Wood  (wood@dg-rtp.dg.com)
9013
9014         * i386sco4.h (CPP_PREDEFINES): Define i386 and unix here.
9015         (CPP_SPEC): Not here.
9016
9017 Wed Dec  9 19:03:55 1992  Jeffrey A. Law  (law@schirf.cs.utah.edu)
9018
9019         * pa.h (ASM_DECLARE_FUNCTION_NAME): Correctly get the return type
9020         of DECL.
9021
9022         * x-pa (CC): Set to "/usr/local/bin/gcc" instead of
9023         "/usr/local/gcc".
9024
9025 Tue Dec  8 17:50:26 1992  Michael Meissner  (meissner@osf.org)
9026
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.
9030
9031 Tue Dec  8 11:55:52 1992  Jeffrey A. Law  (law@schirf.cs.utah.edu)
9032
9033         * pa.md (sh[123]add): Use "shadd_operand" as the predicate for
9034         operand one.
9035         * pa.c (shadd_operand): New function.
9036
9037 Tue Dec  8 08:30:13 1992  Tom Wood  (wood@dg-rtp.dg.com) 
9038
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.
9045
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.
9049
9050 Tue Dec  8 08:30:13 1992  Niklas Hallqvist  (niklas@della.appli.se)
9051
9052         * integrate.c (expand_inline_function): Don't output line notes
9053         for implicit formals.
9054
9055 Tue Dec  8 06:21:44 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9056
9057         * cse.c (max_uid): New variable.
9058         (cse_end_of_basic_block): Use it to ignore insns made by CSE.
9059         (cse_main): Set it.
9060
9061 Mon Dec  7 21:22:29 1992  Brendan Kehoe  (brendan@mole.gnu.ai.mit.edu)
9062
9063         * cp-init.c (do_friend): Revert change of Sept 1; it seems to have
9064         broken properly emitting friends.
9065
9066 Mon Dec  7 19:09:25 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9067
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.
9070
9071         * romp.md (reload_out{q,h}i): Write as proper PARALLEL.
9072
9073 Sun Dec  6 16:27:14 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9074
9075         * alpha.md (add-mult): Add missing `&' in constraints of kludge
9076         plus/plus/mult pattern.
9077
9078 Sun Dec  6 16:26:42 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9079
9080         * optabs.c (expand_binop): Correct sign of complex quotient imagpart.
9081
9082 Sun Dec  6 07:59:16 1992  Michael Meissner  (meissner@osf.org)
9083
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
9089         frames are used.
9090
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.
9098
9099 Fri Dec  4 19:50:29 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
9100
9101         * fixincludes: fix _cplusplus typo in SCO's tinfo.h
9102
9103 Fri Dec  4 19:22:35 1992  Randy S. Welch  (randy@kcin.alphacdc.com)
9104
9105         * xm-plexus.h: New file.
9106         * configure (m68k-plexus-sysv*): Use it.
9107
9108 Fri Dec  4 19:21:44 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9109
9110         * c-decl.c (start_function): Use TYPE_MAIN_VARIANT when comparing
9111         return type with previous prototype declaration. 
9112
9113         * cccp.c (output_line_command): Use alloca for line_cmd_buf.
9114
9115 Fri Dec  4 19:20:34 1992  Richard Kenner  (kenner@mole.gnu.ai.mit.edu)
9116
9117         * cse.c (cse_insn): Always pass result of canon_reg through
9118         validate_change before using it in insn.
9119
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.
9123
9124 Fri Dec  4 19:13:35 1992  Jonas Olsson  (ljo@po.cwru.edu)
9125
9126         * i386bsd.h (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION):
9127         Copy definitions from i386v4.h to get PIC code correct.
9128
9129 Thu Dec  3 19:20:14 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9130
9131         * cp-decl.c: Include sys/types.h for systems that need things for
9132         signal.h.
9133
9134 Thu Dec  3 01:40:42 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
9135
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.
9140
9141         * fixincludes (sys/types.h): Check for [ \t]size_t not size_t.
9142
9143 Wed Dec  2 15:40:36 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9144
9145         * configure (rs6000-ibm-aix32): New target.
9146         * rs6000-aix32.h: New file.
9147
9148 Tue Dec  1 18:05:20 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9149
9150         * cp-type2.c (build_functional_cast): Revert change of Nov 2,
9151         concerning clearing the TREE_VALUE of a default parameter.
9152
9153 Tue Dec  1 13:33:25 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
9154
9155         * local-alloc.c (optimize_reg_copy_2): Correct reg_n_refs updates.
9156
9157         * Makefile.in (INSTALLED_H): Add syslimits.h.
9158
9159 Tue Dec  1 11:09:50 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9160
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.
9163
9164 Tue Dec  1 10:43:13 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9165
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.
9168
9169 Tue Dec  1 09:39:47 1992  Michael Meissner  (meissner@osf.org)
9170
9171         * mips.c (function_prologue): Do not emit a .loc before the
9172         function if debug level is 1.  This confuses gdb.
9173
9174 Tue Dec  1 02:48:29 1992  James Van Artsdalen  (james at bigtex.cactus.org)
9175
9176         * isc.h (TARGET_DEFAULT): New macro - don't make TARGET_IEEE_FP
9177         default for ISC.
9178
9179 Fri Nov 27 01:30:41 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9180
9181         * Version 2.3.2 released.
9182
9183         * objc/core.c (searchForMethodInHierarchy):
9184         If SEL or NAME is 0, return 0.
9185
9186         * gcc.c (LINK_LIBGCC_SPECIAL_1): New parameter.
9187         * rs6000.h (LINK_LIBGCC_SPECIAL_1): Defined.
9188
9189         * t-hp320g (RANLIB, RANLIB_TEST, AR, AR_FLAGS):
9190         Just copy value of ..._FOR_TARGET.
9191         (LIBCONVERT): Use TARGET_TOOLPREFIX.
9192
9193         * reload.c (find_reloads) [SMALL_REGISTER_CLASSES]:
9194         Don't use preferred_class for a multiword register.
9195
9196         * cccp.c (do_include): Initialize searchptr to 0.
9197
9198 Fri Nov 27 07:40:54 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
9199
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.
9205
9206 Thu Nov 26 10:31:48 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9207
9208         * gstdarg.h (va_end): #undef before the declaration.
9209
9210         * gstdarg.h (va_arg): Alternative definition for big-endian machines.
9211         * gvarargs.h (va_arg): Copy both definitions from gstdarg.h.
9212
9213         * limitx.h, limit.y: Test and define _GCC_LIMITS_H_, not _LIMITS_H_.
9214
9215         * mips.c (mips_debugger_offset): Don't crash for unknown cases.
9216
9217         * c-typeck.c (build_unary_op): Call pedantic_lvalue_warning
9218         for *all* cases of incrementing a cast.
9219
9220         * libgcc2.c (__udiv_w_sdiv): Cast 1 before shifting by 31.
9221
9222         * fixincludes (PWDCMD): New variable, set specially for Apollos.
9223         Use it to get the working dir.
9224
9225         * combine.c (num_sign_bit_copies): Fix 1-off error in PLUS case.
9226
9227         * c++: Put newline into `for arg do'.
9228
9229 Thu Nov 26 08:32:20 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9230
9231         * expmed.c (struct algorithm): Make coeff a HOST_WIDE_INT.
9232
9233         * romp.c (output_epilog): Always call output_fpops.
9234
9235 Wed Nov 25 16:24:43 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9236
9237         * Makefile.in (install-fixincludes): Use SYSTEM_HEADER_DIR.
9238
9239         * m68ksgs.h (ASM_OUTPUT_DOUBLE_OPERAND): Really use the operand VALUE.
9240
9241         * tree.h (CONSTRUCTOR_NAME_FORMAT): Let config.h override this.
9242         * tower-as.h (CONSTRUCTOR_NAME_FORMAT): Defined.
9243
9244         * c++: Replace `for arg do' which ash can't handle.
9245
9246         * t-next (OTHER_FIXINCLUDES_DIRS): Delete /NextDeveloper/Headers.
9247
9248         * apollo68.h (HAVE_ATEXIT): Commented out.
9249
9250         * regclass.c: Fix typo in use of SECONDARY_INPUT_RELOAD_CLASS.
9251         (copy_cost): Fix typo in use of SECONDARY_OUTPUT_RELOAD_CLASS.
9252
9253 Wed Nov 25 14:15:50 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
9254
9255         * fixinc.svr4 (regexp.h): Don't add a getrnge declaration if a
9256         conflicting declaration is already present.
9257
9258 Wed Nov 25 06:47:18 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9259
9260         * rs6000.h (LINK_LIBGCC_SPECIAL): No longer define.
9261
9262         * stmt.c (expand_value_return): Don't emit move between differing
9263         modes when PROMOTE_FUNCTION_RETURN is defined; convert instead.
9264
9265         * integrate.c (expand_inline_function): Ensure a REG used as
9266         COPY has REG_USERVAR_P set if LOC does.
9267
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).
9274
9275 Tue Nov 24 00:23:39 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9276
9277         * i386bsd.h (FUNCTION_PROFILER): Use mcount, not _mcount.
9278
9279         * t-next (OTHER_FIXINCLUDES_DIRS): Leave just /LocalDeveloper/Headers
9280         and /NextDeveloper/Headers.
9281
9282 Mon Nov 23 22:06:31 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9283
9284         * ns32k.md (movsi): Split alt 1 to deprecate xy classes in operand 1.
9285
9286         * combine.c (make_extraction): When making a low part subreg of a reg,
9287         use inner_mode, not is_mode.
9288
9289 Mon Nov 23 21:11:13 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9290
9291         * romp.h (ASM_FILE_START): Stop at first blank in VERSION_STRING.
9292
9293 Mon Nov 23 21:09:20 1992  Tom Wood  (wood@dg-rtp.dg.com)
9294
9295         * fold-const.c (range_test): Convert the constants to the unsigned
9296         type before expanding the range test.
9297
9298 Mon Nov 23 20:54:45 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9299
9300         Mon Nov 23 13:21:43 1992  Brendan Kehoe  (brendan@cygnus.com)
9301
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).
9305
9306         * cp-decl.c (start_decl): If grokdeclarator returns a
9307         void_type_node, return a NULL_TREE.
9308
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.
9316
9317         Sat Nov 21 02:33:28 1992  Brendan Kehoe  (brendan@cygnus.com)
9318
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
9322         to be `register'.
9323
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
9326         a COMPONENT_REF.
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.
9329
9330         Thu Nov 19 01:41:58 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9331
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
9334         "wchar_t" for it.
9335         (cplus_demangle): Accept `w' as an integral type.
9336
9337         Wed Nov 18 21:29:14 1992  Brendan Kehoe  (brendan@cygnus.com)
9338
9339         * cp-class.c (finish_struct): Re-enable code to cut down on the size
9340         of symbol output, the positives outweigh the negatives.
9341
9342         Wed Nov 18 19:51:59 1992  Mike Stump  (mrs@cygnus.com)
9343
9344         * cp-search.c (dfs_walk): Move setting of
9345         vbase_decl_ptr_intermediate out of #ifdef code.
9346
9347         Wed Nov 18 18:49:13 1992  Mike Stump  (mrs@cygnus.com)
9348
9349         * cp-decl.c (grokdeclarator): Make wording on error message
9350         stronger.
9351
9352         Tue Nov 17 17:46:11 1992  Brendan Kehoe  (brendan@cygnus.com)
9353
9354         * cp-search.c (CHECK_convert_pointer_to_single_level): Don't define.
9355
9356 Mon Nov 23 19:44:38 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9357
9358         * mot3300.h (switch_table_difference_label_flag): Define it.
9359
9360         * ns32k.md (addsi3): Add & for alternative 1 in operand 0.
9361
9362 Mon Nov 23 18:29:27 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
9363
9364         * genattrtab.c (obstack.h): Include after sys/time.h.
9365
9366         * c-decl.c (duplicate_decls): For builtins, create new function
9367         type instead of trying to modify old one.
9368
9369 Mon Nov 23 16:28:36 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9370
9371         * i386bsd.h (COMMENT_BEGIN): Redefine as #.
9372         (ASM_APP_ON, ASM_APP_OFF): Redefine to use #.
9373
9374         * combine.c (num_sign_bit_copies): Inhibit x-1 special case
9375         when x is a paradoxical subreg.
9376
9377         * xm-linux.h (malloc, calloc): Definitions deleted.
9378
9379 Mon Nov 23 11:52:41 1992  Jeffrey A. Law  (law@schirf.cs.utah.edu)
9380
9381         * pa.md (sh[123]add): Use "nonmemory_operand" instead of 
9382         "register_operand" as the predicate for the first operand.
9383
9384 Mon Nov 23 00:29:27 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9385
9386         * gcc.c (default_compilers): Pass -i* after -U*.
9387
9388 Sun Nov 22 17:03:48 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9389
9390         * hp320.h (FUNCTION_PROFILER): Complete replacement.
9391
9392         * xm-hp320.h (index, rindex): Defined.
9393
9394         * gstddef.h: Fix prev change; test of _STDDEF_H was backwards.
9395
9396 Sun Nov 22 16:12:38 1992  Tom Wood  (wood@dg-rtp.dg.com)
9397
9398         * toplev.c (W_options): Delete -Wreturn-type, as it is in lang_options.
9399         * c-decl.c (c_decode_option): Decode -Wreturn-type.
9400
9401         * c-decl.c, cp-decl.c (pushdecl): Don't inherit DECL_INITIAL when
9402         redeclaring the current function.
9403
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.
9407
9408 Sat Nov 21 19:54:57 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9409
9410         * cccp.c (main): Do -D's and -A's and -U's in order specified.
9411
9412         * gcc.c (default_compilers): When running cpp,
9413         move %{D*} and %{U*} (in that order) just before %i.
9414
9415 Sat Nov 21 18:24:55 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
9416
9417         * xm-pa.h: Remove #ifdef hpux stuff.
9418         (S_ISDIR): Remove.
9419         * xm-pahpux.h: New file, developed from old xm-pa.h.  Define
9420         rindex/index.
9421         * pa-hpux7.h, pa-gux7.h: New files.
9422
9423         * configure (hppa1.0-*-hpux*, hppa1.0-*-hpux*): Use xm-pahpux.h.
9424         (hppa1.0-*-hpux7*): New alternative.
9425
9426 Sat Nov 21 14:10:57 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9427
9428         * spc-sol2.h (SWITCH_TAKES_ARG, LINK_SPEC): New override definitions.
9429
9430         * xm-mot3300.h (index, rindex): Defined.
9431
9432 Sat Nov 21 07:54:53 1992  Michael Meissner  (meissner@osf.org)
9433
9434         * mips.h (MIPS_VERSION): Set Meissner version number to 29.
9435
9436         * mips.c (mips_expand_prologue): If profiling, emit an insn to
9437         block other insns from being scheduled before the end of the
9438         prologue.
9439
9440         * mips.md (blockage): New unspec_volatile insn to prevent other
9441         insns from being scheduled before it.
9442
9443 Sat Nov 21 06:03:38 1992  Brendan Kehoe  (brendan@cygnus.com)
9444
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.
9449
9450 Fri Nov 20 15:31:05 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
9451
9452         * dbxout.c (dbxout_type): Handle need for name of a RECORD_TYPE
9453         when it has none.
9454
9455         * configure (sparc-*-solaris2): Set broken_install.
9456
9457         * integrate.c (subst_constants): Inhibit special treatment of subreg
9458         when the stuff inside is not a reg.
9459
9460         * config/plexus.h (SIZE_TYPE): Fix syntax.
9461
9462         * gcc.c (do_spec_1): Handle MKTEMP_EACH_FILE.
9463
9464 Fri Nov 20 15:10:20 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
9465
9466         * fixincludes (math.h): Get rid of inconsistent inline definitions
9467         for abs that are present in HP-UX 8.0.
9468
9469 Fri Nov 20 10:07:48 1992  Michael Meissner  (meissner@osf.org)
9470
9471         * collect2.c (FREAD, FWRITE): Undef these macros if they were
9472         defined before including ldfcn.h.
9473
9474 Fri Nov 20 15:38:47 1992  Tom Wood  (wood@dg-rtp.dg.com)
9475
9476         * integrate.c (expand_inline_function): Mark all notes as integrated.
9477
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.
9481
9482 Fri Nov 20 05:24:16 1992  Jim Blandy  (jimb@totoro.cs.oberlin.edu)
9483
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
9492         processors.
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
9499         if omitted.
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.
9510
9511 Wed Nov 18 17:58:18 1992  Karl Berry  (karl@cs.umb.edu)
9512
9513         * i386iscgas.h (SDB_DEBUGGING_INFO): #undef.
9514         (DBX_DEBUGGING_INFO): #define.
9515         (DBX_OUTPUT_MAIN_SOURCE_{DIRECTORY,FILENAME}): Override dbxout.c.
9516
9517         * bsd386.h (LPREFIX) [NO_UNDERSCORES]: Define as `.L'.
9518
9519 Wed Nov 18 13:50:43 1992  Michael Meissner  (meissner@osf.org)
9520
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
9523         saved.
9524
9525 Wed Nov 18 09:58:50 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9526
9527         * a29k.md (insv): Remove constraints from operand matching
9528         const_0_operand.
9529
9530         * regclass.c (regclass): Add missing cast from enum to int.
9531
9532 Wed Nov 18 09:40:01 1992  John Hassey  (hassey@dg-rtp.dg.com)
9533
9534         * core.c (initialize_class): The class may not have an initialize
9535         method.
9536
9537 Wed Nov 18 09:40:01 1992  Wilson Tien  (wtien@urbana.mcd.mot.com)
9538
9539         * xm-m68kv.h (rindex, index): use strrchr and strchr instead.
9540
9541 Wed Nov 18 01:27:37 1992  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
9542
9543         * config.sub: Added Xenix operating system.
9544
9545 Tue Nov 17 18:32:01 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
9546
9547         * reload.c (combine_reloads): Don't combine with a reload needed
9548         for multiple things.
9549
9550 Mon Nov 16 08:52:52 1992  Jeffrey A. Law  (law@mole.gnu.ai.mit.edu)
9551
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. 
9555
9556 Thu Nov 12 21:02:59 1992  Brendan Kehoe  (brendan@mole.gnu.ai.mit.edu)
9557
9558         Cygnus<-->FSF merge.
9559
9560         Thu Nov 12 15:02:53 1992  Brendan Kehoe  (brendan@cygnus.com)
9561
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.
9565
9566         * cp-decl.c (finish_decl): Don't try to use TYPE if it's an
9567         error_mark_node.
9568
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.
9573
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.
9581
9582         Wed Nov 11 22:14:51 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9583
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.
9589         (ld_cmp): Likewise.
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.
9598
9599         Wed Nov 11 14:34:25 1992  Mike Stump  (mrs@rtl.cygnus.com)
9600
9601         Thu Nov  5 15:58:38 1992  Tim Moore  (moore at defmacro.cs.utah.edu)
9602
9603         * cp-decl.c (duplicate_decls): Round to obstack alignment when
9604         testing if newdecl is at the top of the permanent obstack.
9605
9606         Wed Nov 11 13:56:18 1992  Mike Stump  (mrs@rtl.cygnus.com)
9607
9608         * cp-search.c (build_vbase_vtables_init): Make sure external virtual
9609         tables are declared on machines that need the declaration by calling
9610         assemble_external.
9611
9612         Wed Nov 11 12:51:44 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9613
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.
9617
9618         Tue Nov 10 16:21:20 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9619  
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.
9622
9623         Tue Nov 10 13:23:30 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9624
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.
9627
9628         Tue Nov 10 12:38:36 1992  Mike Stump  (mrs@rtl.cygnus.com)
9629
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.
9632
9633         Tue Nov 10 11:03:36 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9634  
9635         * cp-decl.c (pushdecl_top_level): Disable assert for now; it's
9636         always acted correctly.
9637  
9638         Mon Nov  9 12:04:27 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9639
9640         * cp-parse.y (try_for_typename): Deleted rule.
9641         (scoped_id): Don't use it.
9642
9643         Fri Nov  6 18:07:37 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9644
9645         * cp-init.c (expand_aggr_init): If INIT is 0, don't bother trying to
9646         play with its type.
9647
9648         Thu Nov  5 16:52:37 1992  Chip Salzenberg  (chip@tct.com)
9649
9650         * cp-decl.c (finish_decl): Set TREE_STATIC, TREE_PUBLIC and
9651         DECL_EXTERNAL correctly for use with #pragma interface.
9652
9653         Fri Nov  6 10:07:01 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9654
9655         * cp-class.c (finish_struct): Don't try to work with a field that
9656         got a bogus type.
9657
9658         * cp-method.c (build_overload_value): Don't call debug_tree!
9659
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.
9663
9664         * cp-decl.c (grokdeclarator): If initializing a const member and
9665         acting pedantic, then do make it an error. 
9666
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.
9674
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
9679         the tags.
9680
9681         Thu Nov  5 17:53:32 1992  Brendan Kehoe  (brendan@cygnus.com)
9682
9683         * cp-decl.c (grokdeclarator): Constant class members can be
9684         initialized.
9685
9686         Thu Nov  5 17:11:30 1992  Mike Stump  (mrs@cygnus.com)
9687
9688         Thu Nov 5 19:48:17 1992  Niklas Hallqvist  (niklas@appli.se)
9689
9690         * cp-pt.c (instantiate_class_template): Types are used in later
9691         processing, so they must go into the permanent obstack.
9692
9693         Thu Nov  5 13:02:56 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9694
9695         * cp-decl.c (grokdeclarator): Don't allow members to be initialized
9696         in the class declaration.
9697
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.
9701
9702         * cp-call.c (find_scoped_type): New function.
9703         (resolve_scope_to_name): Use it to check for names that might be in
9704         base classes.
9705
9706         Wed Nov  4 00:43:15 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9707
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
9711         cp-lex.c.
9712         (reduce_count, token_count): Ditto.
9713         (current_declspecs): Made static.
9714
9715         * cp-typeck.c (build_c_cast): Warn if casting between a pointer and
9716         an integer whose sizes differ.
9717
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.
9720
9721         Tue Nov  3 02:16:47 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9722
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.
9725
9726         * cp-search.c (dfs_pushdecls): Don't try to use the context of a
9727         field which has none at the time.
9728
9729         * cp-decl.c (redeclaration_error_message): Don't complain about
9730         redefinition of a function if it's a definition of an abstract
9731         virtual function.
9732         (duplicate_decls): For an abstract virtual, don't use the old RTL
9733         from abort when creating the RTL for the newdecl.
9734
9735         Tue Nov  3 00:15:44 1992  Brendan Kehoe  (brendan@cygnus.com)
9736
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.
9740
9741         * cp-lex.c (readescape): New arg ignore_ptr.
9742         (real_yylex): Pass new arg, handle result that comes back.
9743
9744         * cp-decl.c (WCHAR_TYPE_SIZE): Deleted; never used.
9745
9746         Mon Nov  2 10:23:52 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9747
9748         * cp-lex.c (real_yylex): Let skip_white_space handle \r.
9749
9750         * cp-parse.y (parmlist): Warn on a decl `foo (...)', without a first
9751         argument.
9752
9753         * cp-type2.c (build_functional_cast): If expr_as_ctor's argument is
9754         a SAVE_EXPR, don't wipe out the argument.
9755
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.
9758
9759         Sun Nov  1 16:50:14 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9760
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.
9769
9770         * cp-typeck.c (common_type): If either type is nonsense (an
9771         error_mark), use the other type.
9772
9773         Thu Oct 29 18:39:50 1992  Mike Stump  (mrs@cygnus.com)
9774
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
9778         believe.
9779
9780         Thu Oct 29 17:30:12 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9781
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.
9785
9786         * Makefile.in (stamp-cp-parse): There are now only 29 shift/reduce
9787         conflicts, because of the removed wrapper stuff.
9788
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.
9796
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.
9801
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
9808         ANTI_WRAPPER_EXPR.
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):
9815         Deleted variables.
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
9824         wrap_type members.
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.
9839
9840         Wed Oct 28 15:38:44 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9841
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
9845         where appropriate.
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.
9852
9853         Tue Oct 27 17:38:18 1992  Mike Stump  (mrs@cygnus.com)
9854
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.
9858
9859         Tue Oct 27 16:21:41 1992  Mike Stump  (mrs@cygnus.com)
9860
9861         * cp-tree.h (THIS_NAME_P): Fix to reflect September 1 change in
9862         THIS_NAME.
9863
9864         Tue Oct 27 12:35:59 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9865
9866         * cp-parse.y (operator_name): Remove check for top-level operator
9867         <typename> decl.
9868         * cp-decl.c (grokdeclarator): Complain here about type conversion
9869         operators that aren't declared as members of classes. 
9870
9871         * cp-decl.c (grokdeclarator): Only call do_friend on a friend if
9872         decl's non-zero.
9873
9874         Tue Oct 27 09:31:08 1992  Mike Stump  (mrs@cygnus.com)
9875
9876         * cp-lex.c (do_identifier): Add missing fourth argument to
9877         lookup_field.
9878
9879         Mon Oct 26 15:15:39 1992  Mike Stump  (mrs@cygnus.com)
9880
9881         * cp-cvt.c (convert_to_reference): Check for ambiguities
9882         between constructor and conversion operators a bit harder.
9883
9884         Sat Oct 24 19:34:39 1992  Brendan Kehoe  (brendan@cygnus.com)
9885
9886         Mon Sep 14 14:36:53 1992  Chip Salzenberg  (chip@tct.com)
9887
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.
9892
9893         Fri Oct 23 18:52:19 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9894
9895         * cp-decl.c (poplevel): Use error_with_decl on an unused label, so
9896         its line number comes out correct.
9897
9898         Thu Oct 22 18:31:50 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9899
9900         * cp-parse.y (operator_name): If a type conversion operator is
9901         defined at the top level, don't crash, complain.
9902
9903         Thu Oct 22 17:41:13 1992  Mike Stump  (mrs@cygnus.com)
9904
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.
9908
9909         Thu Oct 22 13:15:57 1992  Mike Stump  (mrs@cygnus.com)
9910
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.
9913
9914         Wed Oct 21 19:31:36 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
9915
9916         * cp-call.c (build_method_call): Initialize b_or_d to 0.
9917
9918         * cp-typeck.c (compparms): Delete dead code for returning if either
9919         TREE_PURPOSE is true when t1 and t2 are both 0.
9920
9921         * cp-parse.y (object): Only pass one argument into build_x_arrow.
9922
9923         * cp-parse.y (unary_expr): Add code to parse `&&label'.
9924         (stmt): Expand computed gotos.
9925
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).
9928
9929         Wed Oct 21 16:22:43 1992  Mike Stump  (mrs@cygnus.com)
9930
9931         * cp-decl.c (start_decl): return NULL_TREE, not error_mark_node to
9932         signify error.
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
9938         argument.
9939
9940         Wed Oct 21 11:40:35 1992  Mike Stump  (mrs@cygnus.com)
9941
9942         * cp-call.c (build_method_call): Avoid an abort on parse errors by
9943         changing an assert into a conditional my_friendly_abort.
9944
9945         Tue Oct 20 16:52:32 1992  Mike Stump  (mrs@cygnus.com)
9946
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.
9955
9956         Tue Oct 20 11:29:50 1992  Mike Stump  (mrs@cygnus.com)
9957
9958         Wed Oct  7 16:01:55 1992  Chip Salzenberg  (chip@tct.com)
9959
9960         [ changes propagated from 921005 snapshot ]
9961         * cp-lex.c (readescape): No warning if digits in \x are all 0's.
9962
9963         Fri Oct  9 15:18:19 1992  Brendan Kehoe  (brendan@cygnus.com)
9964
9965         * cp-decl.c (duplicate_decls): Only find out if olddecl is a
9966         friend after we know it's not a TREE_LIST.
9967
9968         Wed Oct  7 16:04:34 1992  Mike Stump  (mrs@cygnus.com)
9969
9970         Wed Oct  7 12:26:07 PDT 1992  Ron Guilmette  (rfg at netcom.com)
9971
9972         * cp-lex.c (readescape):  Permit \? as an escape sequence.
9973
9974         Tue Oct  6 17:54:09 1992  Mike Stump  (mrs@cygnus.com)
9975
9976         Major MI revamp.
9977
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
9982         ambiguities.
9983
9984         * cp-search.c (convert_pointer_to_single_level): Added so that one
9985         can convert pointer unambiguously to an immediate base class
9986         pointer.
9987
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.
9995
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.
9999
10000         Tue Oct  6 14:51:13 1992  Brendan Kehoe  (brendan@rtl.cygnus.com)
10001
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.
10006
10007         Mon Oct  5 15:47:35 1992  Brendan Kehoe  (brendan@rtl.cygnus.com)
10008
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
10023         base).
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
10033         when necessary.
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.
10037
10038         Mon Oct  5 13:27:44 1992  Mike Stump  (mrs@cygnus.com)
10039
10040         * cp-init.c (maybe_adjust_addr_for_delete):  Make sure we don't
10041         evaluate the addr twice if it has side effects.
10042
10043         Mon Oct  5 13:05:37 1992  Mike Stump  (mrs@cygnus.com)
10044
10045         * cp-init.c (build_vec_delete): Make sure we don't evaluate the base
10046         expression twice if it has side effects.
10047
10048         Mon Oct  5 12:38:35 1992  Brendan Kehoe  (brendan@rtl.cygnus.com)
10049
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.
10053
10054         Mon Oct  5 12:34:32 1992  Mike Stump  (mrs@cygnus.com)
10055
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++.
10058
10059         Mon Oct  5 11:43:09 1992  Mike Stump  (mrs@cygnus.com)
10060
10061         Mon Sep 14 16:39:10 1992  Chip Salzenberg  (chip@tct.com)
10062
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.
10065
10066         Fri Oct  2 13:21:40 1992  Ken Raeburn  (raeburn@kyriath.cygnus.com)
10067
10068         * cp-decl.c (start_function): Reinstate error check for missing
10069         semicolon erroneously removed.
10070
10071 Thu Nov 12 17:37:23 1992  Michael Meissner  (meissner@osf.org)
10072
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.
10077
10078 Thu Nov 12 07:30:17 1992  James Van Artsdalen  (james at bigtex.cactus.org)
10079
10080         * i386.h (HARD_REGNO_MODE_OK): Restrict MODE_INT from FP regs only.
10081
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.
10086
10087         * i386.c (float_op): Delete - no longer used.
10088
10089 Wed Nov 11 11:55:22 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
10090  
10091         * combine.c (simplify_comparison, case ASHIFTRT): mode_for_size
10092         returns BLKmode on error, not VOIDmode.
10093
10094         * romp.md (reload_outdi): Write as proper PARALLEL.
10095
10096 Wed Nov 11 01:06:33 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10097
10098         * toplev.c (lang_options): Change +e... to -+e...
10099
10100         * xm-tower.h: Include xm-svr3.h.
10101         (bcopy, bzero, bcmp, USG): Macros deleted.
10102
10103 Tue Nov 10 12:26:23 1992  Steve Chamberlain (sac@cygnus.com)
10104
10105         * sdbout.c (plain_type_1): Handle LONG_TYPE_SIZE like INT_TYPE_SIZE.
10106
10107 Tue Nov 10 14:20:27 1992  Michael Meissner  (meissner@osf.org)
10108
10109         * mips.md (ffssi2): Add =& constraints to the two match_scratch
10110         clobbered registers.  Fix from John F Carr.
10111
10112         * mips-tdump.c (toplevel): Move #undef index and rindex before
10113         including sym.h.
10114
10115 Tue Nov 10 10:37:50 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10116
10117         * Makefile.in (install-common): Delete deps $(srcdir)/g++ $(srcdir)/c++
10118
10119         * expr.c (init_expr_once): Try indexing mem by fp as well as sp.
10120
10121 Tue Nov 10 10:28:59 1992  Chris Smith  (csmith@convex.com)
10122
10123         * genattrtab.c (main): Unlimit stack size.
10124
10125 Tue Nov 10 10:17:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10126
10127         * print-rtl.c (print_rtx): Use sizeof spaces - 1 to get the length
10128         of the spaces string.
10129
10130 Tue Nov 10 09:56:32 1992  Jeffrey A. Law  (law@schirf.cs.utah.edu)
10131
10132         * pa-hpux.h (LINK_SPEC): Disable linking against shared libraries.
10133         * pa-ghpux.h (LINK_SPEC): Likewise. 
10134
10135 Tue Nov 10 08:39:01 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
10136
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).
10139
10140 Mon Nov  9 22:17:23 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10141
10142         * xm-3b1.h (index, rindex): Define as macros.
10143
10144         * i386bsd.h: Complete rewrite.
10145
10146 Mon Nov  9 14:22:38 1992  Michael Meissner  (meissner@osf.org)
10147
10148         * mips.h, decrose.h: Move LINK_LIBGCC_SPECIAL to decrose.h.
10149
10150 Mon Nov  9 12:39:03 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10151
10152         * unroll.c (final_biv_value): Make a note after loop_end
10153         if we need to use NEXT_INSN (loop_end).
10154
10155         * objc-actions.c (build_message_expr): Don't crash if super_type is 0.
10156
10157 Mon Nov  9 07:42:30 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
10158
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.
10161
10162 Mon Nov  9 12:35:57 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
10163
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.
10170
10171 Sun Nov  8 20:38:19 1992  James Van Artsdalen  (james at bigtex.cactus.org)
10172
10173         * i386.md (movstrsi): mask move count after signed shift.
10174
10175 Sun Nov  8 00:24:30 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10176
10177         * fixinc.svr4: Avoid use of | in sed regexp; use multiple s commands.
10178
10179         * i386mach.h: Include i386gstabs.h, not i386gas.h.
10180
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.
10185
10186         * cccp.c (rescan): Accept # as command inside macro args, etc.
10187         If an actual newline at the same level precedes.
10188
10189         * fixincludes (EXINIT): Set it to `set', not null.
10190
10191         * toplev.c (main): Use strncmp when testing for gstabs+ vs gstabs.
10192
10193 Sat Nov  7 17:46:35 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10194
10195         * optabs.c (expand_unop):
10196         For complex negation, do get_insns, not gen_sequence.
10197
10198         * c-decl.c (finish_decl): Don't clear DECL_INITIAL in inline fn decls.
10199
10200         * c-typeck.c (process_init_constructor): Strip NOP_EXPR from indices.
10201         Clear end_index if there's an error in a range.
10202
10203         * mips-5sysv.h, mips-5svr4.h, mips-5bsd.h (CPP_PREDEFINES):
10204         Add single-underscore variants of all the predefined symbols.
10205
10206         * gstddef.h [_ANSI_H_]: When undefing at the end, test _STDDEF_H,
10207         not __need_ptrdiff_t.
10208
10209         * mips.c (gen_int_relational): Handle overflow when incrementing cmp1.
10210
10211 Fri Nov  6 23:03:14 1992  Brendan Kehoe  (brendan@lisa.cygnus.com)
10212
10213         * elxsi.c: Include config.h.
10214
10215 Fri Nov  6 18:53:21 1992  Chip Salzenberg  (chip@tct.com)
10216
10217         * i386sco.h (STARTFILE_SPEC): Fix line wrap.
10218         (SIGNED_CHAR_SPEC): Defined to set _CHAR_UNSIGNED.
10219
10220 Fri Nov  6 19:06:56 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
10221
10222         * dbxout.c (dbxout_symbol): Give name ` ' to unnamed enums.
10223
10224 Fri Nov  6 15:26:30 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
10225  
10226         * optabs.c (init_libfuncs): Add casts when comparing/incrementing enum.
10227  
10228 Fri Nov  6 15:41:00 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10229
10230         * toplev.c (main): Really accept -gstabs+.
10231
10232 Fri Nov  6 06:46:22 1992  Tom Wood  (wood@dg-rtp.dg.com)
10233
10234         * m88k.md (tcnd_divide_by_zero, divsi3, udivsi3): Allow the
10235         explicit trap for divide by zero to resume execution along the
10236         expected path.
10237
10238         * t-m88kv4 (FIXINCLUDES): Delete.
10239
10240 Fri Nov  6 03:08:13 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10241
10242         * i386.md (andsi3): Mask immed op to 0xff in QI-reg ff00-byte case.
10243
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.
10248
10249         * c-lex.c (readescape): Support \e like \E.  Warn only if -pedantic.
10250
10251 Fri Nov  6 08:34:17 1992  Tim Moore  (moore at defmacro.cs.utah.edu)
10252
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.
10258
10259 Fri Nov  6 00:41:53 1992  Paul Eggert  (eggert@twinsun.com)
10260
10261         * sparc.h (TARGET_EDOM, GEN_ERRNO_RTX): Deleted.
10262
10263 Thu Nov  5 18:55:44 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10264
10265         * alpha.c (output_prologue): Fix typo: `add' should be `addq'.
10266
10267 Thu Nov  5 18:35:43 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10268
10269         * Makefile.in (install-fixincludes): Add semicolon in new for-loop.
10270
10271 Thu Nov  5 15:24:14 1992  Michael Meissner  (meissner@osf.org)
10272
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.
10278
10279 Wed Nov  4 13:36:10 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
10280
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.
10284
10285 Wed Nov  4 16:45:53 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10286
10287         * config.sub: Don't discard SCO version number if it's 3.2v4.
10288
10289         * xm-vax-vms.h (HOST_FLOAT_FORMAT): Defined.
10290
10291         * varasm.c: Fix typos in last change.
10292
10293 Wed Nov  4 10:11:28 1992  Torbjorn Granlund  (tege@jupiter.sics.se)
10294
10295         * va-pa.h (va_end): Do it like in other va-*.h files.
10296
10297 Wed Nov  4 07:23:46 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10298
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.
10301
10302 Wed Nov  4 00:13:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10303
10304         * x-next (libgcc2.a, stdarg.h): New rules.
10305
10306         * varasm.c (immed_real_const_1, immed_double_const):
10307         Don't push on const_double_chain in nested function.
10308
10309         * expr.c (emit_move_insn): Do return a value, in complex case.
10310
10311 Tue Nov  3 10:45:09 1992  H.J. Lu  (hlu@yardbird.eecs.wsu.edu)
10312
10313         * i386linux.h (STARTFILE_SPEC): -static is added to ld if 
10314           -pg, -g or -p is passed down by gcc.
10315
10316 Tue Nov  3 15:14:48 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10317
10318         * pa.c (output_ior): Handle "ior" against zero.
10319
10320         * i386mach.h (YES_UNDERSCORES): Define it.
10321
10322         * sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Use REAL_VALUE_MINUS_ZERO.
10323         (ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
10324
10325 Tue Nov  3 08:25:35 1992  Chris Smith  (csmith@convex.com)
10326
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.
10330
10331 Tue Nov  3 08:05:10 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
10332
10333         * jump.c (jump_optimize): Ensure operand of REG_NOTES is an INSN;
10334         otherwise, we might try to read outside allocated memory.
10335
10336         * va-alpha.h (va_end): Don't define enum if va_end already defined.
10337
10338 Tue Nov  3 02:56:22 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10339
10340         * objc/Makefile: Use $(srcdir), not `..'.
10341
10342         * objc-actions.c (build_message_expr): Use save_expr for receiver.
10343
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.
10347
10348 Mon Nov  2 21:17:40 1992  Paul Eggert  (eggert@twinsun.com)
10349
10350         * va-sparc.h (va_end): If already def as macro, don't declare.
10351
10352 Mon Nov  2 16:04:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10353
10354         * i386linux.h: Include i386gstabs.h, not i386gas.h.
10355
10356 Mon Nov  2 14:46:31 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
10357
10358         * Makefile.in (install-cross-tools): Delete old symlink before
10359         making new one; else symlink will fail and we will use
10360         backed strategy.
10361
10362 Sun Nov  1 17:55:56 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
10363
10364         * varasm.c (decode_rtx_const): Handle PC same as LABEL_REF.
10365
10366 Sun Nov  1 03:19:39 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
10367
10368         * Version 2.3.1 released.
10369
10370         * x-i386s4: Renamed from x-i386sco4.
10371         * configure (i[34]86-*-sco*): Use new name.
10372
10373         * sol2-c1.asm, sol2-ci.asm, sol2-cn.asm: Renamed from sol2-crt...
10374         * t-sol2: User new names.
10375
10376 See ChangeLog.6 for earlier changes.