BSD 4_4_Lite2 development
[unix-history] / usr / src / contrib / gcc-2.3.3 / ChangeLog.5
CommitLineData
7a9206ec
C
1Sun Jun 14 16:30:07 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2
3 * Version 2.2.2 released.
4
5 * Makefile.in (gcc.xtar.Z): Don't give up if texinfo files not updated.
6 Just sleep to emphasize the message.
7
8 * i860.h (PREFERRED_RELOAD_CLASS): Avoid f regs for HI and QI if poss.
9
10 * protoize.c: Don't include wait.h.
11 (gen_aux_info_file): Test wait_status as in gcc.c.
12 Report fatal signals explicitly. Report exit status.
13 * xm-next.h (wait): Definition deleted.
14
15 * sparc.c (print_operand): In `r' case, recognize any kind of zero.
16
17Sat Jun 13 02:51:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
18
19 * va-sparc.h (va_arg): Handle all 8-byte types, not just double.
20
21Fri Jun 12 23:40:41 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
22
23 * i860v4.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):
24 Use `e' format, not `g' format.
25
26Fri Jun 12 12:52:48 1992 Tim Moore (moore at fast.cs.utah.edu)
27
28 * pa.md (absdf2): Fix bug in output template.
29
30Fri Jun 12 10:25:25 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
31
32 * ultrix.h (WCHAR_*): Set to correct values.
33
34Fri Jun 12 10:07:43 1992 Michael Meissner (meissner@osf.org)
35
36 * x-mips, x-mipsv, x-decstatn, x-iris (OLDCC): Add -Olimit 3000 to
37 bump the number of basic blocks that the MIPS compiler handles, so
38 that it doesn't issue warning messages saying to bump the limit.
39 Move the -O1 option here from X_CFLAGS, so that it doesn't
40 get passed when bootstraping.
41 (X_CFLAGS): Delete.
42
43Thu Jun 11 15:08:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
44
45 * sparc.h (RETURN_IN_MEMORY): Do nothing for structs and unions.
46 (EXTRA_CONSTRAINT): During reload, accept pseudo reg for Q.
47
48 * va-sparc.h (va_arg): Handle unaligned doubles.
49
50 * fixincludes: Fix return type of `free' in malloc.h.
51 Recognize #define.NULL only at start of line.
52 In sys/types.h, find size_t only in a typedef.
53 In netdnet/dnetdb.h, don't add semicolon in wrong place.
54
55 * configure: Set use_collect2 to empty rather than unsetting.
56
57 * gstddef.h (__need_wchar_t): Fix typo in #undef.
58
59Wed Jun 10 04:30:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
60
61 * gcc.c (process_command): In gcc_exec_prefix, machine precedes vers.
62
63 * i386sco4.h (CPP_SPEC): Don't redefine __STDC__.
64 fixincludes knows how to fix the conditionals in system headers.
65
66 * collect2.c (scan_prog_file): Initialize ldptr.
67
68 * dbxout.c (dbxout_symbol): Make tag precede typedef.
69
70 * configure: Initialize host, host_xm_file, host_xmake_file,
71 host_broken_install, and broken_install.
72
73 * Makefile.in (enquire.o): Add `./' when removing enquire.c.
74
75Tue Jun 9 20:52:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
76
77 * Version 2.2.1 released.
78
79 * Makefile.in (clean): Don't delete unprotoize.c.
80
81 * configure: Fix typo in modifying INSTALL variable in Makefile.
82
83Mon Jun 8 15:14:09 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
84
85 * Version 2.2 released.
86
87 * Makefile.in (extraclean): Delete *.rej and *.orig under config.
88 Delete *.xtar.
89 (dist): Update README *before* making tar file.
90 Fix quoting of error message about gcc.texi; exit if that test fails.
91 Don't print error messages from ln.
92
93 * assert.h [__cplusplus]: Use `extern "C"' around __eprintf decl.
94
95 * configure (rs6000-*-mach*, pyramid-*-*, mips-sgi-*):
96 Patterns made canonical.
97 (rs6000-*-mach*): Fix typo in `xmake_file'.
98
99 * configure (i386-*-osfrose*): Renamed from i386-osfrose*.
100
101 * Makefile.in (.NOEXPORT): Moved after `all'.
102 Comments put on separate lines.
103
104Mon Jun 8 18:33:01 1992 Michael Meissner (meissner@osf.org)
105
106 * configure (mips-dec-osf*): Set xmake_file to x-mips.
107
108Sun Jun 7 15:55:34 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
109
110 * gcc.c (set_spec): Fix braino in "appending" spec values.
111
112 * integrate.c (expand_inline_function): Fix dumb bug in last change.
113
114Sun Jun 7 07:16:25 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
115
116 * romp.md: Disable two more define_splits during the first sched
117 pass until long-standing sched.c bug is fixed.
118
119Thu Jun 4 16:49:56 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
120
121 * reorg.c (dbr_schedule): Global registers are needed at function end.
122
123Sat Jun 6 17:07:16 1992 Torbjorn Granlund (tege at david.ultra.nyu.edu)
124
125 * pyr.md (shift patterns): Declare output_shift.
126 (movdi, movdf): Declare output_move_double.
127
128Sat Jun 6 15:07:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
129
130 * Makefile.in (c-parse.o): Depend on c-parse.h.
131
132 * reload.c (find_reloads): Fix typo in format string.
133
134 * mips.c (override_options): BSD 4.3 does line buffering differently.
135
136 * Makefile.in (SYSCALLS.c.X): Put GCC output in file, not /dev/null.
137 (mostlyclean): Delete temp file.
138
139 * configure (handling broken_install): Add -c option.
140
141Sat Jun 6 11:34:00 1992 James Van Artsdalen (james at bigtex.cactus.org)
142
143 * gstdarg.h (va_arg): Fix typo incrementing AP.
144
145Sat Jun 6 16:27:18 1992 Michael Meissner (meissner@osf.org)
146
147 * mips-n5.h, mips-sysv.h: Include sys/param.h, not types.h.
148
149Fri Jun 5 19:00:36 1992 Howard Chu (hyc@hanauma.jpl.nasa.gov)
150
151 * fx2800.h (ASM_OUTPUT_FUNCTION_PREFIX): Output a nop before
152 every function, to accomodate tdescs. Also, save function
153 name in current_function_original_name for use in i860.c.
154 Also define OUTPUT_TDESC to get ABI-compliant tdesc info
155 generated for each function.
156
157 * i860.c (function_epilogue): Add code to output tdesc info
158 after each function. Tdesc structure versions 1-4 are
159 supported.
160
161 * i860v4.h (ASM_FILE_END) [OUTPUT_TDESC]: Output a null tdesc entry
162 after the last function in a file.
163
164Fri Jun 5 19:03:22 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
165
166 * collect2.c (main, scan_prog_file): Use bcopy, not memcpy.
167
168Fri Jun 5 16:27:18 1992 Michael Meissner (meissner@osf.org)
169
170 * mips.h, mips.c, mips.md: Undo June 3 changes.
171
172 * mips-n5.h, mips-sysv.h (getpagesize): If _SC_PAGE_SIZE is undefined,
173 use NBPC defined in sys/types.h.
174
175Thu Jun 4 14:36:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
176
177 * cse.c (delete_dead_from_cse): Don't delete anything inside a libcall.
178
179 * Makefile.in (install-libgcc): Depend on install-dir.
180
181 * c-lex.c (yylex): Suppress int out of range warning if -traditional.
182
183Thu Jun 4 23:34:05 1992 Howard Chu (hyc@hanauma.jpl.nasa.gov)
184
185 * fx2800.h (DBX_OUTPUT_ENUM): Add missing argument, add a
186 missing semi-colon.
187 (ASM_OUTPUT_DOUBLE): undef definition from i860v4.h, replace
188 with definition used in i860.h.
189 (ASM_OUTPUT_FLOAT): same as above
190 Also undef MD_EXEC_PREFIX which is defined in i860v4.h.
191 Also define I860_STRICT_ABI_PROLOGUES for ABI-compliant function
192 prologues.
193
194Thu Jun 4 13:15:30 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
195
196 * enquire.c (fake_f_rep): Use __extension__ to avoid pedantic warnings.
197
198 * cse.c (cse_process_notes): Don't stick VOIDmode into *_extract.
199
200 * c-decl.c (get_parm_info): For forward parm decls, check for
201 non-parm before checking TREE_ASM_WRITTEN.
202
203Thu Jun 4 13:57:47 1992 Tim Moore (moore at defmacro.cs.utah.edu)
204
205 * pa.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Delete
206 FP_OR_SNAKE_FP_REGS (useless), add GENERAL_OR_FP_REGS,
207 GENERAL_OR_SNAKE_FP_REGS.
208 (ASM_DECLARE_FUNCTION_NAME): Handle DImode arguments correctly.
209 (PROFILE_BEFORE_PROLOGUE, FUNCTION_PROFILER): Do the same thing
210 for BSD and HPUX.
211
212 * pa.c (output_function_prologue): Do profiling right (compatible
213 with HPUX).
214 (output_arg_descriptor): Handle DImode argument registers.
215
216Thu Jun 4 13:48:24 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
217
218 * reload1.c (reload): Count reload register used by caller-save
219 handling in any basic block that contains a CALL_INSN.
220
221Thu Jun 4 09:23:19 1992 Ron Guilmette (rfg at ncd.com)
222
223 * i860v4.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Remove leading 0r.
224 (ASM_OUTPUT_FLOAT): Use .float (not .single).
225
226Fri Jun 5 14:58:43 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
227
228 * pyr.h (REGNO_OK_FOR_{INDEX,BASE}): Correctly test reg_renumber.
229 * configure (pyramid): Turn it back on.
230
231Thu Jun 4 11:26:55 1992 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu)
232
233 * pa.c (output_move_double): Handle overlapping moves between
234 registers.
235
236Wed Jun 3 22:08:18 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
237
238 * fold-const.c (fold, NOP_EXPR case): Don't drop intermediate in
239 (unsigned int) (unsigned short) char-variable.
240
241Wed Jun 3 11:18:43 1992 Ron Guilmette (rfg at ncd.com)
242
243 * stdarg.h (va_arg): Use casts to avoid doing (pedantically invalid)
244 arithmetic on `void *' values when __svr4__ is defined.
245
246Wed Jun 3 17:51:21 1992 Torbjorn Granlund (tege@zevs.sics.se)
247
248 * longlong.h (sparc): Test symbol __sparcv8__ for sparc.h conformance.
249
250Wed Jun 3 16:22:38 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
251
252 * sparc.c (print_operand): Correct typo.
253 (sparc_type_code): Correctly handle C int and float types.
254
255 * sparc.h (CONSTANT_ALIGNMENT): Align strings to 8 byte boundary.
256 (DATA_ALIGNMENT): Likewise for character arrays.
257
258 * i960.c (function_prologue): Fixed calculation of offsets for
259 compiler's register save area.
260
261 * sparc.md (mulsi3,mulsidi3,umulsidi3,divsi3,udivsi3): Patterns
262 added to support V8 sparc architectures.
263 * sparc.h (TARGET_DEFAULTS): Add -mv8 and -msparclite options.
264
265 * reload1.c (reload): If can't satisfy reload for a group of more
266 than two registers, then abort to avoid an infinite loop.
267 (count_possible_groups): Skip to last reg of group, not first reg
268 of next group.
269
270Wed Jun 3 14:35:00 1992 Tom Wood (wood at gen-rtx)
271
272 * c-lex.c (yylex): Let skip_white_space handle \r.
273
274 * expr.c (expand_builtin, fsqrt case): Stabilize the argument in
275 case a library call is done.
276
277 * final.c (final_scan_insn): Function begin, and block begin/end
278 notes are "real" in that they depend on the current line number.
279
280Wed Jun 3 14:34:28 1992 Michael Meissner (meissner@osf.org)
281
282 * mips.md (andsi3_internal2): Fix typo in previous change, to
283 use %3, the clobbered register, instead of %@, the assembler
284 temporary.
285 (iorsi3_internal2): Ditto.
286 (xorsi3_internal2): Ditto.
287
288 * mips.h (MIPS_VERSION): Bump Meissner version # to 20.
289 (final_prescan_insn): Add declaration.
290 (lui_int): Add declaration.
291 (FINAL_PRESCAN_INSN): Just call final_prescan_insn.
292
293 * mips.c (lui_int): New function, return true if value fits in a
294 LUI instruction.
295 (final_prescan_insn): Move the checking for filling the delay
296 slots here from the FINAL_PRESCAN_INSN macro. If the safe
297 attribute is set, we do not need a NOP to fill a load delay slot.
298
299 * mips.md (safe attribute): New attribute to indicate that the
300 current insn is safe to fill a delay slot even if the register
301 operand(s) are set in the load instruction which has the delay
302 slot. This is for and/ior/xor expansions that have a large
303 constant integer as operand[2]. The load of the constant can
304 overlap the load.
305 (andsi3, iorsi3, xorsi3): Replace logical define_insn's with
306 define_expand's that either map directly to the hardware
307 instruction, or have a clobbered register to load the large
308 constant into. This is instead of using $1 to hold the
309 intermeidate value. Set the safe attribute to yes for the cases
310 where we need to load the integer. Add define_split's to break
311 the large logical operations into the separate pieces.
312
313Wed Jun 3 00:00:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
314
315 * cccp.c (do_warning): Do just a warning, not an error.
316
317Tue Jun 2 17:30:09 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
318
319 * cse.c (cse_basic_block): When a jump becomes unconditional,
320 check whether this caused TO to be deleted.
321
322Tue Jun 2 16:11:42 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
323
324 * combine.c (subst, case IF_THEN_ELSE): Don't try reversing
325 something that isn't a comparison.
326
327Tue Jun 2 16:50:47 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
328
329 * cccp.c (do_pragma): Don't warn about #pragma once if used in a
330 system header file.
331
332Tue Jun 2 15:21:07 1992 Michael Meissner (meissner@osf.org)
333
334 * mips.h (MIPS_VERSION): Bump Meissner version # to 19.
335 (ASM_OUTPUT_DOUBLE): Call mips_output_double.
336 (ASM_OUTPUT_FLOAT): Call mips_output_float.
337
338 * mips.c (mips_output_double): If REAL_VALUE_TO_TARGET_DOUBLE is
339 defined, use it to split the floating point value into 2 long
340 integers, and print them out in hex. Otherwise use .double.
341 (mips_output_float): If REAL_VALUE_TO_TARGET_FLOAT is defined, use
342 it to split the floating point value into a long integer, and
343 print in out in hex. Otherwise use .float.
344
345 * dec-osf1.h (new file): Config file for DEC's offical OSF/1
346 product (as opposed to the OSF/1 reference port from OSF).
347
348 * configure: Support mips-dec-osf1 target.
349 * config.sub: Support mips-dec-osf1 target.
350
351 * decstatn.h (CPP_PREDEFINES): If CPP_PREDEFINES is defined, don't
352 supply another definition. Also, define _SYSTYPE_BSD.
353
354Mon Jun 1 00:04:01 1992 Ron Guilmette (rfg at ncd.com)
355
356 * gstdarg.h (va_list) [__svr4__]: Typedef it to `void *'.
357 * va-sparc.h (__va___list) [__svr4__]: Typedef this as `void *'.
358
359Sun May 31 15:26:32 1992 John F Carr (jfc at Achates.mit.edu)
360
361 * calls.c (stack_arg_under_construction): New variable.
362 (store_one_arg): Set stack_arg_under_construction before calling
363 expand_expr if expand_expr might call a constructor to initialize
364 a stack argument.
365 (expand_call): Push the stack around function calls if
366 stack_arg_under_construction is nonzero.
367 Also copy structure_value_addr in that case.
368 Push the stack around an inline function if it makes calls
369 and there are outgoing arguments on the stack which must be preserved.
370 Move the call to expand_cleanups_to before that.
371 Do this stack adjustment before computing argument locations.
372
373Sun May 31 01:03:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
374
375 * sdbout.c (sdbout_symbol): Test DECL_IGNORED_P only for
376 variables and types.
377 * dwarfout.c (output_decl): Never ignore a FUNCTION_DECL
378 even if DECL_IGNORED_P is set.
379
380Sat May 30 07:07:55 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
381
382 * rs6000.h, romp.h (FUNCTION_ARG): Fix typo in last change.
383
384 * combine.c (subst, significant_bits, simplify_comparison):
385 Only look at STORE_FLAG_VALUE if comparison result is integer.
386
387Fri May 29 18:04:45 1992 Ron Guilmette (rfg at ncd.com)
388
389 * dwarfout.c (output_decl): Moved test for ERROR_MARK node out of
390 switch statement and added a test for DECL_IGNORED_P after that.
391 (dwarfout_file_scope_decl): Check input node to see if it is an
392 ERROR_MARK before checking for DECL_IGNORED_P. Also makes sure that
393 any node marked as DECL_IGNORED_P isn't also a function definition.
394
395Fri May 29 14:46:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
396
397 * integrate.c (expand_inline_function):
398 Don't discard setting return value from a volatile source.
399
400 * c-decl.c (init_decl_processing): If traditional, strlen returns int.
401 (sizet_ftype_string): Deleted.
402
403 * expr.c (expand_builtin, fsqrt case): Return proper mode if arg error.
404
405Fri May 29 13:36:32 1992 Tom Wood (wood@dg-rtp.dg.com)
406
407 * m88k.c (m88k_builtin_saveregs): Don't copy result to a register.
408
409 * m88k.h (FIXED_REGISTERS): Allow use of r1.
410 (REG_LEAF_ALLOC_ORDER): Choose r1 last.
411 (REG_ALLOC_ORDER): Choose r1 before any preserve register.
412 (ORDER_REGS_FOR_LOCAL_ALLOC): Switch between orderings.
413 * m88k.c (m88k_layout_frame): Save r30 when used as an ordinary
414 register.
415
416 * m88k.h (CHECK_FLOAT_VALUE): Delete, not needed.
417 * m88k.c (check_float_value): Delete, not needed.
418
419 * m88k.c (mostly_false_jump): Fix return check.
420
421 * m88k.md (mstore type): Delete.
422 (return, indirect_jump): These are jumps, not branches.
423 * m88k.c (eligible_for_epilogue_delay): No TYPE_MSTORE insns.
424
425Fri May 29 12:33:21 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
426
427 * reload1.c (emit_reload_insns): Add missing arg to gen_input_reload.
428
429Fri May 29 06:43:15 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
430
431 * rs6000.h, romp.h (FUNCTION_ARG): Don't put variable-sized
432 operands in registers.
433
434 * explow.c (emit_stack_{save,restore}): Don't call validize_mem
435 on a null rtx.
436
437 * cse.c (cse_insn): Don't call canon_reg on entry from
438 hash table; instead, call it after we did the substitution.
439
440Thu May 28 18:47:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
441
442 * fixincludes (malloc.h): Allow space or tab btwn typedef and char.
443
444Thu May 28 17:35:37 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
445
446 * reload1.c (reload_as_needed): Properly disable optional reload
447 that we can't do.
448 Don't abort if disabled reload uses a register we don't have.
449
450Thu May 28 14:43:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
451
452 * next.c (get_directive_line): Declare it.
453
454 * defaults.h (ASM_OUTPUT_ASCII): Use unsigned chars.
455
456 * i860v4.h, i386v4.h, sparcv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
457 Use the override definitions only if word order matches host.
458
459Wed May 27 17:32:36 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
460
461 * unroll.c (find_splittable_givs): When completely unrolling loop,
462 precompute giv value into a reg before loop if it is complex.
463
464 * sparc.c (singlemove_string): Handle SFmode CONST_DOUBLE.
465 * sparc.h (PREFERRED_RELOAD_CLASS): Don't allow reloads of
466 constants to FP registers, nor reloads of FP constants that won't
467 match the 'E' constraint.
468 * sparc.md (movsf-1): Add pattern to efficiently handle SFmode
469 constants.
470
471 * sparc.md (lo_sum:DI pattern): Use constraint "0" for operand 1.
472
473 * i960.h (OVERRIDE_OPTIONS): Disable function inlining.
474
475 * function.c (assign_parms): When MAYBE_REG_PARM_STACK_SPACE,
476 don't assume that register parameters already have a stack slot.
477 * i960 (*): Change all tests of current_functions_args_size from
478 48 to 0 due to above change.
479 * i960.md (*): Likewise.
480
481 * sparc.h (LONG_DOUBLE_TYPE_SIZE): Add ifdefed out definition.
482 (FIXED_REGISTERS): g4 is not a fixed register.
483 (RETURN_IN_MEMORY): Define.
484 (FUNCTION_ARG_PASS_BY_REFERENCE): Also pass TFmode by reference.
485
486 * fixincludes: Fix stdio.h and math.h for Ultrix 4.0.
487
488Tue May 26 15:29:21 1992 Brendan Kehoe (brendan@cs.widener.edu)
489
490 * x-we32k: new file, need alloca.o
491 * xm-we32k.h [NO_SYS_SIGLIST]: define this
492 * we32k.h [STRICT_ALIGNMENT] define as `1'
493 [NO_WAIT_H]: also define this
494 * collect2.c [NO_WAIT_H]: don't include sys/wait.h if this is
495 defined.
496
497 * Makefile.in (clean): rm libgcc1.null.
498
499Wed May 27 15:36:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
500
501 * real.h (REAL_VALUE_TO_TARGET_SINGLE): Test HOST_BITS_PER_WORD right.
502
503 * i386sco.h (SIZE_TYPE): New definition.
504
505 * c-typeck.c (build_binary_op): When shortening, handle case
506 where op0 and arg0 are different but have same width. op1/arg1 too.
507
508 * toplev.c (compile_file): Cast xmalloc when arg to setvbuf.
509
510 * expmed.c (expand_divmod): Clear can_clobber_op0 if doing mod.
511
512 * Makefile.in (protoize.1, unprotoize.1): Delete target before mv'ing.
513 (mostlyclean): Delete tmp-unproto.1.
514
515 * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Test DECL_IGNORED_P.
516 * dwarfout.c (dwarfout_file_scope_decl): Likewise.
517
518Wed May 27 13:48:36 1992 James Van Artsdalen (james at bigtex.cactus.org)
519
520 * i386.md (ashldi3,ashrdi3,lshrdi3): Fix typo in comparison.
521
522Wed May 27 02:11:22 1992 Ron Guilmette (rfg at ncd.com)
523
524 * i386v4.h, i860v4.h, sparcv4.h: Include real.h.
525 (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
526 New definitions, if host and target formats match.
527
528 * real.h (REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE):
529 Defined, but only if host and target formats match.
530
531Wed May 27 06:20:26 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
532
533 * reload1.c (reload_as_needed): For asm insn, check all reload
534 insns for validity.
535 (emit_reload_insns, gen_input_reload): Remove previous change that
536 checked them here.
537 * recog.c (constrain_operands, case 'm', 'o', 'g'): Accept pseudo if
538 reload is in progress.
539
540Tue May 26 19:24:21 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
541
542 * combine.c (combinable_i3pat): Allow a hard register as the
543 destination even if SMALL_REGISTER_CLASSES if source is a CALL.
544
545 * emit-rtl.c (gen_lowpart_common): Fix handling of int->float
546 union conversions.
547
548Tue May 26 19:23:43 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
549
550 * a29k.h (HARD_REGNO_MODE_OK): Don't let anything larger than
551 UNITS_PER_WORD be allocated to an odd numbered register.
552
553Tue May 26 15:22:27 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
554
555 * config.sub (defaulting the OS): Separate subversions with periods.
556
557 * limits.h: Fix condition for defining long-long macros, to suit libc.
558
559 * Makefile.in (specs): New target.
560 (gcc): Don't write `specs' here.
561 (start.encap): Depend on `specs'.
562 (all.cross): Depend on EXTRA_PARTS.
563 (rest.cross): New target.
564
565 * c-common.c (declare_function_name):
566 Set TREE_USED, not TREE_NO_UNUSED_WARNING.
567
568Tue May 26 04:52:53 1992 Michael Meissner (meissner@osf.org)
569
570 * loop.c (loop_has_volatile): New static variable to record
571 whether the loop has any volatile references in it.
572 (prescan_loop): Set loop_has_volatile.
573 (check_dbra_loop): Don't reverse loop if there are any volatile
574 references in it.
575
576Mon May 25 16:04:08 1992 James Van Artsdalen (james at bigtex.cactus.org)
577
578 * i386gas.h (ASM_OUTPUT_OPCODE): Translate "repnz" to "repne".
579 * seq386gas.h (ASM_OUTPUT_OPCODE): Likewise.
580
581Mon May 25 15:53:31 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
582
583 * optabs.c (emit_indirect_jump): Emit barrier here.
584 * stmt.c (expand_computed_goto): Not here.
585
586Mon May 25 06:22:59 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
587
588 * cse.c (canon_reg): Must call validate_change if insn has any
589 MATCH_DUPs even if replacing a pseudo with another pseudo.
590
591 * explow.c (emit_stack_{save,restore)}: Call validize_mem on save area.
592
593 * combine.c (simplify_shift_const, case PLUS): Simplify cases where
594 the PLUS is just turning on bits that will be shifted out.
595
596 * emit-rtl.c (gen_lowpart_common): Add new case for single-word
597 float->integer conversion; all others already present.
598 Check for -fpretend-float in this and the other cases.
599
600 * stmt.c (expand_goto): Fix typo in previous change.
601
602 * reload1.c (gen_input_reload): When checking for validity of
603 reloads made for asms, also check the constraints.
604
605 * explow.c (allocate_dynamic_stack_space): Don't add to size
606 if we aren't going to need to align the size.
607
608 * fold-const.c (fold, case *_DIV_EXPR): Fold (a * C1) / C2 for
609 some C1 and C2.
610
611Sun May 24 14:07:53 1992 Ron Guilmette (rfg at ncd.com)
612
613 * toplev.c (main):
614 Fix typo setting use_gdb_dbx_extensions in xcoff case.
615
616 * c-decl.c (pushdecl): Call `build_type_copy' rather than calling
617 `c_build_type_variant' to duplicate a type.
618
619Sun May 24 16:56:09 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
620
621 * reload1.c (reload): Refine setting of basic_block_needs.
622
623Sun May 24 15:43:08 1992 John F Carr (jfc at Achates.mit.edu)
624
625 * combine.c (try_combine): Don't split an insn if that would move
626 a use of a register across a set of the same register.
627
628Sun May 24 14:50:38 1992 James Van Artsdalen (james at bigtex.cactus.org)
629
630 * reg-stack.c (constrain_asm_operands): Ignore constraint letters
631 following '#' in each alternative.
632
633Sun May 24 02:28:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
634
635 * gcc.c (pexecute): New alternative definition for OS2.
636 Take SEARCH_FLAG as arg instead of FUNC.
637 (execute): Change call to pexecute.
638
639 * toplev.c (main): Don't run ps for -dm if on OS2.
640
641 * cccp.c (main): Use PATH_SEPARATOR computing num_dirs.
642 (path_include): Likewise, setting q.
643
644 * gcc.c: Include sys/file.h.
645
646 * Makefile.in (extraclean): Delete install1.texi.
647
648Sat May 23 14:14:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
649
650 * crtstuff.c (__do_global_ctors) [not INVOKE__main]: Make body empty.
651
652 * fold-const.c (float_error): Renamed from const_binop_error.
653 (const_binop, fold_convert):
654 Call set_float_handler around REAL_VALUE_TRUNCATE.
655
656 * Makefile.in ($(srcdir)/INSTALL): New target.
657 (doc): Depend on that.
658 ($(srcdir)/gcc.info, $(srcdir)/cpp.info): Delete $(srcdir) from deps.
659 ($(srcdir)/gcc.info): List all subfiles as deps.
660
661 * math-68881.h: Use %! instead of fpcr.
662
663 * install.sh: New file.
664 * configure: Changed install_with_cp to broken_install.
665 Test that flag for the host, not for the target.
666 If set, use install.sh.
667
668 * Makefile.in (EXTRA_HEADERS): New variable.
669 (USER_H): Use that.
670 * configure: Let alternatives set EXTRA_HEADERS via var header_files.
671 (m68k-...): Set header_files to install math-68881.h.
672
673 * Makefile.in (install-dir): Create (libsubdir)/include.
674 (install-limits-h, install-float-h): Depend on install-dir.
675
676 * Makefile.in (gcc.xtar): Warn if version in gcc.texi is old.
677
678 * genconfig.c (main): Add 1 when outputting MAX_RECOG_OPERANDS.
679 Initialize to just 9.
680
681 * gcc.c (MD_STARTFILE_PREFIX_1): New config macro.
682 (main): Use that like MD_STARTFILE_PREFIX.
683
684Sat May 23 08:13:38 1992 John F Carr (jfc at Achates.mit.edu)
685
686 * reload1.c (reload): Copy MEM_IN_STRUCT_P flag when converting
687 pseudo register to equivalent memory location.
688
689Sat May 23 07:12:15 1992 Michael Meissner (meissner@osf.org)
690
691 * x-iris (OLDCC): Add -cckr to turn off strict ANSI checking.
692
693 * mips.c (current_function_name): Delete definition, function.c
694 defines this and mips.h has a declaration.
695
696 * longlong.h (mips umul_ppmm): Use "d" constraint instead of "r", so
697 that we know the value is an integer register.
698
699Sat May 23 01:14:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
700
701 * vax.h (PRINT_OPERAND): Undo last change.
702 Fix the comment instead.
703
704 * x-dpx2200, x-dpx2300 (ALLOCA_FINISH, AS): New variables.
705
706Fri May 22 01:52:22 1992 Ron Guilmette (rfg at ncd.com)
707
708 * svr4.h (MD_EXEC_PREFIX): Added definition.
709
710 * protoize.c [POSIX]: Include dirent.h rather than sys/dir.h.
711 (_POSIX_SOURCE): Undef before defining.
712 (getpwd): Change declaration to an `extern'.
713 (open): Add declaration in the #if 0 section along with fprintf.
714 (link, unlink, access, execvp): Add `extern' declarations.
715 (strlen): Don't mention arg type in declaration.
716 (main): Declare `params' as `const char *' to avoid botch when doing
717 test-protoize-simple.
718
719Fri May 22 17:15:36 1992 John F Carr (jfc at Achates.mit.edu)
720
721 * calls.c (expand_call): Allocate stack space for arguments passed
722 in registers when OUTGOING_REG_PARM_STACK_SPACE is defined and
723 stack space has not been preallocated.
724
725Fri May 22 17:16:55 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
726
727 * combine.c (simplify_comparison): Try to reduce size of a
728 constant by changing comparison code; don't only do for 1 and -1.
729
730 * reload.h (reg_equiv_memory_loc): Declare.
731 * reload.c (refers_to_regno_for_reload_p): Use reg_equiv_memory_loc
732 instead of reg_equiv_mem and reg_equiv_address; look for constant.
733 (reg_overlap_mentioned_for_reload_p): LIkewise.
734 Use new function to check for MEM.
735 (refers_to_mem_for_reload_p): New function.
736 * reload1.c (reg_equiv_memory_loc): No longer static.
737
738Fri May 22 17:15:12 1992 Ron Guilmette (rfg at ncd.com)
739
740 * Makefile.in (test-protoize-simple): Only delete files made by this
741 target (not the man pages!)
742 (test-protoize-simple): Use -x option to avoid munging getopt.h.
743 (test-protoize-simple): Fixed number of differences message.
744 (mostly-clean): Properly remove all temp files relating to protoize/
745 unprotoize.
746 (install-common): Force removal of previously installed g++ and c++
747 command files before trying to install new ones.
748
749 * spc-sol2.h: New file.
750
751 * configure (sparc-*-solaris2*): New configuration added.
752
753 * x-sparcv4 (X_CFLAGS): Removed -Bstatic and -dn options.
754
755Fri May 22 15:30:05 1992 Chip Salzenberg (chip@tct.com)
756
757 * c-common.c (declare_function_name): Move from c-decl.c.
758 Construct function names instead of expecting them as parameters.
759 Set TREE_READONLY and other attributes before calling pushdecl.
760 * c-decl.c (init_decl_processing, store_parm_decls): Calls changed.
761 (declare_function_name): Remove to c-common.c.
762
763 * cp-decl.c (init_decl_processing, store_parm_decls):
764 Call declare_function_name.
765
766Fri May 22 12:15:16 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
767
768 * sparcv4.h (ASM_OUTPUT_CASE_LABEL): Define.
769
770Fri May 22 11:40:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
771
772 * x-dpx2200, x-dpx2300 (CFLAGS): Definition deleted.
773
774 * c-decl.c, cp-decl.c (pushdecl): No shadow warnings if DECL_IGNORED_P.
775
776 * c-decl.c (declare_function_name):
777 Change names to __FUNCTION__ and __PRETTY_FUNCTION__
778
779 * vax.h (PRINT_OPERAND): In M case, don't complement after subtract 1.
780
781 * c-lex.c (yylex): Use pedwarn for overflow warnings.
782 Pedwarn if constant doesn't fit its type.
783
784Fri May 22 13:32:39 1992 Chip Salzenberg (chip@tct.com)
785
786 * xcoffout.h (DBX_TYPE_DECL_STABS_CODE): Was DBX_DECL_STABS_CODE.
787
788Fri May 22 08:31:16 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
789
790 * longlong.h (all machines): Define UMUL_TIME and UDIV_TIME.
791 Auxiliary formatting changes.
792 (header): Define __CLOBBER_CC and __AND_CLOBBER_CC.
793 (__sparc__ macros): Use them.
794 (__hppa__ add_ssaaaa,sub_ddmmss): Accept zero using `M' constraint.
795 (__hppa__ umul_ppmm): Define if _PA_RISC1_1.
796 (__mc88110__ umul_ppmm,udiv_qrnnd): New.
797 (__pyr__ umul_ppmm): Rewrite.
798 (default count_leading_zeros): Make it work for 64 bit longs.
799
800Fri May 22 06:27:31 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
801
802 * cse.c (cse_insn): Invalidate a volatile destination.
803
804 * expmed.c (expand_divmod): Correctly handle volatile operands.
805
806Fri May 22 06:26:50 1992 Chip Salzenberg (chip@tct.com)
807
808 * rs6000.h (ASM_DECLARE_FUNCTION_NAME): Use new function
809 xcoffout_declare_function.
810 * rs6000.c (output_epilog): Shorten internal label.
811 (output_toc, output_function_profiler): Likewise.
812 * xcoffout.c (xcoffout_declare_function): New function, created
813 to localize knowledge of end-of-function internal label.
814 (xcoffout_end_epilogue): Shorten internal label.
815
816Thu May 21 15:31:42 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
817
818 * reorg.c (relax_delay_slots): Clear INSN_FROM_TARGET_P when
819 remove insns from a delay slot.
820
821Thu May 21 13:54:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
822
823 * reload.c (find_reloads):
824 Don't abort for % in last operand in asm_operands.
825
826 * alloca.c: Make symlink to master copy.
827
828 * stmt.c (expand_asm_operands): Count nclobbers properly.
829
830 * explow.c (allocate_dynamic_stack_space): Call mark_reg_pointer.
831
832 * c-parse.y (stmt, WHILE case): Start loop *after* parsing end test.
833 (do_stmt_start): Broken out from DO rule.
834 (stmt, DO case): Use that.
835 Add error-handler rule for parse error in end test.
836
837 * sparc.h (ADDITIONAL_REGISTER_NAMES): Support `cc'.
838
839 * c-lex.c (yylex): Pedwarn if `f' constant exceeds range of `float'.
840 Just once even if `f' appears twice.
841 This and the like warning for `double' are only if -pedantic.
842
843Thu May 21 08:46:30 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
844
845 * Makefile.in (STAGESTUFF): Add stamp-proto.
846
847Thu May 21 04:04:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
848
849 * svr3.h (LOCAL_LABEL_PREFIX): Override as a period.
850 (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):
851 Use LOCAL_LABEL_PREFIX.
852 * dpx2.h (LOCAL_LABEL_PREFIX): Definition deleted.
853 * tower-as.h (LOCAL_LABEL_PREFIX): Override as empty.
854
855Wed May 20 23:29:15 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
856
857 * config-gcc.com: Take care of situation if sources are NFS mounted.
858
859Wed May 20 14:35:10 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
860
861 * jump.c (jump_optimize): Add additional validation check to
862 case that detects "if (foo) bar++;".
863
864Wed May 20 13:18:09 1992 Tim Moore (moore@defmacro.cs.utah.edu)
865
866 * pa.md : Changed "xy" constraints to "x" constraints.
867 (movsi+6): Let "r" registers match too. Add define_split to change
868 into 2 insns if needed.
869 (decrement_and_branch_until_zero): New pattern.
870 * pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Fix for TYPE == 0.
871 (REGISTER_MOVE_COST): Do stuff for SNAKE_FP_REGS.
872 (PRINT_OPERAND_ADDRESS): Write CONST_INT case.
873
874Wed May 20 00:04:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
875
876 * ns32k.h (NS32K_DISPLACEMENT_P): Fix typo.
877 * ns32k.md (extzv-1): New pattern for extracting from SImode.
878
879 * c++: -M suppresses -lg++.
880
881 * svr3.h (DO_GLOBAL_CTORS_BODY): Flush spurious #endif.
882
883 * reload1.c (gen_input_reload): New arg IS_ASM. Can now return 0.
884 (emit_reload_insns): Pass new arg. Error if it returns 0.
885
886 * configure: Use $cpu_type to default $tm_file.
887
888 * configure, config.sub: Correct we32 to we32k.
889 * configure (decstation-dec): Deleted--doesn't fit as machine alias.
890 (we32k): Add company default.
891 (fx2800): This is a machine alias, not a company default.
892
893 * configure (i386-*-bsd*, we32-att-sysv*, m68k-crds-unos*):
894 Missing *'s added at ends of config names.
895
896 * c-typeck.c (convert_arguments): Use warn_for_assignment to handle
897 -Wconversion. Fix typo in width-mismatch test.
898
899 * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Put a * at the front.
900
901Tue May 19 21:53:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
902
903 * Makefile.in (clean): Add -f in rm *.dvi.
904
905 * x-dpx2200, x-dpx2300 (CFLAGS): Make value conditional on CC.
906
907 * genattrtab.c (simplify_test_exp, evaluate_eq_attr):
908 Delete tests of current_alternative_string; they caused bugs.
909
910 * cross-test.c: New file.
911 * Makefile.in (cross-test, cross-test.o): New targets.
912 (all.cross): Depend on cross-test.
913
914 * c-decl.c (declare_function_name): Fix bug in previous change.
915
916Tue May 19 19:57:39 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
917
918 * i960.h (FUNCTION_ARG_BOUNDARY): Return mode's alignment if type 0.
919
920 * calls.c (expand_call): Set MEM_IN_STRUCT_P for aggregate return
921 values in memory.
922
923 * function.c (locate_and_pad_parm): Use MAYBE_REG_PARM_STACK_SPACE
924 if defined.
925 * i960.c (i960_function_arg_advance): Put MUST_PASS_IN_STACK
926 parameters on the stack.
927 (i960_function_arg): Likewise.
928
929 * m68k.md (zero_extendqisi2+1): Add condition to exclude MEM/MEM
930 case which would require reloading.
931
932 * unroll.c: Delete incorrect Feb 26 1992 change.
933 (copy_loop_body): For combined address givs, scale giv_inc by the
934 two giv's multiplicative factors if they are different.
935
936 * i960.md (zero_extendqisi2): Add comment.
937
938 * combine.c (apply_distributive_law): Don't distribute subregs
939 which change the mode class.
940
941 * fixincludes: Fix memory.h for SunOS.
942
943 * sparc.h (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CCFPEmode, for
944 compares which should generate exceptions for qNaNs.
945 (SELECT_CC_MODE): Use CCFPEmode for non EQ/NE FP compares.
946 * sparc.c (normal_comp_operator): Handle CCFPEmode.
947 (C_MODES, output_cbranch): Likewise.
948 * sparc.md (cmpdf, cmpsf): Modify patterns to use fcmpe for CCFPE
949 mode, and fcmp for CCFP mode.
950
951 From rfg:
952 * sparc.h: Declare output_move_quad, output_fp_move_quad and
953 output_floatsitf2.
954 * sparc.c (mem_aligned_8): New function.
955 (output_move_double): Clean up a little. Call mem_aligned_8.
956 Load operands[] into register variables for efficiency.
957 (output_move_quad, output_fp_move_quad): New functions.
958 (output_floatsitf2): New function.
959 (print_operand): Support 'S' and 'T'.
960 * sparc.md (cmptf, movtf, extendsftf2, extenddftf2, trunctfsf2,
961 trunctfdf2, floatsitf2, fix_trunctfsi2, addtf3, subtf3, multf3,
962 divtf3, negtf2, abstf2, sqrttf2): New patterns added for TFmode
963 support.
964
965Tue May 19 19:34:10 1992 Ron Guilmette (rfg at ncd.com)
966
967 * i386v4.h (DBX_REGISTER_NUMBER): Fixed DWARF numbers for
968 x86 floating-point registers.
969
970Tue May 19 15:30:32 1992 Mats Lofkvist (d87-mal@nada.kth.se)
971
972 * fixincludes: Fix return type of malloc and friends.
973
974Tue May 19 13:30:16 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
975
976 * config.sub (iris4d): If $os is some kind of Irix, don't clobber it.
977 Make the default -irix4.
978
979 * c-decl.c (declare_function_name): New arg printable_name.
980 Declare __PRINTABLE_NAME__.
981 (init_decl_processing, store_parm_decls): Pass the new arg.
982
983Tue May 19 09:50:01 1992 Tom Wood (wood@dg-rtp.dg.com)
984
985 * m88k.c (output_options): Check profile_block_flag.
986 (m88k_layout_frame): Ditto.
987 (output_function_block_profiler): Save and restore the parameter
988 registers when calling __bb_init_func.
989 (output_block_profiler): Use @LPBX2.
990
991 * m88k.h (CASE_VECTOR_INSNS): Choose a table of branch
992 instructions or addresses. The latter is a win for the m88110.
993 (ASM_OUTPUT_CASE_END): Nothing needed for table of addresses.
994 (ASM_OUTPUT_ADDR_VEC_ELT): Use "br" or "word".
995 * m88k.md (casesi, casesi_jump): Updated.
996
997 * m88k.md (m88110 function units): Count in half cycles.
998
999 * m88k.md (call insns): Clobber rather than use r1.
1000
1001 * m88k.c (m88k_layout_frame): Fix m88k_fp_offset for zero case.
1002
1003Mon May 18 10:38:20 1992 Michael Meissner (meissner@osf.org)
1004
1005 * iris.h (DEFAULT_SIGNED_CHAR): Define as 0 for compatibility with
1006 IRIS defaults. Patch from kevin@tamri.com (Kevin Dalley).
1007
1008 * xm-irix4.h (HAVE_VPRINTF): Define.
1009
1010 * x-iris (CLIB): Add -lmalloc.
1011
1012 * mips.md (fp_comp functional unit): Use adder functional unit
1013 instead to more closely model MIPS behavior and make genattrtab
1014 faster.
1015 (transfer functional unit): Use memory functional unit instead.
1016 (sqrt functional unit): Use divide functional unit instead.
1017 (branch_zero): If CSE has folded a value which is constant, and
1018 the jump would be omitted, do not eliminate putting a jump there.
1019 This causes bad code to be generated when using gas, since the
1020 previous instruction may be a load which had it's delay slot
1021 filled by the 'branch', and the next instruction depends on the
1022 value loaded.
1023
1024 * mips-at.c (whole file): Delete, no longer needed.
1025
1026 * mips-at.md (whole file): Delete, no longer needed.
1027
1028 * Makefile.in (stamp-attrtab): Remove $(srcdir) in front of
1029 $(PREMADE_ATTRTAB) so that MIPS builds can be done in
1030 subdirectories.
1031
1032 * t-decrose (PREMADE_ATTRTAB*): Don't define, genattrtab is now fast
1033 enough that we don't have to save a pre-made genattrtab.c.
1034 (LIBGCC1): Use libgcc1.null rule to turn off building libgcc1.a.
1035
1036 * t-decstatn (PREMADE_ATTRTAB*): Don't define, genattrtab is now fast
1037 enough that we don't have to save a pre-made genattrtab.c.
1038 (LIBGCC1): Use libgcc1.null rule to turn off building libgcc1.a.
1039
1040 * t-mips (PREMADE_ATTRTAB*): Don't define, genattrtab is now fast
1041 enough that we don't have to save a pre-made genattrtab.c.
1042 (LIBGCC1): Use libgcc1.null rule to turn off building libgcc1.a.
1043
1044 * mips.h (ASM_OUTPUT_CONSTRUCTOR,ASM_OUTPUT_DESTRUCTOR): Define.
1045 Patch from wilson@cygnus.com.
1046 (DEFAULT_SIGNED_CHAR): Don't define if already defined.
1047
1048Mon May 18 01:34:38 1992 Kayvan Sylvan (kayvan@satyr.Sylvan.COM)
1049
1050 * svr3.h (DO_GLOBAL_CTORS_BODY): Start at end, if STACK_GROWS_DOWNWARD.
1051
1052Mon May 18 01:34:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1053
1054 * Makefile.in (protoize.o, unprotoize.o):
1055 Do nothing, but depend on stamp-proto.
1056 (stamp-proto): New target. Compile both protoize.o and unprotoize.o.
1057
1058 * configure (ns32k-ns-genix): Commented out.
1059
1060 * expmed.c (expand_mult): Use synth_mult even if not -O.
1061
1062Sun May 17 02:54:21 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1063
1064 * c-decl.c (push_parm_decl): Pedantic warning if shadowing typedef.
1065
1066 * c-typeck.c (constant_expression_warning): New function.
1067 (store_init_value): Call that.
1068 * tree.h (TREE_CONSTANT_OVERFLOW): New flag.
1069
1070 * c-lex.c (yylex): "exceeds range" warning changed to pedwarn.
1071 * c-decl.c (grokdeclarator): Likewise for duplicate keywords.
1072
1073 * c-typeck.c (build_unary_op): For increment operators,
1074 test TREE_READONLY in operand, not the data type.
1075
1076 * unprotoize.c: New file.
1077 * Makefile.in (unprotoize.o): Use that.
1078
1079 * c-decl.c (init_decl_processing): Make global decl for __NAME__.
1080 (store_parm_decls): Make local decl for __NAME__.
1081 (declare_function_name): Subroutine for that.
1082 * toplev.c (rest_of_decl_compilation):
1083 Ignore initialized statics if DECL_IGNORED_P is set.
1084 * c-lex.c (yylex): Convert invisible initialized char array vars
1085 to string constants.
1086
1087 * c-decl.c (get_parm_info): Change error message.
1088
1089Sat May 16 21:25:21 1992 Paul Eggert (eggert@twinsun.com)
1090
1091 * fold-const.c (fold): Do not fold X-X to 0 if X is floating point.
1092
1093 * cse.c (simplify_unary_operation): - -X simplifies to X even
1094 with IEEE floating point.
1095
1096Sat May 16 14:14:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1097
1098 * Makefile.in (clean): Delete *.dvi.
1099 (distclean): Not here.
1100
1101 * Makefile.in (install-man): Ignore errors in all commands.
1102
1103 * combine.c (expand_compound_operation):
1104 Don't simplify extending a const_int.
1105
1106 * ns32k.h (NS32K_DISPLACEMENT_P): New macro.
1107 (INDIRECTABLE_1_ADDRESS_P): Use that.
1108 * ns32k.md (addsi3): Likewise.
1109
1110Sat May 16 07:47:11 1992 Tom Wood (wood@dg-rtp.dg.com)
1111
1112 * m88k.h: Override SET_ASM_OP in svr4.h.
1113
1114Sat May 16 00:10:09 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1115
1116 * c-parse.y (parmlist_1): Add pedantic warning.
1117
1118Fri May 15 13:10:07 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1119
1120 * configure (i386-*-sco3.2v4*): New file.
1121 * config.sub: For SCO, produce -sco3.2v2. For ISC, make just -isc.
1122
1123 * dbxout.c (DBX_TYPE_DECL_STABS_CODE): Was DBX_DECL_STABS_CODE.
1124 (DBX_OUTPUT_ENUM): Pass type as arg; make it do the whole job.
1125
1126 * svr4.h (ASM_BYTE_OP): Delete the tab.
1127 (SET_ASM_OP): New definition.
1128
1129 * Makefile.in (gcc.xtar): Depend on doc.
1130 (gcc.info, cpp.info): Duplicate rules deleted.
1131
1132 * i386.c (handle_pragma): Use SET_ASM_OP, not DEF_ASM_OP.
1133
1134Fri May 15 12:38:18 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
1135
1136 * final.c (final_scan_insn): Don't set new_block when within a
1137 sequence. Set it after the last insn of the sequence.
1138
1139Fri May 15 07:23:09 1992 Tom Wood (wood@dg-rtp.dg.com)
1140
1141 * m88k.c (m88k_handle_pragma_token, output_short_branch_defs):
1142 Use SET_ASM_OP.
1143
1144Fri May 15 14:54:54 1992 Howard Chu (hyc@hanauma.jpl.nasa.gov)
1145
1146 * fx2800.h: Replace Ron Guilmette's version with working version.
1147 Tested on Concentrix 2.1 and 2.2.
1148
1149 * i860.c (singlemove_string): Comparison of const0_rtx was in the
1150 wrong place and would never be reached. Added check for negative
1151 short int constants.
1152 (output_size_for_block_move): call singlemove_string instead of
1153 just emitting a mov.
1154 (sfmode_constant_to_ulong): eliminate bogus "# error" directive.
1155
1156 * t-fx2800, x-fx2800, xm-fx2800.h: New files.
1157 * configure: Corresponding changes.
1158
1159 * dbxout.c (DBX_MEMPARM_STABS_LETTER): New macro.
1160 (dbxout_type): Check for DBX_OUTPUT_ENUM.
1161 (dbxout_parms): Use DBX_MEMPARM_STABS_LETTER.
1162 (dbxout_block): Check for DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC.
1163
1164Thu May 14 18:26:13 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1165
1166 * sparcv4.h (ASM_OUTPUT_ALIGN_JUMP_TABLE, ASM_OUTPUT_INTERNAL_LABEL,
1167 ASM_GENERATE_INTERNAL_LABEL): Delete.
1168
1169Thu May 14 13:51:01 1992 Chip Salzenberg (chip@tct.com)
1170
1171 * toplev.c (compile_file): Use IO_BUFFER_SIZE for finput.
1172 * xm-i386sco.h, xm-rs6000.h (IO_BUFFER_SIZE): Defined.
1173
1174Thu May 14 15:21:24 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
1175
1176 * config.sub: Recognize "none" as a valid os.
1177
1178Thu May 14 13:37:52 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1179
1180 * function.c (assign_parms): Make new stack slot if entry stack
1181 slot isn't aligned as much as the mode wants.
1182 And don't make an eqv for entry_parm in that case.
1183 * sparc.c (output_move_double): Assume memory always ok for ldd, std
1184 except when explicit offset from stack.
1185
1186 * c-decl.c (duplicate_decls):
1187 Don't warn about qualifier mismatch for a function.
1188
1189 * c-decl.c (grokdeclarator): Give explicit list of types to promote
1190 to int (and sometimes to unsigned int) for parms.
1191
1192 * Makefile.in (gcc.info, cpp.info): New targets.
1193 (gcc.xtar): Depend on those.
1194
1195 * expmed.c (extract_bit_field): Don't fail to compute
1196 all of a DImode value.
1197
1198 * dwarfout.c (SET_ASM_OP): Renamed from DEF_ASM_OP.
1199 (ASM_OUTPUT_DEF): Use SET_ASM_OP.
1200 * m88k.h (SET_ASM_OP): Renamed from DEF_ASM_OP.
1201 * sparcv4.h (DEF_ASM_OP): No need for #undef.
1202
1203 * cccp.c (main): Handle -iprefix option instead of GCC_EXEC_PREFIX.
1204 * gcc.c (process_command): Set gcc_exec_prefix.
1205 (do_spec_1): Handle %I.
1206 (default_compilers): Use %I when running cpp.
1207
1208 * protoize.c (savestring, savestring2): Change parm decls.
1209
1210 * i860.h, we32k.h (CONST_COSTS): Add missing parm OUTER_CODE.
1211
1212 * i386v4.h (DEF_ASM_OP, WEAK_ASM_OP): Deleted.
1213
1214Wed May 13 17:23:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1215
1216 * rtl.c (init_rtl): For byte_mode and word_mode, use first fit.
1217
1218 * protoize.c (munge_compile_params): Increase size of temp_params.
1219
1220Wed May 13 13:30:40 1992 Chip Salzenberg (chip@tct.com)
1221
1222 * i386sco4.h: New file.
1223
1224Tue May 12 23:23:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1225
1226 * expr.c (expand_increment): A subreg as op0 is not necessarily a copy.
1227 Treat subregs like regs.
1228
1229 * c-typeck.c (mark_addressable): Different messages for reg var
1230 if reason is a use in a nested function.
1231
1232Tue May 12 14:28:22 1992 Tom Wood (wood at gen-rtx)
1233
1234 * gcc.c (process_command): -save-temps uses a switches entry.
1235
1236Tue May 12 21:24:46 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1237
1238 * collect2.c (vfork): Declaration deleted.
1239
1240Tue May 12 06:16:49 1992 Niklas Hallqvist (niklas@appli.se)
1241
1242 * tower-as.h: Added support for basic block profiling.
1243
1244Tue May 12 02:34:45 1992 James Van Artsdalen (james at bigtex.cactus.org)
1245
1246 * unx386.h (AS3_SHIFT_DOUBLE): New macro to print shift-double
1247 opcodes.
1248
1249 * i386gas.h (AS3_SHIFT_DOUBLE): Redefine for GAS shift-double rules.
1250 (GAS_MNEMONICS): New macro to force use of opcodes for GAS.
1251 * seq386gas.h (AS3_SHIFT_DOUBLE,GAS_MNEMONICS): Likewise.
1252
1253 * i386.c (print_operand): Use GAS_MNEMONICS to choose long-long
1254 opcode suffix.
1255
1256 * i386.md (ashldi3,ashrdi3,lshrdi3): Split into separate
1257 recognizers for constant and variable shifts.
1258 Use AS3_SHIFT_DOUBLE for variable shifts.
1259 (all shifts and rotates): Don't allow memory operands for shift
1260 count.
1261 (bit set/clear): Don't allow non-CONST_INT constants as SET_SRC.
1262 (movstrsi,cmpstrsi,strlensi): Allow any address_operand within
1263 a MEM:BLK, not just register_operand.
1264 (movstrsi): Rewrite to avoid match_dup on the address_operand
1265 above.
1266
1267Mon May 11 23:31:47 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu)
1268
1269 Sun May 10 18:44:58 Per Bothner (bothner@cygnus.com)
1270
1271 * dbxout.c (dbxout_type_methods): Only emit final semi-colon
1272 of method list of we have emitted any methods. (The converse
1273 of only emitting the operation name initially if needed.)
1274
1275Mon May 11 22:45:18 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
1276
1277 * reload.c, reload1.c: Use reg_overlap_mentioned_for_reload_p and
1278 refers_to_regno_for_reload_p instead of the normal versions.
1279 * reload.c (reg_overlap_mentioned_for_reload_p): New function.
1280
1281Mon May 11 22:44:50 1992 Ron Guilmette (rfg at ncd.com)
1282
1283 * integrate.c (expand_inline_function): Copy LABEL_NAMEs to new
1284 copies of CODE_LABELs.
1285 * tree.c (decl_function_context, decl_type_context): Renamed `fndecl'
1286 formal parameter to `decl' throughout these functions.
1287
1288Mon May 11 18:43:45 1992 Paul Eggert (eggert@twinsun.com)
1289
1290 * cccp.c: (deps_file): Deleted.
1291 (main): Do not open deps_file until needed.
1292 Check error status of dep_stream and stdout more carefully.
1293 (timestamp): New function; avoids calling localtime unless needed.
1294 (special_symbol, initialize_builtins): Use new timestamp function.
1295
1296Mon May 11 20:48:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1297
1298 * genix.h: Added #error, since this hasn't been updated.
1299
1300Mon May 11 14:33:32 1992 Ron Guilmette (rfg at ncd.com)
1301
1302 * dwarfout.c (is_pseudo_reg): New function.
1303 (location_attribute): Use `is_pseudo_reg'.
1304 (location_or_const_value_attribute): Use DECL_INCOMING_RTL as the
1305 basis for forming the location decsriptor for any register parameter
1306 which was optimized into non-exitance.
1307
1308 * dwarfout.c (DWARF_VERSION): New (default) definition.
1309 (ASM_OUTPUT_DWARF_STACK_OP, ASM_OUTPUT_DWARF_FMT_BYTE,
1310 ASM_OUTPUT_DWARF_TYPE_MODIFIER, ASM_OUTPUT_DWARF_DATA1): Output tab
1311 before ASM_BYTE_OP.
1312 (ASM_OUTPUT_DWARF_ADDR_CONST): Encapsulate all statements in a
1313 `do { ... } while (0)'
1314 (data_member_location_attribute, bit_offset_attribute): Both fixed
1315 to use alignment of declared type of field as the "containing object"
1316 size.
1317 (location_or_const_value_attribute): Fixed to use DECL_INCOMING_RTL
1318 only for parms passed in memory.
1319 (output_decl): Don't output DIEs for externals if DWARF_VERSION == 1.
1320
1321Sun May 10 17:18:33 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
1322
1323 * pa.h (CPP_PREDEFINES): Define for BSD here.
1324 Remove conditional #ifdef hpux.
1325 * pa-hpux.h, pa-ghpux.h (CPP_PREDEFINES): Define for hpux here.
1326 * pa.h (CPP_SPEC): Define.
1327
1328Sun May 10 12:12:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1329
1330 * Makefile.in (clean): Delete unprotoize.c.
1331
1332 * stmt.c (expand_decl): Set MEM_IN_STRUCT_P right in dynamic case.
1333
1334 * expr.c (get_inner_ref): Handle ARRAY_REF only if constant offset.
1335 Handle non-PLUS_EXPR variable offset by assuming multiple of byte.
1336 (expand_assignment, expand_expr): Fix gen_rtx added in last change.
1337
1338Sat May 9 02:39:58 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1339
1340 * expr.c (get_inner_reference): New output arg poffset.
1341 (expand_assignment, expand_expr): Pass new arg. Handle nonzero offset.
1342 (do_jump): Pass new arg but ignore result.
1343 * fold-const.c (optimize_bit_field_compare, decode_field_reference):
1344 Pass the new arg. Just return 0 if offset comes back nonzero.
1345
1346 * reload.c (find_equiv_reg): Always test valueno >= 0.
1347
1348 * c-aux-info.c: Don't include param.h or errno.h; don't declare errno.
1349
1350 * rtl.c (read_rtx): Fix error in prev change.
1351
1352 * gcc.c (process_command): Handle -print-libgcc-file-name.
1353 (main): Handle print_libgcc_file_name by printing the name.
1354
1355 * c-decl.c (finish_struct): Use TYPE_PRECISION to see whether
1356 bitfield's type is narrower than int, for promoting to int.
1357
1358 * cccp.c (struct definition, struct reflist): New field `rest_args'.
1359 (struct arglist): Likewise.
1360 (rest_extension, REST_EXTENSION_LENGTH): New var and macro.
1361 (create_defnition): Recognize `...' and set flag in arglist.
1362 (collect_expansion): Propagate flag to definition.
1363 (macroexpand): Check flag when parsing arglist.
1364 Special handling for ## next to a rest arg.
1365 (macarg, macarg1): New arg rest_arg affects parsing in macarg1.
1366
1367 * genattrtab.c: Misc speedups and size reductions.
1368 (check_attr_test): Set RTX_UNCHANGING_P for tests of const attributes.
1369 Also for symbol_ref and comparison ops.
1370 (make_canonical): Likewise. Also check for degenerate cond values.
1371 (operate_exp, simplify_cond, insert_right_side, evaluate_eq_attr):
1372 Avoid copying in some cases. Detect opportunities to simplify.
1373 (compute_alternative_mask): Avoid atoi in most cases.
1374 (copy_rtx_unchanging): New function.
1375 (evaluate_eq_attr, simplify_test_exp): Use that.
1376
1377 * genattrtab.c (optimize_attrs): Work pattern by pattern,
1378 doing all the work for each pattern before moving on.
1379 Use temp_obstack during simplification, then copy the end result.
1380 (temp_obstack): New obstack.
1381 (clear_struct_flag): New subroutine.
1382 (SIMPLIFY_TEST_EXP): Test MEM_IN_STRUCT_P.
1383 (simplify_test_exp): Add code for debugging stop.
1384 Avoid consing when possible; sometimes free storage.
1385 Check MEM_IN_STRUCT_P. Add shortcuts.
1386
1387 * genattrtab.c: Add simplification per alternative (not in use now).
1388 (insn_n_alternatives): New array filled in by gen_insn.
1389 (current_alternative_string): Nonzero means we are simplifying
1390 for a particular alternative. Value is string for that numeral.
1391 (SIMPLIFY_ALTERNATIVE): New macro simplifies eq_attr for alternative.
1392 (evaluate_eq_attr, simplify_test_exp): Call SIMPLIFY_ALTERNATIVE.
1393 (simplify_by_alternatives, count_sub_rtxs): New functions.
1394
1395 * genattrtab.c (attrs): Now an array indexed by first char.
1396 (MAX_ATTRS_INDEX): Length of above.
1397 (find_attr, main): Use that new data structure.
1398
1399 * genattrtab.c: Clarify use of hash-consing:
1400 (hash_obstack): New obstack.
1401 (attr_hash_add_rtx, attr_hash_add_string): Use hash_obstack.
1402 (attr_rtx): Use hash_obstack if object is hashed.
1403 Set RTX_INTEGRATED_P if object is hashed.
1404 Don't hash object if subexpressions aren't hashed.
1405 If making symbol_ref, hash the symbol name.
1406 Uniquize const_int with value 0 or 1.
1407 (attr_equal_p): New compare function; uses RTX_INTEGRATED_P.
1408 (simplify_and_tree, simplify_or_tree, simplify_test_exp): Use that.
1409 (attr_copy_rtx): New; copy all but hashed subexpressions.
1410 (attr_eq): New function.
1411 (attr_numeral): New function.
1412 (check_attr_test): Use attr_eq. Hash symbol_ref and comparison ops.
1413 (check_attr_value): Return modified value. Callers changed.
1414 Hash symbol_ref.
1415 (convert_set_attr_alternative): Use attr_eq and attr_numeral.
1416 (convert_const_symbol_ref): Hash symbol_ref and eq.
1417 (make_alternative_compare): Use attr_numeral.
1418 (alternative_name): Fill in using hasher.
1419 (copy_boolean): Hash a boolean expression if possible.
1420
1421Fri May 8 23:10:18 1992 James Van Artsdalen (james at bigtex.cactus.org)
1422
1423 * i386.md (ashldi3,ashrdi3,lshrdi3): Fix typo in output template.
1424
1425 * cse.c (cse_insn): Handle SUBREGs in CLOBBERs.
1426
1427Fri May 8 14:55:17 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1428
1429 * Makefile.in (PREMADE_ATTRTAB, PREMADE_ATTRTAB_MD): New vars.
1430 (stamp-attrtab): Use them, to use presupplied file if suitable.
1431 * t-mips, t-decstatn, t-decrose (PREMADE_ATTRTAB, PREMADE_ATTRTAB_MD):
1432 Defined.
1433 * mips-at.md, mips-at.c: New files.
1434
1435 * c-common.c (shorten_compare): Extend "always 0" warning
1436 to fencepost case with le or ge.
1437
1438 * cccp.c (pass_thru_directive): Don't output a newline.
1439 (initialize_builtins): Add explicit newlines in sprintfs.
1440
1441Fri May 8 14:49:12 1992 Michael Meissner (meissner@osf.org)
1442
1443 * mips.md (adddi3): Force -32768 into a register, since the
1444 define_insn's won't accept that one value.
1445 (all attributes): Where an attribute is set to the same value in all
1446 alternatives, don't use the alternative notation, since it will make
1447 genattrtab somewhat faster.
1448
1449 * rtl.c (read_rtx): Use the current obstack to read in strings,
1450 rather than repeated malloc/realloc's.
1451
1452Thu May 7 18:41:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1453
1454 * calls.c (expand_call): Never set must_preallocate if no stack args.
1455
1456Thu May 7 16:52:56 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
1457
1458 * pa1*: New names for pa1.1*.
1459 * configure: Corresponding changes.
1460
1461 * m68k.md (u?mulsidi3): Don't permit immediates for operand 2.
1462 (u?mulsidi3 recognizers): Split into immediate/nonimmediate cases.
1463 * m68k.md ({zero,sign}_extend recognizers): Remove `n' from constraint
1464 if predicate doesn't permit constants.
1465
1466Thu May 7 15:42:32 1992 Michael Collison (collison at osf.org)
1467
1468 * i386rose.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Fix these to
1469 avoid printing NaNs, and infinity.
1470 (SUBTARGET_SWITCHES): Add OSF dependent switches for half-pic
1471 support.
1472 (MASK_HALF_PIC, TARGET_HALF_PIC): Likewise.
1473 (CC1_SPEC): Map pic-none, pic-lib, pic-extern and pic-calls
1474 to appropriate half-pic compiler switches.
1475 (LINK_SPEC): If not -noshrlib or -pic-none, pass -warn_nopic.
1476 Allow user to pass -noshrlib directly.
1477 (OPTIMIZATION_OPTIONS): Customize levels for OSF.
1478 (CONSTANT_ADDRESS_P: Add check to determine if we have a
1479 half-pic constant.
1480 (ENCODE_SECTION_INFO): Check to see if we have a half-pic
1481 declaration.
1482 (ASM_DECLARE_OBJECT_NAME): Output the label (definition) for a
1483 object and check to see if it is half-pic.
1484 (ASM_DECLARE_FUNCTION_NAME): Likewise but for functions.
1485
1486Thu May 7 15:56:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1487
1488 * reload.c (find_reloads): Remover unterm comment from recent changes.
1489
1490 * genattrtab.c (compute_alternative_mask): Usually bypass atoi.
1491
1492Thu May 7 15:56:51 1992 Tom Wood (wood@dg-rtp.dg.com)
1493
1494 * genattrtab.c (fill_attr): Do nothing for constant attribute.
1495 (check_attr_test): Set unchanging flag for constant attribute.
1496 (write_test_expr): Expand constant attributes here.
1497
1498Thu May 7 06:01:46 1992 Michael Meissner (meissner@osf.org)
1499
1500 * decrose.h (CPP_SPEC): Fix typo in last change.
1501
1502Wed May 6 17:39:31 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1503
1504 * convex.h (HAVE_STRERROR, vfprintf, WTERMSIG, WEXITSTATUS): Deleted.
1505
1506 * dbxout.c (dbxout_type): Don't repeat a cross-reference
1507 merely because full is nonzero.
1508
1509 * calls.c (expand_call):
1510 Avoid rounding error testing copy_to_evaluate_size.
1511
1512 * xm-mipsbsdn.h: Renamed from xm-mipsbsdnews.h.
1513 * xm-sun386.h: Renamed from xm-xm-i386sun.h.
1514 * configure: Corresponding changes.
1515
1516Wed May 6 23:11:55 1992 John F Carr (jfc at Achates.mit.edu)
1517
1518 * cse.c (simplify_binary_operation): Support MIN and MAX for
1519 SImode and narrower integers.
1520
1521Wed May 6 17:25:37 1992 Michael Meissner (meissner@osf.org)
1522
1523 * mips.h (MIPS_VERSION): Bump Meissner version # to 18.
1524 (mips_cpu_attr): New define, which is the mips_cpu variable recast
1525 to the attr_cpu enumeration for mips.md.
1526 (HALF_PIC_NUMBER_PTRS, HALF_PIC_NUMBER_REFS): Add dummy
1527 definitions if halfpic.h is not included.
1528
1529 * mips.c (function_epilogue): Print half-pic stats if -mstats and
1530 the stats are non-zero.
1531
1532 * mips.md (cpu attribute): Just use symbol_ref "mips_cpu_attr"
1533 instead of a four way if statement.
1534 (movsi_internal, movhi, movqi): Use 'z' constraint for fpsw, not 's'.
1535
1536 * halfpic.h (half_pic_number_ptrs): Add counter for the number of
1537 pointers generated.
1538 (half_pic_number_refs): Add counter for the number of references.
1539
1540 * halfpic.c (half_pic_number_ptrs): Add counter for the number of
1541 pointers generated.
1542 (half_pic_number_refs): Add counter for the number of references.
1543 (half_pic_ptrs): Update new counters.
1544
1545 * decstatn.h (CPP_SPEC): Define __LANGUAGE_x__ and __LANGUAGE_x
1546 where x is C_PLUS_PLUS, OBJECTIVE_C, C, or ASSEMBLY. Fix
1547 undef'ing LANGUAGE_C for .S files.
1548 (HALF_PIC_PREFIX): Define as '$Lp.'.
1549
1550 * decstatn.h (CPP_SPEC): Define __LANGUAGE_x__ and __LANGUAGE_x
1551 where x is C_PLUS_PLUS, OBJECTIVE_C, C, or ASSEMBLY.
1552
1553 * mips-tfile.c (toplevel): Don't define anything in the standard
1554 headers, such as open, etc.
1555 (add_procedure): Delete unused variable orig_fdb.
1556
1557 * mips-tdump.c (toplevel): Don't define anything in the standard
1558 headers, such as open, etc.
1559
1560 * collect2.c (main): Don't pass -f<xxx> switches to GCC when
1561 building the constructor table.
1562 (write_c_file): Put extern in front of all external declarations.
1563 (scan_prog_file, COFF varient): On ECOFF systems, check whether
1564 the header pointer is non-NULL before using it.
1565
1566 * cp-lex.c (store_pending_inline): Cast obstack_copy arg to char *.
1567 (copy_lang_decl): Cast bcopy args to char *.
1568
1569Wed May 6 13:28:58 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1570
1571 * i960.h, i960.c (hard_regno_mode_ok): Use unsigned int not short.
1572
1573 * Makefile.in (USER_H): Add va-i960.h.
1574
1575Wed May 6 07:31:54 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
1576
1577 * explow.c (emit_stack_{save,restore}): New functions.
1578 * expr.h: Declare them and enum save_level.
1579 * calls.c (expand_call): Call emit_stack_save.
1580 * expr.c (expand_builtin, case BUILT_IN_ALLOCA): Likewise.
1581 * function.c (delete_handlers): Make test for insn that sets
1582 a slot more general.
1583 (expand_function_end): Call emit_stack_{save,restore}.
1584 * stmt.c (declare_nonlocal_label): Call emit_stack_save.
1585 (expand_goto_internal): Likewise.
1586 (expand_goto): Likewise.
1587 Copy slots so they don't get instantiated incorrectly; also
1588 update use of virtual regs and frame pointer.
1589 (expand_end_bindings): Call emit_stack_restore.
1590 (expand_decl): Call emit_stack_save.
1591 Set current_function_calls_alloca when allocating variable-sized
1592 objects.
1593 * rs6000.md ({save,restore}_stack_{block,function,nonlocal}): New.
1594
1595Tue May 5 13:17:29 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1596
1597 * configure (a29k-*-*, i960-*-*): New default configurations.
1598
1599 * i960.c, i960.h, i960.md, xm-i960.h, va-i960.h: New files.
1600
1601 * gstdarg.h, gvarargs.h: Include va-i960.h for i960.
1602
1603 * calls.c (expand_call): Call REG_PARM_STACK_SPACE once and save
1604 result. Add code to Use new macros MAYBE_REG_PARM_STACK_SPACE and
1605 FINAL_REG_PARM_STACK_SPACE.
1606 (store_one_arg): New parameter reg_parm_stack_space.
1607 * function.c (assign_parms): Use MAYBE_REG_PARM_STACK_SPACE.
1608
1609 * cse.c (NONZERO_BASE_PLUS_P): Don't consider arg pointer by itself
1610 to be non-zero, because it isn't on the i960.
1611
1612 * dbxout.c (dbxout_symbol): Use decl_function_context not
1613 TREE_PERMANENT to identify function local statics.
1614
1615 * integrate.c (copy_rtx_and_substitute): Also remap SYMBOL_REFs
1616 that point to LABEL_REFs in the constant pool.
1617
1618 * expr.c (expand_expr, PLUS case): Canonicalize MULT
1619 when associating a constant.
1620
1621Tue May 5 12:56:29 1992 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu)
1622
1623 * pa.c (singlemove_string): Make it global.
1624 * pa.md: Add high:DI and lo_sum:DI patterns.
1625
1626Tue May 5 12:04:56 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1627
1628 * c-typeck.c (build_array_ref): Require int index *after* promotion.
1629
1630 * convex.h (REG_OK_FOR_{BASE,INDEX}_P): Virtual regs that will
1631 turn into stack_pointer_rtx are not valid for indexing.
1632
1633 * config.sub: NeXT is BSD, not SysV.
1634
1635 * att386.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):
1636 Undef before defining.
1637
1638 * dbxout.c (dbxout_parms): Handle invisible reference parms.
1639
1640Tue May 5 22:48:54 1992 Niklas Hallqvist (niklas@appli.se)
1641
1642 * Makefile.in (test-protoize-simple):
1643 Change tmp-protoize* to tmp-proto*.
1644 (mostlyclean): Remove that temporary file.
1645
1646Tue May 5 09:35:30 1992 James Van Artsdalen (james at bigtex.cactus.org)
1647
1648 * i386.c (print_operand): Handle VOIDmode CONST_DOUBLE correctly.
1649
1650 * reload.c (find_reloads): Recompute `code' before preferred_class.
1651
1652Mon May 4 00:23:29 1992 Ron Guilmette (rfg at ncd.com)
1653
1654 * svr3.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):
1655 Added definitions appropriate for most svr3 systems.
1656
1657 * protoize.c (volatile): Define to nothing if !defined(__STDC__).
1658 (setjmp, longjmp): Declared external if not defined as pp-macro.
1659 (include_defaults): Fix type of `fname' field.
1660 (compiler_file_name): Fixed type.
1661 (savestring): Fixed type of `size' parameter.
1662 (savestring2): New function.
1663 (string_list_cons): Removed trailing blanks from parm declaration.
1664 (find_file): Moved comments out of formal parm declarations area.
1665 (munge_compile_params): Fixed type of `temp_parms'.
1666 (gen_aux_info_file): Construct new filename using `savestring2'.
1667 (find_extern_def): Suppress annoying warnings about missing
1668 definitions for extern functions.
1669 (edit_fn_declaration): Declare `clean_text_p' as `volatile' not as
1670 `VOLATILE'.
1671 (scan_for_missed_items): Make text of warning more obvious.
1672 (edit_file): Make text of warning shorter.
1673
1674 * libgcc2.c (__builtin_new): Changed arg type to `size_t'. Moved
1675 nested declaration of malloc out to file-scope.
1676 (__builtin_vec_new): Prototype preceeding function declarations.
1677 (__builtin_vec_new, __builtin_vec_delete): Changed types of non-pointer
1678 arguments and local variables to `size_t'.
1679 (__clear_cache): Use type `void *' variables to store addresses.
1680 (__do_global_dtors): Use unsigned type for counters.
1681 (__main): Add explicit type to declaration of `initialized'.
1682
1683Mon May 4 16:16:56 1992 Tom Wood (wood at dg-rtp.dg.com)
1684
1685 * dwarfout.c (dwarfout_file_scope_decl): Ignore a global register
1686 variable.
1687
1688Mon May 4 08:28:18 1992 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu)
1689
1690 * pa-ghpux.h, pa-hpux.h: #define HAVE_ATEXIT.
1691
1692 * genextract.c (print_path, main): Make the generated code use
1693 `pat', not `insn', except for fatal_insn_not_found. Remove
1694 insn_code variable from generated code, and switch directly on
1695 INSN_CODE (insn).
1696
1697 * hppa*: Rename to be unique in first 8 characters.
1698 * configure: Corresponding changes.
1699
1700Mon May 4 00:20:39 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1701
1702 * reload.c (find_reloads): Compute preferred_class after
1703 calling find_reloads_toplev or equivalent.
1704
1705 * vax.h (PRINT_OPERAND): Add codes M, h, b.
1706
1707 * ns32k.h (PREFERRED_RELOAD_CLASS): Change GEN_AND_MEM_REGS
1708 to GENERAL_REGS.
1709
1710 * config.sub: Recognize we32 and 3b*.
1711
1712 * varasm.c (readonly_data_section): Move after data_section.
1713
1714 * Makefile.in (print-rtl.o): Compile also for host machine.
1715 (genattrtab): Link in host's print-rtl.o.
1716
1717 * i386v4.h (ASM_OUTPUT_ALIGNED_LOCAL): Deleted. Dfn in svr4.h is good.
1718
1719Sun May 3 21:39:22 1992 James Van Artsdalen (james at bigtex.cactus.org)
1720
1721 * i386.h (RTX_COSTS): Add missing break.
1722
1723Sun May 3 19:40:50 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
1724
1725 From law:
1726 * sparc.md (fp unit attributes): Change result ready delays to
1727 match how the FP unit really works.
1728
1729 * sched.c (schedule_block): Don't move USE at the end of any block.
1730
1731 From rfg:
1732 * sparc.c (handle_pragma_token): Added new function (based on original
1733 `handle_pragma_token' in i386.c).
1734 * sparcv4.h (INIT_SECTION_PREAMBLE): Definition added.
1735 (PUSHSECTION_FORMAT): Added leading tab.
1736 (HANDLE_PRAGMA): Added definition to handle #pragma weak (based on
1737 original definition in i386v4.h).
1738
1739 From jfc:
1740 * sched.c (insn_costs): New variable.
1741 (insn_cost): Save cost of insn in insn_costs to avoid recomputation.
1742 (sched_analyze_2): Handle UNSPEC_VOLATILE.
1743 (schedule_insns): Init insn_costs.
1744
1745 * sparc.c (output_move_double): Correctly check for constant
1746 DFmode addresses. Assume that DFmode addresses with MEM_IN_STRUCT_P
1747 set are always aligned.
1748
1749Sun May 3 16:52:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1750
1751 * gcc.c (PATH_SEPARATOR): New macro. From Alex Zatsman.
1752 (process_command): Use it when scanning a path.
1753
1754 * expr.c (expand_builtin): Cast icode to int for indexing.
1755
1756 * xm-i386dos.h: New file.
1757 * configure.bat: Use that file.
1758 * gcc.c (EXECUTABLE_SUFFIX): Remove special default for MSDOS.
1759 (putenv): Remove conditionals for MSDOS, since HAVE_PUTENV now defined.
1760
1761 * c-typeck.c (build_array_ref): Promote after -Wchar-subscripts test.
1762
1763 * c-decl.c (builtin_function): If traditional and name is user-visible,
1764 set DECL_BUILT_IN_NONANSI.
1765
1766 * cccp.c (PATH_SEPARATOR): Add default definition.
1767 (main): Use that.
1768
1769Sun May 3 08:17:02 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
1770
1771 * pyr.h (FRAME_POINTER_REGNUM): Work around pyr cpp bug.
1772
1773 * xm-hppa.h (NO_SYS_SIGLIST): Define.
1774
1775Sat May 2 15:03:08 1992 James Van Artsdalen (james at bigtex.cactus.org)
1776
1777 * callc.c (emit_call_1): Restore inhibit_defer_pop after popping args.
1778
1779Thu Apr 30 20:00:00 1992 DJ Delorie (dj@ctron.com)
1780
1781 * configure.bat: Complete rewrite to use Makefile.in.
1782 * Makefile.dos: File deleted.
1783
1784Thu Apr 30 23:38:00 1992 Per Bothner (bothner@rtl.cygnus.com)
1785
1786 * xcoffout.h (DBX_FINISH_SYMBOL): Use DECL_ASSEMBLER_NAME
1787 instead of DECL_NAME when writing out a global symbol.
1788 (Makes a big difference for C++ static class members.)
1789
1790Thu Apr 30 23:13:01 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
1791
1792 * fold-const.c (fold, comparisons): Don't call omit_one_operand in
1793 a case where the operand isn't really being omitted.
1794
1795 * combine.c (distribute_notes, case REG_DEAD): Don't write a USE for
1796 a partially-dead register if we already wrote one.
1797
1798Thu Apr 30 21:51:29 1992 Tom Wood (wood at dg-rtp.dg.com)
1799
1800 * Makefile.in (enquire.o, install-common-headers): Make these work
1801 when $(srcdir) is .
1802
1803 * c-decl.c (init_decl_processing): Use void_ftype_any as the type
1804 for _exit, exit and abort.
1805
1806Wed Apr 29 21:42:30 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
1807
1808 * genattrtab.c (insn_name_ptr): Define so we could link with
1809 debug_rtx.
1810
1811 * genattrtab.c (check_attr_test, simplify_test_exp): Copy expression
1812 before setting as unchanging.
1813 (make_canonical): Set result as unchanging after calling
1814 convert_const_symbol_ref.
1815 (evaluate_eq_attr): When returning original expression, set it
1816 as unchanging.
1817
1818Wed Apr 29 13:30:33 1992 Michael Meissner (meissner@osf.org)
1819
1820 * halfpic.c (half_pic_ptr): Allocate space for the NULL byte.
1821
1822Wed Apr 29 06:28:35 1992 Ron Guilmette (rfg at ncd.com)
1823
1824 * dwarfout.c (src_coords_attribute): Don't #ifdef code based on
1825 DWARF_DECL_COORDINATES.
1826 (name_and_src_coords_attributes): Do #ifdef calls to `lookup_filename'
1827 and `src_coords_attribute' based on DWARF_DECL_COORDINATES. Also,
1828 pop out of .debug section temporarily while calling `lookup_filename'.
1829
1830Wed Apr 29 02:01:03 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu)
1831
1832 * Complete another Cygnus <--> FSF merge.
1833
1834 Tue Apr 28 19:24:52 1992 Mike Stump (mrs at rtl.cygnus.com)
1835
1836 * cp-init.c (do_friend): Handle overloaded and extern "C"
1837 friends correctly.
1838
1839 Mon Apr 27 21:04:40 1992 Mike Stump (mrs at rtl.cygnus.com)
1840
1841 * cp-search.c (build_vbase_vtables_init): Don't set
1842 flag_this_is_variable to -2 when not doing a ctor.
1843
1844 * cp-class.c (build_vbase_path): Don't unconditionally set
1845 code to be a PLUS_EXPR.
1846
1847 Mon Apr 27 14:14:08 1992 Mike Stump (mrs at rtl.cygnus.com)
1848
1849 * cp-decl.c (grokdeclarator): Allow contructors to be friends.
1850 Cannot find anything prohibiting it.
1851
1852 Mon Apr 27 13:26:20 1992 Mike Stump (mrs at rtl.cygnus.com)
1853
1854 * cp-init.c (do_friend): bullet proof handling of friends,
1855 fixes problem introduced on Apr 26 18:24:35.
1856
1857 Sun Apr 26 23:18:24 1992 Mike Stump (mrs at rtl.cygnus.com)
1858
1859 * cp-call.c (ideal_candidate): Allow one to overload static
1860 member functions without dumping core.
1861
1862 Sun Apr 26 18:44:57 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
1863
1864 * cp-tree.c (break_out_calls): Call build1 instead of build for
1865 trees with only one operand to avoid abort in build.
1866
1867 Sun Apr 26 18:24:35 1992 Mike Stump (mrs at rtl.cygnus.com)
1868
1869 * cp-init.c (do_friend): Allow extern "C" functions to be
1870 friends.
1871
1872 Sat Apr 25 02:57:07 1992 Mike Stump (mrs at rtl.cygnus.com)
1873
1874 * cp-*.[chy]: Fix all pedantic warnings to be pedwarn.
1875
1876 Sat Apr 25 01:46:50 1992 Mike Stump (mrs at rtl.cygnus.com)
1877
1878 * cp-tree.c (break_out_calls): Handle NULL_TREE properly.
1879
1880 Fri Apr 24 23:49:39 1992 Mike Stump (mrs at rtl.cygnus.com)
1881
1882 * cp-type2.c (store_init_value): Provide an error message
1883 about bad syntax instead of core dumping.
1884
1885 Fri Apr 24 16:46:03 1992 Mike Stump (mrs at rtl.cygnus.com)
1886
1887 Fri Apr 24 18:55:45 1992 Chip Salzenberg (chip@tct.com)
1888
1889 * cp-parse.y (component_decl): Fix small problem to take us
1890 back down to 14 reduce/reduce errors.
1891
1892 Thu Apr 23 19:48:54 1992 Mike Stump (mrs at rtl.cygnus.com)
1893
1894 Wed Apr 22 22:47:15 1992 Chip Salzenberg (chip@tct.com)
1895
1896 * cp-type2.c (readonly_warning_or_error): Eliminate arbitrary
1897 limit of 80 characters per warning message.
1898
1899 Thu Apr 23 04:14:59 1992 Mike Stump (mrs at rtl.cygnus.com)
1900
1901 * cp-decl.c (grokdeclarator): Handle const and volatile
1902 member functions properly.
1903
1904Tue Apr 28 22:05:05 1992 Niklas Hallqvist (niklas@appli.se)
1905
1906 * tower-as.h (svr3 support): Generic svr3.h included.
1907 (SELECT_RTX_SECTION): m68k.h's version #undef'd in favour of svr3.h's.
1908 (CPP_PREDEFINES): Overriding svr3.h version.
1909 (STARTFILE_SPEC): Added crtbegin.o.
1910 (ASM_OUTPUT_SOURCE_FILENAME): Added ugly section directives to get
1911 rid of NCR assembler bug.
1912 (ASM_OUTPUT_IDENT): #undef'd svr3.h version.
1913 (NO_{DOLLAR,DOT}_IN_LABEL): Defined.
1914 (ASM_LONG): Defined.
1915 ({INIT,FINI,CONST}_SECTION_ASM_OP): Overrides svr3.h versions.
1916 (CTOR_LIST_{BEGIN,END}): New macros.
1917 (BSS_SECTION_ASM_OP): New macro.
1918 (ASM_OUTPUT_CONSTRUCTOR): New macro.
1919 (ASM_OUTPUT_LABELREF): Redefined svr3.h version.
1920
1921 * tower.h (LIB_SPEC): Added -shlib support plus crtend.o.
1922
1923 * configure (m68k-ncr-sysv): Defined xmake_file and tmake_file.
1924
1925Tue Apr 28 21:27:10 1992 Michael Meissner (meissner@osf.org)
1926
1927 * mips.md (floatsidf2, floatsisf2): Fix typo in last change.
1928
1929Tue Apr 28 18:21:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1930
1931 * objc-actions.c: Include obstack.h, etc.
1932 (util_obstack, util_firstobj): New obstack, and 1st object in it.
1933 (init_objc): Init those two.
1934 (encode_*): Rewrite to use util_obstack, Callers changed.
1935 (handle_class_ref, handle_impent): New subroutines, broken out
1936 from finish_objc so each can use alloca (instead of utlbuf).
1937 (utlbuf): Variable deleted.
1938
1939 * c-decl.c (init_decl_processing): Treat abort and exit as ANSI.
1940 -traditional no longer affects ANSI builtins; use -fno-builtin.
1941
1942 * configure: Insert assignment of INSTALL where old one was.
1943
1944Tue Apr 28 17:14:57 1992 John F Carr (jfc at Achates.mit.edu)
1945
1946 * vax.md (cmpdf, cmpsf): Use tstf/tstd if second argument is zero.
1947 (movsi, movhi, movqi): Patterns changed to reflect different
1948 space/time tradeoffs for modern VAXes.
1949 (movstricthi, movstrictqi): New patterns.
1950 (extv, extzv): Use rotl/bicl sequence when possible.
1951
1952Tue Apr 28 10:00:25 1992 Michael Meissner (meissner@osf.org)
1953
1954 * mips-tfile.c (read_line): Make read_line act like the assembler,
1955 and use ';' to separate multiple logical lines.
1956
1957 * mips.h (MIPS_VERSION): Set Meissner version # to 17.
1958 (MASK_DEBUG_C): Swap meaning of -mdebugc.
1959 (ADDITIONAL_REGISTER_NAMES): Use 'cc' for the floating point status
1960 register, so user asm's can clobber it. Allow $fp for the frame
1961 pointer in addition to fp and $30, and also $sp for the stack
1962 pointer in addition to sp and $29.
1963
1964 * mips.c (gen_int_relational): Emit faster sequence for NE.
1965 (mips_asm_file_start): Don't call data_section for gcc2_compiled.
1966
1967 * mips.md (branch define_delay): Specify all of the preconditions
1968 correctly for branch likely (mips2) support.
1969 (floatsidf2): Update dslots_load_total. Support getting the
1970 integer value from memory as well as from an integer register.
1971 Fix the length attribute.
1972 (floatsisf2): Ditto.
1973 (All set from condition code patterns): Swap meaning of -mdebugc,
1974 so that if used, it means support all of the set condition code
1975 patterns as if the machine can do them equally well. If not
1976 -mdebugc, call gen_int_relational to generate an appropriate set
1977 of INSNs.
1978
1979 * decrose.h (ASM_IDENTIFY_GCC): Define as null on OSF/1.
1980 * encrose.h (ASM_IDENTIFY_GCC): Define as null on OSF/1.
1981 * i386rose.h (ASM_IDENTIFY_GCC): Define as null on OSF/1.
1982
1983 * decrose.h (CPP_SPEC): If .S files, add an explicit
1984 -ULANGUAGE_C to mimic the OSF GCC 1.39 behavior.
1985
1986Mon Apr 27 16:44:30 1992 Tom Wood (wood at dg-rtp.dg.com)
1987
1988 * dwarf.h (AT_... values): Correct typos present in version 1.0.1
1989 of the DWARF spec. The values should be unchanged.
1990
1991 * dwarfout.c (data_member_location_attribute): Use INTEGER_CST.
1992
1993 * dwarfout.c (data_member_location_attribute): Use TYPE_MODE.
1994 (bit_offset_attribute): Ditto.
1995
1996 * dwarfout.c (name_attribute): Add the tests back.
1997
1998 * m88k.h (WEAK_ASM_OP): Override svr4.h.
1999
2000Mon Apr 27 15:48:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2001
2002 * limits.h: Use _LIMITS_H___, not _LIMITS_H_, to protect contents.
2003
2004Mon Apr 27 15:15:25 1992 Michael Meissner (meissner@osf.org)
2005
2006 * mips.h (MIPS_VERSION): Set Meissner version # to 16.
2007 (delay_type enum): Add DELAY_FCMP for specifing the
2008 c.{eq,lt,le}.{d,s} delay.
2009 (fpsw_register_operand): New declaration.
2010 (gen_int_relational): New declaration.
2011 (pc_or_label_operand): New declaration.
2012 (MASK_DEBUG_C): Use -mdebugc for new relational code.
2013 (REG_CLASS_FROM_LETTER): Use 'z' for fpsw register, not 's' which
2014 is already used.
2015 (EXTRA_CC_MODES): Add CC_REV_FPmode to handle fp comparisons,
2016 which need to be reversed (!=).
2017 (EXTRA_CC_NAMES): Add CC_REV_FP.
2018 (SELECT_CC_MODE): Use SImode for all integer comparisons,
2019 CC_REV_FP for floating point != comparisons.
2020
2021 * mips.c (internal_test enum): Move and rename the enumeration
2022 used in gen_conditional to make the comparison RTL codes to
2023 something that can be indexed out to top level.
2024 (fpsw_register_operand): New function to return true if the
2025 operand is the FP status register.
2026 (pc_or_label_operand): New function to return true if the operand
2027 is either a label_ref or the pc for if_then_else tests.
2028 (mips_fill_delay_slot): Add support for DELAY_FCMP, the delay
2029 after a floating point comparison is done and it can be tested.
2030 (map_test_to_internal_test): New function to take a RTL code of a
2031 comparison operator, and return the internal_test enumeration.
2032 (gen_int_relational): New function to generate the appropriate
2033 INSNS for comparing two integers for either branches, or the set
2034 from condition code insns.
2035 (gen_conditional_branch): Rewrite to not use the CISC condition
2036 code register CC0, but instead generate the appropriate INSNs so
2037 that the test can be scheduled independely of the branch.
2038 (override_options): Use 'z' for the fpsw register, not 's'. Only
2039 allow the fp comparison condition codes in the fpsw register. Do
2040 not allow non float or int things in FP registers, even if
2041 -mdebugh. Don't allow ints in the fpsw.
2042
2043 * mips.md (various): Rewrite comparisons and branches so that we
2044 do not use CC0, but instead put the comparison in a pseudo and
2045 generate the appropriate branch instructions directly. This
2046 eliminates calls to the various b<xx> macros provided by the
2047 assembler. Change the type of integer comparisons from the
2048 various CCxx modes used to SImode. Make fp != use CC_REV_FPmode.
2049 (mode attribute): Add FPSW mode for floating compare.
2050 (fp_comp): New functional unit for comparing fp values.
2051 (divmodsi4): No longer use -mdebugc to turn off divmodsi4.
2052 (divsi3): Ditto.
2053 (modsi3): Ditto.
2054 (udivmodsi4): No longer use -mdebugc to turn off udivmodsi4.
2055 (udivsi3): Ditto.
2056 (umodsi3): Ditto.
2057
2058 * mips-gn5.h: Rename from mips-gnews5.h for MSDOS.
2059 * mips-n5.h: Rename from mips-news5.h.
2060 * xm-mipsbsdnews.h: Rename from xm-mipsnbsd.h.
2061
2062 * configure (mips-sony*): Handle the above changes.
2063
2064 * README-mips (whole file): Remove bogus patches, and update with
2065 some common warnings about the MIPS.
2066
2067Mon Apr 27 12:41:21 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
2068
2069 * unroll.c (find_splittable_givs): Don't split a giv combined with
2070 a giv that was not reduced.
2071
2072 * c-parse.y (primary): Clear the TREE_USED flag of a block tree
2073 put in a BIND_EXPR.
2074 * print-tree.c (print_node): Print the block operand of a BIND_EXPR.
2075
2076 * flow.c (find_basic_blocks): Assume MEM source in jump insn makes
2077 it an indirect jump.
2078
2079 * collect2.c (strip_flag, strip_file_name): New variables.
2080 (main): Don't pass -s to the first ld call. Pass it to the second
2081 ld call, or else run strip.
2082
2083 * Makefile.in (bootstrap): Only build C compiler for stage1.
2084
2085 * sparc.h (GO_IF_LEGITIMATE_ADDRESS): Rewrite to accept SUBREGs.
2086
2087 * combine.c (force_to_mode): Correctly form mask from BITS.
2088
2089 * Makefile.in (bootstrap): Fix a typo (\n between b and ootstrap).
2090
2091Sun Apr 26 14:14:23 1992 Ron Guilmette (rfg at ncd.com)
2092
2093 * getattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c,
2094 genextract.c, genflags.c, genoutput.c, genpeep.c, genrecog.c (main):
2095 Move nested extern declaration of `read_rtx' out to file-scope.
2096
2097Sun Apr 26 21:41:33 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2098
2099 * Makefile.in (varasm.o): Includes defaults.h.
2100
2101Sun Apr 26 21:15:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2102
2103 * enquire.c (f_rep, f_define): Handle NO_LONG_DOUBLE_IO.
2104 (f_define): Print defn of union __convert_long_double, just once,
2105 with #ifndef to protect it.
2106 (fake_f_define): New function.
2107
2108Sat Apr 25 15:04:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2109
2110 * stmt.c (expand_end_case): Test DI index against range before casesi.
2111 Don't truncate before calling do_tablejump.
2112 Use expand_expr to turn RANGE into rtl.
2113 * expr.c (do_tablejump): Convert to Pmode after testing vs range.
2114
2115 * stmt.c (expand_end_case): Delete test default_label != 0; always is.
2116
2117 * configure (i386-ibm-aix): Set install_with_cp.
2118
2119Fri Apr 24 21:32:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2120
2121 * xm-spcv4.h: Renamrd from xm-sparcv4.h.
2122 * configure: Changed accordingly.
2123
2124 * Makefile.in (unprotoize.o): Leave unprotoize.c around.
2125
2126 * c-common.c (decl_attributes): Change warnings to errors.
2127
2128Fri Apr 24 11:17:53 1992 Ron Guilmette (rfg at ncd.com)
2129
2130 * dwarf.h: Added copyleft.
2131 Revised to use enumerators instead of #defines.
2132 Updated to conform to version 1.0.1 of the DWARF spec.
2133 Added implementation-defined fundamental type codes for GCC
2134 mode-specific types.
2135
2136 * dwarfout.c: Include defaults.h.
2137 (getpwd): Declare as `extern'.
2138 (BITFIELD_OFFSET_BITS, BITFIELD_OFFSET_UNITS,
2139 BITFIELD_OFFSET_WORDS_IN_UNITS): Unnecessary definitions deleted.
2140 (ASM_BYTE_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Delete
2141 leading tabs from definitions.
2142 (PUSHSECTION_FORMAT): Add leading tab to definition.
2143 (*_LABEL): Changed to all start with `.L' to internalize these
2144 symbols for *all* svr4 assmeblers (including sparc).
2145 (ASM_OUTPUT_POP_SECTION): Add leading tab.
2146 (ASM_OUTPUT_DWARF_TAG, ASM_OUTPUT_DWARF_ATTRIBUTE,
2147 ASM_OUTPUT_DWARF_STACK_OP, ASM_OUTPUT_DWARF_FUND_TYPE,
2148 ASM_OUTPUT_DWARF_FMT_BYTE, ASM_OUTPUT_DWARF_TYPE_MODIFIER): Print
2149 DWARF comments only if flag_verbose_asm set.
2150 (ASM_OUTPUT_ASCII): Moved to defaults.h
2151 (tag_name): Renamed `dwarf_tag_name' to avoid possible conflicts.
2152 (dwarf_tag_name): Updated for version 1.0.1 DWARF spec.
2153 (attribute_name): Renamed `dwarf_attr_name' to avert conflicts.
2154 (dwarf_attr_name): Updated for version 1.0.1 DWARF spec.
2155 (stack_op_name): Renamed `dwarf_stack_op_name' to avert conflicts.
2156 (format_byte_name): Renamed `dwarf_fmt_byte_name' to avert conflicts.
2157 (fundamental_type_name): Renamed `dwarf_fund_type_name' to avoid
2158 possible conflicts.
2159 (dwarf_fund_type_name): Added support for implementation-defined
2160 GCC mode specific fundamental types codes (to support new `mode'
2161 attribute).
2162 (data_member_location_attribute): Rewritten to avoid major lossage
2163 primarily for little-endian targets.
2164 (location_or_const_value_attribute): Fixed comments and removed
2165 spurious code.
2166 (name_attribute): Removed test for NULL name (now done in
2167 `name_and_src_coords_attributes').
2168 (byte_size_attribute): Fixed to get size from DECL_BIT_FIELD_TYPE
2169 for bit-fields.
2170 (bit_offset_attribute): Rewritten to avoid major lossage primarily
2171 for little-endian targets.
2172 (src_coords_attribute): GNU-specific extension added.
2173 (name_and_src_coords_attributes): New function.
2174 (output_entry_point_die, output_formal_parameter_die,
2175 output_global_subroutine_die, output_global_variable_die,
2176 output_inline_subroutine_die, output_label_die,
2177 output_local_variable_die, output_member_die,
2178 output_local_subroutine_die, output_typedef_die): Call
2179 `name_and_src_coords_attributes' rather than `name_attribute' for
2180 all potentially-named declarations.
2181 (output_global_subroutine_die, output_inline_subroutine_die,
2182 output_local_subroutine_die, dwarfout_file_scope_decl): Use
2183 DECL_ASSEMBLER_NAME rather than DECL_NAME when referencing
2184 assembly level names (e.g. in AT_low_pc attributes).
2185 (output_type): Revised to produce DWARF info for C++ member functions
2186 even for classes with no constructors & destructors.
2187
2188 * flags.h (flag_verbose_asm): Option flag added.
2189 * toplev.c (flag_verbose_asm): Option flag added.
2190
2191 * defaults.h: New file.
2192 * varasm.c: Include defaults.h.
2193 (ASM_OUTPUT_ASCII): Deleted.
2194
2195 * c-common.c (decl_attributes): Call `type_for_mode' rather than
2196 `type_for_size'. Also, `break' after a matching mode is found.
2197
2198 * 3b1.h (ASM_OUTPUT_ASCII): Tab before ASCII_DATA_ASM_OP.
2199 * amix.h (ASM_OUTPUT_CASE_END): Tab before SET_ASM_OP.
2200 (ASM_OUTPUT_ASCII) Tab before BYTE_ASM_OP.
2201 * i860b.h (ASM_OUTPUT_ASCII): Tab before ASCII_DATA_ASM_OP.
2202 * i860v3.h (ASM_OUTPUT_ASCII): Tab before BYTE_ASM_OP.
2203 * sparcv4.h (*_ASM_OP): Delete the initial tabs.
2204
2205 * assert.h: Modified to treat source line numbers as `unsigned'.
2206
2207 * Makefile.in (test-protoize): New target.
2208
2209 * svr4.h (WEAK_ASM_OP): Default svr4 definition added.
2210 (ASM_DECLARE_FUNCTION_SIZE): Use `assemble_name' to output
2211 generated internal label.
2212
2213Thu Apr 23 11:31:58 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
2214
2215 * optabs.c (emit_libcall_block): Correct code which determines
2216 whether it is safe to emit an insn setting a pseudo before the block.
2217
2218Thu Apr 23 18:13:08 1992 James Van Artsdalen (james at bigtex.cactus.org)
2219
2220 * i386.md (sleu): Finish Apr 21 change.
2221
2222Thu Apr 23 14:15:05 1992 Michael Meissner (meissner@osf.org)
2223
2224 * Makefile.in (enquire.o): Delete enquire.c from the current
2225 directory before moving it in from the source directory, unless
2226 the current directory is the same as the source directory. This
2227 occurs if the user keeps GCC under source control, like RCS.
2228 (install-common-headers): Ditto for byteorder.h.
2229
2230Thu Apr 23 12:39:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2231
2232 * amix.h (ASM_OUTPUT_CASE_END): Add missing \.
2233
2234Thu Apr 23 07:14:38 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2235
2236 * cse.c (simplify_binary_operation, case MINUS): Don't do any
2237 of the simplifications for IEEE floating-point.
2238
2239Wed Apr 22 23:20:59 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu)
2240
2241 Tue Apr 21 02:21:42 1992 Mike Stump (mrs@rtl.cygnus.com)
2242
2243 * cp-method.c (build_overload_value): Handle function names as
2244 constant expressions for template arguments. Also, make double
2245 values work again as template arguments.
2246
2247 Mon Apr 20 17:08:17 1992 Mike Stump (mrs@rtl.cygnus.com)
2248
2249 * cp-call.c (ideal_candidate): remove incorrect error message about
2250 ``ambiguous request for function from distinct base classes of
2251 type'' when base and parent are switched.
2252
2253 Mon Apr 20 14:14:35 1992 Mike Stump (mrs@rtl.cygnus.com)
2254
2255 * Makefile.in: Now expect 15 reduce/reduce conflicts, instead of 14.
2256
2257 Mon Mar 16 14:02:09 1992 Chip Salzenberg (chip at tct.com)
2258
2259 * cp-parse.y (maybe_attributes, attribute_list): clone
2260 from c-parse.y.
2261 cp-parse.y: call decl_attributes between start_decl and
2262 finish_decl, and after grokfield.
2263
2264 Mon Apr 20 09:21:00 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
2265
2266 * cp-tree.h (break_out_calls): Declare.
2267
2268 Mon Apr 20 08:29:16 1992 Michael Tiemann (tiemann@cygnus.com)
2269
2270 * cp-tree.c (break_out_calls): New function.
2271 (break_out_cleanups): Added comment.
2272
2273 * cp-typeck.c (build_modify_expr): Call `break_out_calls' instead of
2274 `copy_to_permanent'.
2275
2276 Mon Apr 20 06:29:16 1992 Mike Stump (mrs@rtl.cygnus.com)
2277
2278 * cp-type2.c (my_friendly_abort): New function, please see
2279 Rational there.
2280
2281 * cp-*.[chy]: Change all calls from abort to my_friendly_abort.
2282
2283 Mon Apr 20 05:45:08 1992 Mike Stump (mrs@rtl.cygnus.com)
2284
2285 * cp-cvt.c (build_up_reference): Fix a latent const problem.
2286
2287 Mon Apr 20 03:08:12 1992 Michael Tiemann (tiemann@cygnus.com)
2288
2289 * cp-decl.c (pop_from_top_level): Deleted duplicate code in C_C_D
2290 restoration.
2291
2292 * cp-call.c (build_method_call): Call `error_with_aggr_type' with
2293 correct number of arguments.
2294
2295 Sun Apr 19 18:39:25 1992 Mike Stump (mrs@rtl.cygnus.com)
2296
2297 * cp-class.c (finish_struct): Only provide a warning about
2298 non-virtual destructors if the user asks for -Wall.
2299
2300 Sun Apr 19 17:36:16 1992 Mike Stump (mrs@rtl.cygnus.com)
2301
2302 * cp-typeck.c (build_modify_expr): Make a deep copy of lhs, as
2303 expr.c expects to be able to preexpand_calls on the conditional
2304 parts without insuring that it would even be legal to do so.
2305
2306 * cp-tree.c (make_deep_copy): Fix comment.
2307
2308 Fri Apr 17 04:55:18 1992 Mike Stump (mrs@rtl.cygnus.com)
2309
2310 * cp-cvt.c (convert_pointer_to): Provide the user with a meaningful
2311 error message instead of a core dump when dealing with bad syntax.
2312
2313 * cp-typeck.c (build_binary_op): Make error message on undefined
2314 operator call more readable.
2315
2316 * cp-decl.c (grok_reference_init): Handle T& = const T&
2317 error messages.
2318
2319 Thu Apr 16 18:59:15 1992 Mike Stump (mrs@rtl.cygnus.com)
2320
2321 * cp-typeck.c (convert_arguments): Disable code that auto converted
2322 functions and methods to pointers and left them that way without error.
2323
2324 Thu Apr 16 17:35:13 1992 Mike Stump (mrs@rtl.cygnus.com)
2325
2326 Sat Apr 4 22:28:23 1992 Gerald Baumgartner (gb at cs.purdue.edu)
2327
2328 * cp-decl.c (finish_decl): Call `abstract_virtuals_error'
2329 when the return type of a method is an abstract class.
2330
2331 * cp-type2.c (abstract_virtuals_error): Print error message
2332 for an invalid method declaration.
2333
2334 Thu Apr 16 16:18:35 1992 Mike Stump (mrs@rtl.cygnus.com)
2335
2336 * cp-decl2.c (lang_decode_option): Handle import by ignoring it.
2337
2338Wed Apr 22 19:46:44 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2339
2340 * objc-actions.c (synth_id_with_class_suffix, finish_class):
2341 Don't use utlbuf; alloca a buffer.
2342 (forward_declare_categories): Use build_decl directly since
2343 create_builtin_decl wants a string, not an id.
2344
2345 * Makefile.in (STAGESTUFF): Add USE_COLLECT2.
2346
2347 * dbxout.c (dbxout_symbol): Clean up last change.
2348
2349Wed Apr 22 17:06:16 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2350
2351 * rs6000.c (gpc_reg_operand): Renamed from gen_reg_operand.
2352 * rs6000.h (PREDICATE_CODES): Likewise.
2353 * rs6000.md: Likewise.
2354
2355 * a29k.c (gpc_reg*_operand): Renamed from gen_reg*_operand.
2356 * a29k.h (PREDICATE_CODES): Likewise.
2357 * a29k.md: Likewise.
2358
2359 * romp.c (output_fpop): Extend workaround for RT FP codegen bug.
2360
2361Wed Apr 22 06:20:09 1992 Tom Wood (wood at dg-rtp.dg.com)
2362
2363 * fold-const.c (fold, comparison cases): Use omit_one_operand to
2364 yield a simplified result to avoid loosing a side-effect.
2365
2366Tue Apr 21 13:19:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2367
2368 * dbxout.c (dbxout_symbol): For TYPE_DECL, always make requisite tag
2369 one way or another even if !have_used_extensions.
2370
2371 * configure: Specifically detect unrecognized options.
2372
2373Tue Apr 21 08:16:05 1992 Tom Wood (wood at dg-rtp.dg.com)
2374
2375 * c-convert.c (convert_to_integer): Don't distribute a truncation
2376 down past an ABS_EXPR.
2377
2378 * m88k.md (bxx insn): Choose bb0 over bb1 if the branch is likely
2379 to fall-through (m88110 optimization).
2380 * m88k.c (mostly_false_jump): New function.
2381
2382 * m88k.h (INIT_SECTION_ASM_OP): Define only for svr3 and svr4 targets.
2383
2384 * m88k.c (output_call): Use the insn address of the sequence.
2385 * m88k.h (ADJUST_INSN_LENGTH): Account for space added at barriers
2386 due to ASM_OUTPUT_ALIGN_CODE.
2387
2388Tue Apr 21 07:30:46 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2389
2390 * jump.c (mark_jump_label, case MEM): New case to look for label
2391 in a constant-pool entry.
2392
2393Tue Apr 21 00:41:39 1992 James Van Artsdalen (james at bigtex.cactus.org)
2394
2395 * reg-stack.c (compare_for_stack_reg): link cc0 user and setter
2396 before separating them.
2397
2398 * reorg.c (link_cc0_insns): Move function from here -
2399 * emit-rtl.c (link_cc0_insns): to here.
2400
2401 * i386.h (TARGET_IEEE_FP): New macro.
2402 (TARGET_SWITCHES): Add switches for ieee floating point support.
2403 (EXTRA_CC_MODES,EXTRA_CC_NAMES): Add CCFPEQmode.
2404 (SELECT_CC_MODE): Select CCFPEQmode for FP equality comparisons.
2405 (i386_compare_gen*,i386_compare_op*): Declare new variables to
2406 generate comparisons from within branch and sCC insns.
2407 (RTX_COSTS): Fix argument name typo.
2408
2409 * i386.c (i386_compare_gen*,i386_compare_op*): Define variables here.
2410 (notice_update_cc): Notice if a comparison involves FP values.
2411 (output_float_compare): Add support for "unordered" compare.
2412 Use output_fp_cc0_set to set flags after a compare.
2413 (output_fp_cc0_set): New function.
2414
2415 * i386.md (tstM,cmpM): New expanders. Don't generate RTL; just
2416 save data for when cc0 user is generated.
2417 (bCOND,sCOND): New expanders. Generate the compare/test as well
2418 as the bCOND or sCOND.
2419
2420 (tstsf,tstdf): Disable patterns if generating ieee compliant code.
2421 (tstsf,tstdf,cmpsf,cmpdf): Use output_fp_cc0_set to set flags
2422 after test.
2423 Don't change cc_status here: that won't work with REG_CC_SETTER
2424 and REG_CC_USER.
2425
2426 (all COMPAREs): Use CCmode as mode of a COMPARE.
2427
2428Mon Apr 20 11:17:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2429
2430 * limits.h (LONG_LONG_MIN, LONG_LONG_MAX, ULONG_LONG_MAX): New macros.
2431
2432 * configure: Clear out_file before the big case, like tm_file, etc.
2433
2434 * expr.c (expand_expr, case LABEL_DECL): Handle label from outer fcn.
2435
2436Mon Apr 20 10:17:49 1992 Tom Wood (wood at dg-rtp.dg.com)
2437
2438 * x-m88kluna: Delete.
2439 * x-m88kv3: Renamed from x-m88k.
2440 * configure (m88k-*): Rearrange.
2441
2442Mon Apr 20 21:29:00 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
2443
2444 * config-gcc.com: Generate libgcc2.list from Makefile.in
2445 * make-l2.com: Use libgcc2.list; supply gcc version number to gas.
2446
2447 * config-gacc.com: Generate linker options files from Makefile.in
2448
2449 * make-cc1.com: Use said linker options files instead of static
2450 list of files.
2451 * make-cc1.com: Handle errors better.
2452
2453Mon Apr 20 10:05:34 1992 Michael Meissner (meissner@osf.org)
2454
2455 * mips.md (divmodsi4, udivmodsi4): Remove unneeded PARALLEL. Patch
2456 from Richard Kenner.
2457
2458Mon Apr 20 08:38:26 1992 Tom Wood (wood at dg-rtp.dg.com)
2459
2460 * expr.c (expand_expr, case CONSTRUCTOR): For static CONSTRUCTOR,
2461 require a valid memory address only if modifier does.
2462
2463Sun Apr 19 15:09:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2464
2465 * genemit.c (gen_insn): Mode of SCRATCH must match in clobber lists.
2466
2467 * sched.c (add_dependence, remove_dependence): Moved from rtl.c.
2468 * rtl.c: Functions deleted here.
2469
2470 * Make installation of collect2 automatic.
2471 * configure: Define use_collect2 for all BSD and Mach and HP/UX
2472 configurations, plus the ones below, and a few others.
2473 * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips, t-next:
2474 (EXTRA_PROGRAMS): Deleted.
2475 * t-apollo68, t-convex, t-dpx2, t-rs6000: Files deleted.
2476
2477 * libgcc1.c (nongcc_SI_type): Renamed from SItype.
2478
2479 * recog.c (constrain_operands): Check only earlyclobbers that are REGs.
2480
2481 * m68k.h (TRANSFER_FROM_TRAMPOLINE): Delete comma in globalize cmd.
2482
2483 * m68k.md (movhi): Don't use switch_table_difference_label_flag
2484 except in ports that need it. (Again!)
2485
2486Sun Apr 19 14:06:59 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
2487
2488 * sched.c (sched_analyze_2): Add missing comment close.
2489
2490 * rtl.c (add_dependence): Make next point to last insn with
2491 SCHED_GROUP_P set, not after the last insn with the bit set.
2492
2493Sun Apr 19 06:06:03 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2494
2495 * genextract.c (walk_rtx): Fix typo in vector case.
2496
2497 * hppa.h (RTX_COSTS): Add new argument OUTER_CODE.
2498
2499 * Makefile.in (compare, compare3): Change $file to $$file.
2500
2501 * romp.h (CONST_CONSTS): Clean up formatting of definition.
2502
2503 * rs6000.md (extzv): Correct when we can use andi[lu].
2504
2505Sat Apr 18 21:56:20 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
2506
2507 * sparc.md (ashldi3): Compact operand numbers.
2508
2509 From Jeffrey Law:
2510 * sparc.md (ldd, std peepholes): New peepholes to recognize cases
2511 where two ld (or st) insns could be replaced by a single ldd or std.
2512 * sparc.c (registers_ok_for_ldd): New function. Return true if the
2513 given register pair is suitable for an ldd or std instruction.
2514 (memory_ok_for_ldd): Likewise, but for memory locations.
2515
2516Sat Apr 18 17:22:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2517
2518 * c-lex.c (skip_white_space): Warn only for first carriage return.
2519
2520Sat Apr 18 10:08:45 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2521
2522 * genemit.c (struct clobber_ent): New structure.
2523 (gen_insn): See if the clobbers required to be added were seen
2524 for another insn.
2525 (output_add_clobbers): Write case statements for all insn codes
2526 using a particular clobber pattern.
2527
2528 * cse.c (mention_regs): Always retun a value.
2529
2530 * rs6000.md (call): Compact operand numbers.
2531
2532 * genextract.c: Now includes insn-config.h.
2533 (struct extraction, struct code_ptr): New structures.
2534 (gen_insn): Record what extractions are needed and compare with
2535 those for previous insns.
2536 (mark_operand_seen): Function deleted.
2537 (walk_rtx): Use strings as path and just record; don't write.
2538 (print_path): Use strings for paths.
2539 (copystr): New function.
2540 (main): Write out all extractions here.
2541 * Makefile.in (genextract.o): Includes insn-config.h.
2542
2543 * hppa*.h: Change references from hp800* files to hppa*.
2544
2545 * rs6000.md (lshrdi3, ashrdi3): Fix typos.
2546
2547 * rs6000.md (extzv): Correctly install last change.
2548
2549Sat Apr 18 12:37:54 1992 John F Carr (jfc at Achates.mit.edu)
2550
2551 * expmed.c (store_bit_field): Storing into a bitfield in memory
2552 which is the size of a standard machine mode can be done with a
2553 simple move instruction.
2554
2555 * c-lex.c (skip_white_space): carriage return (^M) is whitespace,
2556 but warn about ^M if pedantic.
2557
2558 * cse.c (rtx_cost): New argument OUTER_CODE, the rtx code of the
2559 expression in which the rtx argument is contained.
2560 * expmed.c (init_expmed): Pass second argument to rtx_cost.
2561 * optabs.c (expand_binop, expand_twoval_binop, emit_cmp_insn): Likewise.
2562 * loop.c (init_loop, general_induction_var): Likewise.
2563 * vax.c (vax_rtx_cost, vax_address_cost): New functions.
2564 * vax.h (CONST_COSTS, RTX_COSTS, ADDRESS_COST): Call these
2565 functions.
2566 * romp.h (CONST_COSTS): Give constants different costs depending
2567 on whether they can fit into a 2 byte instruction, a 4 byte
2568 instruction, or would require insn splitting to use.
2569 * i386.h (CONST_COSTS, RTX_COSTS): Move PLUS case to RTX_COSTS.
2570 * m68k.h (CONST_COSTS): Constant in range -254..-136 is only cheap
2571 in a move insn, not as an operand to some other instruction.
2572 * config/*.h: Update machine descriptions to define CONST_COSTS
2573 and RTX_COSTS macros with 3 arguments.
2574
2575Fri Apr 17 11:14:02 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2576
2577 * reload.c (safe_from_earlyclobber): New function.
2578 * recog.c (constrain_operands): Verify that earlyclobber
2579 operands don't conflict with inputs.
2580
2581 * combine.c (subst, case SUBREG): Don't fold paradoxical SUBREGs
2582 of constants.
2583
2584 * cse.c (fold_rtx, case SUBREG): Extend previous change so it
2585 folds widened operations with one operand a constant.
2586
2587 * expr.c (safe_from_p, case BIND_EXPR): Only look at operand 1.
2588
2589 * cse.c (fold_rtx, case SUBREG): Don't fold paradoxical SUBREGs.
2590 Instead, when we have a narrowing SUBREG, see if it is narrowing
2591 the result of a widened arithmetic operation.
2592
2593Fri Apr 17 09:16:56 1992 Charles Hannum (mycroft@hal.gnu.ai.mit.edu)
2594
2595 * Makefile.in (install-dir): Don't use '-' prefix on continuation line.
2596
2597Fri Apr 17 06:52:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2598
2599 * toplev.c (rest_of_compilation):
2600 If -Wreturn-type, don't stop before jump.c.
2601
2602 * calls.c (expand_call): Delete unused arg MODIFIER.
2603 * expr.c: Arg deleted from calls (those which had it).
2604
2605 * ns32k.c (print_operand_address): Handle UTEK_ASM.
2606 (print_operand): Handle NO_IMMEDIATE_PREFIX_IF_SYMBOLIC.
2607 Abort if must get fp number as bits but cannot do so.
2608 * ns32k.h (TRAMPOLINE_TEMPLATE): Use PUT_ABSOLUTE_PREFIX.
2609 * ns32k.md (call, call_value): Handle ENCORE_ASM.
2610 * encore.h (PRINT_OPERAND): Just call print_operand.
2611 (CALL_MEMREF_IMPLICIT): Defined.
2612
2613 * config.sub: encore implies bsd, not sysv.
2614
2615 * stmt.c (expand_expr_stmt): Handle reference of volatile BLKmode.
2616
2617 * vax.md (indirect_jump): Delete the extra condition.
2618
2619 * configure (...-hpux): Set install_with_cp.
2620
2621 * jump.c (delete_insn): After a label, go past other deleted labels.
2622
2623 * m68k.md (movhi): Don't use switch_table_difference_label_flag
2624 except in ports that need it.
2625
2626 * stmt.c (warn_if_unused_value): Don't warn for constant after comma.
2627 Don't warn for volatile decl or ref.
2628
2629 * c-typeck.c (build_unary_op): ++ on void * warns if -Wpointer-arith.
2630
2631Thu Apr 16 22:56:20 1992 Michael Meissner (meissner@osf.org)
2632
2633 * mips.h (enum block_move_type): New enumeration for classing what
2634 type of block move is used when splitting the last store off.
2635 (RTX_COSTS): Don't use -mdebugd to set multiply costs to 2.
2636
2637 * mips.c (output_movstrsi): Take an additional argument to determine
2638 whether this block move is a normal block move, or one that has been
2639 split. For the split block moves, there are two parts -- the first
2640 part is everything but the last store, and the second part is the
2641 last store, suitable to fill a delay slot.
2642
2643 * mips.md (all define_splits): Don't do any define_split if
2644 -mdebugd.
2645 (movstrsi_internal*): Add support to split block moves into two
2646 pieces, one that is everything except for the last store, and the
2647 second piece, which is the last store that can fill a delay slot.
2648
2649Thu Apr 16 21:52:59 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2650
2651 * x-rs6k-mach: New file.
2652 * configure (rs6000-*-mach): Use it.
2653
2654Thu Apr 16 21:52:17 1992 John F Carr (jfc at Achates.mit.edu)
2655
2656 * cse.c (cse_end_of_basic_block): Fix test for infinite loop.
2657
2658Thu Apr 16 21:50:38 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
2659
2660 * rs6000.h (bss_section): Delete. No longer needed.
2661
2662 * a29k.c (print_operand, case 'F'): Always emit insn to fill empty
2663 delay slot.
2664
2665Thu Apr 16 18:45:41 1992 Tom Wood (wood at dg-rtp.dg.com)
2666
2667 * cse.c (simplify_ternary_operation): Correctly sign-extend result.
2668
2669Thu Apr 16 18:43:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2670
2671 * objc-actions.c: Rename OBJC_NONUNIQUE_SELECTORS to
2672 OBJC_SELECTORS_WITHOUT_LABELS.
2673
2674 * c-decl.c (duplicate_decls): Allow extern vs extern inline.
2675
2676 * c-parse.y (parmlist_or_identifiers_1): Use parmlist_1.
2677 * c-decl.c (get_parm_info): Treat forward parm decls like nonparm
2678 decls.
2679
2680 * m68k.md (movhi before dispatch table):
2681 Set switch_table_difference_label_flag.
2682 * 3b1.h, amix.h, m68ksgs.h (ASM_OUTPUT_CASE_END): Test that flag.
2683 Declare the flag.
2684
2685 * m68k.c (output_function_prologue, print_operand_address): Add
2686 HPUX_ASM conds.
2687
2688 * mips.c (output_block_move): If we get a case we can't handle,
2689 don't print anything--just abort, because that implies a bug.
2690
2691 * c-decl.c (c_decode_option): -ansi sets flag_no_nonansi_builtin,
2692 not flag_no_builtin.
2693 (init_decl_processing): Check flag_no_nonansi_builtin for alloca, etc.
2694
2695 * dbxout.c (dbxout_symbol): Make pointer, not reference,
2696 when variable's address is in a register.
2697
2698 * c-decl.c (c_decode_option): Ignore -Wimport, -Wno-import.
2699
2700Thu Apr 16 16:17:13 1992 Mike Stump (mrs@mole.gnu.ai.mit.edu)
2701
2702 * merge in Cygnus changes...
2703
2704 Thu Apr 16 12:23:06 1992 Mike Stump (mrs@rtl.cygnus.com)
2705
2706 * cp-call.c (build_method_call): propagate const around to avoid an
2707 incorrect error message. This type of fix may now be necessary in
2708 other parts of the compiler. This solves all but one known const
2709 problems.
2710
2711 Wed Apr 15 14:18:27 1992 Mike Stump (mrs@rtl.cygnus.com)
2712
2713 * cp-type2.c (readonly_warning_or_error): because the compiler
2714 is now warning about const alot more, for a release or two,
2715 lets just warn about const problems, just in case it is a compiler
2716 problem and not a user problem.
2717
2718 * cp-cvt.c (build_up_reference): Lets get tougher on const problems
2719 on COMPONENT_REFs.
2720
2721 Wed Apr 15 11:59:42 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
2722
2723 * cp-decl.c (finish_function): Check for any debug info enabled,
2724 not just DBX_DEBUG.
2725
2726 Wed Apr 15 10:03:36 1992 Mike Stump (mrs@rtl.cygnus.com)
2727
2728 * cp-cvt.c (build_up_reference): Propagate const and volatile
2729 down into the type so error checking works better.
2730
2731 Tue Apr 14 11:44:32 1992 Mike Stump (mrs@rtl.cygnus.com)
2732
2733 * cp-decl.c (start_decl): Shouldn't use flag_this_is_variable
2734 to make what this points to const, but I don't have the heart
2735 to do it right now.
2736
2737 * cp-decl2.c (grokclassfn): Don't use flag_this_is_variable
2738 to make what this points to const.
2739
2740 * cp-typeck.c (convert_arguments): Let build_up_reference handle
2741 const errors correctly. Removes April 10 change.
2742
2743 * cp-cvt.c (build_up_reference): Don't let people subvert const
2744 when passing const argements to non-const functions.
2745
2746 * cp-tree.c (build_cplus_method_type): Don't use
2747 flag_this_is_variable to make what this points to const.
2748
2749 From Wed Apr 1 12:00:59 1992 Chip Salzenberg (chip at tct.com)
2750
2751 * cp-class.c (import_export_vtable): New function to set
2752 TREE_PUBLIC and/or TREE_EXTERNAL on vtables.
2753 (build_vtable): Use it.
2754 (prepare_fresh_vtable): Use it.
2755
2756 * cp-decl.c (finish_decl): Don't assume that TREE_PUBLIC means
2757 "exported"; it can mean "imported". Decide with TREE_EXTERNAL.
2758 (finish_function): Ditto.
2759 * cp-decl2.c (write_vtable_entries): Ditto.
2760 (finish_vtable_typedecl): Ditto.
2761 (finish_vtable_vardecl): Ditto.
2762 (finish_file): Ditto.
2763
2764 * cp-lex.c (set_vardecl_interface_info): Public objects always
2765 have TREE_PUBLIC, whether exported or imported.
2766 * cp-pt.c (instantiate_member_templates): Ditto.
2767
2768
2769 Fri Apr 10 21:44:15 1992 Per Bothner (bothner@cygnus.com)
2770
2771 * cp-method.c (build_overload_name): Mangle 'signed char'
2772 as 'Sc' (i.e. differently from 'char'!).
2773
2774 Fri Apr 10 17:38:04 1992 Mike Stump (mrs@cygnus.com)
2775
2776 * cp-typeck.c (convert_arguments): don't allow people to wipe const.
2777
2778 Thu Apr 9 18:28:36 1992 Mike Stump (mrs@rtl.cygnus.com)
2779
2780 * cp-tree.h: Add entry for $vb and $vf so that NO_DOLLAR_IN_LABEL
2781 works.
2782 * cp-class.c (finish_struct): Use the new macros from cp-tree.h.
2783 * cp-tree.c (layout_basetypes): Use the new macros from cp-tree.h.
2784
2785 Thu Apr 9 02:11:01 1992 Mike Stump (mrs@rtl.cygnus.com)
2786
2787 * cp-typeck.c (build_function_call_real): Merge in a change made to
2788 the C front end into the C++ front end to handle volatile functions.
2789
2790 Thu Apr 9 03:45:03 1992 Mark Eichin (eichin at cygnus.com)
2791
2792 * cp-class.c (finish_struct): sanity check before calling popclass.
2793 If we're already hosed due to previous parse errors (specifically,
2794 we're not inside a class anymore) just report an error rather than
2795 crashing in popclass (if there wasn't a previous parse error, as the
2796 message suggests, we should get reports; this closes gcc/p0000525.)
2797
2798 Wed Apr 8 08:56:49 1992 Mike Stump (mrs@rtl.cygnus.com)
2799
2800 * cp-decl.c (grokdeclarator): Fix an eichin bug introduced seconds
2801 ago. Shame, he didn't put:
2802
2803 Workaround for p869:
2804 1) grokdeclarator (around cp-decl.c:7462) is using popclass(1)
2805 uses popclass(1) to close the pushclass(3) done by
2806 build_push_scope; however, it's coming around another time and
2807 popping all the way out, which leads to the core dump when
2808 do_friend is called from global scope (do_friend uses
2809 current_class_name to figure out whose friendship it is
2810 bestowing.) Current workaround: if (friendp) don't allow
2811 popping all the way out. We still need to figure out how to
2812 make sure it only gets called the *right* time; we also need
2813 to figure out if the correct scope is being used, but that's a
2814 matter of regression testing.
2815
2816 into a ChangeLog entry.
2817
2818 Wed Apr 8 01:10:44 1992 Mike Stump (mrs@rtl.cygnus.com)
2819
2820 * cp-decl.c: Cleanup binding_levels_sane related code. Deleted
2821 argument, and changed to void type. Removed extraneous asserts.
2822
2823 * cp-parse.y: Add fourth parameter to all finish_decl calls.
2824 Defaulted the guess to 0.
2825 * cp-decl.c: consistently use #if on all PARANOIDs.
2826
2827Wed Apr 15 14:00:14 1992 Michael Meissner (meissner@osf.org)
2828
2829 * mips.md (movstrsi_internal): Add '&' constraint on clobbers.
2830
2831 * mips.c (output_movstrsi): If one of our temporary registers is
2832 used as an address register, don't use it and emit a warning. This
2833 is a temporary measure.
2834
2835Wed Apr 15 09:04:22 1992 Richard M. Stallman (rms at lyssenko)
2836
2837 * xm-ns32k.h (memcpy, memcmp, memset): New macro definitions.
2838 * rtl.c (gcc_memset): New function.
2839
2840Wed Apr 15 09:03:28 1992 Tom Wood (wood at dg-rtp.dg.com)
2841
2842 * m88k.md (umulsidi3): Define for m88110.
2843 (unit attribute): Define.
2844
2845 * x-m88kdgux (INSTALL_HEADERS): Define as empty.
2846
2847Tue Apr 14 13:28:11 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
2848
2849 * c-lex.c (yylex): When warn_traditional, don't abort for harmless
2850 type differences. Instead warn of possible problems on other systems.
2851
2852 * rtl.c (add_dependence): Skip notes when HAVE_cc0.
2853 * sched.c (sched_analyze_2): Likewise.
2854
2855 * sparc.md (movdf-1): Delete special case for moving 0.0 to integer
2856 registers; it resulted in poor code.
2857 (fix_truncdfsi2+1): Add patterns to optimize float->fix and
2858 float->fix->float conversions.
2859 * sparc.c (output_move_double): Clean up ldd/std code. Don't emit
2860 ldd/std for obviously unaligned address even when TARGET_HOPE_ALIGN.
2861 (output_fp_move_double): Call output_move_double for MEM cases.
2862 It is not safe to assume double reg addresses are always aligned.
2863
2864Tue Apr 14 07:55:47 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
2865
2866 * *hp800*, *hp700*: Rename to *hppa* and *hppa1.1*, respectively.
2867 * config.sub: Recognize PA model numbers for PA 1.0 and 1.1.
2868 Disable "hppa" with no model number.
2869 * configure: Update for new PA file names and basic_machine names.
2870 * README-PA-HPUX: New name for README-PA-RISC, with some corrections.
2871
2872Tue Apr 14 05:46:37 1992 Tom Wood (wood at dg-rtp.dg.com)
2873
2874 * Makefile.in ("if" and "["): Romp, 4.3 BSD, and Ultirx systems
2875 fail when the condition is false. Change troublesome instances to
2876 either use "case" or use '-' as a prefix to the compilation rule.
2877
2878Mon Apr 13 18:20:56 1992 Mike Stump (mrs@cygnus.com)
2879
2880 * dwarfout.c: Add default definition for ASM_OUTPUT_ASCII
2881 as that is what varasm.c does now. This really maybe should go
2882 into a file like tree.h or some machine independant file, for
2883 maintainability.
2884
2885Mon Apr 13 18:16:32 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
2886
2887 * sun3.h, sparc.h (LINK_SPEC): Change nostdlib to !nostdlib.
2888
2889Mon Apr 13 07:17:36 1992 John F Carr (jfc at Achates.mit.edu)
2890
2891 * rs6000.md (extzv): Generate andi[ul] when practical.
2892
2893Mon Apr 13 07:17:36 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2894
2895 * cse.c (rtx_cost, case SUBREG): If modes can't be tied, make
2896 expensive.
2897 (cse_insn): Make extra entries when DEST is a multi-word SUBREG
2898 as long as it is the same number of words as its inner REG.
2899
2900 * emit-rtl.c (gen_lowpart_common): Handle casting integer to
2901 float and vice versa.
2902
2903 * emit-rtl.c (gen_lowpart_common): Rework code to truncate a
2904 constant so we don't convert negative values into positive values;
2905 use same code as in simplify_binary_operation in cse.
2906
2907Mon Apr 13 07:16:56 1992 Richard M. Stallman (rms at mole.gnu.ai.mit.edu)
2908
2909 * cccp.c (handle_directive): When find quote during copying,
2910 give bp as limit arg in skip_quoted_string.
2911 When find \ while copying, copy next char without special handling.
2912
2913Mon Apr 13 06:57:18 1992 Tom Wood (wood at dg-rtp.dg.com)
2914
2915 * m88kv3.h (CTOR_LIST_BEGIN): Avoid complex #if.
2916
2917 * tree.h (saved_insns): Make this a union holding an rtx or an int.
2918 (DECL_FIELD_SIZE): New macro for overloaded uses of DECL_FRAME_SIZE.
2919 * c-decl.c (finish_struct): Use DECL_FIELD_SIZE for bitfields.
2920 * cp-class.c (finish_struct): Ditto.
2921 * objc-actions.c (objc_copy_list, encode_field_decl): Ditto.
2922 * stor-layout.c (layout_decl): Ditto.
2923
2924Sun Apr 12 17:46:30 1992 James Van Artsdalen (james at bigtex.cactus.org)
2925
2926 * expr.c (expand_builtin, case SQRT): Don't defer popping args on
2927 function calls, as the call might be deleted.
2928
2929 * i386.c (print_operand): Delete references to unused codes.
2930 Abort if an unrecognized code is seen.
2931
2932 * i386.md (bit opcode recognizers): Accept starting bit numbers
2933 that are constants but not CONST_INT.
2934 (QI/HI register bit test): Delete.
2935 (SImode bit test): Don't accept CONST_INT starting bit number.
2936
2937Sun Apr 12 17:05:25 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2938
2939 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add "cc" as alias for cr0.
2940
2941 * cse.c (equiv_constant): See if a MEM is foldable or has a
2942 constant equivalent.
2943
2944 * expr.c (store_constructor): If building a static constructor
2945 into a register, start out by zeroing the register so we can
2946 constant-fold the constructor to a single constant.
2947 (expand_expr, case CONSTRUCTOR): Don't write constant objects
2948 into memory if the target is a register.
2949 (expand_expr, case *_REF): Simplify getting field or array
2950 entry from a CONSTRUCTOR.
2951 Don't use value of const array unless -O.
2952
2953Sun Apr 12 14:15:33 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu)
2954
2955 * Makefile.in (compare, compare3): New targets.
2956 (mostlyclean): Delete temporary files made by those targets.
2957
2958 * stmt.c (expand_asm_operands): Ignore `cc' as clobbered reg if name
2959 not known.
2960 * varasm.c (decode_reg_name): Ret -3 if `cc' not recognized.
2961 (make_decl_rtl): Understand -3 as value.
2962
2963 * configure (i386-sequent-bsd*): Use collect2.
2964
2965Sun Apr 12 13:28:00 1992 Niklas Hallqvist (niklas@appli.se)
2966
2967 * configure: Correctly interpret use_collect2.
2968
2969Sun Apr 12 10:34:58 1992 Tom Wood (wood at dg-rtp.dg.com)
2970
2971 * c-typeck.c (digest_init): Use INIT to pass to convert_for_assignment
2972 for a raw constructor.
2973
2974 * fold-const.c (fold, case COND_EXPR): Get the type right when
2975 the test is folded away.
2976
2977 * loop.c (strength_reduce): Correct off-by-one error in INSN_LUID
2978 safety check.
2979
2980 * stor-layout (layout_record, layout_union): When limiting the
2981 effect of PCC_BITFIELD_TYPE_MATTERS to bitfields, use
2982 DECL_BIT_FIELD_TYPE to determine if it was a bitfield.
2983
2984Sat Apr 11 19:54:00 1992 Per Bothner (bothner@wombat.gnu.ai.mit.edu)
2985
2986 * config.sub: Don't "standardize" an os of newsos* to bsd
2987 (it breaks gdb/readline/configure.in, which checks for newsos*).
2988
2989Sat Apr 11 16:32:21 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
2990
2991 * Makefile.in: Remove spaces after reg-stack.o deps.
2992
2993Sat Apr 11 16:32:15 1992 Michael Meissner (meissner@osf.org)
2994
2995 * c-decl.c (init_decl_processing): Make -fno-builtin supress all
2996 builtin functions in the user's name space like memcpy, strlen,
2997 etc.
2998
2999Sat Apr 11 14:00:53 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
3000
3001 * rs6000.h (LEGITIMIZE_ADDRESS): Add missing force_reg call.
3002 Jump to WIN when we do something.
3003
3004 * rs6000.c (non_{short,add,logical,and}_cint_operand): New functions.
3005 * rs6000.h (PREDICATE_CODES): Add these predicates.
3006 * rs6000.md (addsi3, andsi3, iorsi3, xorsi3, cmpsi3): Remove
3007 define_expands; instead, add define_split for long constants.
3008
3009 * combine.c (try_combine): Try to split the pattern using
3010 split_insns before trying find_split_point.
3011 (find_split_point, case MEM): Try to split an invalid address that
3012 is a PLUS with a CONST_INT.
3013
3014 * combine.c (try_combine): Correctly check if an auto-inc
3015 side-effect has been duplicated.
3016
3017 * expr.c (expand_expr, case PARM_DECL): Return zero of proper mode
3018 if no DECL_RTL.
3019
3020 * tree.c (save_expr): Must do something with read-only tree that
3021 has side-effects.
3022 (stabilize_reference_1): Don't ignore read-only trees.
3023
3024 * reload.c (find_replacement): New function.
3025 * reload.h (find_replacement): Declare it.
3026 * reload1.c (gen_input_reload): Use it to ensure substitutions
3027 get done if we need to recreate a PLUS.
3028
3029Sat Apr 11 14:00:02 1992 John F Carr (jfc at Achates.mit.edu)
3030
3031 * cse.c (cse_end_of_basic_block): Don't stop scanning insns if a
3032 jump is found that can't be followed.
3033
3034 * genextract.c: Make insn_extract copy the address of
3035 recog_operand and recog_operand_loc into register variables.
3036
3037Sat Apr 11 13:59:17 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu)
3038
3039 * c-parse.y (stmt): Parse entire parens of `for'
3040 before actually starting the loop.
3041
3042Sat Apr 11 10:35:06 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu)
3043
3044 * caller-save.c (restore_referenced_regs): Do not call XEXP on
3045 reg_equiv_address since reg_equiv_address is already an address.
3046
3047 * expr.c (expand_builtin, case SQRT): Note the dangers involved in
3048 changing the argument test condition.
3049
3050 * m68k.md (sqrtdf2): New pattern to take advantage of the 68881
3051 sqrt function.
3052
3053Fri Apr 10 18:37:08 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
3054
3055 * hp800.c (output_function_epilogue): Output code to restore gr2 in
3056 non-frame-pointer case correctly.
3057
3058Fri Apr 10 15:24:57 1992 Michael Meissner (meissner@osf.org)
3059
3060 * decrose.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are
3061 provided.
3062
3063 * i386rose.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are
3064 provided.
3065
3066 * encrose.h (TARGET_MEM_FUNCTION): Define, memcpy/memset are
3067 provided.
3068
3069 * mips-tfile.c (copy_object): Omit the test for zero flags, since
3070 MIPS vendors are now putting bits in there.
3071
3072 * mips-svr4.h (HAVE_ATEXIT): Define, atexit is provided.
3073 (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are provided.
3074
3075 * mips-sysv.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are
3076 provided.
3077
3078 * mips-news5.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are
3079 provided.
3080 (getpagesize): Define a getpagesize that uses sysconf, just like the
3081 MIPS V.4 port.
3082
3083 * mips.c (output_block_move): Don't emit ulw/usw if GAS is the
3084 assembler, use the lwl/lwr/swl/swr building blocks instead, since
3085 GAS doesn't yet support the ulw/usw macro instructions.
3086
3087 * configure (mips-sgi-irix4): Use config/iris4.h instead of
3088 config/iris.h.
3089
3090 * iris4.h (new file): Just like iris.h, atexit is provided (unlike
3091 IRIX revision 3).
3092
3093 * iris.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are provided.
3094
3095Fri Apr 10 11:59:02 1992 James Van Artsdalen (james at bigtex.cactus.org)
3096
3097 * i386.md (cmpstr patterns): Correctly handle zero length
3098 compares. Rewrite to avoid needing scratch register.
3099
3100Thu Apr 9 14:05:04 1992 Michael Collison (collison at osf.org)
3101
3102 * i386rose.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Fix these to
3103 avoid printing NaNs, and infinity.
3104
3105Thu Apr 9 11:34:31 1992 Tom Wood (wood at dg-rtp.dg.com)
3106
3107 * m88kluna.h (DEFAULT_GDB_EXTENSIONS): Define as 0.
3108
3109Wed Apr 8 20:21:59 1992 Michael Meissner (meissner@osf.org)
3110
3111 * halfpic.c (all functions): Add a hash table for the lookup instead
3112 of linear search. Don't use bits in the IDENTIFIER node, store the
3113 information in the hash table. Always rebuild the SYMBOL_REF
3114 returned by half_pic_ptr, instead of storing it away, since the RTL
3115 gets reused at the end of the function.
3116 (half_pic_declare): New function, called when a label is laid down
3117 to say that it is no longer half-pic.
3118
3119 * halfpic.h (half_pic_declare, HALF_PIC_DECLARE): Add function
3120 defintion, and accessor macro.
3121
3122 * mips.h (HALF_PIC_DECLARE): Add dummy macro if not OSF/rose.
3123 (ASM_DECLARE_OBJECT_NAME): Invoke HALF_PIC_DECLARE on name.
3124 (ASM_DECLARE_FUNCTION_NAME): Ditto.
3125 (*_SECTION_ASM_OP): Put the leading tab back in.
3126
3127 * mips.md (dslot attribute): 'pic' type requires a delay slot, since
3128 it is really a load.
3129 (movsi): Make movsi a define_expand, and if it's moving the address
3130 of a half-pic item into a register, convert it into a load.
3131 (movsi_internal): The old movsi define_insn renamed.
3132 (movstrsi_internal): Add '=' constraint on all stores and clobbers.
3133
3134 * decrose.h (LINK_SPEC): If not -noshrlib or -pic-none, pass
3135 -warn_nopic. Allow user to pass -noshrlib directly.
3136
3137Wed Apr 8 00:11:56 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
3138
3139 * sparc.h (MOVE_MAX): Set to 8 instead of 4.
3140
3141 * sched.c (sched_analyze_2): Don't abort if find note before a CC0
3142 using insn.
3143
3144 * sparc.h (ADDITIONAL_REGISTERS_NAMES): Add. Define fake reg name
3145 ccr, for use in asm clobbers.
3146
3147 * sparc.h (TARGET_FORCE_ALIGN): Add comment explaining that it
3148 is for experimental purposes only.
3149 (FIRST_PARM_OFFSET): Add 4 when TARGET_FORCE_ALIGN to ensure that
3150 stack is double-word aligned.
3151 (FIRST_PARM_CALLER_OFFSET): Delete obsolete macro.
3152
3153 From Tom Wood:
3154 * unroll.c (final_giv_value): Put the subtracts in the right place.
3155
3156 * sparc.c (compute_last_arg_offset): Delete, no longer needed.
3157 (FRAME_POINTER_REQUIRED): Do not depend on frame size.
3158
3159Tue Apr 7 22:36:33 1992 Michael Meissner (meissner@osf.org)
3160
3161 * halfpic.c (whole file): Flesh out initial half-pic implementation
3162 for the OSF/1 reference ports. This is still a work in progress.
3163
3164 * halfpic.h (toplevel): Add declarations for half_pic_finish and
3165 half_pic_ptr. Add macros HALF_PIC_FINISH, HALF_PIC_PTR, and
3166 HALF_PIC_PREFIX.
3167
3168 * mips.h (call_memory_operand): Delete call_memory_operand
3169 function declaration.
3170 (PREDICATE_CODES): Ditto.
3171 (CONSTANT_ADDRESS_P): Correctly reject half-pic addresses.
3172
3173 * mips.c (call_memory_operand): Delete function.
3174
3175 * mips.md (call* patterns): Use memory_operand instead of
3176 call_memory_operand for predicates. Use the test not register and
3177 not CONSTANT_ADDRESS_P instead of call_memory_operand in the
3178 define_expand body to test whether the function address needs to be
3179 forced to a register.
3180
3181 * decrose.h (HALF_PIC_DEBUG): Define as true if -mdebugb, to debug
3182 the half-pic code, just like debugging normal addressing.
3183 (CPP_SPEC): Use the __<name>__ form of the language macros instead
3184 of __<name>.
3185 (LINK_SPEC): If -pic-lib and not -noshrlib, pass -warn_nopic.
3186 (LIB_SPEC): Don't pass -L/usr/ccs/lib.
3187
3188 * x-decrose (CCLIBFLAGS): Pass -pic-extern when building libgcc1.a.
3189 (LIBGCC2_CFLAGS): Pass -pic-extern when building libgcc2.a.
3190
3191Tue Apr 7 19:00:56 1992 Tom Wood (wood at dg-rtp.dg.com)
3192
3193 * xm-m88k.h (NO_SYS_SIGLIST): Not provided by the 88open standards.
3194
3195 * m88k.c (output_ascii): Generalize to support ident
3196 * m88k.h (ASM_OUTPUT_IDENT, ASM_OUTPUT_ASCII): Use output_ascii.
3197
3198 * m88k.c, m88k.md, m88k.h: Integrate all changes to support the m88110.
3199
3200Mon Apr 6 22:51:02 1992 John Wroclawski (jtw@lcs.mit.edu)
3201
3202 * mips-tfile.c (read_seek): Fix argument order in calls to
3203 fatal.
3204
3205Mon Apr 6 21:17:38 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu)
3206
3207 * merged in Cygnus sources.
3208
3209 Mon Apr 6 15:26:09 1992 Mike Stump (mrs@cygnus.com)
3210
3211 * cp-spew.c (hack_more_ids): Reimplement. Change from Niklas
3212 Hallqvist.
3213
3214 Thu Apr 2 02:36:36 1992 Mike Stump (mrs@rtl.cygnus.com)
3215
3216 * cp-*: Simplify DECL_NAME (TYPE_NAME into TYPE_IDENTIFIER.
3217
3218 * cp-call.c (build_method_call): Fix an error message.
3219
3220 * cp-parse.y (LC): Renamed to left_curly.
3221 (TYPENAME_SCOPE): Renamed to typename_scope.
3222
3223Mon Apr 6 14:04:49 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
3224
3225 * sparc.h (TARGET_HOPE_ALIGN): Fix typo, `-fast' -> `-dalign'.
3226
3227 * expr.c (expand_expr, INDIRECT_REF case): Set MEM_IN_STRUCT_P if
3228 this is an indirect of the address of an array, struct, or union.
3229
3230 * jump.c: Delete declaration of squeeze_notes.
3231 (jump_optimize): Use new return value from squeeze_notes.
3232 (squeeze_notes): Handle the case where START may be a note that
3233 must be moved outside the range. Now returns the new start value.
3234 * loop.c (find_and_verify_loops): Use squeeze_notes return value.
3235 * stmt.c (expand_end_case): Call squeeze_notes before reorder_insns.
3236 * rtl.h: Declare squeeze_notes.
3237
3238 * rs6000.h (PTRDIFF_TYPE): Define to int.
3239
3240 Mostly from tege@sics.se:
3241 * sparc.c (eligible_for_epilogue_delay): Clarify comment. Delete
3242 unreachable test of leaf_function.
3243 (singlemove_string): Correct test for when can use sethi alone.
3244 (output_function_prologue): Declare leaf_function. More
3245 efficiently frame sizes greater than 4095. Correctly handle leaf
3246 functions with frame greater than 4095.
3247 (output_function_epilogue): Likewise.
3248 (output_return): Likewise.
3249
3250Mon Apr 6 10:11:08 1992 Tim Moore (moore@defmacro.cs.utah.edu)
3251
3252 * config.sub : Add hp700 cpu type.
3253 * configure : Make hp700-bsd and hp700-hpux cases, with use of gas
3254 an option.
3255 * hp700hpuxg.h, hp800hpuxg.h : New files for using gas under hpux.
3256 * hp800.h (REGISTER_NAMES): Change to use %r style register names;
3257 required to name PA-RISC 1.1 fp registers.
3258 * x-hp800hpux : Don't invoke the assembler to compile alloca.c.
3259 * README-PA-RISC: New file.
3260
3261Mon Apr 6 08:00:06 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
3262
3263 * reorg.c (relax_delay_slots): Don't get confused when a label
3264 becomes zero (meaning end of function).
3265
3266Sun Apr 5 13:45:37 1992 Ron Guilmette (rfg at ncd.com)
3267
3268 * i860.md (floatsidf3): Fixed to expand to a correct insn sequence.
3269
3270Sun Apr 5 12:33:02 1992 John F Carr (jfc at Achates.mit.edu)
3271
3272 * rs6000.h (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CCEQmode.
3273 (SELECT_CC_MODE): Select it for equality comparison of comparison.
3274 * rs6000.c (scc_comparison_operator): Reject improper use of
3275 CCEQmode.
3276 (ccr_bit): Handle CCEQmode, where bit is always third in field.
3277 (print_operand, case 'E'): New case.
3278 * rs6000.md: New pattern to compare two comparisons with
3279 creqv/crxor.
3280 Add peephole for two consecutive scc insns.
3281
3282 * combine.c (subst, case FFS): (ffs (*_extend X)) -> (ffs X)
3283 (make_compound_operation): Handle (and (rotate X C) M).
3284
3285 * flags.h (flag_cse_skip_blocks): New variable.
3286 * toplev.c (flag_cse_skip_blocks): Define it here.
3287 (f_options): Add it to table.
3288 (main): -O2 turns it on.
3289 * cse.c (invalidated_skipped_{set,block}): New functions.
3290 (enum taken): New value, AROUND.
3291 (cse_end_of_basic_block): New argument SKIP_BLOCKS. If it is
3292 nonzero, follow a branch around a block of code which contains
3293 no labels and set status = AROUND for the jump.
3294 (cse_main): Pass FLAG_CSE_SKIP_BLOCKS argument to
3295 cse_end_of_basic_block.
3296 (cse_basic_block): If jump status is AROUND, call scan_skipped_block
3297 before following jump.
3298
3299Sun Apr 5 04:16:46 1992 James Van Artsdalen (james at bigtex.cactus.org)
3300
3301 * optabs.c (emit_cmp_insn): Add missing parameter type declaration.
3302
3303 * expr.c (expand_builtin, case SQRT): Fix typo emitting insns.
3304 Reformat to look like the rest of gcc. Use accessor macros to
3305 access fields of an RTX. Make comments match code.
3306
3307 * i386.md (cmpstr patterns): Handle zero length compares.
3308
3309Sat Apr 4 04:40:58 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
3310
3311 * reload.c (find_equiv_reg): Avoid passing zero to true_regnum.
3312
3313 * expr.c (expand_expr, case COMPONENT_REF): Handle case where we
3314 are extracting a field of a constant.
3315
3316 * a29k.h ({TEXT,READONLY_DATA,DATA}_SECTION_ASM_OP): Put tab back.
3317
3318 * rs6000.c (output_epilog): Reduce number of lines generated to
3319 write traceback table.
3320
3321 * combine.c (move_deaths): A destination is used in this insn
3322 unless is it completely overwritten.
3323
3324Sat Apr 4 04:39:16 1992 John Carr (jfc at ATHENA.MIT.EDU)
3325
3326 * expmed.c (store_bit_field, extract_bit_field): Remove redundant
3327 tests for MEM.
3328
3329 * c-common.c (binary_op_error): Handle FLOOR_DIV_EXPR, FLOOR_MOD_EXPR,
3330 *ROTATE_EXPR.
3331 * c-typeck.c (build_binary_op): Handle FLOOR_MOD_EXPR.
3332
3333Sat Apr 4 00:29:40 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3334
3335 * c-decl.c (c_decode_option): `-' was missing in -Wno-redundant-decs.
3336
3337 * Makefile.in (USE_COLLECT2, MAYBE_USE_COLLECT2): New variables.
3338 (GCC_PARTS, native, install-common): Use USE_COLLECT2.
3339 (toplev.o): Use MAYBE_USE_COLLECT2.
3340 * configure: Let particular cases set use_collect2
3341 and have that control use of collect2 through editing Makefile.
3342 Handle --with-gnu-as and --with-gnu-ld options. Ignore --with-*.
3343 --with-gnu-ld turns off use_collect2.
3344 * i386rose.h (CC1PLUS_SPEC): Deleted.
3345
3346 * gcc.c (do_spec_1): In case 'D', strip final / from prefixes.
3347
3348 * c-decl.c (push_c_function_context): Add pedantic warning.
3349
3350 * collect2.c (main): Figure STANDARD_EXEC_PREFIX into clen.
3351
3352 * c-typeck.c (get_spelling): Move alloca outside fn call.
3353
3354Fri Apr 3 16:36:54 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3355
3356 * varasm.c (output_constant_def): Set MEM_IN_STRUCT_P if nec.
3357
3358Fri Apr 3 05:32:39 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
3359
3360 * m88k.md (call_block_move{,_loop}): Don't write USE for regs
3361 we don't set; remove unneeded CLOBBERs for call-used registers.
3362
3363 * caller-save.c (insert_save_restore): Abort rather than writing
3364 out an insn having a null source or destination.
3365
3366 * explow.c (allocate_dynamic_stack_space): Don't reference
3367 STACK_BOUNDARY if it isn't defined.
3368
3369 * explow.c (allocate_dynamic_stack_space): Don't use TARGET if it
3370 isn't a pseudo reg.
3371
3372Fri Apr 3 01:50:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3373
3374 * fixinc.svr4: Don't reconvert __i386 if have _ after.
3375
3376 * c-decl.c (grokdeclarator): Use size_binop to get array hbound - 1.
3377
3378 * enquire.c: Include sys/types.h.
3379
3380 * c-typeck.c (check_format): Don't use type name for integer types
3381 or pointers to them.
3382
3383 * explow.c (allocate_dynamic_stack_space): New arg KNOWN_ALIGN.
3384 All callers changed.
3385
3386Thu Apr 2 15:24:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3387
3388 * dbxout.c (dbxout_type): Output just xref for var-size struct/union.
3389
3390 * reload.c (find_equiv_reg): In previous change, verify valtry != 0.
3391
3392Thu Apr 2 08:34:38 1992 Michael Meissner (meissner@osf.org)
3393
3394 * iris.h (SIZE_TYPE): Make type unsigned int, not unsigned long.
3395 (PTRDIFF_TYPE): Define to be 'int', not 'long int'.
3396 (WCHAR_TYPE): Define to be 'unsigned char', not 'int'.
3397 (WCHAR_TYPE_SIZE): Define to be 8, not 32.
3398
3399Thu Apr 2 06:01:07 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
3400
3401 * fold-const.c (fold, case COND_EXPR): Add missing test for zero.
3402
3403 * expr.c (expand_expr, case ARRAY_REF): Handle case of constant
3404 array whose initializer is a string.
3405
3406 * optabs.c (emit_libcall_block): Don't move up insns that set
3407 pseudos whose old values are used in previous insns.
3408
3409 * genattrtab.c (attr_rtx): Add some casts to int from enum rtx_code.
3410
3411Thu Apr 2 04:20:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3412
3413 * xm-mipsnbsd.h: New file.
3414 * configure (mips-sony-bsd*): Use that.
3415
3416 * stmt.c (expand_end_case): Move the convert_to_mode after emit_queue.
3417
3418Thu Apr 2 00:49:18 1992 James Van Artsdalen (james at bigtex.cactus.org)
3419
3420 * stmt.c (expand_end_case): Fix typo.
3421
3422Wed Apr 1 19:01:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3423
3424 * fold-const.c (size_int): Always switch to permanent_obstack
3425 to make a node that will be saved
3426
3427Wed Apr 1 15:36:19 1992 Michael Meissner (meissner@osf.org)
3428
3429 * xm-irix4.h (alloca.h): Don't include <alloca.h> if not using the
3430 GNU compiler, since the Silicon Graphics compiler's alloca complains
3431 if the result of alloca is stored in something that is not a simple
3432 variable. Just use the C version of alloca.c.
3433
3434Wed Apr 1 14:42:24 1992 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu)
3435
3436 * pyr.md (HImode compare recognizers): Don't match if subsequent
3437 branch has unsigned predicate.
3438
3439Wed Apr 1 14:20:13 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
3440
3441 * sparc.c (output_function_epilogue): Drop unused true_epilogue
3442 parameter. Delete obsolete tail-call support code, which worked
3443 by passing -1 for leaf_function.
3444 (tail_call_valid_p): Delete obsolete function.
3445 (output_tail_call): Likewise.
3446 * sparc.h (TARGET_TAIL_CALL): Delete obsolete option.
3447 (FUNCTION_EPILOGUE): Fix call to output_function_epilogue.
3448 * sparc.md (tail_call): Delete obsolete pattern.
3449
3450 * rs6000.c (output_epilogue): Output a traceback table.
3451
3452Wed Apr 1 06:42:54 1992 Tom Wood (wood at dg-rtp.dg.com)
3453
3454 * m88k.h: Override ASM_OPs added to svr4.h.
3455
3456Wed Apr 1 03:12:44 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3457
3458 * emit-rtl.c (operand_subword): Swap words from const_double if nec
3459
3460 * ns32k.h (GO_IF_INDEXING): New arg MODE; caller changed.
3461 Pass to INDEX_TERM_P.
3462
3463Tue Mar 31 18:10:10 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
3464
3465 * genattrtab.c (check_attr_value): Fix some backwards tests.
3466
3467 * expr.c (move_by_pieces{,_ninsns}): Only look at MODE_INT modes.
3468
3469 * fold-const.c (fold, case COND_EXPR): Fix typo in last change.
3470
3471 * stor-layout.c (layout_record): Add missing call to size_int.
3472
3473 * expr.c (do_store_flag): Handle case where EXP is a TRUTH_NOT_EXPR.
3474
3475Tue Mar 31 17:18:20 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu)
3476
3477 * c-decl.c (init_decl_processing): Enable `sqrt'.
3478 * expr.c (expand_builtin, case SQRT): By default check that the
3479 argument to sqrt is in sqrt's domain. If the argument is not in the
3480 domain, then call the library function. Skip argument checking if
3481 -ffast-math is in use.
3482
3483 * flags.h (flag_fast_math): Declare new variable.
3484 * toplev.c (f_options): Add flag_fast_math to table.
3485
3486Tue Mar 31 17:11:09 1992 Per Bothner (bothner@wombat.gnu.ai.mit.edu)
3487
3488 * cccp.c: Add new flag -nostdinc++ to disable searching
3489 standard C++-specific include directories. This is useful
3490 for building libg++.
3491 * gcc.c: Pass -nostdinc* to cpp, not just -nostdinc.
3492 * cpp.texi: Document -nostdinc++.
3493
3494Tue Mar 31 15:32:34 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3495
3496 * gcc.c (link_command_spec): Use %l before %X.
3497
3498 * svr4.h (MULTIBYTE_CHARS): Turned off.
3499
3500 * sun3.h, sparc.h (LINK_SPEC): Inhibit -e if -nostdlib.
3501
3502 * collect2.c (my_strerror): Renamed from strerror.
3503
3504 * reload.c (find_equiv_reg): Find constants in REG_EQUIV notes.
3505
3506 * m68k.h (PRINT_OPERAND_PRINT_FLOAT): Fix typo in #ifdef.
3507
3508 * Makefile.in (install-dir): Create include subdir.
3509
3510Tue Mar 31 18:03:21 1992 Thorsten Ohl (ohl@apollo.desy.de)
3511
3512 * x-apollo68 (CFLAGS, LIBGCC2_CFLAGS): Defined.
3513 * t-apollo68: new file, use collect2.
3514 * configure: use `t-apollo68'.
3515
3516 * apollo68.h (ASM_SPEC): Delete -C.
3517 (STRUCT_VALUE_INCOMING): Now 0.
3518 (HAVE_ATEXIT): Defined.
3519 (PROMOTE_PROTOTYPES): Delete #undef.
3520 (USER_LABEL_PREFIX): Undef.
3521 (LOCAL_LABEL_PREFIX, REGISTER_PREFIX, REGISTER_PREFIX_MD): Override.
3522 (ASM_RETURN_CASE_JUMP): Defined.
3523 (REGISTER_NAMES): Override.
3524
3525Tue Mar 31 14:59:53 1992 Tim Moore (moore@defmacro.cs.utah.edu)
3526
3527 * hp800.md (movsi+4, call_value+1): Add x,y constraints for Snake
3528 fp registers.
3529 * hp800.h (INITIAL_FRAME_POINTER_OFFSET): Fix for Snake stack
3530 alignment.
3531 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Fix for Snake fp
3532 registers.
3533 * hp800.c (output_function_prologue): Align stack for Snakes.
3534 (output_arg_descriptor): Fix Snake typos.
3535
3536 * hp700.h, hp700hpux.h : New files
3537 (TARGET_DEFAULT): Emit Snake code by default.
3538 * hp700hpux.h (HP_FP_ARG_DESCRIPTOR_REVERSED): Define to work
3539 around assembler syntax difference between 700 and 800 series HPUX.
3540 * hp800.h (ASM_DOUBLE_ARG_DESCRIPTORS): Conditionalize on the
3541 above symbol.
3542
3543Tue Mar 31 09:58:52 1992 Michael Meissner (meissner@osf.org)
3544
3545 * mips-sysv.h (getpagesize): When compiling the trampoline code,
3546 define a macro getpagesize which uses the POSIX sysconf function.
3547
3548 * mips-svr4.h (getpagesize): When compiling the trampoline code,
3549 define a macro getpagesize which uses the POSIX sysconf function.
3550
3551Mon Mar 30 19:25:48 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
3552
3553 * loop.c (strength_reduce): In recent maybe_multiple code, only
3554 apply INSN_LUID to insn when safe.
3555
3556Mon Mar 30 17:24:33 1992 Michael Meissner (meissner@osf.org)
3557
3558 * mips.c (output_block_move): Fix typos that would generate
3559 incorrect code if either the source or destination is a global or
3560 static memory address. Increment appropriate -mstats counters.
3561
3562 * x-iris (INSTALL): Use cp to install stuff, not install -c.
3563
3564Mon Mar 30 16:39:28 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3565
3566 * m68k.md: Use `\;', not `;', to separate insns.
3567
3568 * toplev.c (main): Add cast when setting debug_info_level.
3569
3570 * m68k.h (GLOBAL_ASM_OP): New macro.
3571 (ASM_GLOBALIZE_LABEL): Use that.
3572 * hp320.h, m68ksgs.h, mot3300.h (GLOBAL_ASM_OP): Override this.
3573 (ASM_GLOBALIZE_LABEL): Not this.
3574
3575 * libgcc2.c (__builtin_saveregs) [sparc]: Define both assembler labels
3576 __builtin_saveregs and ___builtin_saveregs, to handle all systems.
3577
3578 * m68k.h (TRANSFER_FROM_TRAMPOLINE): Add a globalize command.
3579 (TRAMPOLINE_TEMPLATE): Make the JSRs really JSRs.
3580 Always use precisely ___trampoline.
3581
3582Mon Mar 30 07:17:50 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
3583
3584 * reload1.c (inc_for_reload): Declare CODE consistently.
3585 (constraint_accepts_reg_p): Add missing cast.
3586
3587 * fold-const.c (fold, case TRUTH_ANDIF_EXPR): Fix typo in last change.
3588
3589Mon Mar 30 01:07:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3590
3591 * rtl.h: Don't continue #if lines.
3592
3593Mon Mar 30 03:30:54 1992 Mike Stump (mrs@cygnus.com)
3594
3595 * Merge in Cygnus cp-* sources, below are the ChangeLog entries from
3596 the Cygnus ChangeLog file. Note, I am experimenting with a slightly
3597 different format, as Tiemann would like the dates to remain intact,
3598 but Stallman does not want the dates out of order and would rather
3599 have the entries altogether anyway.
3600
3601 Sun Mar 29 16:57:31 1992 Mike Stump (mrs@rtl.cygnus.com)
3602
3603 * cp-decl.c (grokdeclarator): Handle typedef before other
3604 specifiers, as typedef is now more complex in c++ than in c.
3605
3606 Sun Mar 29 12:00:03 1992 Michael Tiemann (tiemann@cygnus.com)
3607
3608 * cp-decl.c (start_function): Always set TREE_PUBLIC if DECL1 is
3609 part of any interface.
3610
3611 * cp-cvt.c (convert_to_reference): Don't type to convert a type to
3612 itself.
3613 (build_type_conversion): Don't look for alternatives to default
3614 type conversion except to integral and real types. Fixes bug
3615 exposed in 19 March change.
3616
3617 Tue Mar 24 07:53:46 1992 Michael Tiemann (tiemann@cygnus.com)
3618
3619 * cp-tree.c (lvalue_p): POST{INC,DEC}REMENT_EXPR is not an lvalue.
3620 * cp-typeck.c (build_modify_expr): Ditto.
3621
3622 * cp-init.c (emit_base_init): If debugging, force out a line note so
3623 we can step into ctors for base initializers.
3624 (build_virtual_init): Note that we need to do some more work to
3625 handle replicated base classes in multiple inheritance lattices.
3626
3627 Mon Mar 23 00:33:35 1992 Michael Tiemann (tiemann@cygnus.com)
3628
3629 * cp-init.c (expand_aggr_init_1): Finish Mar 15 change concerning
3630 INDIRECT_REFs that have TREE_HAS_CONSTRUCTOR set.
3631
3632 * cp-call.c (build_overload_call_real): Ensure FINAL_CP->EVIL is set
3633 when FINAL_CP is non-NULL and we encounter an ERROR_MARK_NODE in the
3634 operands we are processing.
3635
3636 * cp-cvt.c (convert_to_reference): Propagate ERROR_MARK_NODE from
3637 failed type conversions.
3638
3639 Sun Mar 22 20:01:51 1992 Michael Tiemann (tiemann@cygnus.com)
3640
3641 * cp-init.c (is_aggr_typedef): Don't give an error message if NAME
3642 is ERROR_MARK_NODE.
3643
3644Sun Mar 29 09:29:10 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
3645
3646 * make-gcc.com: Remove patch from March 7.
3647
3648 * make-l2.com: Use compiler that was just built, if available,
3649 otherwise use system compiler if it is version 2.
3650
3651Sun Mar 29 19:53:33 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
3652
3653 * fold-const.c ({invert,swap}_tree_comparison): New functions.
3654 (comparison_equiv_p): Deleted.
3655 (operand_equal_for_comparison_p): New function.
3656 (invert_truthvalue): Use invert_tree_comparison.
3657 (fold): Use variables T1 and TEM consistently.
3658 Don't mix arg[01] and TREE_OPERAND (t, [01]); they aren't
3659 identical.
3660 (fold, comparison cases): Use new functions to adjust comparison
3661 codes; add var INVERT.
3662 Convert f >= f to f == f for FP and similar.
3663 Correctly compute FP <= and >= when one arg is a NaN.
3664 Clean up handling of constant results.
3665 (fold, case COND_EXPR): Rework considerably to catch more forms
3666 of abs, min, max, and -abs and also clean up; use new function
3667 operand_equal_for_comparison_p.
3668
3669Sun Mar 29 00:00:35 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3670
3671 * cse.c (simplify_relational_operation): Arg ptr reg may be 0.
3672
3673 * gcc.c: Always define R_OK, etc. if system headers don't.
3674
3675 * c-parse.y (maybe_attribute): Accept `mode (m)' attribute.
3676 * c-common.c (decl_attributes): Handle that attribute.
3677
3678 * tower.h (REGISTER_NAMES): Discard the fpa regs.
3679 * tower-as.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
3680 Don't handle fpa regs.
3681 (PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM):
3682 New macros.
3683 (PUT_SDB_DIM): Deleted.
3684
3685 * m68k.h (RTX_COSTS): Smaller multiply costs on 68040.
3686
3687 * stmt.c (expand_end_case): Reduce amount of specific modes
3688 used in handling casesi.
3689
3690 * collect2.c (savestring): Copy only SIZE bytes of string.
3691
3692 * gstddef.h: Handle __need_size_t, __need_wchar_t, __need_ptrdiff_t,
3693 and _need_null.
3694
3695 * c-typeck.c (digest_init): Save INIT with nops not stripped
3696 to pass to convert_for_assignment.
3697
3698Sun Mar 29 12:27:01 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
3699
3700 * vms.h (FUNCTION_PROLOGUE): Redefine to add 4 bytes to local
3701 storage on the stack.
3702 (STARTING_FRAME_OFFSET): Redefine as -4.
3703
3704Sun Mar 29 19:58:57 1992 Paul Eggert (eggert@twinsun.com)
3705
3706 * c-decl.c (store_parm_decls): Function prototypes now override
3707 old-style definitions if argument types disagree only because of
3708 promotions.
3709
3710Sun Mar 29 17:40:56 1992 Fred Fish (fnf at fishpond)
3711
3712 * fixincludes (stdlib.h): Fix free/calloc/malloc/realloc return types.
3713
3714Sun Mar 29 15:12:39 1992 Ron Guilmette (rfg at ncd.com)
3715
3716 * sparc.c (sparc_type_code): Added this new routine.
3717 (tree.h): Included to support `sparc_type_code'.
3718 (output_block_move): Cleaned up code to handle assembler-specific
3719 aspects of internal labels.
3720
3721 * sparc.h: (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER, LEAF_REGISTERS):
3722 Deleted spurious semicolons.
3723 (ASM_DECLARE_RESULT): New macro to generate the .proc directive.
3724 (ASM_DECLARE_FUNCTION_NAME): Changed to use ASM_DECLARE_RESULT.
3725 (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Changed to use
3726 ASM_GENERATE_INTERNAL_LABEL when generating jump table elements.
3727
3728 * svr4.h (SVR4): Don't define this symbol here. (It was never
3729 needed, and it will be used to indicate an SVR4 *host* from now on.)
3730 (SKIP_ASM_OP): Define this new macro.
3731 (ASM_OUTPUT_SKIP): Use SKIP_ASM_OP.
3732 (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Added
3733 new definitions appropriate for most SVR4 assemblers.
3734 (COMMON_ASM_OP, LOCAL_ASM_OP): Define these new macros.
3735 (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Use them.
3736 (ASM_OUTPUT_ALIGNED_LOCAL): Allocate things in common rather than
3737 trying for the .bss section (which may not work).
3738 (ASM_DECLARE_RESULT): Define this to do nothing (if not already
3739 defained for target machine).
3740 (ASM_DECLARE_FUNCTION_NAME): Add invocation of ASM_DECLARE_RESULT.
3741
3742 * dwarfout.c (ASM_DWARF_POP_SECTION): Renamed ASM_OUTPUT_POP_SECTION.
3743 (PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): New macro definitions.
3744 (SECTION_ASM_OP): Deleted. Replaced by PUSHSECTION_ASM_OP.
3745 (ASM_OUTPUT_PUSH_SECTION, PUSHSECTION_FORMAT): New macro definitions.
3746 (*_SECTION): New macro definitions for important section name strings.
3747 (ASM_DWARF_*_SECTION): Deleted all macros to change to specific
3748 sections and replaced them globally with calls to the new parameterized
3749 ASM_OUTPUT_PUSH_SECTION macro.
3750
3751Sat Mar 28 17:28:17 1992 Michael Meissner (meissner@osf.org)
3752
3753 * mips.h (MIPS_VERSION): Bump Meissner version # to 15.
3754 (output_block_move): Add function defintion.
3755 (HALF_PIC_PTR, HALF_PIC_FINISH): Provide dummy definitions.
3756 (OPTIMIZATION_OPTIONS): Set flag_gnu_linker to FALSE, and
3757 flag_no_cse_function to TRUE.
3758 (CC1PLUS_SPEC): Delete -- it just passed -fno-gnu-binutils to
3759 cc1plus.
3760
3761 * mips.c (block_move function): Use movstri_internal, instead of
3762 emitting the moves directly.
3763 (output_block_move): New function to emit the correct code for block
3764 moving a constant amount of data.
3765 (siginfo): Change options to ps.
3766
3767 * mips.md (movstrsi_internal): New block move pattern.
3768 (movsi_ulw): Add an appropriate REG_EQUIV regnote.
3769 (movsi_usw): Type attribute is store, not load.
3770
3771 * mips-gbsd.h (toplevel): Include mips-bsd.h, not mips-gbsd.h.
3772
3773 * mips-bsd.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX): Use explicit
3774 BSD43 prefixes.
3775
3776 * mips-sysv.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX): Use explicit
3777 System V prefixes.
3778
3779 * mips-svr4.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX): Use explicit
3780 System V.4 prefixes.
3781
3782 * decstatn.h (TARGET_MEM_FUNCTIONS): Define.
3783
3784Sat Mar 28 15:12:39 1992 Ron Guilmette (rfg at ncd.com)
3785
3786 * libgcc2.c (eprintf): Make argument types comsistant with assert.h.
3787 (__builtin_new, __builtin_vec_new): Declare all external functions.
3788 (default_new_handler): Use a macro for the "memory exausted" message.
3789
3790 * sparcv4.h: File completely replaced (with one that works).
3791
3792Sat Mar 28 15:09:46 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3793
3794 * toplev.c (flag_gnu_linker): Default to 0 if USE_COLLECT2.
3795
3796 * i386.h (TARGET_SWITCHES): Add svr3-shlib.
3797 (TARGET_SVR3_SHLIB): New macro.
3798 * i386v.h (ASM_OUTPUT_LOCAL): Override definition here.
3799
3800 * Makefile.in (gcc.xtar): Update version in README.
3801
3802 * libgcc2.c [sparc] (__builtin_saveregs): Add optional .proc,
3803 .type and .size assembler commands.
3804
3805 * dbxout.c (dbxout_type): New arg SHOW_ARG_TYPES. All calls changed.
3806 (dbxout_type_methods): Mostly rewritten, with Tiemann's help.
3807
3808 * Eliminate limit on alignment value of a variable or field.
3809 * tree.h (DECL_ALIGN): Use frame_size slot.
3810 (struct tree_decl): `align' slot deleted.
3811 * print-tree.c (print_node): Print `align' or `frame_size', not both.
3812 * expr.c (get_pointer_alignment): Don't use DECL_ALIGN of function.
3813 * c-decl.c (duplicate_decls, finish_enum): Likewise.
3814 * tree.c (make_node): Likewise.
3815 * c-common.c (decl_attributes): Eliminate limit of 255 on alignment.
3816
3817 * collect2.c: Don't include gstdarg.h or gvarargs.h.
3818 Make error messages follow standards.
3819 (error, fatal, fatal_perror): Don't use varargs.
3820 Accept as many args as anyone tries to use.
3821
3822 * cp-decl2.c: Get rid of -fgnu-binutils.
3823
3824 * ns32k.h (INDIRECTABLE_ADDRESS_P): Deleted.
3825 (GO_IF_NONINDEXED_ADDRESS): Delete dupllicate test for reg+offset.
3826 (MEM_REG): Don't accept constant here.
3827 (INDIRECTABLE_2_ADDRESS_P): Adapt usage of MEM_REG.
3828 (GO_IF_INDEXING, GO_IF_INDEXABLE_ADDRESS): New macros.
3829 (GO_IF_LEGITIMATE_ADDRESS): Use them.
3830
3831Sat Mar 28 20:48:20 1992 Chip Salzenberg (chip at tct.com)
3832
3833 * stor-layout.c (layout_record, layout_union):
3834 Limit effect of PCC_BITFIELD_TYPE_MATTERS to actual bitfields.
3835 (layout_decl): Do not override a packed decl's alignment.
3836
3837 * c-common.c (decl_attributes): Don't expect a simple
3838 attribute like "packed" to be in a LIST_NODE.
3839
3840 * c-decl.c (finish_struct): If a field has the "packed"
3841 attribute, don't override it with type's normal alignment.
3842
3843Sat Mar 28 06:51:12 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
3844
3845 * integrate.c (initialize_for_inline): Replace DECL_INCOMING_RTL
3846 if it has an address shared with DECL_RTL, not just when the entire
3847 value is shared.
3848
3849 * rs6000.c (input_operand): Clean up and make comments agree with
3850 code; no changes to what is matched.
3851
3852 * loop.c (add_label_notes): Handle operands of type 'E'.
3853
3854 * rs6000.c (print_operand, case 'A'): Fix typo.
3855
3856Sat Mar 28 01:29:06 1992 James Van Artsdalen (james at bigtex.cactus.org)
3857
3858 * output.h (current_function_uses_const_pool): New declaration.
3859
3860 * i386.c (function_{prologue,epilogue}, simple_386_epilogue):
3861 If the constant pool is used, the PIC reg will be used.
3862
3863 * expr.c (expand_builtin): Add support for named pattern strlenM.
3864 * expr.h (strlen_optab): New declaration.
3865 * optabs.c (init_optabs): Initialize strlen_optabs.
3866 * i386.md (strlensi): New pattern.
3867
3868Fri Mar 27 12:11:03 1992 Fred Fish (fnf at fishpond)
3869
3870 * fixinc.svr4 (dbm.h): Fix unconditional redefinition of NULL
3871
3872 * config.sub: Add i486 as a distinct CPU type. Recognize i486v4
3873 as distinct from i386v4. Change ncr3000 to i486.
3874 * configure: Add i486-ncr-sysv4.
3875 * config/x-ncr3000: New file.
3876
3877Fri Mar 27 18:44:45 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
3878
3879 * fold-const.c (twoval_comparison_p, eval_subst): New functions.
3880 (fold): If an operand of a comparison is a COMPOUND_EXPR, move
3881 it outside the comparison.
3882 (case GT_EXPR, ...): Replace old code to fold comparisons
3883 of comparisons with new code using new functions above.
3884 When changing code of unsigned comparisons, set variable CODE.
3885
3886 * expr.c (get_inner_reference): Return BLKmode and -1 size for a
3887 variable-sized object instead of aborting.
3888 (do_jump, case COMPONENT_REF): If get_inner_reference returns a
3889 size of -1, don't do anything special.
3890 * fold-const.c (optimize_bit_field_compare, decode_field_reference):
3891 Likewise.
3892
3893 * combine.c (reg_bitfield_target_p): Replace test with one that
3894 compares the register number of X with that of a register which
3895 is the target of the assignment.
3896
3897 * loop.h (struct_induction): New field maybe_multiple.
3898 * loop.c (strength_reduce): Track when code may be executed more
3899 than once per iteration; pass to record_biv.
3900 Call update_giv_derive on every JUMP_INSN.
3901 (record_biv): Copy new maybe_multiple arg to struct induction.
3902 (record_giv): Clear maybe_multiple.
3903 (update_giv_derive): If passing JUMP_INSN, look at maybe_multiple
3904 in biv update.
3905
3906 * expr.c (expand_expr, case MODIFY_EXPR): Add missing call to
3907 do_pending_stack_adjust.
3908
3909 * rs6000.h (OBJECT_FORMAT_COFF): Add definition.
3910
3911Fri Mar 27 15:58:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3912
3913 * c-typeck.c (check_format): If arg wants void *, accept any ptr.
3914
3915 * ns32k.md (CALL_MEMREF_IMPLICIT, MOVD_FLOAT_OK):
3916 New parameters replace GAS_SYNTAX.
3917 * pc532.h (CALL_MEMREF_IMPLICIT, MOVD_FLOAT_OK): Define both.
3918 * sequent.h (CALL_MEMREF_IMPLICIT): Defined.
3919
3920 * sequent.h (INDEX_RATHER_THAN_BASE): Defined.
3921 * ns32k.c (print_operand_address): Check it here.
3922
3923 * ns32k.c (print_operand_address): Treat all non-ints as symbolic.
3924 (print_operand): Likewise. Also fix typo, use PUT_ABSOLUTE_PREFIX,
3925 and test NO_ABSOLUTE_PREFIX_IF_SYMBOLIC.
3926
3927 * svr4.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
3928 Output newline after section op.
3929 * i860v3.h (DTORS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP):
3930 Delete newlines.
3931
3932 * Makefile.in (clean): Don't delete stage*.
3933 (distclean): Do it here.
3934 (extraclean): Delete config/patch*.
3935
3936 * Makefile.in (SYSCALLS.c): Target deleted.
3937 (SYSCALLS.c.X): Create SYSCALLS.c and use it in one rule. Delete also.
3938
3939 * Makefile.in (ld): New target.
3940 * t-* (ld, collect2*): Targets deleted.
3941 (EXTRA_PROGRAMS): Moved ld here if it was in EXTRA_PASSES.
3942 (EXTRA_PASSES): Delete ld.
3943
3944 * gcc.c, cccp.c: Don't include sys/file.h.
3945
3946 * fold-const.c (operand_equal_p): Floats must match bit for bit.
3947
3948 * gcc.c (link_command_spec): Put back -u*.
3949
3950Fri Mar 27 11:33:46 1992 Simon J. Gerraty (sjg@melb.bull.oz.au)
3951
3952 * configure (m68k-bull-sysv*): Added config for Bull DPX/2
3953 * dpx2.h, dpx2g.h: New files.
3954 * x-dpx2200, x-dpx2300, t-dpx2: New files.
3955 * gstddef.h: Added _SIZET_ to the list of protection for size_t
3956
3957Fri Mar 27 14:47:47 1992 Paul Eggert (eggert@twinsun.com)
3958
3959 * c-typeck.c (convert_arguments): -Wconversion wrongly warned when
3960 passing enums, and didn't warn about int precision mismatches.
3961
3962 * fold-const.c (fold): If IEEE, 0-x is not x.
3963
3964 * cse.c (simplify_unary_operation): fabs(-0.0) is 0.0, not -0.0.
3965 * fold-const.c: Replace target_minus_zero with target_negative.
3966 (fold_convert): Warn when converting NaN constants to integer.
3967 (fold): fabs(-0.0) is 0.0, not -0.0. 0-x may not equal -x.
3968 Do not optimize X++ == C to ++X == C+1 if C is floating point,
3969 because it runs afoul of rounding error.
3970 * real.h (REAL_VALUE_NEGATIVE): Add.
3971
3972Fri Mar 27 09:19:11 1992 Tom Wood (wood@dg-rtp.dg.com)
3973
3974 * m88k.c (emit_move_sequence): Check the size required for a zero
3975 constant.
3976
3977 * varasm.c (const_hash, compare_constant_1, record_constant_1):
3978 For constructor of an array, include the size of the array in bytes.
3979
3980Fri Mar 27 09:09:53 1992 Michael Meissner (meissner@osf.org)
3981
3982 * t-decstatn (ALL): Remove variable.
3983 * t-decrose (ALL): Ditto.
3984 * t-i386rose (ALL): Ditto.
3985 * t-encrose (ALL): Ditto.
3986
3987Fri Mar 27 17:51:32 1992 Jim Wilson (wilson@sphagnum.cygnus.com)
3988
3989 * rs6000.c (first_reg_to_save): When profiling, save space for the
3990 argument registers, which need to be saved around the mcount call.
3991 (output_prolog): Mark the link register as live when profiling.
3992 (output_function_profiler): New function. Output code to call
3993 mcount.
3994 * rs6000.h (LIB_SPEC): Replace incorrect definition. Add
3995 -L/lib/profiled and -L/usr/lib/profiled when profiling, -lg when
3996 debugging, and -lc always.
3997 (OVERRIDE_OPTIONS): No longer zero profile_flag.
3998 (FUNCTION_PROFILER): Call output_function_profiler.
3999
4000 * .gdbinit (complaints): Set to 20.
4001 (pbs): New command to call the cc1plus print_binding_stack function.
4002
4003 * calls.c (expand_call): Delete obsolete references to is_builtin_new.
4004
4005 * Makefile.in (Makefile): Add dependence on version.c.
4006
4007Thu Mar 26 19:21:00 1992 James Van Artsdalen (james at bigtex.cactus.org)
4008
4009 * i386.md (fixuns_truncMN2,fix_truncMdf2): Make a copy of the input
4010 operand and clobber that, rather than clobbering the operand itself.
4011
4012Thu Mar 26 18:06:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4013
4014 * protoize.c (shortpath): Add early check of size of shortname.
4015
4016 * expr.c (do_jump): Adjust stack after any code that might be skipped.
4017
4018Thu Mar 26 06:37:35 1992 Michael Meissner (meissner@osf.org)
4019
4020 * mips.c (toplevel): If NO_STAB_H is defined, include gstab.h
4021 instead of stab.h.
4022
4023Thu Mar 26 02:21:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4024
4025 * Makefile.in (STAGESTUFF): Add EXTRA_PROGRAMS.
4026
4027 * configure: Reorder mips alternatives; put mips-mips-* at end.
4028
4029 * sparc.h (FRAME_POINTER_REQUIRED): 0 if frame is too big.
4030 * sparc.c (compute_last_frame_offset): New function.
4031
4032Wed Mar 25 21:17:36 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
4033
4034 * genattrtab.c (check_attr_test): Use XSTR instead of XEXP in one
4035 place.
4036
4037 * genextract.c (mark_operand_seen): Call xrealloc properly.
4038
4039Wed Mar 25 17:05:56 1992 Torbjorn Granlund (tege at zevs.sics.se)
4040
4041 * hp800.c (srcsi_operand): New function.
4042 * hp800.md (mulsi, divsi, udivsi, modsi, umodsi): Use srcsi_operand
4043 for inputs.
4044 (mulsi): Use general_operand for output.
4045 (one_cmplsi2): Use register_operand for output.
4046
4047Wed Mar 25 15:50:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4048
4049 * m68k.md (fsgldiv pattern): If FSGLDIV_USE_S, opcode has .s, not .x.
4050 * amix.h (FSGLDIV_USE_S): Defined.
4051
4052 * xm-rs6000.h (REAL_NM_FILE_NAME): Defined.
4053
4054 * x-i386sco (CCLIBFLAGS): Define as empty.
4055
4056Wed Mar 25 16:52:53 1992 Michael Meissner (meissner at osf.org)
4057
4058 * collect2.c (OSF/rose scan_prog_file): If we are building a
4059 program instead of a shared library, don't create an initializer
4060 function entry.
4061
4062Tue Mar 24 04:00:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4063
4064 * Version 2.1 released.
4065
4066 * xcoffout.h: Renamed from xcoff.h.
4067 * dbxout.c, final.c, toplev.c, varasm.c, xcoffout.c: Use new name.
4068 * Makefile.in: Corresponding changes.
4069
4070 * dbxout.c (dbxout_type): Don't check DECL_IGNORED_P.
4071
4072 * t-rs6000: Complete replacement, to build collect2 properly.
4073
4074 * Makefile.in (mostlyclean): Delete sorted indices that aren't used.
4075 (extraclean): Delete patch outputs, *.d, *.Z, *.tar.
4076
4077 * Makefile.dos (getpwd.o): New target.
4078 (OBJS, protoize, unprotoize): Add getpwd.o.
4079 (SYSCALLS.c, SYSCALLS.c.X): Copy from Makefile.in.
4080
4081Tue Mar 24 06:26:26 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
4082
4083 * cse.c (cse_insn): When deleting dead code after
4084 making unconditional branch, check for end of chain.
4085
4086 * sched.c (update_flow_info): Add code for REG_LABEL case.
4087
4088 * function.c (instantiate_virtual_regs_1): Don't modify a MEM
4089 without copying it unless the modified MEM is valid.
4090
4091 * cse.c (rtx_cost): Assign ASM_OPERANDS a high cost.
4092
4093Tue Mar 24 05:48:25 1992 Ken Raeburn (raeburn@wombat.gnu.ai.mit.edu)
4094
4095 * cp-*: Disabled 22 March changes relating to dbxout.c; the problem
4096 will be fixed properly, with more extensive reworking of the C++
4097 front end, later. This fix was buggy.
4098 * dbxout.c (dbxout_type_methods): Reverted 22 March changes; if a
4099 template class is passed, print a warning message and emit no info
4100 about methods.
4101
4102Mon Mar 23 14:18:30 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
4103
4104 * make-cc1.com: Add getpwd.c.
4105
4106Mon Mar 23 12:53:02 1992 Jyrki Kuoppala (jkp@batman.cs.hut.fi)
4107
4108 * pc532-min.h (HAVE_ATEXIT): Defined.
4109
4110 * ns32k.c (print_operand) [PC_RELATIVE]:
4111 Always use output_address for MEM.
4112
4113 * pc532.h (BASE_REG_NEEDED): Defined.
4114
4115Mon Mar 23 07:28:14 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
4116
4117 * combine.c (try_combine): Correct error in last change; don't
4118 pass STRICT_LOW_PART or ZERO_EXTRACT to reg_overlap_mentioned_p.
4119
4120 * sun3.h (CPP_SPEC): Delete extra brace.
4121
4122Mon Mar 23 02:43:56 1992 Michael Tiemann (tiemann@mole.gnu.ai.mit.edu)
4123
4124 * cp-decl.c (pop_from_top_level): Take care of C_C_D.
4125
4126Sun Mar 22 17:24:09 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
4127
4128 * pyr.h: Remove TARGET_INDEX. Update other TARGET switches.
4129 Fix several comments.
4130 (REGNO_OK_FOR_BASE_P): Allow reg 0.
4131 (REGNO_OK_FOR_INDEX_P): Reformulate.
4132 (REG_OK_FOR_INDEX_P): Disallow reg 0.
4133
4134Sun Mar 22 15:10:49 1992 Michael Meissner (meissner@osf.org)
4135
4136 * mips-tfile.c (mark_stabs): Make function defintion agree with
4137 prototype.
4138
4139 * mips.md (cpu, branch_likely attributes): Make these attributes
4140 const.
4141 (all functional units): Restore functional units that look at the
4142 -mcpu= switch for scheduling now that genattrtab uses less memory.
4143
4144Sun Mar 22 13:57:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4145
4146 * c-typeck.c (convert_for_assignment):
4147 Only explicit 0 converts to pointer.
4148
4149 * Makefile.in (doc): Don't depend on gplus.info.
4150 (gplus.info): Target deleted.
4151
4152 * c-decl.c (store_parm_decls): Call build_type_copy with just one arg.
4153
4154 * cccp.c (do_include): Use entire filename when checking for repeat.
4155 Use lookup_include.
4156 (lookup_include): New function.
4157
4158 * protoize.c (find_extern_def): Store ??? one char at a time.
4159
4160 * sparc.h (ASM_OUTPUT_FLOAT): Fix typo.
4161
4162 * fold-const.c (operand_equal_p): Reject NaNs and infinities.
4163
4164 * varasm.c (immed_real_const): Distinguish minus zero from zero.
4165
4166 * sparc.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):
4167 Use `inf' for infinities. Use hex for minus-zero.
4168
4169 * objc-actions.c (build_selector_translation_table):
4170 Don't make a duplicate decl here for _OBJC_SELECTOR_REFERENCES.
4171 Just call finish_decl to store the initial value.
4172 Call push_obstack_nochange to balance with finish_decl.
4173 Use selector_type for declaring individual selector names.
4174
4175Sun Mar 22 13:11:32 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
4176
4177 * loop.c (update_giv_derive): Correctly handle the case where
4178 more than one biv update occurs after a giv is defined.
4179
4180 * cse.c (rehash_using_reg): Add missing arg to call to exp_equiv_p.
4181
4182 * expmed.c (expand_mult_add): Add missing arg to call to type_for_mode.
4183
4184 * reorg.c (fill_slots_from_thread): In the case where have a reg-reg
4185 copy and will substitute our destination for our source in the
4186 following insn, correctly check for it modifying our destination.
4187
4188Sun Mar 22 09:20:16 1992 Michael Tiemann (tiemann@cygnus.com)
4189
4190 * cp-typeck.c (unary_complex_lvalue): Don't complain about taking
4191 the ``address'' of a bound static method or member.
4192
4193 * cp-init.c (resolve_offset_ref): Fix bug in handling of static
4194 members and member functions.
4195
4196 * cp-decl2.c (finish_file): If CURRENT_CLASS_TYPE is non-NULL on
4197 entry to this function, punt.
4198
4199 * cp-parse.y (template_parm): Use CLASS_TYPE_NODE instead of
4200 CLASS_TYPE value.
4201
4202 * cp-cvt.c (build_type_conversion): Add another add-hoc rule to find
4203 unsigned->int conversion (if conversion to long does not exist).
4204
4205 * cp-method.c (build_overload_name): Don't call `array_type_nelts'
4206 if the TYPE_DOMAIN of an array type is NULL_TREE.
4207
4208 * cp-init.c (build_offset_ref): Set up and use DECL even in case
4209 where NAME resolves to a method.
4210
4211 * cp-call.c (ideal_candidate): Half of Jan 28 change was missing.
4212 Now PARMS are not converted in place if BASETYPE is NULL.
4213
4214 * cp-typeck.c (build_component_ref): Don't return a TYPE_DECL.
4215
4216 * cp-type2.c (build_functional_cast): If CURRENT_FUNCTION_DECL is
4217 NULL, don't wrap EXPR_AS_CTOR in a NEW_EXPR. This make it possible
4218 to parse default initializers that involve constructor calls.
4219 * cp-typeck.c (convert_for_initialization): Handle this change.
4220 * cp-method.c (dump_init): Grok INDIRECT_REFs that have
4221 TREE_HAS_CONSTRUCTOR set.
4222
4223 * cp-decl.c (push_overloaded_decl): Don't use the
4224 DECL_ASSEMBLER_NAME for GLOB as the TREE_PURPOSE of the new GLOB.
4225 Use ORIG_NAME instead.
4226
4227 * cp-decl.c (grokvardecl): If FIELD has incomplete type, complete it
4228 with TYPE.
4229
4230 * cp-decl2.c (flag_this_is_variable): Define the value -2 to mean an
4231 object of known type is being constructed.
4232 * cp-decl.c (resolves_to_fixed_type_p): Test FLAG_THIS_IS_VARIABLE
4233 for the value -2 instead of testing DECL_CONSTRUCTOR_P in case we
4234 are looking at `current_class_decl'.
4235 * cp-search.c (init_vbase_pointers): Set FLAG_THIS_IS_VARIABLE to -2
4236 instead of 0.
4237 (build_vbase_vtables_init): Ditto.
4238 * cp-*.c: All tests of FLAG_THIS_IS_VARIABLE changed to reflect the
4239 new semantics.
4240
4241 * cp-typeck.c (comptypes): Don't use IS_AGGR_TYPE_2; test explicitly
4242 that both are RECORD_TYPE.
4243 (build_binary_op_nodefault): Ditto.
4244 (convert_for_assignment): Ditto.
4245 * cp-cvt.c (convert_to_pointer): Ditto.
4246 (convert_to_pointer_force): Ditto.
4247 * cp-call.c (convert_harshness): Ditto.
4248
4249 * cp-search.c (get_first_matching_virtual): Fix typo.
4250
4251 * cp-tree.c (layout_basetypes): When warning about certain
4252 inheritance relationships, only print "virtual" when the
4253 inheritance is virtual.
4254
4255Sun Mar 22 01:28:41 1992 Ken Raeburn (Raeburn@Cygnus.COM)
4256
4257 Fix dbx info for methods of template classes:
4258 * cp-decl.c (make_type_decl): New function. Creates a TYPE_DECL
4259 node and assigns as its DECL_ASSEMBLER_NAME the encoded form of the
4260 type name as it will be used in assembler output. All calls to
4261 build_decl(TYPE_DECL,...) changed to call this.
4262 * dbxout.c (dbxout_type_methods): Instead of skipping digits and
4263 assuming the human-readable type name follows in the assembler names
4264 for methods, use DECL_ASSEMBLER_NAME of the type.
4265 Handle the special DECL_NAME that is made for templates.
4266 * cp-lex.c (build_lang_field_decl): Set DECL_ASSEMBLER_NAME
4267 correctly if new decl is a TYPE_DECL.
4268 (build_lang_decl): Ditto.
4269 * cp-decl.c (pushdecl): Use DECL_ASSEMBLER_NAME only for
4270 FUNCTION_DECL and VAR_DECL nodes; all others use DECL_NAME.
4271 * cp-tree.h (make_type_decl): Declare it.
4272
4273 * cp-pt.c (overload_template_name, undo_template_name_overload):
4274 Revert 4 March change.
4275
4276 * cp-decl2.c: No longer define NEW_OVERLOAD_SCHEME.
4277 (grokfield): Use new encoding scheme always.
4278
4279 * cp-pt.c (overload_template_name): Deleted extra assignment to
4280 IDENTIFIER_LOCAL_VALUE slot.
4281
4282 * cp-method.c (dump_aggr_type): Use DECL_CONTEXT rather than
4283 DECL_CLASS_CONTEXT.
4284
4285 * cp-pt.c (instantiate_class_template): Move some common code from
4286 two branches to before branch point.
4287
4288 * cp-method.c (dump_aggr_type): Don't discard last character of
4289 context string; it's not whitespace.
4290
4291Sun Mar 22 15:58:48 1992 Per Bothner (bothner@rtl.cygnus.com)
4292
4293 * cp-tree.h: Add more enum->int casts needed by some compilers.
4294
4295Sun Mar 22 20:40:25 1992 Mike Stump (mrs@cygnus.com)
4296
4297 * cp-typeck.c (build_modify_expr): Handle preincrement and
4298 predecrement as valid lvals.
4299
4300 * gplus.gperf: Finish off changing ASM to ASM_KEYWORD.
4301 * cp-hash.h: Rebuilt.
4302
4303Sat Mar 21 15:43:04 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4304
4305 * c-typeck.c (build_c_cast): Don't warn if convert explicit 0 to ptr.
4306
4307 * local-alloc.c (wipe_dead_reg): If insn has multiple sets and
4308 the reg appears in a destination, extend life to end of insn.
4309 * global-alloc.c (global_conflicts): Analogous change.
4310 (mark_reg_conflicts): New function.
4311 * combine.c (try_combine): If I2 has multiple dests, make sure
4312 we don't change one of them to overlap anything used within another.
4313
4314 * configure (pyramid): Commented out.
4315
4316 * toplev.c (main): Handle -gen-aux-info, with argument.
4317 (compile_file): Assume aux_info_file_name already computed.
4318 Don't make it local here.
4319 * protoize.c (munge_compile_params): Produce -aux-info.
4320 Set aux_info_file_name_index.
4321 (gen_aux_info_file): Produce and store the aux-info file name.
4322 (input_file_name_index): Renamed from filename_index.
4323 (aux_info_file_name_index): New var.
4324 * Makefile.in (SYSCALLS.c.X): Use -aux-info.
4325 * gcc.c, hp800.h, next.h, sparc.h, sun2.h, sun3.h, svr4.h:
4326 (WORD_SWITCH_TAKES_ARG): Handle -aux-info.
4327 * gcc.c (default_compilers): Pass -aux-info to cc1*.
4328
4329 * configure (mips-*-sysv*): Renamed from mips-*-sysv and moved down.
4330
4331 * gcc.c (execute): Undo Mar 12 change.
4332
4333 * configure (i386-*-bsd*): New alternative.
4334 * i386bsd.h: New file.
4335
4336Sat Mar 21 15:14:08 1992 Ron Guilmette (rfg at ncd.com)
4337
4338 * sparc.c (output_move_double): Check for XEXP (op2, 0) being a
4339 LOW_SUM, rather than checking op2. Handle both ldd and std there.
4340
4341Sat Mar 21 14:14:10 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
4342
4343 * vms.h (CPP_PREDEFINES): Do not define __GNU__.
4344
4345Sat Mar 21 21:35:37 1992 Jyrki Kuoppala (jkp@batman.cs.hut.fi)
4346
4347 * ns32k.md (call_value): Added a missing "{".
4348
4349 * ns32k.c (print_operand): Fixed typo X -> x, FILE -> file.
4350
4351Sat Mar 21 11:11:04 1992 Michael Meissner (meissner@osf.org)
4352
4353 * mips.h (MIPS_VERSION): Bump Meissner version # to 14.
4354 (CPP_PREDEFINES): Always define SYSTYPE_BSD43.
4355 (CPP_SPEC): Don't define it here.
4356 (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to MIPS assembler,
4357 and only pass -nocpp by default unless .s files are assembled for
4358 MIPS compatibility.
4359 (LINK_SPEC): Pass -mips1/-mips2/-mips3 to MIPS linker.
4360 (MD_STARTFILE_PREFIX): Define to be /usr/lib/cmplrs/cc/ if not
4361 already defined.
4362 (NM_FLAGS): Define as appropriate for most MIPS systems.
4363 (PREFERRED_DEBUGGING_TYPE): If -ggdb prefer stabs over the normal
4364 ECOFF debug format, but -g selects ECOFF.
4365 (DEFAULT_GDB_EXTENSIONS): Define as 1.
4366 (DOLLARS_IN_IDENTIFIERS): Don't define if already defined.
4367
4368 * mips.c (mips_output_filename): If emitting encapsulated stabs,
4369 emit #@stabs immediately after the first .file, so that the @stabs
4370 is the second symbol. GDB 4.4 only checks symbol #2 to see whether
4371 it is encapsulated stabs, or ECOFF.
4372
4373 * mips.md (subdi define_splits): Use ltu instead of lt.
4374 (branch_zero_true): Generate correct code when not optimizing, and
4375 an always true/false branch is generated.
4376 (branch_zero_false): Ditto.
4377
4378 * mips-bsd.h (CPP_PREDEFINES): Always define SYSTYPE_BSD43.
4379 (CPP_SPEC): Don't define it here. Remove -Z{BSD43,SYSV} support.
4380 Don't pass -I in here.
4381 (SYSTEM_INCLUDE_DIR): Define to be /bsd43/usr/include.
4382 (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker. Remove
4383 -Z{BSD43,SYSV} support. Always pass -systype /bsd43/ to the linker.
4384
4385 * mips-sysv.h (CPP_PREDEFINES): Always define SYSTYPE_SYSV.
4386 (CPP_SPEC): Don't define it here. Remove -Z{BSD43,SYSV} support.
4387 Don't pass -I in here.
4388 (SYSTEM_INCLUDE_DIR): Define to be /sysv/usr/include.
4389 (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker. Remove
4390 -Z{BSD43,SYSV} support. Always pass -systype /sysv/ to the linker.
4391 (MD_STARTFILE_PREFIX): Remove, this is now defined in mips.h.
4392
4393 * mips-news.h (CPP_SPEC): Don't pass -I in here.
4394 (SYSTEM_INCLUDE_DIR): Define to be /usr/include2.0.
4395 (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to MIPS assembler,
4396 and only pass -nocpp by default unless .s files are assembled for
4397 MIPS compatibility.
4398 (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker.
4399
4400 * mips-news5.h (CPP_PREDEFINES): Define SYSTYPE_SYSV.
4401 (CPP_SPEC): Don't define it here. Remove -Z{BSD43,SYSV} support.
4402 Don't pass -I here.
4403 (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker.
4404
4405 * iris.h (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to MIPS
4406 assembler, and only pass -nocpp by default unless .s files are
4407 assembled for MIPS compatibility.
4408 (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker.
4409
4410 * iris.h (DOLLARS_IN_IDENTIFIERS): Define as 0, for iris assembler.
4411 (NO_DOLLAR_IN_LABEL): Define, to force static constructors to use a
4412 period instead of a dollar sign.
4413
4414 * decstatn.h (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to
4415 MIPS assembler, and only pass -nocpp by default unless .s files are
4416 assembled for MIPS compatibility.
4417 (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the MIPS linker.
4418
4419 * decsrose.h (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to
4420 MIPS assembler, and only pass -nocpp by default unless .s files are
4421 assembled for MIPS compatibility.
4422 (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the MIPS linker.
4423
4424 * Makefile.in (collect2.o): Define macros where the standard places
4425 binaries are installed, so that if it is invoked outside of gcc, it
4426 has a better chance of finding the correct version of the tools to
4427 invoke.
4428
4429 * mips-tdump.c (toplevel): Declare things void * on Silicon Graphics.
4430
4431 * mips-tfile.c (toplevel): Declare things void * on Silicon
4432 Graphics.
4433 (stabs_seen): Move static variable to file scope.
4434 (mark_stabs): New function to put out the @stabs symbol for GDB to
4435 switch to encapsulated stabs.
4436 (pseudo_ops): Call mark_stabs if #@stabs found.
4437 (parse_stabs_common): Call mark_stabs if needed to add @stabs.
4438
4439 * sdbout.c (sdbout_dequeue_anonymous_types): Don't core dump if
4440 TREE_VALUE is null.
4441
4442 * decstabs.h (new file): DECstation w/encapsulated stabs.
4443 * irisgdb.h (new file): SGI iris w/encapsulated stabs.
4444 * mips-gbsd.h (new file): Mips BSD43 w/encapsulated stabs.
4445 * mips-gdb.h (new file): Mips w/encapsulated stabs.
4446 * mips-gnews.h (new file): Sony NEWS w/encapsulated stabs.
4447 * mips-gnews5.h (new file): Sony NEWS 5.0 w/encapsulated stabs.
4448 * mips-gsvr4.h (new file): Mips SV.4 w/encapsulated stabs.
4449 * mips-gsysv.h (new file): Mips SV.3 w/encapsulated stabs.
4450 * mips-svr4.h (new file): Mips System V.4.
4451 * x-iris (new file): Specify that iris needs alloca.o since it's
4452 alloca is buggy.
4453
4454 * dbxout.c (toplevel): If NO_STAB_H is defined, include gstab.h just
4455 like if USG is defined.
4456 * final.c (toplevel): Ditto.
4457 * mips-tfile.c (toplevel): Ditto.
4458 * xcoffout.c (toplevel): Ditto.
4459
4460 * xm-mips.h (NO_STAB_H): Define, except on OSF/1.
4461
4462Fri Mar 20 23:51:54 1992 James Van Artsdalen (james at bigtex.cactus.org)
4463
4464 * reg-stack.c (subst_asm_stack_regs): A REG_UNUSED note never
4465 applies to an input reg, even if that reg is tied to an output.
4466
4467 * reg-stack.c (record_asm_reg_life): Use XVECLEN only on a PARALLEL.
4468 (subst_asm_stack_regs): Likewise.
4469
4470Fri Mar 20 18:57:43 1992 Michael Meissner (meissner@osf.org)
4471
4472 * mips.h (MIPS_VERSION): Bump Meissner version # to 13.
4473 (mips_declare_object): Declare new function.
4474 (ASM_OUTPUT_LABEL): Remove cruft from when collect spit out assembly
4475 language instead of C code.
4476 (ASM_GLOBALIZE_LABEL): Ditto.
4477 (ASM_OUTPUT_INT): Ditto.
4478 (ASM_OUTPUT_INT_CONST): Remove, no longer used.
4479 (ASM_OUTPUT_PTR_INT_SUM): Ditto.
4480 (ASM_OUTPUT_LABEL): Don't set that we've seen an identifier here.
4481 (ASM_DECLARE_OBJECT_NAME): New macro, call mips_declare_object to
4482 emit the label, and mark that no .extern is needed for the name.
4483 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Call mips_declare_object.
4484
4485 * mips.c (mips_declare_object): New function to output the stuff
4486 needed for global variables, bss variables, and static bss
4487 variables.
4488
4489Fri Mar 20 14:13:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4490
4491 * cp-xref.c (GNU_xref_file): Get rid of arbitrary limit--malloc nmbuf.
4492
4493 * cp-parse.y (scoped_id): Error if spec'd type is undefined.
4494
4495 * m68k.c (output_function_epilogue): Output at least a nop.
4496
4497 * xm-hp320.h (USG): Defined.
4498
4499 * m68k.c (output_function_prologue, output_function_epilogue):
4500 Change %I to %0I.
4501 (print_operand): Likewise.
4502
4503 * varasm.c (data_section): Add forward decl.
4504
4505 * m68k.c (print_operand): Make %! print fpcr.
4506 * crds.h, hp320.h, mot3300.h, news.h, tower-as.h (PRINT_OPERAND):
4507 Likewise.
4508 * m68k.md (fix_trunc*): Use %!.
4509
4510 * toplev.c (compile_file): Optionally call setvbuf for output file.
4511
4512 * loop.c (move_movables): Fix typo.
4513
4514Fri Mar 20 17:42:12 1992 Paul Eggert (eggert@twinsun.com)
4515
4516 * Makefile.in (SYSCALLS.c): Use `cat' to create this file, instead
4517 of having it consist of `#include' directives.
4518 (mostlyclean): Delete SYSCALLS.c.
4519 * SYSCALLS.c: File deleted.
4520
4521 * getpwd.c (new file): Get and cache working directory, using PWD
4522 if it works and getcwd otherwise.
4523 * Makefile.in (OBJS, protoize): add getpwd.o
4524 * cp-xref.c (GNU_xref_file): Likewise.
4525 * dbxout.c (dbxout_init): Likewise.
4526 * dwarfout.c (output_compile_unit_die): Likewise.
4527 * protoize.c (main): Likewise.
4528
4529Fri Mar 20 12:58:57 1992 Ron Guilmette (rfg at ncd.com)
4530
4531 * dwarfout.c (location_or_const_value_attribute): Fixed to use
4532 DECL_INCOMING_RTL as the "location" for formal parameter variables.
4533
4534Fri Mar 20 13:26:16 1992 Michael Collison (collison@osf.org)
4535
4536 * i386rose.h (INIT_SECTION_ASM_OP): OSF doesn't support a true
4537 initialization section.
4538
4539Fri Mar 20 07:23:15 1992 Tom Wood (wood at dg-rtp.dg.com)
4540
4541 * m88k.md (set zero_extract patterns): Use the + constraint.
4542
4543 * crtstuff.c (__do_global_ctors_aux): Declare it.
4544
4545 * m88k.h (CONDITIONAL_REGISTER_USAGE): Mark the PIC register fixed,
4546 but not call used.
4547
4548 * m88k.c (m88k_builtin_saveregs): Get a properly aligned block.
4549
4550 * m88k.md (cpu attribute): Use const form.
4551
4552 * m88k.h, m88k.c, m88kdgux.h (uses of *_ASM_OP): Add tabs.
4553
4554Fri Mar 20 05:46:26 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
4555
4556 * expmed.c (emit_store_flag): Need to prevent SUBTARGET from being
4557 OP0 in one more case.
4558
4559 * loop.c (add_label_notes): New function.
4560 (move_movables): Use it when hoisting a `move_insn' movable
4561 to ensure we create any required REG_LABEL notes.
4562
4563 * hp800.h (CONDITIONAL_REGISTER_USAGE): Make reg 27 a global_reg
4564 for now.
4565
4566 * combine.c (make_field_assignment): Use correct mode when shifting
4567 the source of the assignment.
4568
4569 * fold-const.c (invert_truthvalue): Correct error in last change.
4570
4571Thu Mar 19 18:59:24 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4572
4573 * stmt.c (expand_end_case): Convert do_tablejump arg to Pmode.
4574
4575Thu Mar 19 16:54:15 1992 Michael Meissner (meissner@osf.org)
4576
4577 * collect2.c (main): Only pass -fxxx and -mxxx options to gcc when
4578 building constructors.
4579
4580Thu Mar 19 16:44:21 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
4581
4582 * fold-const.c (invert_truthvalue): Correctly check for floating
4583 comparison.
4584
4585Thu Mar 19 14:42:49 1992 Tom Wood (wood at dg-rtp.dg.com)
4586
4587 * function.c (expand_main_function): Do so if INVOKE__main is defined.
4588 * libgcc2.c (__main): Provide if INVOKE__main is defined.
4589 * crtstuff.c (__do_global_ctors_aux): Renamed from __do_global_ctors.
4590 (__do_global_ctors): Simple non-static function that invokes
4591 __do_global_ctors_aux.
4592
4593 * crtstuff.c ({CTOR,DTOR}_LIST_{BEGIN,END}): Allow alternate way
4594 to represent and define __{CTOR,DTOR}_LIST__.
4595 * i386v.h, aix386.h (CTOR_LIST_{BEGIN,END}): Use these to push
4596 instead of the funny definition of CTORS_SECTION_ASM_OP.
4597 * svr3.h (CTORS_SECTION_ASM_OP): Use the .init section.
4598
4599 * m88kv3.h (CTOR_LIST_BEGIN): Emit code to .init to push a zero.
4600 (CTOR_LIST_END): Do nothing.
4601 (ASM_OUTPUT_CONSTRUCTOR): Emit code to .init to push the address.
4602 (DTOR_LIST_{BEGIN,END}): Output a block of four words.
4603 (ASM_OUTPUT_DESTRUCTOR): Output the address and three words of -1.
4604 (DO_GLOBAL_DTORS_BODY): Ignore all values of -1.
4605
4606 * real.h (REAL_VALUE_ISNAN): Define.
4607 * fold-const.c (target_isnan): New function.
4608 * sun3.h, sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE}): Use REAL_VALUE_ISNAN.
4609
4610 * sun3.h: Delete extra #endif.
4611
4612Thu Mar 19 14:25:50 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
4613
4614 * hp800.c (output_move_double): Don't check for CONST_DOUBLE
4615 when classifying operand types, CONSTANT_P now includes it.
4616 Use split_double to assign operand vectors for CNSTOP.
4617
4618Thu Mar 19 13:59:16 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4619
4620 * hp320.h (SPACE_AFTER_L_OPTION): Defined.
4621 (LIB_SPEC): Defined.
4622
4623 * toplev.c (compile_file): Output aux_info_file in source file's dir.
4624
4625Wed Mar 18 17:42:12 1992 Paul Eggert (eggert@twinsun.com)
4626
4627 * c-aux-info.c (gen_aux_info_record): Don't put the absolute path
4628 name into the output file: it's useless, expensive, and often wrong.
4629 Use "." instead.
4630 * protoize.c (is_syscalls_file): Look for SYSCALLS.c only at the
4631 end of the file name.
4632 (abspath): Remove useless test of '\0' versus '/'. Add apollo fix.
4633 (shortpath): Stop when replacement filename is longer than the
4634 original; this avoids buffer overrun. Do not pretend that
4635 `a/b/c' is a path prefix of `a/b/cd'.
4636 (gen_aux_info_file): Report errors when compilation fails.
4637 Do not use stdio in child process.
4638 Don't say `exit(errno)'; errno might be too large.
4639 (process_aux_info_file): Increment error count if aux info file cannot
4640 be generated. Allow the invocation filename to be relative;
4641 for now, it will always be ".".
4642 (do_processing): Replace strlen (x) with sizeof (x) - 1.
4643
4644Thu Mar 19 13:31:24 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
4645
4646 * cse.c (simplify_binary_operation, PLUS and MINUS cases): Use
4647 arg0s and arg1s instead of arg0 and arg1, so that resulting values
4648 will be sign extended.
4649
4650 * sched.c (sched_analyze_1): Don't call sched_analyze_2 at the end.
4651 This code was never executed, and is wrong.
4652 (sched_analyze_2): Convert from if statements to a switch.
4653 Add support for PRE_DEC/PRE_INC/POST_DEC/POST_INC; pass them to
4654 sched_analyze_1 because they are writes.
4655 (sched_analyze_insn): Delete special case code to handle REG_INC
4656 notes, obsoleted by change above.
4657
4658 * sparc.c (output_block_move): Rewrite to more efficiently handle
4659 constant length strings whose length is not a multiple of their
4660 alignment. Also, the length of strings handled without a loop now
4661 is a multiple of their alignment, instead of fixed size.
4662
4663 * objc-actions.c (build_selector_translation_table): Add cast for
4664 array index from enum to int to satisfy old compiler.
4665
4666 * c-parse.gperf: Change ASM to ASM_KEYWORD.
4667 * gplus.gperf: Likewise.
4668
4669 * Makefile.in (install-man): Delete duplicate lines.
4670
4671Thu Mar 19 02:32:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4672
4673 * c-decl.c (init_decl_processing): Disable `sqrt'.
4674
4675Thu Mar 19 01:09:16 1992 James Van Artsdalen (james at bigtex.cactus.org)
4676
4677 * i386.c (output_move_double): Properly check for signedness in a
4678 const_double.
4679
4680Wed Mar 18 18:51:37 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4681
4682 * gcc.c (link_command_spec) [not LINK_LIBGCC_SPECIAL]: Put back -s.
4683
4684 * config.sub (i486): Accept as CPU type.
4685
4686 * collect2.c (do_wait): Handle NO_SYS_SIGLIST.
4687 * xm-hp320.h (NO_SYS_SIGLIST): Defined.
4688
4689Wed Mar 18 15:58:31 1992 Tom Wood (wood at dg-rtp.dg.com)
4690
4691 * crtstuff.c, dwarfout.c, svr3.h, svr4.h (*_ASM_OP): Remove tabs
4692 and newlines.
4693 * dwarfout.c, svr3.h, svr4.h
4694 (ASM_OUTPUT_*, ASM_DECLARE_*, ASM_DWARF_*): Put tabs here when needed.
4695
4696Wed Mar 18 17:26:44 1992 Ron Guilmette (rfg at ncd.com)
4697
4698 * svr4.h (MULTIBYTE_CHARS): Added definition.
4699
4700Wed Mar 18 17:36:30 1992 Michael Meissner (meissner@osf.org)
4701
4702 * gcc.c (collect_obstack): New static obstack to build the
4703 environment variables to pass to collect, so that it can reliably
4704 find the compiler passes.
4705 (putenv): New function to add a variable to the environment.
4706 Stubbed out for MSDOS and VMS at present, or if HAVE_PUTENV is
4707 defined.
4708 (putenv_from_paths): New function to take a path list, and build
4709 the corresponding environment variable for it.
4710 (main): Pass argv[0] to collect through the environment variable
4711 COLLECT_GCC. Rebuild the COMPILER_PATH and LIBRARY_PATH
4712 environment variables to include all prefixes specified with -B,
4713 -b, and -V. Construct COLLECT_GCC_OPTIONS environment variable to
4714 consist of all of the options passed to gcc, except for the -B,
4715 -b, and -V options.
4716
4717 * collect2.c (main): Correctly size the number of arguments passed
4718 to the compiler when building the constructor lists to account for
4719 any options passed through the environment variable
4720 COLLECT_GCC_OPTIONS. If the environment variable COLLECT_GCC
4721 specifies a full pathname, use that for the pathname to invoke gcc
4722 with. Print the name "collect2" in lowercase if -v.
4723
4724 * xm-mips.h (HAVE_PUTENV): Define if OSF/1.
4725
4726Wed Mar 18 07:27:50 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
4727
4728 * hp800.c (actual_fsize): Remove duplicate declaration.
4729 (profile_flag): Remove definition; defined in flags.h.
4730 (hp_profile_labelno, local_fsize, save_fregs): Move declarations to
4731 top of file.
4732
4733 * hp800.h (OPTIMIZATION_OPTIONS): Do same thing as Sparc.
4734
4735 * combine.c (reg_bitfield_target_p): Use rtx_equal_p instead of
4736 assuming the actual rtx is used.
4737
4738Wed Mar 18 00:20:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4739
4740 * gstddef.h: Handle _GCC_PTRDIFF_T, _GCC_SIZE_T, _GCC_WCHAR_T.
4741 * fixincludes: Use those macros in inserted conditionals.
4742
4743 * gstddef.h: Handle _T_SIZE_ and _T_PTRDIFF_, like _T_WCHAR_.
4744
4745 * sun3.h (CPP_SPEC): Delete the alternative for fpa as default.
4746 Define symbols with __ as well as without.
4747
4748 * hp320.h (LINK_LIBGCC_SPECIAL, RELATIVE_PREFIX_NOT_LINKDIR):
4749 Define unless USE_GAS.
4750
4751Tue Mar 17 17:19:07 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4752
4753 * fixincludes (making directories): Always use find.
4754
4755 * c-decl.c (pushdecl): Don't warn if define nonansi builtin as static,
4756 or if define ANSI builtin as inline static.
4757
4758 * hp800hpux.h (LINK_LIBGCC_SPECIAL, RELATIVE_PREFIX_NOT_LINKDIR): New.
4759
4760 * fixinc.svr4: Special changes for Sony MIPS-NEWS.
4761
4762Tue Mar 17 15:12:57 1992 Tim Moore (moore@defmacro.cs.utah.edu)
4763
4764 * hp800.h (INITIAL_FRAME_POINTER_OFFSET): Get sign right, include
4765 fixed area.
4766
4767Tue Mar 17 14:06:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4768
4769 * Makefile.in (all.indirect): Renamed from all-internal.
4770
4771 * t-mips (ALL): Deleted.
4772
4773Tue Mar 17 10:35:18 1992 Michael Meissner (meissner@osf.org)
4774
4775 * halfpic.c (half_pic_address_p): Fix typo in last change.
4776
4777 * x-decrose (CLIB): Add -lbsd, since vfork moved to libbsd.a.
4778 * x-encrose (CLIB): Ditto.
4779 * x-i386rose (CLIB): Ditto.
4780
4781Tue Mar 17 07:02:29 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
4782
4783 * mips.md (movdi): FP_REGS don't allow DImode, so remove them
4784 from the constraints.
4785
4786 * mips.md (unaligned moves): Use UNSPEC to distinguish SETs that are
4787 unaligned from those that aren't.
4788
4789 * combine.c (try_combine): Update LOG_LINKS correctly when we split a
4790 PARALLEL that loads from memory both as a full-word and sign-extended.
4791
4792Tue Mar 17 21:23:10 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
4793
4794 * vax.c (split_quadword_operands): Fix typo.
4795
4796 * make-cc1.com: Add xcoffout.c.
4797
4798Mon Mar 16 17:12:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4799
4800 * configure (mips-dec-ultrix*): Use x-decstatn.
4801 * x-decstatn (CLIB): Delete.
4802
4803 * expr.c (move_by_pieces_1): Add negative ints--don't subtract ints.
4804
4805 * next.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Turned off.
4806 * t-next (EXTRA_PROGRAMS, ld): Use collect2.
4807 * configure (m68k-next-*): Use t-next.
4808
4809 * mips-bsd.h (TARGET_MEM_FUNCTIONS): Defined.
4810
4811Mon Mar 16 14:04:08 1992 Tim Moore (moore@defmacro.cs.utah.edu)
4812
4813 * hp800.md (movsi + 10, movsi + 11): Add '*' to constraints.
4814 (fix_truncsfsi2, fix_truncdfsi2): Add an alternative to put result
4815 directly in a general register.
4816 * hp800.h (ASM_DECLARE_FUNCTION_NAME): If function is not
4817 TREE_PUBLIC, don't do the argument descriptor magic.
4818 (EXPAND_BUILTIN_SAVEREGS): call hppa_builtin_saveregs.
4819 (LEGITIMIZE_ADDRESS): Don't legitimize CONST addresses.
4820 (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Put tabs back in.
4821 * xm-hp800.h (S_ISDIR): Define for BSD.
4822
4823 * hp800.c (hppa_builtin_saveregs): New function.
4824 * va-hp800.h : Rewrite.
4825
4826
4827Sun Mar 15 23:38:39 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4828
4829 * objc-actions.c (really_start_method): Dynamically allocate `buf'.
4830
4831 * sparc.h (TARGET_HOPE_ALIGN): Renamed from TARGET_ALIGN.
4832 * sparc.c (output_move_double, output_fp_move_double): Use new name.
4833 * sparc.h (TARGET_FORCE_ALIGN): New flag.
4834 (FUNCTION_ARG_BOUNDARY): Defined.
4835 (FUNCTION_ARG, FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE):
4836 (FUNCTION_ARG_PARTIAL_NREGS): Handle TARGET_FORCE_ALIGN.
4837 (ROUND_REG): New subroutine macro.
4838
4839 * sparc.h (CC1_SPEC): Don't try to recognize -dalign.
4840
4841 * hp320.h (ASM_OUTPUT_ASCII): Put tab here.
4842 (ASCII_DATA_ASM_OP): Not here.
4843 * mot3300.h: Likewise.
4844
4845 * Makefile.in (mostlyclean): Don't delete .s or .i files.
4846 (extraclean): Do that here.
4847
4848 * a29k.h, fx80.h, gmicro.h, i860v3.h, i860v4.h (*_ASM_OP): Remove tabs.
4849 * m88kv4.h, m88kdgux.h, mips.h, romp.h, rs6000.h: Likewise.
4850 * sun386.h, tower-as: Likewise.
4851 * arm.h, hp800.h (*_ASM_OP): Remove extra tabs and newlines.
4852 * m68ksgs.h (*_ASM_OP): Remove tabs.
4853 (ASM_OUTPUT_*): Put the tabs here when appropriate.
4854 * m68kv4.h, m88k.h, next.h: Likewise.
4855
4856Sun Mar 15 18:37:49 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
4857
4858 * reload1.c (inc_for_reload): Rework to try to do addition in
4859 INCLOC rather than assuming when it can be done; this fixes a bug
4860 on hp800 and generates better code on some CISC machines.
4861
4862Sun Mar 15 15:12:39 1992 Ron Guilmette (rfg at ncd.com)
4863
4864 * crtstuff.c: If defined, invoke INIT_SECTION_PREAMBLE.
4865
4866 * xm-sparcv4.h, x-sparcv4: New files.
4867 * configure (sparc-*-sysv4*): Use them.
4868
4869Sun Mar 15 16:41:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4870
4871 * sparc.md (subdi3): Fix unterminated comment.
4872
4873Sun Mar 15 04:08:59 1992 Torbjorn Granlund (tege at zevs.sics.se)
4874
4875 * hp800.c (output_block_move): Major rewrite.
4876 * hp800.md (movstrsi): Rewrite to match new output_block_move. FAIL
4877 if the actual operands are better handled by a library call.
4878 (movstrsi recognizer): Rewrite.
4879
4880 * sparc.md (movstrsi): FAIL for all blocks with unknown size.
4881
4882Sat Mar 14 19:06:02 1992 James Van Artsdalen (james at bigtex.cactus.org)
4883
4884 * c-decl.c (builtin_function): Don't declare static.
4885
4886Sat Mar 14 15:57:53 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4887
4888 * expr.c (get_pointer_alignment): Convert bytes to bits
4889 when handling PLUS_EXPR.
4890
4891 * cp-search.c (push_stack_level): Declare tp as char *.
4892
4893 * mips.c (mips_asm_file_end): Use TREE_ASM_WRITTEN to avoid
4894 duplicate .extern commands.
4895
4896 * mips-tdump.c: Include fcntl.h.
4897 * mips-tfile.c (open, fstat): Declarations deleted.
4898
4899 * xm-mipsnews.h: New file.
4900 * mips-news5.h: New file. Needs papers from Ron Cole.
4901 * configure (mips-sony-sysv*): New alternative.
4902
4903Sat Mar 14 07:11:14 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
4904
4905 * integrate.c (initialize_for_inline): If DECL_INCOMING_RTL is
4906 the same object as DECL_RTL, store copy in both places.
4907
4908Sat Mar 14 10:12:39 1992 Michael Tiemann (tiemann@cygnus.com)
4909
4910 * cp-spew.c (yylex): Fix some fencepost errors found by Chip
4911 Salzenberg.
4912
4913 * cp-init.c (is_aggr_typedef): Now calls `error' instead of `fatal'
4914 if NAME is non-AGGR type.
4915
4916 * cp-class.c (duplicate_tag_error): Set CLASSTYPE_VBASE_SIZE.
4917
4918Sat Mar 14 00:28:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4919
4920 * gcc.c (do_spec_1): Don't copy closing delim in %(...) or %[...].
4921 (read_specs): Don't ignore newline that ends a comment.
4922 (handle_braces): Properly terminate scan for %*.
4923 (validate_all_switches): Scan any extra specs from specs file.
4924
4925 * x-iris: File deleted.
4926
4927 * cccp.c (output_line_command): Avoid outputting line number 0.
4928
4929 * final.c (asm_fprintf): Handle %O.
4930 * m68k.c: Insert %O before `move' in MOTOROLA calls to asm_fprintf.
4931
4932Fri Mar 13 20:17:40 1992 Mike Stump (mrs@cygnus.com)
4933
4934 * cp-typeck.c, cp-type2.c, cp-tree.c, cp-spew.c, cp-search.c,
4935 cp-parse.y, cp-init.c, cp-decl.c, cp-cvt.c, cp-class.c, cp-call.c:
4936 Merged in updated cp-* files for gcc-2.1.
4937
4938 Thu Mar 12 02:29:26 1992 Mike Stump (mrs@cygnus.com)
4939
4940 * cp-type2.c (build_functional_cast): remove incorrect error message.
4941
4942Fri Mar 13 14:54:23 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4943
4944 * objc-actions.c (get_arg_type_list) [not NEXT_OBJC_RUNTIME]:
4945 1st arg always an object.
4946 (synth_module_prologue): Don't use parser interface, just build nodes.
4947 Use `void *' to avoid problems with TAG_SUPER vs _TAG_SUPER.
4948 (TAG_SUPER, _msg_id, _msgSuper_id): Deleted.
4949 (objc_getClass_id, objc_getMetaClass_id): Deleted.
4950 (selector_type): Renamed from _selector_type.
4951 (forward_declare_categories, build_objc_symtab_template):
4952 Don't use parser interface, just build nodes.
4953 (create_builtin_decl): New function.
4954
4955 * hp800hpux.h (LIB_SPEC): New definition.
4956
4957 * arm.h (TARGET_WHEN_DEBUGGING): Name corrected.
4958
4959 * protoize.c (abspath): Make abs_buffer a little longer.
4960
4961 * encore.h (NO_ABSOLUTE_PREFIX_IF_SYMBOLIC): Defined.
4962 (EXTERNAL_PREFIX, IMMEDIATE_PREFIX): Defined.
4963 (TARGET_DEFAULT): Changed to 9.
4964 (ENCORE_ASM): Defined.
4965
4966 * sequent.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Deleted.
4967 (IMMEDIATE_PREFIX): Define as 0.
4968 (SEQUENT_ASM): Defined.
4969 * ns32k.c (print_operand): Output f.p. as ints if SEQUENT_ASM.
4970 Output doubles using 0f, not 0d, if ENCORE_ASM.
4971
4972 * configure: If no configuration matches, print error and exit.
4973 (m68k-sun-sunos*): Renamed from m68k-sun-sunos4*.
4974
4975 * configure (copy): New variable.
4976 If hard link fails, make a copy.
4977
4978 * mips.c (mips_asm_file_end): Don't set flags in identifiers.
4979 Just output every identifier found in extern_head.
4980
4981 * configure (sparc-tti-*): Renamed from sparc-unicom-*.
4982 (m68k-tti-*): Replaced.
4983 (m68k-tti2-*): Deleted
4984
4985 * config.sub (pbd): Alias for sparc-tti, not sparc-unicom.
4986 (pbb): New machine alias.
4987 (*-tti): Implies os=-sysv3.
4988 (-oss*): Alias for -sysv3.
4989
4990Fri Mar 13 17:20:52 1992 david d [zoo] zuhn (zoo at lynx.spa.umn.edu)
4991
4992 * x-mips: add -mld.
4993
4994Fri Mar 13 14:48:05 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
4995
4996 * hp800.h (REGISTER_NAMES): Name register 112, the shift amount
4997 register, as "SAR". It was left out.
4998
4999Fri Mar 13 04:08:53 1992 James Van Artsdalen (james at bigtex.cactus.org)
5000
5001 * i386isc.h (STARTFILE_SPEC): Use crt1, not crt0.
5002
5003 * x-i386sco (CC,OLDCC): Don't define `i386' here.
5004 (RCCFLAGS): Define it here, along with other SCO symbols.
5005 (XCFLAGS): Use that. New variable.
5006 (CLIB): Use -lPW to get alloca.
5007
5008Fri Mar 13 14:11:41 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu)
5009
5010 * Changes to enable use of sqrt builtin functions.
5011 * c-decl.c (init_decl_processing): Enable BUILT_IN_FSQRT for
5012 __builtin_sqrt. Also enable for sqrt if not traditional.
5013 * cp-decl.c (init_decl_processing): Enable BUILT_IN_FSQRT for
5014 __builtin_sqrt.
5015 * expr.c (expand_builtin, case BUILT_IN_FSQRT): New case. Call
5016 expand_unop to expand the operation. If that fails break and
5017 emit a call to the library sqrt function.
5018 * optabs.c (init_optabs): Initialize new optabs for sqrt functions.
5019 * expr.h (sqrt_optab): Declare here so that expr.c can see it.
5020
5021Fri Mar 13 08:56:50 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
5022
5023 * cse.c (delete_dead_from_cse): Fix error in last change.
5024
5025 * a29k.h (PCC_BITFIELD_TYPE_MATTERS): Define as 1.
5026
5027 * reorg.c (fill_slots_from_thread): Add missing arg in call to
5028 try_split call that was recently added.
5029
5030 * fold-const.c (invert_truthvalue, case COMPOUND_EXPR): New case.
5031
5032Fri Mar 13 01:02:56 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5033
5034 * collect2.c (ordinary scan_prog_file): Don't count | in sym name.
5035
5036 * ns32k.md (movsf): Remove #if 0 around #ifndef GAS_SYNTAX.
5037
5038 * pc532.h (GAS_SYNTAX): Defined.
5039
5040Thu Mar 12 00:10:23 1992 Stefan Petri (petri@jupiter.ibr.cs.tu-bs.de)
5041
5042 * configure (pyramid): Re-enable.
5043
5044 * pyr.h (STRUCTURE_SIZE_BOUNDARY): Restore definition from gcc-1.40.
5045 (PCC_BITFIELD_TYPE_MATTERS): Define as 1 instead of empty.
5046
5047 * pyr.h (STATIC_CHAIN_INCOMING_REGNUM): Added.
5048
5049 * pyr.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT,
5050 INITIALIZE_TRAMPOLINE): Added, inspired by convex.h
5051
5052 * pyr.h (INITIAL_FRAME_POINTER_OFFSET): New definition.
5053
5054 * pyr.md (indirect_jump): New pattern.
5055
5056 * libgcc2.c [L_trampoline]: Don't include gstddef.h in this case.
5057 (__enable_execute_stack): Cloned definition for pyramid
5058 from that for convex.
5059
5060Thu Mar 12 13:23:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5061
5062 * collect2.c (FREAD, FWRITE): #undef if USG.
5063
5064 * x-mipsv: New file.
5065 * configure (mips-*-sysv): Use it.
5066
5067 * cccp.c (skip_to_end_of_comment): New arg NOWARN. Callers changed.
5068 (do_xifdef, do_endif): Pass 1 for NOWARN.
5069
5070 * i386.h, hp800.h (ENCODE_SECTION_INFO): Handle CONSTRUCTOR node.
5071 * i386.h (ENCODE_SECTION_INFO): Only decls can be global.
5072
5073 * cccp.c (warn_import): New variable.
5074 (do_include): Test that.
5075 (main): Handle -Wimport.
5076
5077 * hp800hpux.h (DBX_DEBUGGING_INFO): #undef it.
5078 * x-hp800hpux: New file.
5079 * configure (hp800-hp-hpux*): Use it.
5080
5081 * config.sub: Make triton alias for sysv3.
5082
5083 * collect2.c: If CROSS_COMPILE, #undef the special OBJECT_FORMAT_*.
5084
5085Thu Mar 12 10:35:50 1992 Ron Guilmette (rfg at ncd.com)
5086
5087 * gcc.c (default_compilers): Use .i suffix (instead of .cpp) for all
5088 preprocessor output files.
5089 (execute): Print commands used to invoke passes if -save-temps.
5090
5091 * Makefile.in (mostlyclean): Delete *.i, not *.cpp.
5092 Don't delete *.co.
5093
5094Thu Mar 12 07:13:33 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
5095
5096 * xcoff.h (DBX_FINISH_SYMBOL): When writing function name, strip off
5097 any storage class at the end.
5098
5099Thu Mar 12 05:16:49 1992 Tom Wood (wood@dg-rtp.dg.com)
5100
5101 * config.sub (-triton*): Delete this OS (it's sysv3).
5102 * configure (m88k-dolphin-sysv3): Rename alternative.
5103 * xm-m88kdolph.h: Delete. Use xm-m88kv3.h instead.
5104 * x-m88kdolph: New file.
5105
5106Thu Mar 12 00:19:14 1992 James Van Artsdalen (james at bigtex.cactus.org)
5107
5108 * i386.md (movstrsi recognizers): Fix reversed operands.
5109
5110Thu Mar 12 00:01:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5111
5112 * gcc.c (main):
5113 Don't require machine_suffix for md_startfile_prefix or md_exec_prefix.
5114
5115 * toplev.c (main): Force flag_no_inline if not optimizing.
5116
5117 * dbxout.c (dbxout_type): Ignored names don't count in case UNION_TYPE.
5118
5119 * cp-decl.c (pushtag): Push on ->tags and make TYPE_STUB_DECL
5120 even if type has no tag name.
5121 * cp-class.c (finish_struct): Always call rest_of_type_compilation.
5122
5123 * cse.c (simplify_unary_operation): For SQRT, do nothing.
5124
5125 * byteorder.h: Test __i860_big_endian__.
5126
5127 * ns32k.c (print_operand_address): Test NO_ABSOLUTE_PREFIX_IF_SYMBOLIC.
5128 Test BASE_REG_NEEDED inside indirect address too.
5129 * sequent.h (NO_ABSOLUTE_PREFIX_IF_SYMBOLIC): Defined.
5130 (SEQUENT_ADDRESS_BUG, SEQUENT_BASE_REGS): #if 0.
5131
5132Wed Mar 11 22:55:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5133
5134 * c-decl.c (push_parm_decl): Clear immediate_size_expand temporarily.
5135 * stor-layout.c (get_pending_sizes): Fix up SAVE_EXPR_CONTEXT.
5136 (variable_size): No longer static.
5137 * c-decl.c (grokdeclarator): Call variable_size, not save_expr.
5138 Rename local `variable_size' to `size_varies'.
5139
5140Wed Mar 11 18:53:23 1992 Chip Salzenberg (chip@tct.com)
5141
5142 * collect2.c (OBJECT_FORMAT_COFF, OBJECT_FORMAT_ROSE):
5143 (OBJECT_FORMAT_NONE): Three alternative strategies for finding inits.
5144 OBJECT_FORMAT_COFF is completely new.
5145 (is_ctor_dtor): New function.
5146 [OBJECT_FORMAT_NONE, OBJECT_FORMAT_ROSE] (scan_prog_file):
5147 Use is_ctor_dtor.
5148
5149 * x-rs6000 (CLIB): Add -lld.
5150 * t-rs6000: New file.
5151 * configure (rs6000...): Use that file.
5152
5153Wed Mar 11 17:31:13 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
5154
5155 * reload1.c (inc_for_reload): Call gen_add2_insn with negated
5156 constant instead of gen_sub2_insn.
5157
5158Wed Mar 11 17:30:35 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5159
5160 * c-typeck.c (build_binary_op): For shifts, always use op0 type.
5161
5162 * stmt.c (expand_end_bindings):
5163 Load virtual_incoming_args_rtx via a pseudo reg.
5164
5165 * math-68881 (pow): Add missing parens; typo in fp constant.
5166
5167 * i386isc.h (LIB_SPEC): Add -lg.
5168
5169 * libgcc2.c (__CTOR_LIST__, __DTOR_LIST__):
5170 Don't define if CTOR_LISTS_DEFINED_EXTERNALLY.
5171 (__builtin_saveregs): Handle NO_UNDERSCORES for sparc.
5172
5173 * pbb.h, pbd.h: New files from Mike Bloom.
5174 * configure (m68k-tti2-*): Turned back on.
5175
5176 * c++: Add a colon command in case system doesn't handle #!/bin/sh.
5177
5178Mon Mar 11 19:54:43 1992 James Van Artsdalen (james at bigtex.cactus.org)
5179
5180 * i386.md (integer truncMN2): Delete patterns. Not needed on i386.
5181
5182Wed Mar 11 16:58:56 1992 Tom Wood (wood@dg-rtp.dg.com)
5183
5184 * m88kv3.h (STARTFILE_SPEC, LIB_SPEC): Search for crt{begin,end}.o
5185 (DO_GLOBAL_CTORS_BODY, CTORS_SECTION_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
5186 DTORS_SECTION_ASM_OP): Implement new svr3 scheme.
5187
5188Wed Mar 11 16:24:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5189
5190 * fold-const.c (fold): When correcting constant result of GE, LE, NE,
5191 make sure we really have a constant result.
5192
5193 * ns32k.md (call, call_value): Support GAS_SYNTAX and GNX_V3 like 1.40.
5194
5195 * c-decl.c (pushdecl): Properly use prev implicit decl in warning.
5196
5197Wed Mar 11 16:05:20 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
5198
5199 * Makefile.in (OBJS): Add xcoffout.o.
5200 (dbxout.o, final.o, toplev.o, varasm.o): Add xcoff.h dependency.
5201 (xcoffout.o): Add rule to build.
5202
5203 * xcoffout.c: Change names of rs6000_*_section_name variables to
5204 xcoff_*_section_name, and move definitions of them here from
5205 rs6000.c.
5206 * xcoff.h: Likewise, move declarations here from rs6000.h.
5207 * rs6000.c: Delete definitions of rs6000_*_section_name variables.
5208 * rs6000.h: Delete declarations of rs6000_*_section_name variables.
5209
5210 * rs6000.c (output_epilog): Add comment to note lack of traceback
5211 table support.
5212 * rs6000.h: Refine comment explaining ASM_SPEC definition.
5213 (XCOFF_DEBUGGING_INFO): Define.
5214 (DBX_CONTIN_LENGTH, DBX_NO_XREFS): Move to xcoff.h.
5215 (ASM_FILE_START): When -g, emit private_data_section.
5216 (ASM_DECLARE_FUNCTION_NAME): When -g, output .lglobl for static
5217 functions. Also, output .function debug info.
5218 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Add bss_section call.
5219
5220 * dbxout.c: Include xcoff.h when XCOFF_DEBUGGING_INFO is defined.
5221 Define default values for DBX_DECL_STABS_CODE,
5222 DBX_STATIC_CONST_VAR_CODE, DBX_REGPARM_STABS_CODE, and
5223 DBX_REGPARM_STABS_LETTER. These exist to be overriden for xcoff.
5224 Include entire file if either DBX_DEBUGGING_INFO or
5225 XCOFF_DEBUGGING_INFO is defined.
5226 (dbxout_type): Add early exit if DBX_TYPE_DEFINED, used for xcoff.
5227 (dbxout_symbol): Use DBX_DECL_STABS_CODE instead of N_LSYM for
5228 tags and typedefs. Use DBX_STATIC_CONST_VAR_CODE instead of N_FUN
5229 for static const variables. Add DBX_STATIC_BLOCK_START and
5230 DBX_STATIC_BLOCK_END around output of stab info, for xcoff use.
5231 (dbxout_finish_symbol): Use DBX_FINISH_SYMBOL instead if defined.
5232 (dbxout_syms, dbxout_parms): No longer static, referenced from
5233 xcoffout.c.
5234 (dbxout_parms): Use DBX_REGPARM_STABS_CODE instead of N_RSYM. Use
5235 DBX_REGPARM_STABS_LETTER instead of 'P'.
5236 (dbxout_reg_parms): No longer static.
5237 * final.c: Also include gstab.h if XCOFF_DEBUGGING_INFO defined.
5238 Include xcoff.h if XCOFF_DEBUGGING_INFO defined.
5239 (final_start_function): Call xcoffout_output_first_source_line
5240 when XCOFF_DEBUG. Set next_block_index if XCOFF_DEBUG.
5241 (final_end_function): Call xcoffout_end_function if XCOFF_DEBUG.
5242 Call xcoff_end_epilogue if XCOFF_DEBUG.
5243 (final_scan_insn): Call xcoffout_begin_function,
5244 xcoffout_begin_block, and xcoffout_end_block if XCOFF_DEBUG.
5245 (output_source_line): Also call dbxout_source_file if XCOFF_DEBUG.
5246 * flags.h: Define XCOFF_DEBUG. Also declare
5247 use_gdb_dbx_extensions if XCOFF_DEBUGGING_INFO.
5248 * toplev.c: Also declare use_gdb_dbx_extensions if
5249 XCOFF_DEBUGGING_INFO. Include xcoff.h in XCOFF_DEBUGGING_INFO.
5250 (compile_file): Also call dbxout_init, and dbxout_finish if
5251 XCOFF_DEBUG.
5252 (rest_of_decl_compilation): Also call dbxout_symbol if
5253 XCOFF_DEBUG.
5254 (rest_of_type_compilation): Also call dbxout_symbol if
5255 XCOFF_DEBUG.
5256 (main): Add support for recognizing -g when XCOFF_DEBUGGING_INFO.
5257 * varasm.c: Include xcoff.h if XCOFF_DEBUGGING_INFO.
5258 (assemble_variable): Also call dbxout_symbol when XCOFF_DEBUG.
5259 Change all returns to goto finish. At finish label,
5260 call dbxout_symbol if XCOFF_DEBUG.
5261
5262 * dbxstclass.h: New file. Define XCOFF specific storage classes.
5263 * xcoff.h: New file, for XCOFF support. Included by xcoffout.c,
5264 dbxout.c, final.c, toplev.c, and varasm.c.
5265 * xcoffout.c: New file for XCOFF support. Most of the support is
5266 implemented by dbxout.c, this just includes stuff that can not be
5267 easily performed within dbxout.c.
5268
5269 * toplev.c (struct W_options): Add entry for warn_inline, so user
5270 can turn this warning on.
5271
5272Wed Mar 11 15:11:42 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
5273
5274 * optabs.c (init_optabs): Fix typo (Imode instead of TImode) in
5275 HAVE_subti3 case.
5276
5277Wed Mar 11 13:10:20 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu)
5278
5279 * sparc.h (REG_ALLOC_ORDER): Make %g3 more desirable.
5280
5281Wed Mar 11 12:35:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5282
5283 * fixincludes (egrep cmd): Delete misplaced `#e[nl]'.
5284
5285 * jump.c (jump_optimize): Try to fix last change.
5286
5287 * expmed.c (init_expmed): Use big, ugly factor in mult_is_very_cheap.
5288
5289Wed Mar 11 08:00:18 1992 Tom Wood (wood@dg-rtp.dg.com)
5290
5291 * toplev.c (rest_of_compilation): Use sdbout_types to clear the
5292 anonymous types queue if any.
5293 * sdbout.c: Correct spelling of sdbout_dequeue_anonymous_types.
5294
5295 * genattrtab.c (attr_string): Don't assume a terminating null.
5296
5297Wed Mar 11 07:05:38 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
5298
5299 * reload1.c (reload_as_needed): Delete erroneous test of
5300 basic_block_needs.
5301
5302 * stmt.c (expand_end_case): Know that we will obtain a constant
5303 if we were passed a COMPOUND_EXPR whose second operand is constant.
5304 Fold the MINUS_EXPR we make for casesi.
5305
5306 * reorg.c (update_block_from_store): Deleted.
5307 (update_block): Always leave USE; don't try to update live regs.
5308
5309 * explow.c (copy_to_suggested_reg): Add new arg for mode to use.
5310 * expmed.c (expand_divmod): Pass new arg to copy_to_suggested_reg.
5311
5312 * reload1.c (set_label_offsets, reload_as_needed): Consistently
5313 ignore non-eliminables when computing num_not_at_initial_offset.
5314
5315 * rs6000.md (subsi3): Remove unnecessary call to force_reg.
5316
5317 * rs6000.c (output_epilog): Separate setting LR from loading
5318 it from memory in some cases.
5319 Branch to FP restore routine instead of calling it.
5320
5321 * flow.c (propagate_block): CC0 is not live when we delete a dead
5322 insn.
5323 * cse.c (delete_dead_from_cse): An insn setting CC0 is not live
5324 if the next insn doesn't reference CC0.
5325
5326 * cse.c (cse_insn): If we see a narrow AND with a constant, check if
5327 we have seen a wider AND.
5328
5329 * combine.c (can_combine_p): Allow SUBREG of non-tiable regs if we
5330 are going to do is copy it to CC0.
5331
5332 * reload.c (find_secondary_reload): If X is a pseudo with an
5333 equivalent MEM, use the MEM to see if a secondary reload is needed.
5334 Don't call REG_CLASS_FROM_LETTER for 'r'.
5335 * reload1.c (emit_reload_insns): Handle reloading pseudos
5336 with equivalent MEM when we have secondary reloads; use the MEM
5337 when required.
5338
5339 * romp.md (reload_outsi): Pattern should be a single PARALLEL
5340 whose second component is a CLOBBER.
5341
5342Wed Mar 11 03:11:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5343
5344 * gcc.c (find_a_file, do_spec_1): Always obey require_machine_suffix.
5345 (machine_explicit): Var deleted.
5346
5347Tue Mar 10 23:12:24 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu)
5348
5349 * m68k.md (68000 special shifts): No longer accept a shift count
5350 of 16. Delete support for shifts by 16 places.
5351 (shift by 16 bits): New patterns which apply to all 68k models.
5352 * m68k.h (RTX_COSTS): Shifts by 16 are cheap.
5353
5354Tue Mar 10 20:37:31 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5355
5356 * dwarfout.c (location_or_const_value_attribute):
5357 Reenable changes disabled on Feb 21.
5358 * function.c (instantiate_decls): Likewise.
5359
5360 * sdbout.c (sdbout_symbol): Handle (mem (const...)).
5361 * dbxout.c (dbxout_symbol): Likewise.
5362
5363 * xm-i386isc.h: New file.
5364 * configure (i386-*-isc*): Use it.
5365
5366 * hp320.h (MD_STARTFILE_PREFIX): Deleted.
5367
5368 * m68k.h (RTX_COSTS): If MULT is a shift, jump to shift case.
5369
5370 * sun3.h (TARGET_MEM_FUNCTIONS): Defined.
5371
5372 * toplev.c (rest_of_compilation): Call sdbout_dequeue_anonymous_types
5373 even if we don't output assembler code.
5374
5375 * jump.c (jump_optimize): In `if (foo) bar; else break;' optimization,
5376 include in range1 and range2 any line numbers at the beginning.
5377
5378 * c-typeck.c (spelling_length): Initialize `size'.
5379 (PUSH_SPELLING): `spelling_size' is measured in elements.
5380 (get_spelling): Use xmalloc if there is no buffer yet.
5381
5382Tue Mar 10 20:25:56 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
5383
5384 * integrate.c (save_for_inline_copying):
5385 Set up LABEL_NAME of label copies.
5386
5387 * sparc.md: Clean up attribute settings. Add default length of 2
5388 for insns of type multi. Make sure all insns have correct type and
5389 length attribute values.
5390
5391Tue Mar 10 19:13:19 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5392
5393 * c-decl.c (warn_parentheses): Default is 0.
5394 (c_decode_option): -Wall implies -Wparentheses.
5395
5396Tue Mar 10 17:49:51 1992 Torbjorn Granlund (tege at mole.gnu.ai.mit.edu)
5397
5398 * hp800.md (shNadd recognizers): Put the MULT first, to obey insn
5399 canonicalization rules.
5400
5401 * hp800.md (subsi3): Don't handle constants for operand 2, but
5402 do handle them for operand 1, for the subi insn.
5403
5404 * hp800.md (compare into ordinary reg): Use "arith11_operand", not
5405 "arith_operand" for operand 2. Use `I', not `J' as constraint.
5406 Don't change the constant in the output code (i.e. undo Mar 10
5407 change).
5408 * hp800.c (arith11_operand): New predicate function. Fix comment.
5409
5410 hp800.md (mulsi3): Don't handle CONST_INT specifically, rely on
5411 machine independent code.
5412 * hp800.h (RTX_COST): Define.
5413 * hp800.c (ABS, mul_operands, emit_mul_by_constant) Remove.
5414 (mul_by_constant_aux, test_factor_and_output): Remove.
5415
5416 * hp800.md (addsi3): Use "register_operand" for operand 1, not
5417 "arith_operand".
5418
5419 * hp800.md: Clean up spacing and comments in a few places.
5420
5421 * hp800.c (output_move_double): Handle auto increment and auto
5422 decrement. Remove unused enums. Test for either operand being a
5423 REGOP instead if RNDOP, since we require at least one operand to
5424 be a register. Pass the MEM address to find_addr_reg, not the
5425 entire MEM rtx (in two places).
5426
5427 * hp800.h (WORDS_BIG_ENDIAN): Fix typo in comment.
5428 (RTX_COST): Return cost of a PLUS, to indirectly give the right
5429 cost for the shNadd insns. Adjust the cost for division.
5430
5431Tue Mar 10 15:57:24 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
5432
5433 * sparc.md: Add pattern for optimizing bitfield compares. This
5434 pattern was accidently lost when other (now-obsolete) bitfield
5435 patterns were removed.
5436
5437 * sparc.c (arith32_operand): Deleted.
5438 * sparc.md (movstrsi): Now uses nonmemory_operand for length.
5439
5440 * sparc.c (output_arc_profiler): Emit insns from first to last
5441 instead of last to first, since it is much clearer. Eliminate
5442 profiler_target, since it resulted in illegal rtx sharing.
5443
5444 * sparc.c (legitimize_pic_address): Make -fPIC work again, re the
5445 Feb 27 cse.c LO_SUM fix. Put addresses inside UNSPEC when loading
5446 them to ensure that cse won't mistakenly optimize them.
5447 * sparc.md: Two new patterns, to match (HIGH (UNSPEC (..))) and
5448 (LO_SUM (reg) (UNSPEC (..))) as generated above.
5449
5450Tue Mar 10 14:58:19 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5451
5452 * mips-news.h (ASM_SPEC): Move %{G*} outside of -mgas conditional.
5453 * nws3250v4.h, xm-nws3250v4.h, x-nws3250v4: New files. From cph.
5454
5455 * i860.c (sfmode_constant_to_ulong): Fix typo in last change.
5456
5457 * expr.c (store_expr): Initialize `label'.
5458
5459 * 3b1.h (HAVE_ATEXIT): #undef this.
5460
5461 * hp800.md (compare into ordinary reg): Make large ints "negative".
5462
5463 * hp800hpux.h: New file.
5464 * configure (hp800-*-bsd*): Renamed from hp800-*-*.
5465 (hp800-*-hpux*): New configuration.
5466
5467Tue Mar 10 11:03:47 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
5468
5469 * expmed.c (init_expmed): Make the lea pattern in the canonical way.
5470
5471Tue Mar 10 10:32:30 1992 Tom Wood (wood@hal)
5472
5473 * m88k.h (ASM_OUTPUT_{COMMON,LOCAL}): Compute size consistently.
5474
5475Tue Mar 10 07:41:09 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
5476
5477 * recog.c (constrain_operands, case 'E'): Fix typo.
5478
5479 * function.c (setjmp_protect): Don't put vars from inline functions
5480 on the stack.
5481
5482 * c-typeck.c (process_init_constructor): Don't use host integers for
5483 bounds and index computation; use trees instead.
5484 If specifying index in array with unset bounds, assume lower bound
5485 of zero and check specified index against zero.
5486
5487 * tree.h (mode_for_size): Don't declare here.
5488 * machmode.h (mode_for_size): Declare here instead.
5489
5490 * reorg.c (fill_slots_from_thread): Try to split THREAD immediately
5491 so we don't get confused if it gets split later.
5492
5493 * reorg.c (fill_slots_from_thread): Don't take add from loop
5494 head if the increment amount depends on the target register, since
5495 we can't undo the operation.
5496
5497Mon Mar 9 12:18:04 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
5498
5499 * unroll.c (final_biv_value): Fail if the biv is not MODE_INT.
5500
5501 * combine.c (distribute_notes, case REG_DEAD): Call rtx_equal_p
5502 to verify that it was the set that modified the register, and
5503 not a clobber.
5504
5505Sun Mar 8 22:20:24 1992 James Van Artsdalen (james at bigtex.cactus.org)
5506
5507 * c-parse.y,c-lex.c,cp-hash.h,cp-parse.y,cp-spew.c,objc-parse.y:
5508 Rename `ASM' to `ASM_KEYWORD' to avoid trouble with SCO
5509 <sys/signal.h>.
5510
5511Sun Mar 8 23:16:37 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu)
5512
5513 * expr.c (move_by_pieces, move_by_pieces_ninsns): Remove March 4 and
5514 March 5 changes. Set max_size to MOVE_MAX + 1 instead.
5515
5516Sun Mar 8 17:08:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5517
5518 * expr.c (do_tablejump): New arg MODE.
5519 * stmt.c (expand_end_case): Pass that arg.
5520
5521 * c-decl.c (pushtag): Push even anonymous types on tags list.
5522 (parmlist_tags_warning): Handle anonymous types in the list.
5523
5524Sun Mar 8 15:08:58 1992 James Van Artsdalen (james at bigtex.cactus.org)
5525
5526 * i386mach.h (perform_fixdfsi): Rename from *_fix_trundfsi2.
5527 Restore float control word correctly.
5528 * i386rose.h (perform_fixdfsi): Likewise.
5529
5530 * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Allow float constants,
5531 even if -msoft-float is used: reg-stack.c may emit an insn to load
5532 the function value register with 0.0.
5533
5534 * i386.md (bit test insns): Don't allow memory operands as the
5535 first argument of the zero_extract.
5536
5537 * i386isc.h (RETURN_POPS_ARGS): Comment this out: ISC uses the
5538 standard definition.
5539
5540 * i386sco.h (STARTFILE_SPEC): Use crtbegin.o.
5541 (ENDFILE_SPEC): Use crtend.o.
5542 (CPP_SPEC): #undef before defining.
5543 (RETURN_POPS_ARGS): Caller pops args on SCO.
5544
5545Sun Mar 8 14:25:16 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5546
5547 * configure: Fatal error if srcdir has already been configured.
5548 Remove periods from error messages.
5549
5550 * 3b1.h, mot3300.h (ASM_OUTPUT_OPCODE): Change swap to swap.w.
5551 (SGS_SWAP_W): Deleted.
5552 * m68ksgs.h (ASM_OUTPUT_OPCODE): If SGS_SWAP_W, change swap to swap.w.
5553 * m68k.md: Delete all SGS_SWAP_W conditionals.
5554
5555 * m68k.md (shift using swap, dbra patterns): Change clrw to clr%.w.
5556
5557 * hp800.h (output_global_address): Use `-' for PLUS of neg integer.
5558 Clean up spacing and braces in several places in file.
5559
5560 * byteorder.h (htons): Use unsigned int for arg type.
5561
5562Sun Mar 8 07:36:44 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
5563
5564 * rs6000.c (print_operand, case 'A'): New case.
5565 * rs6000.md (sri): New %A to use "sli" for count of zero to work
5566 around bug in RS/6000 assembler.
5567
5568 * config.sub (os): Add "aos" to basic list, no longer the same
5569 as "bsd"; "acis" is an alternate for "aos".
5570 (romp): No longer has a default system.
5571 * configure (romp-*-aos*): Renamed from romp-*-bsd*; BSD means
5572 real BSD (4.3 Tahoe+), AOS means IBM system.
5573
5574 * Makefile.in (crtbegin.o, crtend.o): Use -o for output instead of
5575 putting in crtstuff.o and renaming to desired name.
5576
5577 * reload1.c (reload): Re-check eliminability of registers on each
5578 reload pass.
5579
5580 * jump.c (mark_jump_label): Make multiple REG_LABEL notes if
5581 more than one label is mentioned in an insn.
5582
5583 * integrate.c (copy_rtx_and_substitute): Properly initialize
5584 const_equiv_map for the equivalents of AP and FP.
5585
5586 * rs6000.h (TARGET_MEM_FUNCTION): Define.
5587
5588Sun Mar 8 00:05:47 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5589
5590 * c-decl.c (store_parm_decls): Copy function type before changing it.
5591 * tree.c (build_type_copy): New subroutine.
5592
5593 * t-next (LIBGCC1): Assigned, instead of LIBGCC.
5594
5595 * m68k.h (SHIFT_COUNT_TRUNCATED): Deleted.
5596
5597Sat Mar 7 23:47:57 1992 James Van Artsdalen (james at bigtex.cactus.org)
5598
5599 * i386.md (xorsi3,xorhi3): Don't emit a byte opcode with an SImode
5600 operand.
5601
5602Sat Mar 7 22:49:21 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5603
5604 * c-typeck.c (convert_arguments): -Wconversion warning
5605 if argument is passed as float.
5606 For fixed arguments, warn if type passed doesn't match
5607 what default_conversion produces.
5608
5609 * gcc.c (cross_compile): New variable, 1 if cross-compiling.
5610 (read_specs): Read it from specs.
5611 (process_command): Dump it to specs.
5612
5613 * gcc.c (process_command): Don't use MD prefixes and
5614 standard_startfile_prefix* here.
5615 (main): Use them here, if not cross-compiling.
5616
5617Sat Mar 7 18:13:45 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
5618
5619 * reload1.c (reload_as_needed): Eliminate regs in (use (mem ..))
5620 and (clobber (mem ...)) insns.
5621
5622 * combine.c (distribute_notes): Fix minor bug in handling of
5623 multi-register values when only one part is used.
5624
5625 * optabs.c, expr.c: Always call emit_library_call with no_queue == 1.
5626
5627 * function.c (fix_lexical_addr): Correctly set BASE in non-separate
5628 AP case.
5629
5630Sat Mar 7 15:39:57 1992 Jyrki Kuoppala (jkp@batman.cs.hut.fi)
5631
5632 * ns32k.h (TRANSFER_FROM_TRAMPOLINE): changed "ret" to "ret 0"
5633
5634Sat Mar 7 15:41:46 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
5635
5636 * fixincludes: Don't do special fixes on signal.h, which were only
5637 needed because of #endif comment fixes.
5638
5639Sat Mar 7 15:11:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5640
5641 * m68k.h (ASM_OUTPUT_ALIGN): Don't crash if LOG is more than 1.
5642
5643 * varasm.c (decode_reg_name): Make various prefixes optional
5644 whether or not they are in REGISTER_NAMES.
5645 (strip_reg_name): New subroutine.
5646
5647 * i386.c: Fatal error if EXTRA_CONSTRAINT is defined.
5648
5649 * collect2.c [USG] (R_OK, W_OK, X_OK): Define them if missing.
5650
5651 * x-hp320g (RANLIB, RANLIB_TEST): Defined.
5652
5653 * Makefile.in (EXTRA_PROGRAMS): New variable is list of programs.
5654 (native): Build them. Don't build EXTRA_PARTS.
5655 (rest.encap): Build EXTRA_PARTS.
5656 (GCC_PARTS): Include EXTRA_PROGRAMS.
5657 (install-common): Build EXTRA_PROGRAMS.
5658 * t-convex (EXTRA_PROGRAMS): Define instead of EXTRA_PARTS.
5659
5660 * Makefile.in (distclean): Don't delete backups, etc.
5661 (extraclean): New target--delete those things here.
5662 (gcc.xtar): Use extraclean.
5663 (cleanconfig): Deleted.
5664 (realclean): Depend on distclean.
5665
5666Sat Mar 7 14:54:29 1992 Tom Wood (wood@dg-rtp.dg.com)
5667
5668 * genattrtab (attr_printf): Provide alternate based on HAVE_VPRINTF.
5669
5670Sat Mar 7 14:25:58 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
5671
5672 * hp800.c (secondary_reload_class): Change `=' to `==' in `if'.
5673
5674Sat Mar 7 13:25:17 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5675
5676 * cccp.c (do_line): Fix typo.
5677
5678 * configure (decoding args): Delete excess fi.
5679
5680Sat Mar 7 09:29:41 1992 Michael Meissner (meissner@osf.org)
5681
5682 * mips.h (CONST_COSTS): Complete last change.
5683
5684 * mips.md (movsi_ulw, movsi_usw): Complete last change.
5685
5686Sat Mar 7 07:28:03 1992 Tom Wood (wood at dg-rtp.dg.com)
5687
5688 * config.sub (*-dolphin, -triton*): New vendor/OS.
5689 * configure (m88k-dolphin-trition): New alternative.
5690 * m88kdolph.h: New file.
5691 * xm-m88kdolph.h: New file.
5692
5693Sat Mar 7 10:07:44 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
5694
5695 * make-l2.com: Do not allow the user to run this with gcc 1.nn.
5696
5697 * make-gcc.com: Use the new compiler to build libgcc2.c (through
5698 make-l2.com).
5699
5700Sat Mar 7 05:36:16 1992 K. Richard Pixley (pixley@nutrimat.gnu.ai.mit.edu)
5701
5702 * Makefile.in: added the exec_prefix variable for installing host
5703 dependent programs and libraries.
5704
5705Sat Mar 7 00:09:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5706
5707 * genextract.c (mybzero): New fn. Used instead of bzero.
5708
5709 * Makefile.in (all): Indirect to all-internal.
5710 (all-internal): New rule, following where cross-make gets inserted.
5711
5712 * vms.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Defined.
5713
5714 * protoize.c: Don't declare fork or vfork.
5715
5716 * i860.c (sfmode_constant_to_ulong): Use REAL_VALUE_FROM_CONST_DOUBLE.
5717
5718 * gcc.c (handle_braces): Verify actual suffix length matches
5719 desired.
5720
5721 * hp800.h (GO_IF_LEGITIMATE_ADDRESS): Add parens for clarity.
5722
5723 * c-typeck.c (pointer_int_sum): Handle intop which is sum or diff
5724 of arguments with different types.
5725
5726 * c-typeck.c (PUSH_SPELLING): If no buffer yet, use xmalloc.
5727
5728 * m68k.c (output_dbcc_and_branch): Use \n\t between pair of insns.
5729
5730 * sparc.h (TARGET_MEM_FUNCTIONS): Defined.
5731
5732Fri Mar 6 18:48:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5733
5734 * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Don't call ON_EXIT here.
5735 * crtstuff.c, libgcc2.c (__do_global_ctors): Call it here.
5736
5737 * i386sco.h (HAVE_ATEXIT): Defined.
5738
5739 * collect2.c (my_exit, main): Avoid dereferencing 0.
5740
5741 * stmt.c (expand_decl_init): Don't alter TREE_USED of the variable.
5742
5743Fri Mar 6 18:24:39 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
5744
5745 * mot3300.h (SIZE_TYPE): Define as "unsigned int".
5746
5747 * combine.c (make_extraction): STRICT_ALIGNMENT is now non-zero if
5748 true, instead of relying on whether it is defined or not.
5749 * c-typeck.c, cp-typeck.c (build_c_cast): Likewise.
5750 * stor-layout.c (layout_type) Likewise.
5751 * expr.h (MUST_PASS_INSTACK_BAD_ALIGN): Likewise.
5752 * expr.c: Set default value of SLOW_UNALIGNED_ACCESS to zero.
5753 (move_by_pieces, move_by_pieces_ninsns, emit_push_insn):
5754 SLOW_UNALIGNED_ACCESS and STRICT_ALIGNMENT now true if non-zero.
5755 * function.c (assign_stack_local, assign_outer_stack_local):
5756 Remove turned-off code using STRICT_ALIGNMENT.
5757 * config/*.h: Change representation of STRICT_ALIGNMENT and
5758 SLOW_UNALIGNED_ACCESS.
5759 * gmicro.h (SLOW_UNALIGNED_ACCESS): Set to 1.
5760
5761 * Makefile.in (cleanconfig): Remove obsolete reference to
5762 file aux-output2.c.
5763
5764 * c-lex.c (yylex): Don't make out-of-range shift for very wide chars.
5765
5766Fri Mar 6 18:07:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5767
5768 * toplev.c (compile_file): No -Wunused warnings for static vars.
5769
5770 * collect2.c (main): Don't handle -B, -b, -V, -m or -f.
5771 collect2 gets only the options that ld would get.
5772 Process COLLECT_GCC_OPTIONS envvar.
5773 (savestring): New function.
5774
5775 * genattrtab.c: Revert to previous version
5776 because the new one uses vsprintf and it isn't trivial
5777 to avoid it.
5778
5779Fri Mar 6 17:26:09 1992 Tom Wood (wood at dg-rtp.dg.com)
5780
5781 * m88k.md (<O5> expressions): Don't rely on the assembler being able
5782 to handle constant expressions (Dolphin Triton88 can't).
5783
5784 * genattrtab.c: Add a hash table mechanism to share RTL and strings.
5785 (attr_hash_add_rtx, attr_hash_add_string): New functions.
5786 (attr_rtx): New function to generate a shared RTL.
5787 (attr_printf, attr_printf): New functions to generate a shared string.
5788
5789 * genattrtab.c: Extend the treatment of DEFINE_ATTR to allow a CONST
5790 expression as the default value, indicating a constant attribute.
5791 (struct attr_desc): Add `is_const' field.
5792 (check_attr_test): Add `is_const' parameter. Disallow use of insn
5793 attributes and MATCH_OPERAND in a constant expression; allow
5794 SYMBOL_REF in a constant expression. All callers updated.
5795 (chech_attr_value): Allow a SYMBOL_REF as a constant expression.
5796 (convert_const_symbol_ref): New function that converts a constant
5797 SYMBOL_REF to a COND that explictly tests each value.
5798 (make_canonical): Use `convert_const_symbol_ref' for constant
5799 SYMBOL_REF expressions.
5800 (make_length_attrs, find_attr, make_internal_attr): Mark `is_const'
5801 as false.
5802 (gen_attr): Get rid of a top-level CONST node and mark `is_const' true.
5803 (walk_attr_value): Use of a constant SYMBOL_REF does not set
5804 `must_extract' or `must_constrain'.
5805 (write_attr_get): Deal with constant attributes.
5806
5807Fri Mar 6 16:14:27 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5808
5809 * cccp.c (main, path_include) [__MSDOS__]: Handle MSDOS syntax in path.
5810
5811 * expr.c (store_expr): Fix bugs in last change.
5812
5813 * objc-actions.c (receiver_is_class_object): Fix typos.
5814
5815 * ecoff-cmp: File deleted.
5816
5817 * config.sub (3b1): Convert to m68000, not m68k.
5818
5819 * cccp.c (do_line): Handle "syetem header" indicator flag `3'.
5820
5821 * t-i386isc: New file.
5822 * configure (i386-*-isc*): Use the new file.
5823 * i386isc.h (LIB_SPEC, ENDFILE_SPEC): Use crtbegin.o/crtend.o.
5824
5825Fri Mar 6 14:37:25 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
5826
5827 * expmed.c (expand_dec): Fix comment.
5828
5829Fri Mar 6 09:49:54 1992 Tom Wood (wood at dg-rtp.dg.com)
5830
5831 * m88k.c (emit_move_sequence): Check reload_in_progress in
5832 addition to reload_completed.
5833
5834 * m88k.md (cpu attribute): Fix.
5835
5836Fri Mar 6 06:24:08 1992 Michael Meissner (meissner@osf.org)
5837
5838 * mips.h (CONST_COSTS): Fix eliminate_constant_term calling
5839 sequence.
5840
5841 * mips.c (simple_memory_operand): Move offset variable for calling
5842 eliminate_constant_term into a local block by the call.
5843 (mips_address_cost): Ditto.
5844
5845 * mips.md (movsi_ulw, movsi_usw): Fix eliminate_constant_term
5846 calling sequence.
5847
5848Fri Mar 6 00:30:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5849
5850 * fixincludes: Don't fix comments on #endif, #else.
5851 It made the egrep string too long.
5852
5853 * expr.c (store_expr): Handle size mismatch copying from string cst.
5854
5855Thu Mar 5 22:11:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5856
5857 * objc-actions.c (receiver_is_class_object): Clean up syntax.
5858
5859 * sun386.h (ASM_GENERATE_INTERNAL_LABEL): Start with a star.
5860
5861 * reload1.c (reload): Change `=' to `==' in `if'
5862 inside REGISTER_CONSTRAINTS conditional.
5863
5864Thu Mar 5 21:29:33 1992 Michael Tiemann (tiemann@mole.gnu.ai.mit.edu)
5865
5866 * cp-parse.y (yyprint): Make declarations declare __inline
5867 consistently.
5868
5869Thu Mar 5 18:34:32 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu)
5870
5871 * m68k.md (dbra patterns): Fix NO_ADDSUB_Q ifdef conditionals.
5872 Fix location of comment regarding use of REG_NOTES in dbra insns.
5873
5874Thu Mar 5 18:30:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5875
5876 * Makefile.in (libgcc.a): If $(LIBGCC1) is empty, ignore it.
5877 * cross-make (LIBGCC1): Make definition empty.
5878
5879Thu Mar 5 17:48:38 1992 Torbjorn Granlund (tege@wombat.gnu.ai.mit.edu)
5880
5881 * reload.c (find_reloads): Correctly detect different operand
5882 constraint alternatives (by changing subscription from 0 to loop
5883 variable i).
5884
5885Thu Mar 5 16:58:38 1992 Tom Wood (wood at dg-rtp.dg.com)
5886
5887 * Makefile.in (libsubdir): Rename $(libdir)/gcc gcc-lib.
5888 * gcc.c (STANDARD_EXEC_PREFIX): Ditto.
5889
5890 * c-typeck.c: Implement a spelling stack to store and print
5891 compoment names for error messages.
5892
5893 (push_{string,member_name,array_bounds}): New functions.
5894 (SPELLING_DEPTH, RESTORE_SPELLING_DEPTH, SAVE_SPELLING_DEPTH): New
5895 macros to save and restore the spelling stack.
5896 (digest_init, process_init_constructor): Use these.
5897
5898 (spelling_length, print_spelling): New functions.
5899 (error_init, pedwarn_init): Use them.
5900
5901 (get_spelling): New function.
5902 (convert_for_assignment): Use `get_spelling' to interpret messages
5903 that are based on the spelling stack.
5904 (process_init_constructor): Pass `&initialization_message'.
5905
5906Thu Mar 5 15:22:22 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu)
5907
5908 * expr.c (init_expr): Initialize forced_labels to zero.
5909 (save_expr_status): Saved forced_labels away and initilize to
5910 zero.
5911 (restore_expr_status): Restore value of forced_labels.
5912 * function.h (struct function): Add forced_labels field.
5913 * integrate.c (function_cannot_inline_p): Reject function with
5914 nonzero forced_labels.
5915
5916Thu Mar 5 15:08:47 1992 Tom Wood (wood at dg-rtp.dg.com)
5917
5918 * regclass.c (fix_register): Use decode_reg_name.
5919 * stmt.c (expand_asm_operands): Ditto.
5920 * varasm.c (decode_reg_name): Ignore a leading '#'.
5921
5922 For RMS:
5923 * cp-call.c (build_method_call): Delete now redundant tests of
5924 TREE_EXTERNAL before calls to assemble_external.
5925 * cp-init.c (build_virtual_init, build_builtin_call): Ditto.
5926 * cp-method.c (hack_identifier): Ditto.
5927 * cp-typeck.c (build_component_ref, build_function_call_real): Ditto.
5928 * c-parse.y (primary): Ditto.
5929
5930Thu Mar 5 13:49:29 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu)
5931
5932 * expr.c (move_by_pieces_ninsns): Finish Mar. 4 change. Do not
5933 choose a mode which has a size greater than MOVE_MAX.
5934
5935 * m68k.c: Change all occurances of "mov." to "move%.l" so that
5936 ASM_OUTPUT_OPCODE can choose the right syntax.
5937 * m68k.md: Change "mov." to "move." in comments for consistency.
5938
5939Thu Mar 5 10:04:52 1992 Tom Wood (wood at dg-rtp.dg.com)
5940
5941 * stmt.c (warn_if_unused_value): Handle NON_LVALUE_EXPR.
5942
5943 * limits.h (_LIMITS_H_): Correct misspellings.
5944
5945 * Makefile.in ("if" and "["): Romp, 4.3 BSD, and Ultirx systems
5946 fail when the condition is false. Change troublesome instances to
5947 either use "case" or use '-' as a prefix to the compilation rule.
5948
5949Thu Mar 5 09:08:11 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
5950
5951 * rs6000.md (lshrdi3): Add earlyclobber to first alternative.
5952
5953 * explow.c (stabilize): Copy RTX_UNCHANGING_P and MEM_VOLATILE_P.
5954
5955Thu Mar 5 06:05:31 1992 Michael Tiemann (tiemann@cygnus.com)
5956
5957 * cp-parse.y (.pushlevel): Stack and unstack STMT_DECL_MSG.
5958
5959 * cp-parse.y (unary_expr): Add EXTENSION support.
5960 ({maybe_label,label}_decls, label_decl): Define these rules as from
5961 c-parse.y.
5962 * cp-decl.c ({lookup,shadow,define}_label): Update from c-decl.c.
5963 * gplus.gperf: Add EXTENSION and LABEL.
5964 * cp-hash.h: Remade using gperf.
5965
5966Wed Mar 4 21:38:41 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu)
5967
5968 * expr.c (move_by_pieces): Do not choose a mode which has a size
5969 greater than MOVE_MAX.
5970
5971Wed Mar 4 23:24:25 1992 Per Bothner (bothner@cygnus.com)
5972
5973 * cp-class.c, cp-decl.c, cp-decl2.c, cp-init.c, cp-lex.c,
5974 cp-method.c, cp-typeck.c: Casts from enum to int that
5975 are necessary (not alas not quite sufficient) to get
5976 cc1plus to compile using system cc on Sony NewsOS 3.2
5977 (presumably Portable C Compiler).
5978
5979Wed Mar 4 22:05:39 1992 Michael Tiemann (tiemann@cygnus.com)
5980
5981 * cp-type2.c (build_functional_cast): Fix typo in code searching
5982 down type lattice looking for constructor.
5983
5984Wed Mar 4 16:52:21 1992 Jim Wilson (wilson@cygnus.com)
5985
5986 * gstdarg.h: Include va-sparc.h on sparc systems. Delete now
5987 obsolete `#ifndef __sparc__'.
5988 * va-sparc.h (va_start): Provide alternate definition when
5989 included via stdarg.h. Delete obsolete comment.
5990 (va_arg): Add missing set of parentheses.
5991
5992Wed Mar 4 15:21:20 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
5993
5994 * fixincludes: Make egrep pattern more general. Check for
5995 additional special case problems in Ultrix, News-OS, and IRIX.
5996
5997Wed Mar 4 15:15:45 1992 James Van Artsdalen (james at bigtex.cactus.org)
5998
5999 * i386.c (function_epilogue): Don't make a special case for
6000 current_function_returns_struct: this is done via
6001 current_function_pops_args.
6002
6003 * sun386.h (DATA_SECTION_ASSM_OP): Fix typo in undef.
6004
6005Wed Mar 4 14:21:37 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
6006
6007 * fixincludes, fixinc.svr4: Only change #else and #endif at the
6008 beginnings of lines, aside from whitespace, so it doesn't change
6009 them within comments.
6010
6011Wed Mar 4 09:48:21 1992 Michael Tiemann (tiemann@mole.gnu.ai.mit.edu)
6012
6013 * cp-method.c (build_decl_overload): Braino in handling of DELETE
6014 (NEW was handled correctly).
6015
6016Wed Mar 4 09:14:57 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu)
6017
6018 * Makefile.in (install-man): Install the g++ manual page.
6019
6020 * m68k.md (dbCC peepholes): Two new peepholes to recognize cases
6021 where a compare/branch can be done (for free) as part of a dbCC
6022 insn. This turns jCC;dbf into dbCC;jCC (the jCC is now outside the
6023 inner part of the loop).
6024
6025 * m68k.c (valid_dbcc_comparison_p): New function which returns TRUE
6026 if the given comparison is a valid comparison operator for the dbCC
6027 instruction.
6028 (output_dbcc_and_branch): New function to output a dbCC;jCC
6029 instruction sequence (including possible counter adjustments in
6030 SImode)
6031
6032Wed Mar 4 04:32:11 1992 Michael Tiemann (tiemann@cygnus.com)
6033
6034 * cp-dem.c (optable): Add entry for `operator='.
6035
6036 * cp-decl.c (finish_function): Emit a jump to RETURN_LABEL if
6037 CLEANUP_LABEL is non-zero. (Suggested by niklas@appli.se)
6038
6039Wed Mar 4 04:28:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6040
6041 * libgcc1.c (perform_lesf2): Condition tested was backwards.
6042
6043Wed Mar 4 03:11:48 1992 Ken Raeburn (Raeburn@Cygnus.COM)
6044
6045 * cp-pt.c (overload_template_name): Extra pushlevel isn't needed;
6046 omit it.
6047 (undo_template_name_overload): Don't pop the level that isn't pushed
6048 any more.
6049
6050 * cp-class.c (pushclass): Don't bother processing unnamed tags.
6051 (popclass): Likewise.
6052
6053 * cp-init.c (build_vec_delete): If pointer is null, don't do
6054 anything.
6055
6056 * cp-parse.y (member_init): Accept base class names that are
6057 template type names.
6058
6059 * cp-decl.c (start_decl): Don't prepend decl of `this' to arg lists
6060 of methods of uninstantiated types.
6061
6062 * cp-pt.c (instantiate_template): If no text has been saved away,
6063 don't try to parse it; an external reference will result.
6064
6065 * cp-parse.y (yyprint): Declare this at head of file.
6066
6067 * cp-pt.c (instantiate_class_template): If the template specified
6068 hasn't been defined, don't reject the instantiation; make it a
6069 normal undefined type.
6070
6071 * cp-parse.y (template_def): Try to recover from errors more
6072 gracefully.
6073
6074Tue Mar 3 15:37:35 1992 Tom Wood (wood at dg-rtp.dg.com)
6075
6076 * protoize.c (munge_compile_params): Compute the maximum number of
6077 params (`temp_parms' length) safely.
6078
6079 * dwarfout.c (const_value_attribute): Punt quasi-constant values.
6080 (location_or_const_value_attribute): Ditto.
6081
6082 * Makefile.in (install-common): Install the cross compilation
6083 driver program even when $(tooldir)/bin doesn't exist.
6084
6085Tue Mar 3 14:39:55 1992 James Van Artsdalen (james at bigtex.cactus.org)
6086
6087 * i386.h (enum reg_class): Undo Jan 17 change that deleted class BREG.
6088 (REG_CLASS_NAMES,REG_CLASS_CONTENTS,REGNO_REG_CLASS): Likewise.
6089 (REG_CLASS_FROM_LETTER): Likewise.
6090 * i386.c (regclass_map): Likewise.
6091
6092 * svr4.h (LINK_SPEC): Don't do -z or -t here: it's already in
6093 link_command_spec. But do handle -G.
6094
6095 * i386.md (casesi): Rewrite pattern to reflect the way to emitted
6096 code actually works.
6097
6098Tue Mar 3 09:59:15 1992 Jeffrey A. Law (law@super.super.org)
6099
6100 * m68k.md (dbra pattern in HImode): New pattern to match
6101 decrement_and_branch insns when the loop counter is decremented in
6102 HImode.
6103
6104Tue Mar 3 07:57:18 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6105
6106 * rs6000.md (doz patterns): Add missing `I' constraint.
6107
6108 * reorg.c (mark_target_live_regs): A CALL_INSN livens all global regs.
6109
6110 * vax.h (EXTRA_CONSTRAINT): New macro to select non-mode-dependent
6111 MEM operands.
6112 * vax.md (jlbc/jlbs): Use jbc/jbs if mode-dependent memory.
6113 * vax.c (reg_or_nxmem_operand): Function deleted.
6114
6115 * expr.c (do_store_flag): Swap comparison code when putting
6116 constant arg second.
6117
6118 * m68k.md (addhi3): Convert, e.g., 65535 to -1 before seeing if
6119 we can use subqw.
6120 (addqi3): Similarly for QImode constants
6121
6122 * local-alloc (optimize_reg_copy_1): Renamed from optimize_reg_copy.
6123 (optimize_reg_copy_2): New function.
6124 (update_equiv_regs): Call optimize_reg_copy_[12].
6125
6126 * combine.c (make_compound_operation, case AND): Turn SUBREG case
6127 back on now that bug in i386.md has been fixed.
6128 (simplify_comparison, case ASHIFT): If shifting low-order bit to
6129 sign bit and doing equality comparison, convert to AND with low-order
6130 bit (inequality case was already handled).
6131 Also remove redundant test of CONST_OP in an earlier case.
6132
6133 * sun2o4.h (LINK_SPEC): No longer need -Bstatic with -g.
6134
6135 * m68k.c, m68k.h: Avoid %X% for most upper-case X since it means
6136 something special to SCCS.
6137
6138 * rs6000.md (type): Add new type, mtlr.
6139 (function_unit branch): Add delay from mtlr to br.
6140 (movsi): When moving to lr, type is "mtlr".
6141
6142 * unroll.c (reg_dead_after_loop): Check for infinite loop by
6143 counting JUMP_INSNs we follow.
6144 Use GET_RTX_CLASS, reg_referenced_p, and single_set.
6145
6146 * expr.c (expand_increment): Set op0_is_copy when we are referencing
6147 the low-order part of some value in a register.
6148
6149 * combine.c (force_to_mode): New arg REG; pass in recursive call.
6150 If X has the same value as REG, use REG.
6151 (make_field_assignment): Handle case when DEST and part of source
6152 aren't the same, but are equal; pass destination to force_to_mode.
6153
6154 * m68k.md (addhi3): Generate addqw, subqw, or addw for
6155 STRICT_LOW_PART versions the same way we handle the normal case.
6156 (addqi3): Similarly for addqb, subqb, and addb.
6157
6158 * genattrtab.c (write_test_expr, case MOD): Double `%' in printf call.
6159 (write_eligible_delay): Internal attribute "*delay_type" is always
6160 used literally; it has no suffix or prefix.
6161
6162 * m68k.md, vax.md (sob): Rewrite inequality versions so that they
6163 have a PLUS inside the comparison; combine cannot remove the PLUS
6164 due to overflow considerations.
6165
6166Tue Mar 3 07:56:30 1992 Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
6167
6168 * vms.h (L__main): Remove #include <stdio.h>
6169
6170 * make-gcc.com: Call make-l2.com.
6171
6172Tue Mar 3 05:37:08 1992 Michael Tiemann (tiemann@cygnus.com)
6173
6174 * stor-layout.c (layout_type): Handle OFFSET_TYPE.
6175 * cp-tree.c (build_member_type): Deleted.
6176 * cp-typeck.c, cp-decl.c, cp-init.c: All callers of
6177 `build_member_type' now call `build_offset_type'.
6178 * cp-typeck.c (convert_arguments): An argument that's an OFFSET_REF
6179 must be resolved by `resolve_offset_ref'. The OFFSET_REF case in
6180 expand_expr does not do the right thing for G++ yet.
6181
6182 * cp-decl.c (grokdeclarator): Take CONSTP and VOLATILEP into account
6183 when building METHOD_TYPEs.
6184 (start_function): Ditto.
6185
6186 * cp-method.c (build_decl_overload): Change interface to take DNAME
6187 instead of NAME. Also, special-case handling of the default
6188 operator new and operator delete for the std. signatures.
6189 * cp-*.c: All callers changed.
6190
6191 * cp-class.c (build_vtable_entry): Rewrite built-in limit check to
6192 work on platforms where SIZETYPE is unsigned.
6193
6194Mon Mar 2 08:49:16 1992 Tom Wood (wood at dg-rtp.dg.com)
6195
6196 * m88k.c (m88k_debugger_offset): Delete warning.
6197
6198 * m88k.h (OVERRIDE_OPTIONS): Set `m88k_cpu' based on `target_flags'.
6199
6200 * m88k.md (cmpsi insn): Delete alternative that complements the
6201 compare string for a swapped compare (it's wrong and unnecessary).
6202 (cpu attribute): Define.
6203
6204 From Jyrki Kuoppala:
6205 * pc532.h, pc532-mach.h, pc532-min.h, xm-ps532-min.h: New files.
6206 * configure (ns32k-pc532-mach*, ns32k-pc532-minix*): New alternatives.
6207
6208 * dbxout.c (dbxout_type): Don't invoke dbxout_type_methods if
6209 there are none.
6210
6211 * vax.c (print_operand_address): Allow REG+TERM.
6212
6213 * c-typeck.c (process_init_constructor): Reuse space for error
6214 message strings.
6215
6216Mon Mar 2 02:54:48 1992 James Van Artsdalen (james at bigtex.cactus.org)
6217
6218 * seq386gas.h: New file, for Sequent using 386 & GAS.
6219
6220 * xm-i386sco.h: New file.
6221
6222 * optabs.c (ldexp): New function. Used if host ldexp is broken.
6223
6224 * configure (i386-sequent-bsd*): Use seq386gas.h if --gas.
6225 (i386-*-sco*): The host file is now xm-i386sco.h.
6226
6227 * i386.md (SImode and HImode logical compare): If we are only
6228 testing one byte of a mem, use a byte test opcode.
6229 (bit test patterns): Likewise when emitting test opcodes.
6230
6231Sun Mar 1 14:47:31 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu)
6232
6233 * longlong.h (_IBMR2 udiv_qrnnd): Switch off due to overflow problems.
6234
6235Sun Mar 1 11:19:55 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6236
6237 * combine.c (force_to_mode): New function.
6238 (make_field_assignment): Rework code that handles fixed-position
6239 fields to make it both much more general and much simpler.
6240
6241 * m68k.md: Add missing insns for using byte operations with
6242 STRICT_LOW_PART; add was missing commutative equivalent and
6243 most operations other than add and subtract were missing.
6244
6245 * varasm.c (assemble_start_function): Add missing arg to call to
6246 dbxout_begin_function.
6247
6248 * fold-const.c (const_binop): Make minor source change to work
6249 around bug in IBM RT PC compiler.
6250
6251Sun Mar 1 05:01:34 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
6252
6253 * cp-typeck.c (build_modify_expr): When wrapping NEWRHS in a
6254 SAVE_EXPR, call `break_out_cleanups' first.
6255
6256Sat Feb 29 23:19:20 1992 Jim Wilson (wilson@cygnus.com)
6257
6258 * reload.c (find_reloads): Reset preferred_class to NO_REGS after
6259 substituting a reg_equiv_address for a pseudo reg.
6260
6261 * unroll.c (precondition_loop_p): Fix misplaced paren when checking
6262 for MODE_FLOAT rtx.
6263
6264Sat Feb 29 13:59:54 1992 Michael Tiemann (tiemann@cygnus.com)
6265
6266 * cp-typeck.c (build_modify_expr): To complete 24 Feb change,
6267 COND_EXPRs must evaluate LHS in conditional slot if LHS has side
6268 effects. Otherwise the SAVE_EXPRs in lhs will only be evaluated
6269 once, even though they are referenced on both branches of the
6270 conditional.
6271
6272Sat Feb 29 13:32:35 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
6273
6274 * README.X11: Add warning to not use gas when compiling PIC code.
6275
6276 * fixincludes: Allow TAB as well as SPC before symbols to change.
6277 Don't change "sun" if it's part of a multiword name that contains
6278 underscores.
6279 Make intermediate dir, if needed, when doing special-case fixes.
6280 Use previously fixed file, if it exists, as source for all special
6281 fixes. Do less copying when making special fixes.
6282 Ignore errors when chmod'ing a file that might not exist.
6283 * fixinc.svr4: Preserve whitespace around "#" when fixing #else and
6284 #endif.
6285 Allow TAB as well as SPC before symbols to change.
6286 Combine "sun" cases as in fixincludes.
6287
6288Sat Feb 29 11:10:55 1992 James Van Artsdalen (james at bigtex.cactus.org)
6289
6290 * i386.md (movstrsi): Print opcode as "movsl" so that seq386.h can
6291 change it into smovl.
6292
6293Sat Feb 29 09:15:51 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6294
6295 * function.c (expand_function_end): Allocate rtl that points to
6296 trampoline permanently.
6297
6298 * reload1.c (gen_input_reload): If one operand of a PLUS is a MEM,
6299 move it into a reg and add the other (makes code agree with comments).
6300
6301 * explow.c (eliminate_constant_term): Rework so it does not directly
6302 add integer values; call simplify_binary_operation instead.
6303 Second arg is now pointer to rtx, not int.
6304 Assume constant is always second operand of PLUS.
6305 (memory_address): Pass rtx pointer to eliminate_constant_term.
6306 * halfpic.c (half_pic_address_p): Likewise.
6307 * mips.c (simple_memory_operand, mips_address_cost): Likewise.
6308 (mips_debugger_offset): Likewise.
6309 * expr.c (expand_expr, case PLUS_EXPR): Likewise.
6310 Don't add INTVALs; use simplify_binary_operation instead.
6311 Remove obsolete OLD_INDEXING code.
6312 Put a MULT in the first operand of the PLUS.
6313
6314 * combine.c (combinable_i3pat): Don't combine if I3DEST is a hard
6315 reg in a non-valid mode.
6316
6317Sat Feb 29 09:14:19 1992 Eric Youngdale (youngdale@v6550c.nrl.navy.mil)
6318
6319 * vms.h (ASM_OUTPUT_COMMON): Use SIZE instead of ROUNDED bytes.
6320 (DO_GLOBAL_CTORS_BODY): Do not call fflush(stdout).
6321
6322 * gcc.texi: Update GLOBAL[DEF,REF,VALUE] documentation.
6323
6324 * make-l2.com: Remove call to test_gcc2.
6325
6326Sat Feb 29 02:52:59 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6327
6328 * cccp.c (main): Rename envvars to CPLUS_INCLUDE_PATH and
6329 OBJCPLUS_INCLUDE_PATH.
6330
6331 * m68k.h (TRANSFER_FROM_TRAMPOLINE): Use `move', not `mov'.
6332
6333Fri Feb 28 19:39:09 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
6334
6335 * fixincludes: Don't change symbols that already start with `_'
6336 into `__symbol__'. Merge all of the sun* substitutions so they
6337 don't fight each other.
6338 Comment out junk after #elses and #endifs, to prevent warnings
6339 when -pedantic is given.
6340
6341Fri Feb 28 13:42:05 1992 Jim Wilson (wilson@cygnus.com)
6342
6343 * sched.c (schedule_insns): Don't update value of reg_live_length
6344 when it is negative, because negative values are special. Earlier
6345 fix Dec 17 disabled the fprintf call, but not the assignment.
6346
6347 * unroll.c (copy_loop_body): After incrementing the base reg for a
6348 split DEST_ADDR giv, must subtract the const_adjust from the base
6349 reg to get its true current value.
6350
6351 * loop.c (maybe_eliminate_biv_1): When handling COMPARE, verify
6352 that mult_val is positive, which makes the code match the comment,
6353 and surrounding code.
6354
6355 * sparc.c (legitimize_pic_address): Always test reload_completed
6356 in addition to reload_in_progress.
6357
6358 * sched.c (schedule_block): Don't reorder any USE insns at the end
6359 of a function. Exclude them all from scheduling.
6360
6361 * c-typeck.c (build_array_ref): Check for when `ar' is an
6362 error_mark_node and don't emit a second error message for that node.
6363
6364 * Makefile.in: Correct misc typos in comments or spacing.
6365 (mostlyclean): Update names of files to delete.
6366
6367 * Makefile.in (install-man): Also install cccp man page.
6368 (uninstall): Also delete cccp man page. Don't delete protoize and
6369 unprotoize man pages twice.
6370
6371 * Makefile.in (libgcc2.a): Delete unnecessary -fstrength-reduce -O
6372 flags on gcc command lines, superseded by LIBGCC2_CFLAGS.
6373
6374 * Makefile.in (config.status): Verify that file does not exist
6375 before printing an error and failing. Prevents problem with Sun's
6376 KEEP_STATE feature.
6377
6378Fri Feb 28 05:15:58 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6379
6380 * stmt.c (expand_computed_goto): Call emit_queue.
6381
6382 * function.c (assign_parms): Don't generate convert whose operand
6383 is register that is not valid in its mode.
6384
6385 * reload.c (find_reloads_toplev): Don't do anything with paradoxical
6386 SUBREGs if BYTE_LOADS_ZERO_EXTEND.
6387
6388Thu Feb 27 09:59:09 1992 Jeffrey A Law (law at b115.super.org)
6389
6390 * toplev.c (main): Enable caller-saves for all machines at
6391 optimization levels of -O2 or higher.
6392 * mips.h (OPTIMIZATION_OPTIONS): toplev.c will turn on
6393 caller-saves at -O2 now. Do not do it here.
6394 * sparc.h (OPTIMIZATION_OPTIONS): Likewise
6395
6396Thu Feb 27 06:47:31 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6397
6398 * cp-call.c: Move some extern declarations to file level.
6399
6400 * emit-rtl.c (init_emit_once): Cast VOIDmode to int in array index.
6401
6402 * reorg.c (mark_target_live_regs): Don't make recursive call if
6403 function being compiled has infinite loop.
6404
6405 * cse.c (fold_rtx, case 'o'): New case to support folding LO_SUM.
6406
6407 * global-alloc.c (global_alloc): When calling reload, pass the
6408 result of get_insns instead of basic_block_head[0].
6409
6410 * c-typeck.c (process_init_constructor): Don't check array index
6411 against limits if array bounds weren't specified.
6412
6413 * gcc.c (link_command_spec): Put back -s.
6414
6415 * gcc.c (find_a_file): Add missing paren in init of file_suffix.
6416
6417 * i386sun.h (LIB_SPEC): Insert missing blank.
6418
6419 * sun386.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Add #undef.
6420
6421 * sparc.h (LINK_SPEC): Correct comment.
6422
6423 * sun3.h, i386sun.h (LINK_SPEC): Don't force -Bstatic if -g.
6424
6425 * mips-news.h (ASM_SPEC): Add missing "}".
6426
6427 * Makefile.in (install-native): Don't include install-proto.
6428 (.y.c): Suppress default rule for using Yacc.
6429
6430 * combine.c (apply_distributive_law, case SUBREG): Check that word
6431 numbers are the same.
6432 Don't change a single-word operation into a multi-word operation.
6433 Put all checks on SUBREGs in one place.
6434 (gen_lowpart_for_combine): Use correct word number when making
6435 explicit SUBREG.
6436
6437 * README.SCO: Obsolete file deleted.
6438
6439Wed Feb 26 21:23:02 1992 Jim Wilson (wilson@cygnus.com)
6440
6441 * sparc.md (DImode sethi): Correctly handle CONST_DOUBLE, was
6442 wrong endian.
6443 (DImode lo_sum): Don't output CONST_DOUBLES as 64 bit constants,
6444 just output the low 32 bits.
6445
6446 * unroll.c (find_splittable_givs): For combined address givs, save
6447 the increment amount in add_val.
6448 (copy_loop_body): For combined address givs, increment by the
6449 amount calculated by find_splittable_givs, not by the amount that
6450 the giv it was combined with gets incremented by.
6451
6452 * expr.c (clear_pending_stack_adjust): Check flag_no_inline, not
6453 optimize, to determine whether functions declared inline will be
6454 inlined.
6455
6456 * dbxout.c: Delete all #ifndef DBX_DEBUGGING_INFO stubs. None of
6457 them are needed.
6458
6459 * hp800.c, hp800.h: Fix typos in comments.
6460
6461Wed Feb 26 02:39:52 1992 Michael Tiemann (tiemann at rtl.cygnus.com)
6462
6463 * cp-call.c (build_method_call): If conversion of INSTANCE_PTR
6464 yields error_mark_node, return error_mark_node immediately.
6465
6466Tue Feb 25 23:40:01 1992 Mike Stump (mrs at cygnus.com)
6467
6468 * tree.c (array_type_nelts): Fix documentation, really nelts-1
6469 * cp-tree.c cp-tree.h cp-init.c (expand_vec_init): Fixed
6470 multi-dimensional array inits.
6471
6472Mon Feb 24 00:03:23 1992 Michael Tiemann (tiemann at cygnus.com)
6473
6474 * cp-tree.c (build_cplus_new): Set TREE_SIDE_EFFECTS bit on
6475 NEW_EXPR.
6476
6477 * cp-typeck.c (build_modify_expr): Handle WITH_CLEANUP_EXPRs
6478 specially when they appear in expressions (not initializations).
6479 Also handle COND_EXPRs on the right-hand-side specially (in case one
6480 of the COND_EXPR's branches is a WITH_CLEANUP_EXPR).
6481
6482Sun Feb 23 15:11:27 1992 Michael Tiemann (tiemann at cygnus.com)
6483
6484 * cp-decl2.c (finish_anon_union): Make RTL for ANON_UNION_DECL based
6485 on MAIN_DECL.
6486
6487 * cp-decl.c (lookup_tag): Deal with the fact that `clear_anon_tags'
6488 may have been run.
6489
6490 * cp-decl.c (cplus_expand_expr_stmt): Give line number for usage
6491 whcih incurs warning message.
6492
6493Sat Feb 22 20:49:45 1992 Michael Tiemann (tiemann at cygnus.com)
6494
6495 * cp-decl.c (init_decl_processing,auto_function): New approach to
6496 defining the default functions `operator new' and `operator delete'.
6497 * cp-init.c (init_init_processing): Rest of changes here.
6498 * libgcc2.c (_builtin_{new,delete,New}): Gone.
6499 * libgcc2.c (_new_handler): New name for section that defines the
6500 default new handler.
6501
6502Sat Feb 22 02:09:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6503
6504 * Version 2.0 released.
6505
6506 * gcc.c (do_spec_1): Handle SPACE_AFTER_L_OPTION.
6507 * hp320.h (SPACE_AFTER_L_OPTION): Defined.
6508 Note: for 2.1, try making a space there on all systems.
6509
6510 * i386mach.h (perform_*): New macros, copied from i386rose.h.
6511
6512 * Makefile.in (distclean): New target.
6513 (realclean): Avoid duplication with self or with distclean.
6514 (gcc.xtar.Z): Depend on gcc.xtar.
6515 (gcc.xtar): Fixes in copying files.
6516
6517 * expr.c (do_store_flag): Don't correct CODE before where it is set.
6518
6519 * cp-parse.y (stmt): Pass pushcase_range all the args it wants.
6520
6521Fri Feb 21 18:14:52 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6522
6523 * combine.c (distribute_notes): Correctly handle the case of a
6524 REG_DEAD note for a multi-word hard register when not all of
6525 the words are used.
6526
6527Fri Feb 21 16:47:32 1992 Michael Meissner (meissner@osf.org)
6528
6529 * mips.h (MIPS_VERSION): Change Meissner version # to 12.
6530 (half_pic support): Move the halfpic support to halfpic.h which is
6531 included in the decrose case, and nop the support in other MIPS
6532 platforms.
6533 (OPTIMIZATION_OPTIONS): Move setting caller-saves to -O2.
6534 (OBJECT_FORMAT_COFF, EXTENDED_COFF): Define unless OSF/rose.
6535 (INITIAL_FRAME_POINTER_OFFSET): Always recalculate the frame size,
6536 don't rely on cached values.
6537
6538 * mips.c (half_pic support): Move the halfpic support to halfpic.c,
6539 which is only compiled for OSF/rose.
6540 (expand_block_move): Use copy_addr_to_reg instead of copy_to_reg in
6541 case either the source or destination is an integer constant
6542 converted to an appropriate pointer type.
6543 (mips_debugger_offset): Use a local variable to hold function
6544 result.
6545
6546 * decrose.h (toplevel): Include halfpic.h for halfpic support.
6547 (PTRDIFF_TYPE): Change to 'int' to match current include files.
6548 (WCHAR_TYPE): Change to 'unsigned int' to match include files.
6549 (INIT_SECTION_ASM_OP): Delete, since the OSF/rose assembler doesn't
6550 support a true initialization section.
6551
6552 * encrose.h (PTRDIFF_TYPE): Change to 'int' to match current include
6553 files.
6554 (WCHAR_TYPE): Change to 'unsigned int' to match include files.
6555
6556 * t-decrose (EXTRA_OBJS): Define as halfpic.o to provide halfpic
6557 support.
6558 (CONFIG2_H): Treat halfpic.h as another config file.
6559 (halfpic.o): Add dependencies.
6560
6561 * halfpic.h (new file): Common include file for systems needing the
6562 OSF/rose half-pic shared library support.
6563
6564 * halfpic.c (new file): Common support file for systems needing the
6565 OSF/rose half-pic shared library support. Currently these are stub
6566 functions.
6567
6568Fri Feb 21 16:07:02 1992 Michael Tiemann (tiemann at cygnus.com)
6569
6570 * cp-parse.y (get_current_declspecs): New function
6571 (needed for naming sections).
6572
6573Fri Feb 21 01:34:08 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6574
6575 * dwarfout.c (location_or_const_value_attribute): Use DECL_RTL again.
6576 Seems to be safer for the moment.
6577 * function.c (instantiate_decls): Don't instantiate DECL_INCOMING_RTL.
6578
6579 * dwarfout.c (output_mem_loc_descriptor): Handle CONST like SYMBOL_REF.
6580
6581 * collect2.c (errno): Declare if not macro.
6582
6583 * dbxout.c [MIPS]: Include gstab.h, not stab.h.
6584
6585 * dbxout.c (dbxout_symbol): No longer flush leading _ for C++ syms.
6586
6587 * cp-parse.y (.hush_warning): Set $$.
6588
6589 * gstdarg.h: Handle _HIDDEN_VA_LIST as in gvarargs.h.
6590
6591Thu Feb 20 07:41:29 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6592
6593 * vax.c (reg_or_nxmem_operand): New function.
6594 (split_quadword_operands): Add missing return type (void).
6595 * vax.md (jlbc/jbc/jlbs/jbs): Handle QImode operands properly.
6596
6597 * caller-save.c (set_reg_live): Use mode of SUBREG to see how many
6598 hard regs are written.
6599
6600 * combine.c (simplify_shift_const, case IOR, AND, XOR): Perform
6601 logic computation in RESULT_MODE, not mode of VAROP.
6602
6603Wed Feb 19 18:32:05 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6604
6605 * hp320.h (PRINT_OPERAND): Support codes '$' and '&'.
6606
6607 * reload1.c (reload): Add cast of enum in index.
6608
6609 * vms.h (CPP_PREDEFINES): Define __GNUC__ as 2.
6610
6611Wed Feb 19 21:43:36 1992 Ron Guilmette (rfg at ncd.com)
6612
6613 * dwarfout.c (output_mem_loc_descriptor): Deleted useless blank line.
6614 (output_mem_loc_descriptor) Added code to handle CONSTs in DECL_RTL
6615 expressions.
6616 (dwarfout_finish): Added code to put a null string at the end of
6617 the terminating .debug_macinfo section.
6618
6619Tue Feb 18 18:34:13 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
6620
6621 * cccp.c (main): Fix typo in comment or spacing.
6622 * dbxout.c (dbxout_block): Likewise.
6623 * expr.c (convert_move): Likewise.
6624 * reload1.c (emit_reload_insn): Likewise.
6625 * rtl.h (REG_NOTES): Likewise.
6626 * sun4o3.h: Likewise.
6627 * ultrix.h (CPP_PREDEFINES): Likewise.
6628 * toplev.c (flag_no_common): Likewise.
6629 * stmt.c (layout_type): Likewise.
6630 * gcc.c (is_linker_dir, lookup_compiler): Likewise.
6631
6632 * sched.c (schedule_block): Comment code handling USE insns as
6633 obsolete.
6634
6635Tue Feb 18 14:44:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6636
6637 * c++: Run gcc in same dir as c++ was in, if exists there.
6638 Use `exec' to run it.
6639 New var `havefiles'; special message if no input files specified.
6640 Pass through any unrecognized options.
6641
6642 * g++: Now a link to c++.
6643
6644Tue Feb 18 04:54:52 1992 david d [zoo] zuhn (zoo at lynx.spa.umn.edu)
6645
6646 * protoize.c (main): added support for -p flag, to specify which
6647 gcc is the one to call for -fgen-aux-info support.
6648
6649Tue Feb 18 07:29:23 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6650
6651 * combine.c (try_combine): Don't clobber OTHER_INSN's PATTERN if
6652 we aren't able to change the insn.
6653
6654 * romp.md (bit_insv): Add missing CLOBBER when making pattern to
6655 match mftb; likewise for the DEFINE_INSN.
6656
6657Tue Feb 18 01:03:41 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6658
6659 * rs6000.h (bss_section): Set `in_section' correctly.
6660
6661 * expmed.c (synth_mult): Count second shift for alg_compound.
6662 Count extra shift for lea case.
6663 * m68k.h (RTX_COSTS): Reduce cost of multiply.
6664
6665 * function.c (instantiate_decls): Instantiate DECL_INCOMING_RTL.
6666
6667Mon Feb 17 19:17:50 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6668
6669 * a29k.md (divmodsi4, udivmodsi4): Don't use reg 180 explicitly.
6670 Instead use 'q' constraint letter.
6671
6672Mon Feb 17 16:15:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6673
6674 * global-alloc.c (global_alloc): Always call `reload'.
6675
6676Mon Feb 17 10:38:38 1992 Jim Wilson (wilson at sphagnum.cygnus.com)
6677
6678 * a29k.md (movdi define_split): Use DImode in operand_subword
6679 calls, not DFmode.
6680
6681Mon Feb 17 08:20:33 1992 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu)
6682
6683 * varasm.c (assemble_external): Check that DECL is some sort of
6684 _DECL before referencing its DECL_RTL.
6685
6686Sun Feb 16 13:05:36 1992 Michael Tiemann (tiemann at cygnus.com)
6687
6688 * cp-call.c (build_method_call): Add call to `assemble_external' in
6689 case this is the first use of FUNCTION.
6690 * cp-class.c (build_vfn_ref): Ditto for VTBL.
6691 * cp-decl2.c (write_vtable_entries): Ditto for FN.
6692 * cp-init.c (build_offset_ref): Ditto for T.
6693 * cp-typeck.c (build_function_call_real): Ditto for FUNCTION.
6694 * cp-method.c (hack_identifier): Ditto for VALUE. Also remove
6695 action that made call to `assemble_external' when !TREE_USED (VALUE).
6696
6697 * cp-lex.c (do_identifier): Remove call to `assemble_external' when
6698 implicitly declaring ID.
6699
6700 * cp-parse.y (primary): Simplify the rules for calling
6701 `assemble_external'.
6702
6703 * cp-decl.c (finish_function): For destructors, don't call
6704 expand_expr_stmt if EXPRSTMT is VOID_ZERO_NODE.
6705
6706 * cp-typeck.c (default_conversion): Parallel Jan 21 change in
6707 c-typeck.c.
6708
6709Sun Dec 16 23:31:54 1992 Ron Guilmette (rfg at ncd.com)
6710
6711 * dwarfout.c (fundamental_type_code): Deleted gunk for handling
6712 OFFSET_TYPEs. (They are *not* fundamental types).
6713 (fundamental_type_code): Fixed typo.
6714 (location_attribute, const_value_attribute): Changed to take one
6715 rtx parameter rather than one tree parameter.
6716 (location_or_const_value_attribute): Changed to use DECL_INCOMING_RTL
6717 rather than DECL_RTL for formal parameters. Also changed calls to
6718 location_attribute and const_value_attribute to provide the rtl
6719 parameter.
6720 (fund_type_attribute): Changed to accept an actual fundamental type
6721 code as a parameter directly. Also changed all calls correspondingly.
6722 (type_attribute): Separated tests for ERROR_MARK and for VOID_TYPE
6723 and added comments.
6724 (output_unspecified_parameters_die): Changed to take one tree param
6725 and to generate *both* an AT_name and an AT_type attribute when the
6726 input parameter represents of function definition. Also adjusted
6727 all calls correspondingly.
6728
6729Sun Feb 16 00:54:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6730
6731 * fixincludes: Add #ifndef around size_t declaration in types.h.
6732
6733 * varasm.c (assemble_external): Do nothing if arg isn't a decl.
6734
6735 * Makefile.in (cp-parse.c): Update "expect" msg.
6736
6737 * next.h (CPP_SPEC): Rename -bsd to -strict-bsd.
6738
6739 * Makefile.in (mostlyclean): Add ld, mips-tfile, mips-tdump.
6740
6741 * protoize.c (directory_specified_p): Don't match files in subdirs.
6742
6743 * xm-rs6k-m.h: Renamed from xm-rs6000-mach.h.
6744 * configure (rs6000-*-mach*): Changed accordingly.
6745
6746 * collect2.c (handler): No error msg here. Just resend signal.
6747 (write_c_file): Arg to write_list... is pointer.
6748 (do_wait): Fix typo.
6749 (scan_prog_file for non-OSF): Preserve all underscores.
6750
6751 * Makefile.in (install-collect2): Install gcc in libsubdir.
6752
6753Sat Feb 15 15:26:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6754
6755 * varasm.c (decode_reg_name): Empty string is not a reg number.
6756
6757 * fold-const.c (merge_component_references): NE tests against
6758 mismatched constants forces 1, not 0, as value.
6759
6760 * i386gas.h (ASM_OUTPUT_OPCODE): Convert repz to repe.
6761
6762 * collect2.c: Get rid of PROTO macro; use non-prototype decls.
6763 Don't include gstddef.h (had conflicts). Use gstdarg.h, not stdarg.h.
6764 (xcalloc, xmalloc): Add casts.
6765 (do_wait): Avoid macros WTERMSIG, WEXITSTATUS missing on some machines.
6766
6767 * cp-typeck.c (default_conversion): Don't use initial value if BLKmode.
6768
6769 * objc-actions.c (finish_objc): Fix typos in last change.
6770
6771 * c-aux-info.c, dbxout.c, cccp.c (errno): Declare, if not a macro.
6772
6773 * i386.md (QI bit test recognizer): Split into separate patterns
6774 for memory and register args. Make a scratch reg for memory.
6775
6776Fri Feb 14 23:39:58 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6777
6778 * tree.c (get_identifier): Improve -Wid-clash message.
6779
6780Fri Feb 14 16:22:48 1992 Michael Collison (collison at osf.org)
6781
6782 * i386rose.h (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and
6783 LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++.
6784 (INIT_SECTION_ASM_OP): Define as .init.
6785 (CC1PLUS_SPEC): Define it.
6786 (LINK_LIBGCC_SPECIAL): Define this to work around linker bug.
6787
6788Fri Feb 14 00:38:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6789
6790 * Makefile.in (protoize.o, unprotoize.o): g++-include is under libdir.
6791
6792 * Makefile.in (enquire.o): Make the command one long line.
6793
6794 * gcc.c (do_spec_1): Omit relative prefixes from -L'ing
6795 only if RELATIVE_PREFIX_NOT_LINKDIR is defined.
6796 * rs6000.h (RELATIVE_PREFIX_NOT_LINKDIR): Defined.
6797
6798 * varasm.c (assemble_external): Test TREE_EXTERNAL.
6799
6800 * jump.c (follow_jumps): If can't find chain end, return orig label
6801
6802 * mot3300.h (PRINT_OPERAND): Always print 16 hex digits for a double.
6803
6804 * objc-actions.c (build_module_descriptor) [NEXT_OBJC_RUNTIME]: Ret 0.
6805 (finish_objc): Value 0 from build_module_descriptor means no ctor.
6806 When referencing a class_name symbol, don't output a .globl for it.
6807 (finish_objc): Put artificial refs in text section.
6808
6809 * cccp.c (pedwarn_with_file_and_line): Handle -w, -W.
6810
6811Fri Feb 14 07:44:08 1992 James Van Artsdalen (james at bigtex.cactus.org)
6812
6813 * i386.c (notice_update_cc): sCOND opcodes don't change the flags.
6814 Don't record test or compares involving stack-like regs, since
6815 final can't omits tests or compares involving such regs correctly.
6816
6817 * i386.c (seq,sne,beq,bne): These opcodes use the state of
6818 cc_status from before the curren insn.
6819
6820 * reg-stack.c (stack_reg_mentioned_p): Don't make static.
6821
6822Fri Feb 14 06:27:48 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6823
6824 * jump.c (jump_optimize): Disable "if (...) {... x = C;} if (x) ..."
6825 optimization; there doesn't seem to be a way to fix it.
6826
6827Thu Feb 13 18:06:06 1992 James Van Artsdalen (james at bigtex.cactus.org)
6828
6829 * seq386.h (ASM_OUTPUT_OPCODE): New macro. Change "movs" into
6830 "smov" at the start of a string move mnemonic - Sequent as(1)
6831 doesn't handle the former.
6832
6833Thu Feb 13 17:21:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6834
6835 * c-decl.c (finish_struct): Use pedwarn for pedantic warning.
6836 (grokdeclarator): Likewise.
6837 * c-parse.y (component_decl_list2): Likewise.
6838
6839Thu Feb 13 22:11:36 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6840
6841 * combine.c (make_extraction): Default modes to byte and register
6842 size, as appopriate, when the bitfield insn doesn't exist.
6843
6844 * a29kunix.h (LINK_SPEC): Pass default option file to gld.
6845 (LINK_LIBGCC_SPECIAL): Define to work around gld bug.
6846
6847 * explow.c (copy_to_suggested_reg): Try getting mode from TARGET.
6848
6849 * rs6000.h (ASM_FILE_END): New macro.
6850 (EXTRA_SECTIONS): New section read_only_private_data.
6851 (EXTRA_SECTION_FUNCTIONS): New function read_only_private_data_section.
6852 (SELECT_RTX_SECTION): Always make non-toc data private, read-only.
6853 (SELECT_SECTION): Put read-only data in appropriate sections.
6854
6855 * jump.c (jump_optimize): Place branch in correct place when
6856 optimizing "if (...) {... x = C;} if (x) ...".
6857 (redirect_jump): Ensure jump's UID is within range of jump chain.
6858
6859 * a29k.c (output_prologue): Correctly set LR1 when more than 64
6860 registers are needed.
6861
6862Wed Feb 12 22:22:46 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
6863
6864 * make-cccp.com: Define link as a local symbol to avoid
6865 possible conflict with a user defined global symbol.
6866
6867 * make-cc1.com: Likewise.
6868
6869Thu Feb 13 11:05:07 1992 Michael Meissner (meissner at osf.org)
6870
6871 * mips.c (make_temp_file): Store created filename into a static
6872 file-scope variable, not an auto.
6873 (mips_asm_file_end): Use the appropriate filename in printing
6874 errors.
6875
6876Thu Feb 13 01:15:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6877
6878 * cccp.c (skip_if_group): Skip comments after the #.
6879
6880 * cccp.c (macarg): Don't assume stringify will compress spaces.
6881 (macroexpand): In stringify, compress space only outside tokens.
6882
6883 * cexp.y (exp1): Use pedwarn for comma in #if.
6884
6885 * cp-decl.c (push_binding_level, pop_binding_level):
6886 Change `inline' to `__inline'.
6887
6888 * combine.c (make_compound_operation): Undo previous change.
6889
6890Wed Feb 12 18:47:47 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6891
6892 * function.c (instantiate_virtual_regs_1, case IF_THEN_ELSE):
6893 Don't special case; allow all operands to be processed. The last
6894 two operands are nontrivial on the Vax.
6895
6896Wed Feb 12 18:58:48 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6897
6898 * gcc.c (do_spec_1): Only absolute prefixes turn into -L's.
6899 (link_command_spec): Handle LINK_LIBGCC_SPECIAL.
6900
6901Wed Feb 12 18:38:29 1992 Chris Smith (csmith at convex.com)
6902
6903 * convex.h (DEFAULT_CALLER_SAVES): define again, bug is fixed.
6904 * convex.h (BRANCH_COST): Define as 0, so we won't use complex
6905 alternatives to branches (whose expansions contain branches
6906 on convex).
6907
6908Wed Feb 12 17:23:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6909
6910 * config.sub: Accept just `hppa' for machine.
6911
6912 * Makefile.in (Install-collect2): New target.
6913
6914Wed Feb 12 13:55:24 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6915
6916 * reorg.c (relax_delay_slots): Don't convert jump to return here.
6917
6918 * configure (a29k-ultra-*): Deleted.
6919 (a29k-*-bsd*): Merged with a29k-ultra-*.
6920 (romp-*-mach*): Fixed typo in xmake_file name.
6921 * xm-a29kunix.h: Renamed from xm-a29k-ult.h.
6922 * x-a29kunix: New file.
6923
6924 * reload.c (find_reloads): Don't use class from preference if it
6925 is a single-register class.
6926
6927Wed Feb 12 13:03:16 1992 Tom Wood (wood at dg-rtp.dg.com)
6928
6929 * m88k.h (FUNCTION_BOUNDARY, ASM_OUTPUT_ALIGN): Pack code tightly
6930 when compiling crtstuff.c (flag_inhibit_size_directive).
6931
6932Wed Feb 12 10:34:09 1992 Michael Meissner (meissner at osf.org)
6933
6934 * decrose.h (*_SPEC): Compress some whitespace in the specs. Also,
6935 simpify which LANGUAGE_xxx names are defined, to be the ones uses by
6936 the system(s).
6937 * decstatn.h (*_SPEC): Likewise.
6938 * iris.h (*_SPEC): Likewise.
6939 * mips.h (*_SPEC): Likewise.
6940 * mips-bsd.h (*_SPEC): Likewise.
6941 * mips-news.h (*_SPEC): Likewise.
6942 * mips-sysv.h (*_SPEC): Likewise.
6943
6944Wed Feb 12 10:34:09 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6945
6946 * caller-save.c (insert_save_restore): Properly check for insns that
6947 reference CC0.
6948
6949Wed Feb 12 03:17:00 1992 Chris Smith (csmith at convex.com)
6950
6951 * convex.h (DEFAULT_CALLER_SAVES): don't define, to sidestep a bug.
6952 * convex.md (ffssi2): Comment out.
6953
6954Wed Feb 12 00:08:42 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
6955
6956 * make-libgcc2.com: Do not save .s file.
6957
6958 * vms.h: Wrap #include <stdio.h> in #ifdef L__main/endif
6959
6960Tue Feb 11 21:58:42 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
6961
6962 * libgcc2.c (DO_GLOBAL_DTORS_BODY): New macro.
6963
6964 * make-l2.com: New file to build libgcc2 on VMS.
6965
6966 * vms.h (DO_GLOBAL_CTORS_BODY): Replacement definition.
6967
6968 * vms.h (DO_GLOBAL_DTORS_BODY): Likewise.
6969
6970 * make-cccp.com: Define bison and rename as local symbols to avoid
6971 possible conflict with user defined global symbols.
6972
6973Tue Feb 11 22:17:32 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6974
6975 * sched.c (attach_deaths): Don't treat PIC offset table register
6976 specially; flow.c doesn't.
6977
6978 * combine.c (make_compound_operation, case AND): We can have
6979 a (and (subreg (lshiftrt ..) ..) ..); handle same as without SUBREG.
6980
6981 * Makefile.in (HOST_CLIB, HOST_ALLOCA, HOST_MALLOC, HOST_OBSTACK): New
6982 variables to override.
6983 (USE_HOST_*, HOST_LIBDEPS): Use HOST_PREFIX and new variables.
6984 (HOST_LIBS): Use HOST_CLIB.
6985
6986Tue Feb 11 21:32:07 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6987
6988 * Makefile.in (install-common-headers): Copy byteorder.h to
6989 compilation dir.
6990
6991 * config.sub: Allow unicos as operating system.
6992
6993 * m88kv4.h (INIT_SECTION_ASM_OP): Add #progbits.
6994
6995 * vax.h (DYNAMIC_CHAIN_ADDRESS): New macro.
6996
6997 * c++: Propagate quoted args properly.
6998
6999Tue Feb 11 16:35:01 1992 Jim Wilson (wilson at cygnus.com)
7000
7001 * fixincludes: Define TERM to `unknown', to ensure that it is
7002 valid. Otherwise, ex may fail.
7003 * fixinc.svr4: Likewise.
7004
7005Tue Feb 11 18:04:32 1992 Michael Meissner (meissner at osf.org)
7006
7007 * decrose.h (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and
7008 LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++.
7009 Silicon Graphics in particular uses LANGUAGE_C_PLUS_PLUS.
7010 * decstatn.h (CPP_SPEC): Likewise.
7011 * iris.h (CPP_SPEC): Likewise.
7012 * mips-bsd.h (CPP_SPEC): Likewise.
7013 * mips-news.h (CPP_SPEC): Likewise.
7014 * mips-sysv.h (CPP_SPEC): Likewise.
7015
7016 * decstatn.h (CPP_PREDEFINES): Eliminate __<name> versions, since
7017 gcc will do these automatically. Eliminate LANGUAGE_C, since it is
7018 handled in CPP_SPEC.
7019
7020Tue Feb 11 15:38:27 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7021
7022 * flow.c (find_basic_blocks): Don't delete labels used in non-jumps.
7023
7024 * vms.h (DO_GLOBAL_CTORS_BODY): Modify the return address
7025 only the first time __main is called.
7026
7027 * fixinc.svr4: Change headers to test __STRICT_ANSI__ instead of
7028 testing __STDC__ != 0.
7029
7030 * fixinc.svr4 (mman.h): Fix backward __STDC__ conditional.
7031 Don't add declarations of munmap and mprotect.
7032
7033 * varasm.c (output_constant): Allow empty constructor for any type.
7034
7035 * dwarfout.c (ASM_OUTPUT_DWARF_DATA8): Just one definition;
7036 test WORDS_BIG_ENDIAN "at run time".
7037
7038Tue Feb 11 09:00:01 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7039
7040 * reload.c (find_reloads): Don't substitute in MATCH_DUPs if we
7041 are not generating replacements.
7042
7043Tue Feb 11 08:45:14 1992 Tom Wood (wood at dg-rtp.dg.com)
7044
7045 * m88kv4.h ({CTORS,DTORS}_SECTION_ASM_OP): Fix typo.
7046
7047Mon Feb 10 22:34:47 1992 Chris Smith (csmith at convex.com)
7048
7049 * convex.h(HARD_REGNO_NREGS): define correctly for 64-bit regs
7050
7051Mon Feb 10 21:50:23 1992 Michael Meissner (meissner at osf.org)
7052
7053 * mips.h (MIPS_VERSION): Change Meissner version # to 11.
7054 (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and
7055 LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++.
7056 Silicon Graphics in particular uses LANGUAGE_C_PLUS_PLUS.
7057 (FP_DBX_FIRST): Change the test so that stabs in ECOFF uses the
7058 value 38, in addition to stabs in GAS.
7059
7060 * mips.md (all function units): Make the function units simpler, and
7061 not depend on the cpu type, to work around a memory hungry
7062 genattrtab, which attempts to grow the data segment to than 32
7063 megabytes.
7064
7065Mon Feb 10 16:34:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7066
7067 * convex.h (REAL_VALUE_TRUNCATE): Obsolete definition deleted.
7068
7069 * config.sub (convex-*): These are BSD, not sysv.
7070
7071 * dbxout.c (have_used_extensions): New var.
7072 (dbxout_type, dbxout_type_fields, dbxout_symbol):
7073 Set have_used_extensions when use an extension.
7074 (dbxout_symbol): Don't use `Tt' extension unless extensions
7075 have been used.
7076
7077Mon Feb 10 12:28:59 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7078
7079 * xm-a29k-ult.h: Fix typo in placement of copyright notice.
7080
7081Mon Feb 10 05:36:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7082
7083 * dbxout.c (dbxout_type): Don't use GDB extensions if they are empty.
7084
7085Mon Feb 10 00:10:20 1992 Michael Tiemann (tiemann at cygnus.com)
7086
7087 * cp-class.c (finish_struct): Use DECL_CHAIN, not TREE_CHAIN to walk
7088 through the list of methods identified by a visibility declaration.
7089
7090 * cp-cvt.c (convert_pointer_to): No longer need to abort if BINFO is
7091 not a TREE_VEC or AGGR_TYPE node.
7092
7093 * cp-parse.y (stmt): Improve error handling for try/except.
7094
7095 * cp-class.c (add_method): If we create RTL for a copy of METHOD,
7096 copy the RTL to METHOD's DECL_RTL slot.
7097
7098 * cp-method.c (dump_type): Print `const' and/or `volatile' for
7099 VOID_TYPE and REAL_TYPEs, too.
7100
7101Sun Feb 9 21:07:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7102
7103 * varasm.c (assemble_integer): Pass third arg in recursive calls.
7104 Act appropriately if word-by-word loop doesn't finish.
7105
7106 * Makefile.in (bootstrap*): Don't override value of ALLOCA.
7107
7108 * dbxout.c (dbxout_symbol, dbxout_parms): Do leaf function remap
7109 only if LEAF_REG_REMAP and only in leaf functions.
7110
7111Sun Feb 9 16:46:27 1992 Michael Tiemann (tiemann at cygnus.com)
7112
7113 * cp-init.c (maybe_adjust_addr_for_delete): Build final COND_EXPR
7114 with TREE_TYPE (addr).
7115
7116Sun Feb 9 14:20:49 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7117
7118 * rs6000.h (rs6000_{bss,private_data,read_only}_section_name):
7119 Add declarations.
7120 (rs6000_text_section_asm_op): Deleted.
7121 (ASM_FILE_START): Initialize section names and enter bss section once.
7122 (EXTRA_SECTIONS): Add `private_data' and `bss';
7123 delete `global_variable'..
7124 (read_only_data_section): Don't form name here.
7125 (global_variable_section): Deleted.
7126 (private_data_section, bss_section): New functions.
7127 (ASM_DECLARE_FUNCTION_NAME): Don't write function name with [PR].
7128 (ASM_OUTPUT_POLL_PROLOGUE): No longer needed.
7129 (SELECT_{RTX_,}SECTION): Just calls data_section or
7130 private_data_section.
7131 (ASM_OUTPUT_LOCAL): Put in bss section.
7132 (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Now a constant.
7133 * rs6000.c (rs6000_text_section_asm_op): Deleted.
7134 (rs6000_{bss,private_data,read_only}_section_name): Add definitions.
7135 (rs6000_gen_section_name): New function.
7136
7137Sun Feb 9 08:29:21 1992 James Van Artsdalen (james at bigtex.cactus.org)
7138
7139 * i386.h (REGNO_REG_CLASS): Use a lookup table: AIX can't handle
7140 complex tertiary expressions.
7141 (GO_IF_LEGITIMATE_ADDRESS): Simplify slightly for the AIX
7142 compiler.
7143
7144 * i386.c (regclass_map): New variable. Lookup array for
7145 REGNO_REG_CLASS.
7146
7147Sat Feb 8 01:20:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7148
7149 * cp-parse.y (yyprint): Test __GNUC__, not __GNU__.
7150 Use __inline, like everywhere else.
7151
7152 * a29k.h, romp.h (OVERRIDE_OPTIONS): Deleted.
7153 (OPTIMIZATION_OPTIONS): Defined, instead.
7154 * rs6000.h (OPTIMIZATION_OPTIONS): New macro.
7155 (OVERRIDE_OPTIONS): Don't change optimization.
7156
7157 * final.c (leaf_renumber_regs_insn): No longer static.
7158 * dbxout.c (dbxout_symbol, dbxout_parms): Call that.
7159
7160 * c-decl.c (lookup_name): Do nothing special if type is error mark.
7161 (grokdeclarator): Ignore putative type name whose type is error mark.
7162 * c-parse.y (primary): If var type is error mark, return error mark.
7163
7164 * c-typeck.c (build_array_ref): Return early if arg is error mark.
7165
7166 * Makefile.in (test-protoize): Rule deleted.
7167
7168 * stmt.c (emit_case_nodes): Handle just-left-subtree case
7169 like just-right-subtree--delete mysterious code that tests cost_table.
7170
7171 * varasm.c (decode_reg_name): Accept decimal number as reg name.
7172
7173 * c-decl.c (finish_decl): If pop_obstacks goes to perm obstack,
7174 call permanent_allocation.
7175
7176 * gcc.c (link_command_spec): Use -lgcc, not libgcc.a.
7177
7178Fri Feb 7 16:56:17 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
7179
7180 * rs6000.h (DOLLARS_IN_IDENTIFIERS): Define to zero, because the
7181 assembler does not accept dollar signs.
7182
7183Fri Feb 7 15:36:40 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7184
7185 * Makefile.in (mostlyclean): Fix name of tmp-proto.1.
7186
7187 * configure: Delete excess space in assignment to srcdir.
7188
7189 * cp-decl2.c (DOLLARS_IN_IDENTIFIERS): Default now 1, as in C.
7190
7191 * i386gas.h (ASM_OUTPUT_LOOP_ALIGN): New macro.
7192 (ASM_OUTPUT_ALIGN_CODE): Use 16-byte boundary on 486.
7193
7194 * m68k.h (TRANSFER_FROM_TRAMPOLINE): Use operands for the memrefs
7195 to avoid dependence on assembler syntax.
7196
7197Fri Feb 7 10:26:32 1992 Michael Meissner (meissner at osf.org)
7198
7199 * Makefile.in (EXTRA_OBJS): New variable for extra object files
7200 needed when linking cc1, cc1plus, and cc1objc.
7201
7202Fri Feb 7 07:34:03 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7203
7204 * reload1.c (set_label_offsets, reload_as_needed): Recompute
7205 num_not_at_initial_offset when we pick up offsets from offsets_at.
7206
7207 * unroll.c (unroll_loop): Copy initial and final values to avoid
7208 sharing.
7209
7210 * cse.c (simplify_relational_operation): Complete last change by
7211 correctly handling <= and >=.
7212
7213Thu Feb 6 23:57:02 1992 Michael Tiemann (tiemann at cygnus.com)
7214
7215 * cp-decl.c (grokdeclarator): Invert sense of warning about
7216 initialized extern vars, since in C++, const has funny semantics.
7217
7218Thu Feb 6 15:12:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7219
7220 * cse.c (simplify_relational_operation): Test properly for floating
7221 equality; don't deduce this from < and >.
7222
7223 * xm-mips.h (alloca): Don't define or declare if MIPS_OVERRIDE_ALLOCA.
7224 * xm-irix4.h (MIPS_OVERRIDE_ALLOCA): Defined.
7225
7226 * m68k.h (TRANSFER_FROM_TRAMPOLINE): Use explicit reg var
7227 to avoid dependence on register name syntax.
7228
7229 * mot3300.h (PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM):
7230 New macros.
7231 (PUT_SDB_DIM): Deleted.
7232 (PRINT_OPERAND): Handle %$ and %&.
7233 (ASM_OUTPUT_OPCODE): Handle f%$move and f%&move.
7234
7235 * gstdarg.h: If not __GNUC__, use system's stdarg.h.
7236
7237Thu Feb 6 22:36:36 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
7238
7239 * vms.h (DEFAULT_GDB_EXTENSIONS): Define as 0.
7240
7241Thu Feb 6 13:32:37 1992 Michael Meissner (meissner at osf.org)
7242
7243 * mips.h (MIPS_VERSION): Set Meissner version # to 10.
7244 (flag_half_pic, mips_branch_likely): New global variables.
7245 (call_memory_operand): New function declaration.
7246 (half_pic_encode_section_info): Likewise.
7247 (mips_constant_address_p): Likewise.
7248 (mips_debugger_offset): Likewise.
7249 (CC1_SPEC): Make OSF/1 -pic-xxx switches to -mhalf-pic, which is
7250 currently undergoing development.
7251 (DEBUGGER_AUTO_OFFSET): Emit correct information if frame pointer is
7252 omitted.
7253 (DEBUGGER_ARG_OFFSET): Likewise.
7254 (TARGET_SWITCHES): Add -mabicalls and -mhalf-pic switches.
7255 (PIC_OFFSET_TABLE_REGNUM): Define as the GP register ($28).
7256 (EXTRA_CONSTRAINT): Add 'S' constraint for half-pic references.
7257 (CONSTANT_ADDRESS_P): Call mips_constant_address_p.
7258 (ENCODE_SECTION_INFO): Reorder test to test optimize first, and to
7259 call half_pic_encode_section_info if half pic.
7260 (PREDICATE_CODES): Add call_memory_operand.
7261
7262 * mips.c (flag_half_pic): New global variable to indicate to produce
7263 half-pic output for OSF/rose.
7264 (mips_branch_likely): New global variable to indicate the branch
7265 should use the branch likely form of the instruction.
7266 (mips_sw_reg_names): Use $fp instead of fp, since regdef.h no longer
7267 defines fp.
7268 (call_memory_operand): New function to return TRUE if the argument
7269 is a valid MEM for a call instruction.
7270 (mips_move_1word): Emit comment in la of half-pic addresses as a
7271 temporary flag to put the right code down.
7272 (mips_constant_address): New function to determine if something is a
7273 constant address or not. Add stub code for -mhalf-pic.
7274 (override_options): Set flag_half_pic if -mhalf-pic.
7275 (override_options): Mark %? as valid for print_operand.
7276 (mips_debugger_offset): New function to correct the offset for
7277 variables and arguments if the frame pointer has been omitted.
7278 (print_operand): %? now emits a 'l' if mips_branch_likeley is set.
7279 (mips_asm_file_start, function_prologue): If -mabicalls, emit the
7280 pseudo ops that the Pyramid System V.4 port seems to want.
7281 (compute_frame_size): Reserve space for saving GP if -mabicalls.
7282 (half_pic_encode_section_info): Stub function for encoding whether
7283 or not to generate a half pic reference.
7284
7285 * mips.md (type attribute): Add pic attribute.
7286 (cpu attribute): New attribute to get the CPU type.
7287 (branch_likely attribute): New attribute to say whether or not we
7288 can use branch likely instructions.
7289 (define_delay): Note that we can annull false branches if -mips2.
7290 (memory function unit): Add pic in addition to load.
7291 (various function units): Use the cpu attribute.
7292 (branch patterns): Support branch likely instructions if -mips2.
7293 (call, call_internal): Use call_memory_operand instead of
7294 memory_operand. If -mhalf-pic put function address in a register.
7295 (call_value, call_value_internal): Likewise.
7296
7297 * decrose.h (INIT_SECTION_ASM_OP): Define as .init.
7298
7299Thu Feb 6 10:07:17 1992 Tom Wood (wood at dg-rtp.dg.com)
7300
7301 * m88k.c (preserve_registers): Change to walk the epilogue delay
7302 insns in the forward rather than reverse order (for reorg.c change).
7303
7304Thu Feb 6 02:54:28 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7305
7306 * cse.c (simplify_binary_operation, case PLUS): Don't make
7307 a (const (plus X Y)) with X a CONST_INT.
7308
7309 * fixincludes: Simplify egrep command.
7310
7311Thu Feb 6 01:11:28 1992 Mark Eichin (eichin at cygnus.com)
7312
7313 * cp-lex.c (process_next_inline): if we get a "parse error at end of
7314 saved function text", set yychar to something that
7315 restore_pending_input will digest (if it thinks input is still
7316 pending, it will abort, but we've already reported the problem to
7317 the user.)
7318
7319Wed Feb 5 18:42:56 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7320
7321 * reorg.c (fill_simple_delay_slots): When filling delay slots by
7322 searching backward, put each new insn we find at the head of the
7323 delay list instead of at the tail.
7324
7325 * cse.c (fold_rtx): When associating operations, avoid infinite
7326 recursion if the new expression contains our operand.
7327
7328Wed Feb 5 21:18:06 1992 Mark Eichin (eichin at cygnus.com)
7329
7330 * cp-decl.c (globalize_nested_type): If the type isn't found at all,
7331 this is an anonymous forward reference, so permit it.
7332 Abort if type is already globally defined.
7333
7334Wed Feb 5 18:01:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7335
7336 * varasm.c, hp800.h, i386.h, m88k.h, mips.h, romp.h, vms.h:
7337 (ENCODE_SECTION_INFO): Renamed from ENCODE_SEGMENT_INFO.
7338
7339 * sparc.md (nonlocal_goto): Copy static chain into
7340 virtual_stack_vars_rtx, not frame pointer itself.
7341 (nonlocal goto return recognizer): Jump to %o0+0.
7342
7343 * toplev.c (main): Fix test for -Wid-clash.
7344
7345Wed Feb 5 16:58:15 1992 Ron Guilmette (rfg at ncd.com)
7346
7347 * dwarfout.c (dwarfout_init): Add two words containing the starting
7348 and ending address of the .text section for this compilation unit to
7349 the special initial entry in the .debug_srcinfo section.
7350
7351Tue Feb 4 14:51:16 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7352
7353 * dbxout.c (dbxout_symbol): Handle DBX_OUTPUT_CONSTANT_SYMBOL.
7354 (dbxout_block): Handle DBX_OUTPUT_CATCH.
7355
7356 * cccp.c (lookup_import, add_import, do_include):
7357 Use bcmp and bcopy to access st_ino and ->inode fields.
7358
7359 * dbxout.c (dbxout_init): Pass syms to DBX_OUTPUT_STANDARD_TYPES.
7360
7361 * fold-const.c (operand_equal_p): Check that modes match.
7362 (comparison_equiv_p): New function.
7363 (fold): Use that when converting ?: to min_expr or max_expr.
7364
7365 * c-common.c (c_expand_expr_stmt): Test for ERROR_MARK as type.
7366
7367Tue Feb 4 12:03:26 1992 Michael Tiemann (tiemann at cygnus.com)
7368
7369 * stmt.c (expand_end_case): Don't crash if function called
7370 is not an ADDR_EXPR.
7371
7372Tue Feb 4 14:17:22 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7373
7374 * expr.h ({float[sd]i[sd]f,fix[sd]f[sd]i,fixuns[sd]f[sd]i}_libfunc):
7375 New declarations.
7376 * optabs.c: Define them.
7377 (expand_float, expand_fix): Use them instead of making a new
7378 SYMBOL_REF each call.
7379 (init_optabs): Initialize them.
7380
7381Tue Feb 4 00:27:35 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7382
7383 * Makefile.in (protoize.1, unprotoize.1): Rename temp files < 14 chrs.
7384
7385 * cccp.c (skip_if_group): Make unknown cmd name a pedantic warning.
7386
7387Mon Feb 3 18:10:41 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7388
7389 * romp.h (LEGITIMATE_CONSTANT_P, ENCODE_SEGMENT_INFO): Use
7390 SYMBOL_REF_FLAG.
7391
7392 * x-romp-mach: New file.
7393 * configure (romp-*-mach*): New alternative.
7394
7395Mon Feb 3 16:43:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7396
7397 * cp-typeck.c (warn_for_assignment): Print arg num in origin 1.
7398
7399 * sparc.md (nonlocal_goto trap recognizer): Fix opcode spelling.
7400
7401 * function.c (fix_lexical_addr): Properly search for correct display.
7402
7403 * romp.h (OVERRIDE_OPTIONS): Don't set flag_omit_frame_pointer.
7404
7405Mon Feb 3 11:11:58 1992 Michael Tiemann (tiemann at cygnus.com)
7406
7407 * gcc.c (@c++-cpp-output): Delete extraneous "}}}" at the end of the
7408 rule.
7409
7410Mon Feb 3 11:38:19 1992 Ron Guilmette (rfg at ncd.com)
7411
7412 * dwarfout.c (dwarfout_init): Generate an initial 2-word entry in the
7413 .debug_srcinfo section containing the addresses of the starts of the
7414 .line and .debug_sfnames sections. Generate it after the initial entry
7415 for the .line section.
7416
7417 * dwarfout.c [DWARF_TIMESTAMPS]: Ensure time_t and time declared.
7418 (dwarfout_init): Make third word of initial .debug_srcinfo entry be
7419 the compilation date/time if DWARF_TIMESTAMPS is defined, or else -1.
7420
7421 * dwarfout.c (dwarfout_init): Output compilation directory name as
7422 the first thing in the .debug_sfnames section.
7423
7424Mon Feb 3 04:12:51 1992 James Van Artsdalen (james at bigtex.cactus.org)
7425
7426 * Makefile.in (install-dir): `parent' is a shell variable.
7427
7428Mon Feb 3 09:43:51 1992 Tom Wood (wood at dg-rtp.dg.com)
7429
7430 * m88k.h (EXTRA_SECTIONS): Use init and fini sections from svr3.h,
7431 but only when using svr3.h.
7432
7433Sun Feb 2 19:50:29 1992 James Van Artsdalen (james at bigtex.cactus.org)
7434
7435 * i386.h (ADDRESS_COST): New macro.
7436
7437Sun Feb 2 17:08:47 1992 Michael Meissner (meissner at osf.org)
7438
7439 * mips.c (simple_memory_operand): Don't recognize references to
7440 variables in .sdata or .sbss, which has the effect of not putting
7441 stores into delay slots. This fixes a bug and also doesn't temp the
7442 MIPS linker from trying to put 4 instructions into the delay slot
7443 when it rewrites the function as a PIC function.
7444
7445Sun Feb 2 16:58:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7446
7447 * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Do ON_EXIT last.
7448
7449 * Makefile.in (install-dir): Create the parent of mandir if nec.
7450
7451 * real.h (REAL_VALUE_TRUNCATE): sizeof says what cast to float does.
7452
7453 * dbxout.c (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY): New parameter macro.
7454 (DBX_OUTPUT_MAIN_SOURCE_FILENAME, DBX_OUTPUT_SOURCE_FILENAME):
7455 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
7456 These are used in place of ASM_...
7457 * newpbb.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Macro renamed.
7458 (DBX_OUTPUT_SOURCE_FILENAME): Likewise.
7459 * next.h (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY): Macro renamed.
7460 (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
7461
7462Sun Feb 2 12:51:54 1992 Michael Tiemann (tiemann at cygnus.com)
7463
7464 * cp-typeck.c (build_component_ref_1): Call `compute_visibility'
7465 with a BASETYPE_PATH, not a TREE_LIST.
7466
7467 * cp-class.c (build_vtable_entry): Apologize if we cannot build a
7468 proper vtable because of builtin liminations.
7469
7470Sun Feb 2 07:30:08 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7471
7472 * reload.c (combine_reloads): Don't combine two reloads with different
7473 secondary reloads; copy secondary reload to combined reload.
7474
7475 * cse.c (cse_main): PIC_OFFSET_TABLE_REGNUM is not clobbered by calls
7476 if -fpic or -fPIC.
7477 * reorg.c (mark_target_live_regs): Likewise.
7478 * sched.c (attach_deaths): Likewise.
7479
7480 * flow.c (find_basic_blocks): Don't separate a CALL_INSN from
7481 following CLOBBER insns.
7482
7483 * function.c (use_variable, use_variable_after): Don't interpret
7484 reference to internal arg pointer as variable-sized object.
7485 (expand_function_start, expand_function_end): Add USE for virtual
7486 arg pointer if stupid alloc and it is not the real arg pointer.
7487
7488 * flow.c (insn_dead_p, mark_set_1, mark_used_regs): Don't treat
7489 ARG_POINTER_REGNUM specially if it isn't fixed.
7490 * sched.c (attach_deaths): Likewise.
7491 * reorg.c (mark_target_live_regs): Likewise; also make set of regs
7492 clobbered on call agree with cse and flow.
7493
7494 * function.c (fix_lexical_addr): Rework to look for AP references
7495 using internal_arg_pointer; make some related cleanups.
7496 * expr.c (expand_expr, case VAR_DECL, SAVE_EXPR): Treat
7497 inline_function_decl just like current_function_decl.
7498 * stmt.c (expand_end_bindings): When restoring arg pointer, restore
7499 into the virtual form so we will subtract the proper offset, since
7500 the saved value includes the offset.
7501
7502Sat Feb 1 14:41:34 1992 Ken Raeburn (Raeburn@Cygnus.COM)
7503
7504 * cp-pt.c (end_template_decl): For method template, no longer call
7505 popclass; it isn't needed any more. If after processing template
7506 we're not at the global binding level, throw away any other binding
7507 levels, rather than aborting. Also deleted some other unused code.
7508
7509Sat Feb 1 09:13:47 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7510
7511 * xm-rs6000-mach.h, rs6000-mach.h: New files.
7512 * configure (rs6000-*-mach): New option.
7513
7514Sat Feb 1 00:57:24 1992 James Van Artsdalen (james at bigtex.cactus.org)
7515
7516 * i386.c: Include tree.h
7517 (symbolic_operand): New predicate function.
7518 (symbolic_reference_mentioned_p): New function.
7519 (legitimize_pic_address,emit_pic_move): New functions.
7520 (function_prologue): Delete unused variable nregs.
7521 If the PIC reg is used, save the old contents and initialize with
7522 a pointer to the GOT.
7523 (simple_386_epilogue): Count the PIC reg if it is used.
7524 (function_epilogue): Delete unused variable "insn". Restore the
7525 original contents of the PIC reg if it was used.
7526
7527 (output_pic_addr_const): New function to handle PIC symbol
7528 reference suffixes.
7529 (print_operand_address): Use that if flag_pic is true.
7530 (print_operand): Likewise. Don't print a prefix in front of any
7531 constant if the 'P' code is used.
7532
7533 (output_387_binary_op): abort if the op is not one we handle.
7534
7535 (maximum_field_alignment): New variable.
7536 (handle_pragma_token): New function. Handle `weak' and `pack'.
7537
7538 * i386.h (CONDITION_REGISTER_USAGE): New macro. Mark PIC reg as
7539 fixed and call used if flag_pic is true.
7540 (PIC_OFFSET_TABLE_REGNUM): New macro.
7541 (FUNCTION_PROFILER): Output PIC compatible code if flag_pic.
7542 (INITIAL_ELIMINATION_OFFSET): Count the PIC reg if it is used.
7543
7544 (GO_IF_LEGITIMATE_ADDRESS): If flag_pic is true, reject bare
7545 label or symbol references, but allow constant pool references.
7546 In all cases, don't bother to check for a constant as the first
7547 operand of a PLUS.
7548 (LEGITIMIZE_ADDRESS): Call legitimize_pic_address for symbolic
7549 references if flag_pic is true. In all cases, HImode regs are not
7550 valid memory pointers.
7551 (LEGITIMATE_PIC_OPERAND): New macro.
7552 (SYMBOLIC_CONST): New macro.
7553 (ENCODE_SEGMENT_INFO): New macro to notice static variables.
7554 (CONST_COSTS): Symbolic constants cost more if flag_pic is true.
7555
7556 * i386.md (movsi): Use define_expand. Call emit_pic_move for
7557 symbolic constants if flag_pic is true.
7558 (divmodM4,udivmodM4): Change predicates so that only regs are
7559 allowed in operands that can't be a mem. Avoids reload
7560 congestion.
7561 (indirect_jump): Allow any reg or mem as operand, not just reg 0.
7562 (casesi): New insn, only used if flag_pic is true.
7563 (call,call_pop,call_value,call_value_pop): Use define_expand to
7564 record if this function ever emits a call, which will implicitly
7565 use the PIC address register.
7566
7567 * svr4.h (SELECT_SECTION): Any item whose initial value involves
7568 linker relocation must go in the data section if flag_pic is true.
7569
7570 * i386v4.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output in PIC style. If
7571 flag_pic is false, ADDR_DIFF_VECs are not output and this is not
7572 used.
7573 (JUMP_TABLES_IN_TEXT_SECTION): New macro.
7574
7575 (WEAK_ASM_OP,DEF_ASM_OP): New macros.
7576 (maximum_field_alignment): New variable. Declare here.
7577 (PCC_BITFIELD_TYPE_MATTERS): New macro. Value depends on
7578 maximum_field_alignment.
7579 (BIGGEST_FIELD_ALIGNMENT): New macro. Likewise.
7580 (HANDLE_PRAGMA): New macro.
7581 (ASM_OUTPUT_ALIGNED_LOCAL): New macro.
7582
7583Sat Feb 1 00:15:41 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7584
7585 * flow.c (flow_analysis, find_basic_blocks):
7586 If have nonlocal labels, calls end basic blocks.
7587 Each call can jump to each nonlocal label.
7588 Pass extra arg to find_basic_blocks.
7589 * function.c (nonlocal_label_rtx_list): New function.
7590
7591 * dbxout.c (dbxout_init): Vars wd and wd_gotten moved to top level
7592 and renamed to cwd and cwd_gotten.
7593
7594 * c-decl.c (start_function): -Wmissing-prototypes warns if static
7595 function was previously used without a prototype.
7596
7597 * loop.c (find_and_verify_loop): Initialize uid_loop_num[0].
7598 (loop_optimize): Give up fast if no loops.
7599
7600 * stmt.c (expand_end_bindings): Don't adjust fp in nonlocal goto hndlr
7601 if there is a nonlocal_goto insn.
7602
7603 * Makefile.in (cccp.o): Use just libdir in GPLUSPLUS_INCLUDE_DIR.
7604
7605 * gcc.c (do_spec_1): Supply missing arg in some recursive calls.
7606
7607Fri Jan 31 21:50:03 1992 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu)
7608
7609 * m68k.h (OVERRIDE_OPTIONS): -fPIC is only supported on the 68020
7610 and later cpus. Give an error if -fPIC is tried on a 68000.
7611
7612Fri Jan 31 21:39:33 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7613
7614 * flow.c (find_auto_inc): If emitting a move insn in front of the
7615 first insn in a block, update basic_block_head.
7616
7617 * caller-save.c (init_caller_save): Correctly check for case where the
7618 save or restore insns aren't recognized.
7619
7620Fri Jan 31 21:02:35 1992 Mark Eichin (eichin at cygnus.com)
7621
7622 * cp-decl.c (pushtag): when calling pushdecl, if we're in a
7623 class_binding_level just do a pushdecl_class_level. Otherwise
7624 pushdecl gets called multiple times on class-nested enums, which
7625 short circuits the name list in the global_binding_level.
7626
7627Fri Jan 31 00:14:20 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7628
7629 * stmt.c (expand_goto): Use nonlocal_goto pattern if it exists.
7630 * sparc.md (nonlocal_goto): New pattern.
7631 Also nameless pattern for the special trap insn.
7632
7633 * gcc.c (S_ISDIR): Add default definition.
7634
7635 * function.c (expand_function_end):
7636 Set up arg_pointer_save_area at start of function.
7637
7638 * c++: Accept -nostdlib, not -nostinc.
7639
7640 * va-sparc.h: If GCC v1, define __extension__ as nothing.
7641 * va-i860.h, va-pyr.h, va-spur.h: Likewise.
7642
7643 * cp-class.c (finish_struct): Fill in DECL_ALIGN of vtable field.
7644
7645 * regclass.c (reg_class_record):
7646 Don't follow indirect loops in constraints.
7647
7648 * function.c, expr.h (current_function_internal_arg_pointer): New var.
7649 * function.c (assign_parms): Set it.
7650 (push_function_context, pop_function_context): Save and restore it.
7651 * expr.c (expand_builtin): Use it.
7652 * function.h (struct function): New slot to save it in.
7653
7654 * cse.c (cse_main): Calls do clobber arg pointer if not fixed.
7655
7656 * hp320.h (HAVE_ATEXIT): New definition.
7657
7658 * Makefile.in (ALL_CPPFLAGS): New variable.
7659 Use in all compile steps instead of CPPFLAGS.
7660 (X_CPPFLAGS, T_CPPFLAGS): New vars, used in ALL_CPPFLAGS.
7661 * x-vax (X_CPPFLAGS): Use this instead of X_CFLAGS.
7662
7663 * stmt.c (expand_end_bindings): Fix typo.
7664
7665Fri Jan 31 12:15:09 1992 Ron Guilmette (rfg ay ncd.com)
7666
7667 * dwarfout.c (LINE_LAST_ENTRY_LABEL): Definition added.
7668 (dwarfout_finish): Put a label on the last .line section entry.
7669 (dwarfout_finish): Make first word of final .debug_srcinfo record
7670 contain the offset of the final .line section entry.
7671
7672Fri Jan 31 10:31:44 1992 James Van Artsdalen (james at bigtex.cactus.org)
7673
7674 * cp-tree.c (__eprintf): Make definition match assert.h
7675 declaration.
7676
7677Thu Jan 30 23:17:11 1992 Per Bothner (bothner at cygnus.com)
7678
7679 * c++: The flags -c, -S, or -E suppress passing -lg++
7680 to gcc. (Otherwise, gcc prints a warning.)
7681
7682Thu Jan 30 21:10:02 1992 Ron Guilmette (rfg at ncd.com)
7683
7684 * dwarfout.c (dwarfout_init): Fix generation of initial .debug_aranges
7685 entry to be Dwarf Version 1 compliant.
7686
7687Thu Jan 30 15:51:27 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
7688
7689 * i386sun.h (LINK_SPEC): Delete useless %{-Bstatic} term.
7690 * sun2o4.h (LINK_SPEC): Likewise.
7691 * sun3.h (LINK_SPEC): Likewise.
7692 * sparc.h (LINK_SPEC): Delete useless %{Bstatic} term.
7693
7694 * cccp.c (default_include): Delete use of obsolete
7695 NO_STANDARD_INCLUDE_DIR macro.
7696 * protoize.c (default_include): Likewise.
7697
7698 * Makefile.in (libgcc1.null): Delete dummy.o and dummy.c.
7699
7700Thu Jan 30 15:34:06 1992 Michael Meissner (meissner at osf.org)
7701
7702 * gstdarg.h: Include va-mips.h on MIPS systems.
7703
7704 * va-mips.h (va_start): Provide alternate definition when included
7705 via stdarg.h.
7706 (va_arg): Use __alignof(...) instead of sizeof(...) to determine
7707 whether or not to dword align the argument pointer.
7708
7709Thu Jan 30 13:06:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7710
7711 * Makefile.in (install-common): Get c++ and g++ from srcdir.
7712
7713 * i860.h (FIXED_REGISTERS): Arg pointer is no longer fixed.
7714
7715 * assert.h (__eprintf): Add const to string args in GCC ANSI case.
7716
7717 * Makefile.in (cccp.o, protoize.o, unprotoize.o):
7718 Define LOCAL_INCLUDE_DIR based on $(prefix).
7719
7720 * stmt.c (expand_end_bindings): Arg pointer needs no special
7721 treatment if not fixed.
7722
7723 * cp-parse.y, c-lex.c (yyerror):
7724 Avoid sign-extension of characters in error messages.
7725
7726Thu Jan 30 11:39:56 1992 Ron Guilmette (rfg at ncd.com)
7727
7728 * dwarfout.c (dwarfout_finish): Fix generation of .debug_pubnames
7729 terminating entry to be 4-bytes of zero followed by a null string.
7730
7731Thu Jan 30 09:30:19 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7732
7733 * rs6000.c (ccr_bit): Fix typo causing reference to possibly
7734 undefined operand.
7735
7736 * rs6000.h (ASM_SPEC): Remove until new AIX assembler is available.
7737 (ASM_OUTPUT_POOL_PROLOGUE): Add missing "." in csect name.
7738 (ENCODE_SEGMENT_INFO): Deleted.
7739 (ASM_OUTPUT_EXTERNAL): Move code from ENCODE_SEGMENT_INFO here,
7740 using permalloc instead of putting name into saveable_obstack.
7741 Re-enable macro.
7742 (ASM_OUTPUT_EXTERNAL_LIBCALL): Re-enable.
7743
7744Wed Jan 29 21:50:26 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7745
7746 * rs6000.h (ASM_SPEC): Add -u, now require new /bin/as for AIX.
7747 (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): No longer needed.
7748
7749 * rs6000.h (ENCODE_SEGMENT_INFO): New macro; add [RW] or [DS] to name.
7750 (RS6000_OUTPUT_BASENAME): New macro.
7751 (ASM_OUTPUT_*): Use it instead of assemble_name when required.
7752 (ASM_OUTPUT_POOL_PROLOGUE): Remove trailing [RW] or [DS].
7753 * rs6000.c (print_operand, case 'z'): New case, for name in CALL_INSN.
7754 (output_toc): Use RS6000_OUTPUT_BASENAME instead of assemble_name
7755 for toc entry name.
7756 * rs60000.md (call): Use %z.
7757
7758Wed Jan 29 17:17:42 1992 Michael Tiemann (tiemann at cygnus.com)
7759
7760 * cp-init.c (build_member_call): Fix bug involving static members
7761 that are function pointers.
7762
7763Wed Jan 29 13:25:18 1992 Tom Wood (wood at dg-rtp.dg.com)
7764
7765 * gcc.c (do_spec_1): For %D, only add -L options that are relevant.
7766 (is_linker_dir): Determine if a -L option is relevant.
7767
7768Wed Jan 29 00:57:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7769
7770 * configure: Turn ns32k alternatives back on.
7771
7772 * Makefile.in (getopt.o, getopt1.c): Join two lines into one.
7773
7774 * x-i386v4, x-i860v4 (GCC_CFLAGS): Add missing `-B./'.
7775
7776 * reload.c (find_dummy_reload, push_reload): Don't reuse dying input
7777 reg as a reload if it is a fixed reg.
7778
7779 * c-tree.h (C_MISSING_PROTOTYPE_WARNED): Deleted since unused.
7780
7781Wed Jan 29 00:42:34 1992 Tim Moore (moore at fast.cs.utah.edu)
7782
7783 * hp800.c (print_operand): Handle INSN_ANNULLED_BRANCH_P in '*'
7784 operand type.
7785 * hp800.h (DEFAULT_GDB_EXTENSIONS): Define as 0.
7786 * hp800.md (cmpsi): Change arith_operand to arith5_operand.
7787 (bCC patterns): Delete pattern that matches a compare with a
7788 constant first operand. Change arith_operand to arith5_operand.
7789 (fp branches): Change type to cbranch.
7790
7791 * function.c (assign_parms): Set current_function_arg_offset_rtx
7792 correctly for ARGS_GROW_DOWNWARD.
7793 * gstdarg.h: Include va-hp800.h.
7794 * va-hp800.h: Complete rewrite.
7795
7796Tue Jan 28 17:04:38 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
7797
7798 * varasm.c (make_decl_rtl): Delete unused var `i'.
7799
7800 * c-convert.c (convert_to_pointer):
7801 Abort if no integer type is as wide as a pointer.
7802
7803 * gcc.c (default_compilers, .i case): Add error message for -pg
7804 and -fomit-frame-pointer incompatibility.
7805
7806 * Makefile.in (install-common): Install c++ and g++ shell scripts in
7807 bindir.
7808
7809Tue Jan 28 15:44:10 1992 Michael Collison (collison at osf.org)
7810
7811 * x-encrose (OLDCC): changed to $(GNU_ROSE_BIN)/gcc
7812
7813 * ns32k.h: Added trampoline code.
7814
7815Tue Jan 28 14:19:52 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7816
7817 * rtl.def (UNSPEC, UNSPEC_VOLATILE): New RTL codes.
7818 * cse.c (canon_hash): UNSPEC_VOLATILE operations are volatile.
7819 * loop.c (invariant_p): Likewise.
7820 * reorg.c (mark_referenced_resources): Likewise.
7821 * sched.c (sched_analyze_2): Likewise.
7822 * rtlanal.c (volatile_refs_p, side_effects_p, may_trap_p): Likewise.
7823 (reg_referenced_p): Support UNPEC and UNSPEC_VOLATILE.
7824
7825Tue Jan 28 11:50:35 1992 Michael Meissner (meissner at osf.org)
7826
7827 * mips.c (toplevel): Add include of <ctype.h>, since isdigit is
7828 used.
7829
7830Tue Jan 28 05:47:08 1992 Michael Tiemann (tiemann at cygnus.com)
7831
7832 * cp-decl.c (xref_tag): Addition to eichin's Jan 25 change. If REF
7833 is extant, and it's seen in the global scope outside of
7834 CLASS_BINDING_LEVEL, set its IDENTIFIER_GLOBAL_VALUE if NULL.
7835
7836 * cp-class.c (pushclass): Forcibly remove any remnants of incomplete
7837 type that was previously pushed.
7838
7839 * cp-decl.c (various places): Remove all error messages about C++
7840 constructs being invalid in C language context; extern "C" is a
7841 linkage specifier--no more.
7842
7843 * cp-method.c (dump_type_prefix,dump_type): Never need to output
7844 `unsigned' since its always part of an unsigned integer type name.
7845 (build_overload_name): Change test for unsigned to use
7846 `unsigned_type' instead of examining TREE_UNSIGNED.
7847
7848 * cp-call.c (ideal_candidate): Don't convert PARMS in place if
7849 BASETYPE is NULL_TREE.
7850
7851Tue Jan 28 02:21:31 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7852
7853 * c-decl.c (grokdeclarator): Use `auto' for nested fn fwd decls.
7854
7855 * g++: New file.
7856
7857 * fixincludes:
7858 Convert machine names in #if's to have underscores.
7859 Fix specific files stdlib.h, locale.h, hsfs/... for Sunos 4.1.
7860 * fixinc.svr4: Convert machine names in #if's to have underscores.
7861
7862 * gcc.c (do_spec_1): For %D, also make -L's for startfile_prefix.
7863 Also append the machine
7864
7865 * fold-const.c (fold_convert): Properly handle real-to-real case.
7866
7867 * configure (i486-*-sysv4*): New alternative.
7868
7869Tue Jan 28 00:37:24 1992 Ron Guilmette (rfg at ncd.com)
7870
7871 * dwarfout.c (location_attribute): Fix handling of objects which
7872 were optimized out of existance for Dwarf Version 0 compliance.
7873
7874Tue Jan 28 00:42:57 1992 James Van Artsdalen (james at bigtex.cactus.org)
7875
7876 * Makefile.in (mostlyclean): Delete stack dump files too.
7877
7878Mon Jan 27 18:26:27 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7879
7880 * rs6000.h (HAVE_ATEXIT, NO_DOLLAR_IN_LABEL): Now defined.
7881
7882Mon Jan 27 13:32:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7883
7884 * libgcc2.a (L_exit): Declare __CTOR_LIST__ and __DTOR_LIST__
7885 with length 2; get rid of __CTOR_END__ and __DTOR_END__.
7886 (L_ctor_list, L_dtor_list): New library members.
7887
7888 * cccp.c (main): Add terminating null, then call trigraph_pcp.
7889
7890 * fixincludes, fixinc.svr4: Fail unless an arg was given.
7891 * Makefile.in (install-fixincludes): Pass output dir as argument.
7892
7893 * Makefile.in: Renamed libgcc[12] to libgcc[12].a.
7894 Likewise for tmplibgcc[12].
7895
7896 * toplev.c (rest_of_decl_compilation): Treat all fcns as if external.
7897
7898 * Makefile.in (TAGS): Do the work in srcdir.
7899 Include c-parse.h in files to move.
7900
7901Mon Jan 27 10:54:24 1992 Jim Wilson (wilson at sphagnum.cygnus.com)
7902
7903 * cccp.c (get_filename): Don't pass -1 file descriptor to close.
7904
7905Mon Jan 27 00:26:33 1992 Michael Tiemann (tiemann at cygnus.com)
7906
7907 * cp-decl.c (start_function): Preserve TREE_TYPE of RESULT_DECL, in
7908 case we have a named return value.
7909 (finish_function): Restrict the cases under which we build
7910 `no_return_label'. Use CURRENT_FUNCTION_RETURN_VALUE to eliminate
7911 the generation of needless cleanups when functions end with a return
7912 stmt. No longer zeros out CLEANUP_LABEL. Also, call `emit_jump'
7913 instead of `expand_null_return' in case NO_RETURN_LABEL is
7914 non-NULL.
7915
7916 * cp-decl2.c (grokfield): Don't specially hack static member
7917 function names.
7918
7919 * cp-except.c (cplus_expand_raise): Test correct predicate that we
7920 have a non-null value return.
7921 (cplus_expand_{throw,reraise}): Ditto.
7922
7923 * cp-typeck.c (c_expand_return): Handle case where named return
7924 value has incomplete type.
7925
7926Sun Jan 26 20:50:55 1992 Michael Tiemann (tiemann at cygnus.com)
7927
7928 * cp-parse.y (LC): Fix rule to use `push_obstacks_nochange'.
7929 (structsp): Use `pop_obstacks'.
7930
7931Sun Jan 26 17:39:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7932
7933 * c-parse.y (LC): Use push_obstacks_nochange and always call
7934 end_temporary_allocation.
7935 (structsp, template_instantiate_once): After LC, use pop_obstacks.
7936
7937 * c-decl.c (grokdeclarator):
7938 Static function decl within a function is not external.
7939
7940Sun Jan 26 08:14:53 1992 Michael Meissner (meissner at osf.org)
7941
7942 * mips.h (MIPS_VERSION): Bump meissner version # to 9.
7943 (enum processor_type): Delete PROCESSOR_R2000, since a r2000
7944 schedules just like a r3000.
7945 (mips_isa, mips_isa_string, mips_cpu_string): New global variables.
7946 (MD_EXEC_PREFIX): If not defined, define as "/usr/lib/cmplrs/cc/".
7947 (TARGET_SWTICHES macros): Move setting the processor from
7948 TARGET_SWITCHES to TARGET_OPTIONS. Also, delete the -mfixed-ovrfl
7949 switch, and move -mwc8/-mwc16 to not use any bits, since we can't
7950 support these in GCC 2.00. Readjust the positions the bits are in.
7951 (TARGET_OPTIONS): Define to add switches -mcpu=x to set which
7952 processor type to schedule for, and -mipsx to specify the
7953 instruction set architecture level.
7954 (BRANCH_LIKELY_P): New macro, true if MIPS ISA >= 2.
7955 (HAVE_64BIT_P): New macro, true if MIPS_ISA >= 3.
7956 (HAVE_SQRT_P): New macro, true if MIPS_ISA >= 2.
7957 (BRANCH_COST): Define as 2 if r4000/r6000, 1 otherwise.
7958 (ASM_OUTPUT_SKIP): Eliminate OSF/1 gas work around.
7959
7960 * mips.c (mips_isa, mips_isa_string, mips_cpu_string): New global
7961 variables.
7962 (print_options): Print CPU and ISA level.
7963 (override_otpions): Handle TARGET_OPTIONS setting cpu and ISA.
7964 (override_options, print_operand): %: is no longer supported, since
7965 -mfixed-ovfl is eliminated.
7966
7967 * mips.md (type attribute): Add fsqrt.
7968 (all define_function_units): Redo, to add full r6000 and r4000
7969 support, and to use the default case in case another processor type
7970 is added. Also, tests against PROCESSOR_R2000 eliminated.
7971 (add, subtract patterns): Delete use of %:.
7972 (sqrtdf2, sqrtsf2): Define if the MIPS ISA >= 2.
7973
7974 * decrose.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define these to
7975 use the defaults on the OSF/1 reference platform.
7976 (i386rose.h): Likewise.
7977
7978Sun Jan 26 07:58:00 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7979
7980 * cse.c (cse_insn): Don't call insert_regs on a SUBREG.
7981 When scanning table for SUBREG assignment, ignore invalid entries.
7982
7983 * cse.c (cse_insn): When looking for first non-deleted entry in
7984 table, start by scanning backwards from the deleted entry.
7985
7986 * function.c (assign_parms): Set current_function_return_rtx
7987 unconditionally.
7988 (expand_function_start): Don't set it here.
7989
7990Sat Jan 25 06:44:16 1992 Mark Eichin (eichin at cygnus.com)
7991
7992 * cp-decl.c (set_identifier_local_value): New function. Clone of
7993 set_identifier_type_value, but uses level->shadowed instead. Only
7994 used in pushdecl, where the non-global install was previously
7995 setting the local value directly which "stuck" and didn't get
7996 cleared the next time through.
7997 (pushdecl): use set_identifier_type_value so that the local value
7998 actually gets erased when we leave this level. Changed code that
7999 checks for global_binding_level to recognize that if
8000 class_binding_level is set, we're not in the global one.
8001 (poplevel_class): restore shadowed list too, like poplevel does.
8002 (print_binding_level): added no_print_functions and
8003 no_print_builtins variables to eliminate clutter while trying to
8004 debug binding level problems.
8005
8006Fri Jan 24 18:03:36 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8007
8008 * tree.c (pop_momentary): Don't reference freed stack entry.
8009
8010Fri Jan 24 14:20:05 1992 Michael Tiemann (tiemann at cygnus.com)
8011
8012 * cp-parse.y (stmt): Call `define_case_label' for default label.
8013 * cp-decl.c (current_function_return_value): New variable.
8014 (define_{case_}label): Clear CURRENT_FUNCTION_RETURN_VALUE.
8015 * cp-typeck.c (c_expand_return): Set CURRENT_FUNCTION_RETURN_VALUE.
8016
8017 * cp-tree.c (lang_printable_name): Use DECL_RING, and don't free
8018 the printable name for CURRENT_FUNCTION_DECL.
8019
8020Fri Jan 24 14:17:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8021
8022 * gvarargs.h: If _ANSI_H, undef _VA_LIST_.
8023
8024 * c-typeck.c (pointer_int_sum): Don't distribute * into pointer diff.
8025
8026 * hp320.h (MD_STARTFILE_PREFIX): Defined.
8027 (STANDARD_STARTFILE_PREFIX): Deleted.
8028
8029Fri Jan 24 09:30:41 1992 Fred Fish (fnf at fishpond)
8030
8031 * assert.h (__eprintf): Declare as prototype for __STDC__
8032
8033Fri Jan 24 05:28:53 1992 James Van Artsdalen (james at bigtex.cactus.org)
8034
8035 * i386.md (jump,indirect_jump,tablejump): Don't output an align
8036 directive here: let the following BARRIER do it.
8037
8038Thu Jan 23 11:54:11 1992 Ron Guilmette (rfg at ncd.com)
8039
8040 * i486v4.h: New file.
8041
8042Thu Jan 23 20:34:22 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
8043
8044 * fixinc.svr4: Surround uses of ${INPUT} with "" instead of ''
8045 so that it will get expanded.
8046
8047Thu Jan 23 17:50:13 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8048
8049 * cse.c (qty_mode): New variable.
8050 (reg_rtx): Deleted.
8051 (hard_regs_in_table, regs_invalidate_by_call): New variables.
8052 (new_basic_block): Clear hard_regs_in_table.
8053 (delete_reg_equiv): New name for reg_invalidate; don't update reg_tick.
8054 (mention_regs): Don't set reg_rtx.
8055 Update reg_tick for all registers in a multi-register hard register
8056 reference.
8057 (insert_regs): Don't do anything special with SUBREG.
8058 Only insert register in a class if it is the same mode.
8059 Don't set reg_rtx; set qty_mode instead.
8060 (insert): Update hard_regs_in_table.
8061 Get constant equivalence in proper mode.
8062 (merge_equiv_classes): Call delete_reg_equiv.
8063 (invalidate): Call delete_reg_equiv and update reg_tick.
8064 Invalidate all parts of multi-word hard regs and invalidate
8065 any multi-word hard reg overlapping what we are to invalidate.
8066 Only look at constant in proper mode.
8067 (remove_invalid_refs): Use refers_to_regno_p.
8068 (invalidate_for_call): New function.
8069 (canon_hash, refers_to_mem_p, fold_rtx, equiv_constant): Look at
8070 constant in proper mode.
8071 (cse_rtx_addr_varies_p, cse_process_notes): Likewise.
8072 (exp_equiv_p): Likewise.
8073 Check reg_tick for all parts of multi-word hard register.
8074 (canon_reg): Don't use reg_rtx; get register from regno_reg_rtx or
8075 build hard reg in proper mode.
8076 (record_jump_equiv): Split into two pieces.
8077 (record_jump_cond): Second part of record_jump_equiv; make recursive
8078 call to some equivalences if args are SUBREGs.
8079 (cse_insn): Only replace register with equivalent if proper mode;
8080 don't use reg_rtx.
8081 Call invalidate_for_call.
8082 Don't avoid call to gen_lowpart for hard register.
8083 Make a SUBREG if gen_lowpart_if_possible fails for SUBREG
8084 assignment.
8085 (invalidate_from_clobbers): Update reg_tick of SP; invalidate
8086 REG entry in table, if present; use stack_pointer_rtx.
8087 (cse_main): Don't allocate reg_rtx.
8088 Initialize regs_invalidated_by_calls.
8089 (cse_basic_block): Allocate qty_mode.
8090
8091 * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add so we can disambiguate
8092 fixed and floating registers.
8093
8094 * rs6000.md (ashrdi3): Reject all but constant shift counts.
8095
8096 * jump.c (simplejump_p): Don't access PATTERN unless we know it is
8097 a JUMP_INSN.
8098
8099 * combine.c (get_last_value): Don't do a recursive call for a
8100 paradoxical SUBREG.
8101
8102 * jump.c (jump_optimize): In "if (...) x = a; else x = b;",
8103 don't move "x = b;" if it has non-trivial REG_NOTES. Also, allow
8104 B to be any constant, not just a CONT_INT.
8105
8106 * stor-layout.c (layout_type): Handle alignment for arrays the same
8107 as we do for records and unions.
8108
8109 * calls.c (expand_call): Ignore `const' on void functions.
8110
8111 * i860.c: Include recog.c.
8112 Remove many explicit declaration of vars from include files.
8113 (i860_compare_op[01]): Define these here.
8114 * i860.h (i860_compare_op[01]): Add declarations.
8115 * i860.md (compare, branch): Rework to use define_expand for cmpxx.
8116 Compare just saves operands in i860_compare_op[01]. Branch emits
8117 both insns using the saved operands.
8118
8119 * i860.h (PREFERRED_RELOAD_CLASS): Handle FP registers and constants.
8120 (SECONDARY_INPUT_RELOAD_CLASS): We need a scratch register to copy
8121 an integer constant to a floating-point register.
8122 * i860.md (addsi3, subsi3): Allow use of floating registers.
8123
8124Thu Jan 23 13:33:40 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8125
8126 * i386v4.h (CPP_PREDEFINES): Don't define X86.
8127
8128 * c-lex.c (readescape): Warn for \a and \x if warn_traditional.
8129 Handle \v as vertical tab regardless of -traditional.
8130
8131 * fixincludes, fixinc.svr4: Make LIB absolute, near the beginning.
8132
8133 * fixincludes: Simplify egrep command while matching the same lines
8134 (plus occasional additional lines).
8135
8136 * function.c (fixup_memory_subreg): New arg UNCRITICAL. Calls changed.
8137
8138 * gcc.c (process_command): Handle LPATH like LIBRARY_PATH.
8139
8140 * svr3.h (ASM_LONG): Deleted.
8141
8142 * gvarargs.h: Ignore _VA_LIST_ if _ANSI_H_;
8143 don't define _VA_LIST_ if already defined.
8144
8145Thu Jan 23 09:10:52 1992 Tom Wood (wood at dg-rtp.dg.com)
8146
8147 * m88kluna.h (includes): Include aoutos.h.
8148
8149Thu Jan 23 09:10:52 1992 Ron Guilmette (rfg at ncd.com)
8150
8151 * va-i860.h (__savereg): Fix typo.
8152
8153 * i860.h (PREDICATE_CODES): Added definition.
8154
8155 * i386v4.h (ASM_FILE_START): Definition added which generates
8156 .version directive.
8157
8158Wed Jan 22 23:15:45 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
8159
8160 * make-cc1.com: Predefine symbols for "rename" and "bison"; always
8161 generate c-parse.h when generating c-parse.c.
8162
8163Wed Jan 22 20:01:11 1992 Per Bothner (bothner at cygnus.com)
8164
8165 * sdbout.c (sdbout_record_type_name): Use typedef names
8166 for C++. (A kludge.)
8167 * sdbout.c (sdbout_one_type): Emit base classes as
8168 dummy fields, just like dbxout.c when not using gdb extensions.
8169
8170Wed Jan 22 20:01:11 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
8171
8172 * fixincludes: Surround uses of ${INPUT} with "" instead of ''
8173 so that it will get expanded.
8174
8175 * gcc.c (default_compilers): For c++, define __GNUG__ to 2, and
8176 pass -trigraphs.
8177
8178 * cccp.1, cpp.1, gcc.1, g++.1: Delete more RCS variables.
8179
8180Wed Jan 22 19:02:06 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8181
8182 * combine.c (simplify_shift_const, case ASHIFT): If we will
8183 be suppressing a sign extension because the upper bits are
8184 already the same, verify that the operand is in the same
8185 mode as we will be doing the shift; don't ignore a SUBREG
8186 inside the inner SHIFT.
8187
8188Wed Jan 22 09:25:07 1992 Tom Wood (wood at dg-rtp.dg.com)
8189
8190 * c-typeck.c (comp_target_types): Make decl static.
8191 Don't forget to return the value.
8192 (function_types_compatible_p, comptypes): Initialize `val'.
8193
8194Tue Jan 21 13:29:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8195
8196 * cross-make (ALL): Override with definition it here.
8197 * configure: Don't edit its value explicitly here.
8198
8199 * crtstuff.c (__do_global_ctors): Include DO_GLOBAL_CTORS_BODY
8200 in crtend.o, not in crtbegin.o.
8201
8202 * svr3.h: Prepare to use with i386.
8203 (PCC_BITFIELD_TYPE_MATTERS): Definition deleted.
8204 This pertains to the individual cpu types.
8205 (ASM_SHORT, ASM_LONG, ASM_DOUBLE): Likewise.
8206 (DBX_DEBUGGING_INFO): Undef this.
8207 (DBX_REGISTER_NUMBER): Deleted the #undef.
8208 (STARTFILE_SPEC, LINK_SPEC, LIB_SPEC): Deleted.
8209 * i860v3.h (STARTFILE_SPEC, LINK_SPEC, LIB_SPEC): New definitions.
8210
8211 * att386.h: Coexist with svr3.h.
8212 (ASM_FILE_START): Deleted.
8213 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
8214 (ASM_BYTE_OP, NO_DOLLAR_IN_LABEL): Likewise.
8215 (ASM_OUTPUT_LABELREF): Undef before defining.
8216 (ASM_FILE_START_1): Undef before defining.
8217 (EXTRA_SECTION_FUNCTIONS): Deleted.
8218 (BSS_SECTION_FUNCTION): New macro; defines bss_section.
8219
8220 * i386v.h, aix386.h: Include svr3.h.
8221 (SCCS_DIRECTIVE, ASM_OUTPUT_IDENT): Deleted.
8222 (TARGET_MEM_FUNCTIONS): Deleted.
8223 (SDB_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Deleted.
8224
8225 * Support constructors and destructors on svr3. From james@bigtex.
8226 * i386v.h, aix386.h (STARTFILE_SPEC): Use crtbegin.o after crt1.o.
8227 (LIB_SPEC): Use crtend.o before crtn.o.
8228 (CTORS_SECTION_ASM_OP, ASM_OUTPUT_CONSTRUCTOR): New macros.
8229 (INIT_SECTION_ASM_OP): Likewise.
8230 * svr3.h (DTORS_SECTION_ASM_OP): New macros.
8231 (DO_GLOBAL_CTORS_BODY): New macro.
8232 (EXTRA_SECTIONS,EXTRA_SECTION_FUNCTIONS): Use .init and .fini
8233 sections in addition to .bss.
8234 ({INIT,FINI}_SECTION_FUNCTION): New macros for *_section functions.
8235 ({CTORS,DTORS}_SECTION_FUNCTION): Macros deleted.
8236 (ASM_OUTPUT_CONSTRUCTOR): Deleted.
8237 (ASM_OUTPUT_DESTRUCTOR): Use ASM_LONG.
8238 (INT_ASM_OP): Deleted.
8239
8240 * c-typeck.c (default_conversion): Don't use initial value if BLKmode.
8241 If do use the initial value, update `type'.
8242
8243 * arm.h (STRUCTURE_SIZE_BOUNDARY): New definition.
8244
8245 * stor-layout.c (layout_type): Ignore MAX_FIXED_MODE_SIZE for integers.
8246
8247 * ultrix.h (SIZE_TYPE): Use `unsigned int'.
8248 * Makefile.in (install-common): Add missing -f in rm.
8249 (install-fixincludes): Install the README file.
8250
8251 * fixincludes: Don't match on size_t, etc., since we don't actually
8252 change them.
8253
8254Mon Jan 20 23:22:45 1992 Michael Tiemann (tiemann at cygnus.com)
8255
8256 * cp-call.c (ideal_candidate): Don't see two functions as ambiguous
8257 if one is argument-by-argument equivalent or better than another.
8258
8259Mon Jan 20 14:08:06 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8260
8261 * toplev.c (strip_off_ending): Add ".ada".
8262
8263Mon Jan 20 13:53:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8264
8265 * protoize.c (xfree): No longer static.
8266
8267 * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Allow tm.h to override.
8268
8269 * final.c (leaf_renumber_regs_insn): Do just the pattern of an insn.
8270
8271 * pyr.h (PCC_BITFIELD_TYPE_MATTERS): Defined.
8272 (STRUCTURE_SIZE_BOUNDARY): Deleted.
8273
8274 * mips.c: Clean up spacing around square brackets.
8275
8276 * c-typeck.c (convert_arguments):
8277 Get rid of feature to convert to a tagless union type.
8278 (common_type): Add pedantic warning.
8279 (comptypes, function_types_compatible_p): Return 2 meaning warn.
8280 (comp_target_types): Do the warning here.
8281 (type_lists_compatible_p): New function.
8282
8283Sun Jan 19 17:32:19 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8284
8285 * reload1.c (emit_reload_insns): Fix typos when checking for secondary
8286 icode.
8287
8288Sun Jan 19 15:28:53 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8289
8290 * global-alloc.c (global_alloc): If LEAF_REGISTERS, those are the
8291 regs that cost nothing to save, for setting regs_already_used.
8292
8293 * expr.c (expand_builtin): Preserve function value reg
8294 around the call to __builtin_saveregs.
8295
8296 * configure (mips-sgi-irix4*, mips-sgi-irix*): Set install_with_cp.
8297
8298 * c-decl.c (start_function):
8299 Check properly for `static' function in handling -Wmissing-prototypes.
8300
8301 * libgcc2.c (__main): Omit this fn if INIT_SECTION_ASM_OP.
8302
8303Sun Jan 19 13:23:13 1992 Fred Fish (fnf at sunfish)
8304
8305 * amix.h (ASM_OUTPUT_ASCII): Override version in svr4.h.
8306
8307Sun Jan 19 13:16:56 1992 Michael Tiemann (tiemann at cygnus.com)
8308
8309 * cp-search.c (lookup_field): Accept IS_AGGR_TYPE_CODE, not
8310 just == RECORD_TYPE.
8311
8312 * cp-class.c (finish_struct): Clear a tentative setting of
8313 DECL_BIT_FIELD.
8314
8315 * cp-decl.c (start_decl): Don't call `pushclass' for incomplete
8316 CONTEXT.
8317
8318 * cp-typeck.c (comp_target_types): Call `comp_target_parms' with
8319 STRICT == 0, not -1.
8320 (build_conditional_expr): Check that the target types of TYPE1 and
8321 TYPE2 are aggr type before calling `common_base_type'.
8322
8323Sun Jan 19 04:10:16 1992 James Van Artsdalen (james at bigtex.cactus.org)
8324
8325 * configure: Fix typo inserting INSTALL=cp into makefile.
8326
8327Sat Jan 18 12:06:58 1992 Michael Tiemann (tiemann at cygnus.com)
8328
8329 * cp-lex.c (build_with_cleanup): Delete obsolete function.
8330 * cp-tree.c (break_out_cleanups): New function.
8331 * cp-decl.c (cplus_expand_expr): Call `break_out_cleanups'.
8332 * cp-typeck.c (build_compound_expr): Ditto.
8333
8334 * cp-call.c (convert_harshness): Make any inheritance relationship
8335 preferable to a void* conversion.
8336 * cp-tree.h (CLASSTYPE_MAX_DEPTH): New macro.
8337 * cp-class.c (finish_struct_bits): Set CLASSTYPE_MAX_DEPTH.
8338
8339 * cp-cvt.c (build_up_reference): Don't return in ARRAY_REF case,
8340 since we may need to adjust the return value for complex
8341 inheritance.
8342
8343 * cp-decl2.c (lang_f_options): Add recognizers for -f{no-}builtin,
8344 -f{no-}ident, and -ansi. Also, remove unnecessary "no-*" forms.
8345
8346 * cp-init.c (emit_base_init): If PEDANTIC, don't let base
8347 initializers leak up the hierarchy.
8348
8349 * cp-parse.y (structsp): Disable gratuitous error message.
8350
8351 * cp-call.c (convert_harshness): Don't overlook PENALTY when
8352 signed/unsigned differences are noted (in both POINTER_TYPE and
8353 REFERENCE_TYPE cases).
8354
8355 * toplev.c (strip_off_ending): Grok ".ii" endings (C++ preprocessed
8356 files).
8357
8358 * cp-typeck.c (build_component_ref): Add special handler when
8359 COMPONENT is the CLASSTYPE_VFIELD name for BASETYPE.
8360
8361Sat Jan 18 08:29:58 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8362
8363 * cse.c (cse_insn): Don't make constant pool entries in MODE_CC modes.
8364
8365Sat Jan 18 00:28:48 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8366
8367 * Makefile.in (install-common): Fix typo installing gcc.
8368
8369 * crds.h, isi.h, newpbb.h, tti68k.h: Add #error because -m68000
8370 will cause a crash (I think), to ask people what to do.
8371
8372 * gmicro.h (ASM_FILE_START): Don't do anything.
8373 (TARGET_DEFAULT): Turn on the bitfield flag.
8374 (TARGET_SWITCHES): Get rid of the bitfield options.
8375
8376 * c-lex.c (readescape): No warning for \?.
8377
8378 * protoize.c (munge_compile_params): Fix cast that sets compile_params.
8379 (xmalloc, xrealloc): No longer static.
8380 * Makefile.in (protoize, unprotoize): Add LIBDEPS as deps.
8381
8382 * va-i860.h (va_arg): Use __extension__ to suppress pedantic warning.
8383 * va-sparc.h, va-spur.h, va-pyr.h: Likewise.
8384
8385 * x-irix4.h: New file.
8386 * config.sub: Don't convert irix to sysv.
8387 * configure (mips-sgi-irix4*): New configuration.
8388 (mips-sgi-irix*): Renamed from mips-sgi-sysv*.
8389
8390 * gcc.c (process_command):
8391 Handle the standard_exec_prefix* before the md_*_prefix.
8392
8393 * i386.h, ns32k.h (PCC_BITFIELD_TYPE_MATTERS): Defined.
8394
8395 * Makefile.in (libgcc1.null): Depend on GCC_PASSES.
8396
8397 * cccp.c (lookup_import, add_import): VMS kludges so they compile.
8398 (hack_vms_include_specification): Add forward declaration.
8399
8400 * stor-layout.c (layout_record): Handle BITFIELD_NBYTES_LIMITED
8401 just like one of the things done for PCC_BITFIELD_TYPE_MATTERS.
8402
8403 * x-next, x-i386mach: Deleted.
8404 * t-libc-ok: New file. Define just LIBGCC1.
8405 * configure (i386-*-mach, m68k-next-*): Use t-libc-ok.
8406
8407 * t-svr4 (FIXINCLUDES): Defined.
8408 * t-m88kv4 (FIXINCLUDES): Defined.
8409 * t-svr3 (EXTRA_PARTS): Defined.
8410 * t-i386sco (EXTRA_PARTS): Defined.
8411
8412 * configure (sparc-*-sysv4*): New alternative.
8413
8414 * configure (install_with_cp): New flag an alternative can set.
8415 If host sets it, add INSTALL=cp to Makefile.
8416 Set this for any system V, and for m68k-crds-unos.
8417
8418Sat Jan 18 23:15:08 1992 Ron Guilmette (rfg at ncd.com)
8419
8420 * va-i860.h (va_list): Made __reg_base field type long* to avoid
8421 compilation errors.
8422 (__savereg): Add explicit cast to (__va_saved_regs *).
8423
8424Fri Jan 17 15:09:34 1992 James Van Artsdalen (james at bigtex.cactus.org)
8425
8426 * i386.h (FUNCTION_BOUNDARY): Do larger alignments for i486.
8427 (ASM_OUTPUT_ALIGN_CODE): Same here.
8428 (ASM_OUTPUT_LOOP_ALIGN): But not here - do word aligns as before.
8429
8430 (enum reg_class): Delete classes ADREG and BREG - neither used nor
8431 useful. Add classes FP_TOP_REG and FP_SECOND_REG.
8432 (REG_CLASS_NAMES): Likewise.
8433 (REG_CLASS_CONTENTS): Likewise.
8434 (REGNO_REG_CLASS): Reflect that change.
8435 (REG_CLASS_FROM_LETTER): Likewise. Add "t" and "u" constraints.
8436 (CLASS_MAX_NREGS): New classes use only 1 hard reg for any mode.
8437
8438 (CONST_OK_LETTER_P): Document uses of letters.
8439
8440 * reg-stack.c: Add comments describing rules for asm statements
8441 involving stack-like regs.
8442 (asm_regs): Delete unused variable.
8443 (fatal_for_asm): Delete unused function.
8444
8445 (get_asm_operand_lengths): New function.
8446 (constrain_asm_operands): New function. Like constrain_operands,
8447 but records some information about the matched alternative.
8448
8449 (record_asm_reg_life): New function.
8450 (record_reg_life): If INSN is an asm statement, decode operands
8451 and pass to record_asm_reg_life.
8452 (record_reg_life_pat): Abort if any asm is seen here.
8453
8454 (subst_asm_stack_regs): New function.
8455 (subst_stack_regs): If INSN is an asm statement, decode operands
8456 and pass to subst_asm_stack_regs. When handling REG_UNUSED notes,
8457 emit the pops in the right order.
8458
8459 (change_stack): New argument to insert any new insns before INSN
8460 instead of after. All callers changed.
8461
8462 (emit_swap_insn): Abort if the reg is not found in REGSTACK.
8463
8464 * Makefile.in (reg-stack.o): Depends on insn-config.h.
8465
8466Fri Jan 17 16:38:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8467
8468 * toplev.c, flags.h (in_system_header): Declare here.
8469 * c-lex.c, cp-lex.c (in_system_header): Not here.
8470 * toplev.c (rest_of_compilation): Don't warn of unused static function
8471 if definition is in a system header.
8472
8473 * gcc.c (do_spec_1): Add missing arg in recursive call.
8474 (link_command_spec): Don't pass -s, -S, -u*, -X, -Y*.
8475
8476Fri Jan 17 12:51:28 1992 Jim Wilson (wilson at cygnus.com)
8477
8478 From Tiemann:
8479 * rtlanal.c (reg_set_between_p): Call `reg_set_p' with INSN, not the
8480 body of INSN so that CALL_INSNs are properly handled.
8481 * explow.c (find_next_ref): Ditto.
8482
8483 * hp800.h, hp800.md: Delete RCS Header variables.
8484
8485 * reg-stack.c (replace_reg): Change `abort' to `abort ()'.
8486
8487Fri Jan 17 14:30:14 1992 Michael Meissner (meissner at osf.org)
8488
8489 * caller-save.c (insert_save_restore): Don't pass a CODE_LABEL to
8490 reg_mentioned_p when the machine has a condition code, since
8491 CODE_LABEL's don't have the same format as normal INSN's do.
8492
8493Fri Jan 17 13:24:33 1992 Tom Wood (wood at dg-rtp.dg.com)
8494
8495 * Makefile.in (unprotoize.o): Use the rm -f option.
8496
8497 * cp-lex.c (check_newline): Define `used_up' as in c-lex.c.
8498 (in_system_header): Define as in c-lex.c.
8499
8500Fri Jan 17 08:14:04 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8501
8502 * reorg.c (delete_from_delay_slot): Pass correct length to
8503 emit_delay_sequence.
8504
8505 * genattrtab.c (substitute_address): Handle IF_THEN_ELSE in addition
8506 to COND.
8507
8508 * expr.c (expand_builtin, case BUILT_IN_STRLEN): Correct args in
8509 expand_expr call.
8510
8511Fri Jan 17 17:33:40 1992 James Van Artsdalen (james@raid)
8512
8513 * x-i386v4 (CCLIBFLAGS): Delete macro.
8514 (GCC-CFLAGS): Delete macro. Prevented Makefile.in from working.
8515
8516Thu Jan 16 17:03:27 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
8517
8518 * Makefile.in (cleanconfig): Also delete tconfig.h.
8519
8520 * varasm.c (assemble_external): Only call ASM_OUTPUT_EXTERNAL once
8521 for each symbol.
8522 (assemble_external_libcall): Fix minor typo in spacing.
8523
8524 * toplev.c (main): Force error if invalid -W option is used.
8525
8526Thu Jan 16 13:35:13 1992 Tom Wood (wood at dg-rtp.dg.com)
8527
8528 * m88kdgux.h (CPP_PREDEFINES): Added __CLASSIFY_TYPE__ back and
8529 noted when it would be useful.
8530
8531 * m88k.h (ASM_FILE_END, ASM_OUTPUT_ASCII): Override svr4.h.
8532
8533Thu Jan 16 12:37:16 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu)
8534
8535 * svr4.h (SVR4): Add this back.
8536
8537 * cccp.c (lookup_import): Use bcmp to compare inodes.
8538
8539 * cccp.c (main): Handle -idirafter option.
8540
8541 * m68kv4.h, m88kv4.h, i386v4.h, sparcv4.h, i860v4.h (CPP_PREDEFINES):
8542 Add __svr4__ in case user programs want to distinguish.
8543
8544 * cp-lex.c (check_newline): Changes like Jan 12 changes in c-lex.c.
8545
8546 * Makefile.in (install-fixincludes): Renamed from `includes'.
8547 Move comments so some shells are happier. Dep. on install-headers.
8548
8549 * m88kdgux.h (CPP_PREDEFINES): Add __svr4__. Remove __CLASSIFY_TYPE__.
8550 Add some assertions.
8551
8552 * c-decl.c (init_decl_processing): Don't give arg type for abort, etc.
8553 Always declare strlen, etc., so -O doesn't alter the warnings.
8554 * expr.c (expand_builtin): Open-code str* or mem* or ffs if -O.
8555
8556 * c-decl.c (start_function): Fix backwards test for -W* options.
8557
8558 * protoize.c (GUESSPATHLEN): Treat POSIX like USG--and use just 200.
8559
8560 * cccp.c (deps_output): Break line iff string is empty.
8561 (do_include): Fix up the deps_output calls.
8562
8563 * vax.c (print_operand_address): Handle form index + (reg+offset).
8564
8565 * m88k.h (TARGET_VERSION): Don't use __DATE__.
8566
8567 * gcc.c (default_compilers): Typos in c++-cpp-output case.
8568
8569Thu Jan 16 12:25:51 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
8570
8571 * loop.c (get_condition): In HAVE_cc0 code, generate a zero with
8572 CONST0_RTX instead of just using const0_rtx.
8573
8574 * cse.c (cse_isnsn): A CALL_INSN clobbers all fixed regs except
8575 for ap, fp, and sp.
8576
8577Thu Jan 16 08:03:40 1992 Tom Wood (wood at dg-rtp.dg.com)
8578
8579 * c-decl.c (finish_enum): Compute the precision properly if the
8580 maximum value is negative.
8581
8582Thu Jan 16 07:40:29 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8583
8584 * reorg.c (try_merge_delay_insns, fill_slots_from_thread): Have
8585 update_block put the phantom insn before THREAD.
8586 (update_block): Update block status if WHERE, not INSN, is block head.
8587
8588Thu Jan 16 00:28:14 1992 Ron Guilmette (rfg ay ncd.com)
8589
8590 * i860.c (output_fp_move_double): Fixed typo.
8591
8592 * protoize.c (GUESSPATHLEN, pointer_type, const_pointer_type):
8593 moved definitions declarations out of conditional region.
8594 (string_list_cons, shortpath, munge_compile_params): Added casts.
8595 (find_extern_def): Fixed string literal to avoid trigraph.
8596 (find_rightmost_formals_list): Fixed to avoid unreached code warnings.
8597
8598 * svr4.h (ASM_OUTPUT_ASCII): Fixed typo.
8599
8600Wed Jan 15 21:58:01 1992 Jeffrey A Law (law at b117b.super.org)
8601
8602 * sparc.h (SELECT_RTX_SECTION): When generating PIC, place symbolic
8603 operands in the data section.
8604
8605Wed Jan 15 21:45:09 1992 Michael Meissner (meissner at osf.org)
8606
8607 * collect2.c (main): Pass any -b<xx>, -B<xx>, -m<xx>, -f<xx>, and
8608 -V<xx> options to gcc instead of the linker, in order to allow
8609 target switches that affect the size of pointers and search paths to
8610 be passed through.
8611 (main, choose_temp_base): Use TMPDIR environment variable, and the
8612 P_tmpdir macro if defined to locate directory to put temp files.
8613 (whole file): Reorganize so that all of the OSF/rose stuff goes at
8614 the end of the file, rather than being scattered throughout.
8615 (main, scan_prog_file): Invoke scan_prog_file twice, once on each
8616 output of ld.
8617 (scan_prog_file, read_file, write_file): On the second invocation,
8618 rewrite the object file in place, adding a load command to put
8619 __main in the list of initializer functions. This allows users
8620 to put constructors and destructors into shared libraries.
8621 (scan_prog_file): Move debug stuff and error routines to separate
8622 functions.
8623
8624Wed Jan 15 17:59:02 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8625
8626 * combine.c (can_combine_p): Don't combine if DEST is still a field
8627 assignment after we've tried to expand it.
8628
8629Wed Jan 15 16:01:13 1992 James Van Artsdalen (james at bigtex.cactus.org)
8630
8631 * regclass.c (fix_register): Don't match a null register name.
8632 * varasm.c (decode_reg_name): Likewise.
8633
8634 * i386.h (HI_REGISTER_NAMES): Give the eliminable arg pointer a
8635 null name.
8636
8637Wed Jan 15 13:40:50 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu)
8638
8639 * gcc.c (default_compilers): Pass -lang-asm, not -lang-asmc, to cpp.
8640
8641 * gcc.c (process_command): Don't dump md_exec_prefix in specs.
8642 Use the md_... prefixes only if no -b.
8643
8644Wed Jan 15 13:35:09 1992 Ron Guilmette (rfg at ncd.com)
8645
8646 * i386v4.h (RETURN_IN_MEMORY): Definition added.
8647 (CPP_PREDEFINES): Added -DX86 (needed for some system headers).
8648 (ASM_OUTPUT_DWARF_STRING): Deleted.
8649 (ASM_OUTPUT_ASCII): Added specialized definition for i386/svr4.
8650
8651 * svr4.h (SVR4): Deleted useless define.
8652 (ASM_FILE_END): Added definition.
8653 (ESCAPES, STRING_LIMIT, STRING_ASM_OP, ASM_OUTPUT_LIMITED_STRING):
8654 (ASM_OUTPUT_ASCII): Generic svr4 definitions added.
8655
8656 * m68kv4.h (CPP_PREDEFINES): Don't define SVR4.
8657 * sparcv4.h (CPP_PREDEFINES): Don't define SVR4.
8658 (ASM_OUTPUT_ASCII): Deleted obsolete definition.
8659
8660 * xm-svr4.h (SVR4): Removed useless definition.
8661 (POSIX): Added definition for protoize.c.
8662
8663 * i860b.h (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): Moved from i860.h.
8664 * i860v3.h (ASCII_DATA_ASM_OP): Added OS-specific definition.
8665 * i860v4.h (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII):
8666 Deleted (now in svr4.h).
8667
8668 * fixinc.svr4: Replaced all occurances of {1,\} in sed command
8669 string with functional equivalents (to avoid bogus results).
8670
8671 * c-lex.c (readescape): Pass thru escaped x, a, and v if -traditional.
8672 (readescape): Pedantic warning for \?, \(, \{, and \[.
8673
8674 * dwarfout.c: Updated copyright.
8675 (fundamental_type_code): Abort for all non-fundamental types.
8676 (type_is_fundamental): Return 0 for all non-fundamental types.
8677 (containing_type_attribute, output_ptr_to_mbr_type_die): New functions.
8678 (output_pointer_type_die, output_reference_type_die): Added calls to
8679 equate_type_number_to_die_number.
8680 (output_type): Handle OFFSET_TYPE correctly.
8681 (output_type): Ignore LANG_TYPE (for now).
8682
8683Wed Jan 15 09:30:08 1992 Michael Tiemann (tiemann at cygnus.com)
8684
8685 * All cp-* files: Remove calls to `cleanup_after_call'.
8686
8687 * cp-method.c (fndecl_as_string): Add a missing space when printing
8688 the return type.
8689
8690 * cp-typeck.c (build_modify_expr): Treat arrays specially in both
8691 INIT_EXPR and NOP_EXPR cases. Also, if we take the address NEWRHS
8692 when it's not a SAVE_EXPR, build a new NEWRHS using that address.
8693 * cp-tree.c (lvalue_p): Handle WITH_CLEANUP_EXPR case.
8694
8695 * cp-decl.c (grokvardecl): Don't get tripped up by static class
8696 members of incomplete type.
8697
8698Wed Jan 15 09:12:51 1992 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu)
8699
8700 * m68k.c (legitimize_pic_address): Re-enable code which was
8701 mistakenly #ifdef'd out.
8702
8703Wed Jan 15 08:12:18 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8704
8705 * reload.c (find_reloads): Check for insn not recognized.
8706
8707 * caller-save.c (reg_{save,restore}_code): New variables.
8708 (init_caller_save): Set them.
8709 (insert_save_restore): Just make SET for pattern of insn and set
8710 code from reg_{save,restore}_code.
8711 (save_call_clobbered_regs): Put restore insns before JUMP_INSN that
8712 ends basic block, but after any other insn that ends the block.
8713
8714 * sdbout.c (sdbout_symbol): Treat (mem (reg SP)) the same
8715 as (mem (reg FP)).
8716
8717 * reorg.c (mark_referenced_resources): Fix typo in last change.
8718 (emit_delay_sequences): Update chain correctly when previous or
8719 next insn is also a SEQUENCE.
8720
8721Wed Jan 15 08:10:29 1992 Chris Smith (cks at bach.convex.com)
8722
8723 * t-convex: Use collect2 to link.
8724 * convex.h: remove assembly output defines for old collect2.
8725 * convex.h: define vprintf and wait macros for pcc mode boot of
8726 collect2.
8727
8728 * convex.h (ASM_OUTPUT_DOUBLE_INT): define.
8729
8730 * convex.h (DEFAULT_GDB_EXTENSIONS): define as 0 until GDB version 4
8731 port is available.
8732
8733 * convex.c (ap_reload_needed): Fix comment.
8734
8735Wed Jan 15 07:08:25 1992 Tom Wood (wood at dg-rtp.dg.com)
8736
8737 * m88k.h (CONST_SECTION_FUNCTION): Trivial definition for targets
8738 not based on svr[34].h (m88k-luna).
8739
8740 * m88k.h (PREDICATE_CODES): Use it.
8741
8742 * m88k.md (casesi_enter): Don't use bsr.n with -fno-delayed-branch.
8743 * m88k.h (ASM_OUTPUT_CASE_END): The lda goes here when bsr is used.
8744
8745 * m88k.c (legitimize_address): When converting a symbol_ref for
8746 PIC, add a REG_EQUAL note.
8747
8748Wed Jan 15 06:22:34 1992 Michael Meissner (meissner at osf.org)
8749
8750 * mips.h (MIPS_VERSION): Bump Meissner version # to 8.
8751 (fcmp_op): Add function declaration.
8752 (TARGET_FLOAT64): Support for -mfp64 switch to support the R4000 FR
8753 psw bit, which doubles the number of floating point registers.
8754 (TARGET_SWITCHES): Likewise.
8755 (HARD_REGNO_NREGS): Likewise.
8756 (CLASS_FCMP_OP): New bit for classifing floating point compares.
8757 (PREDICATE_CODES): Add cmp2_op and fcmp_op support.
8758
8759 * mips.c (various): Move extern declarations from inside of
8760 functions to outside all functions.
8761 (fcmp_op): Match comparison operators for floating point.
8762 (mips_move_2words): Add -mfp64 support.
8763 (override_options): Likewise.
8764 (compute_frame_size): Likewise.
8765 (override_options): Set up for fcmp_op.
8766 (gen_conditional_branch): Redo floating point compares/branches, so
8767 that it is like the rest of the compiler expects -- set cc0 to a
8768 compare operator, instead of the exact test required, and put the
8769 smarts in the branch operators to generate both the test and the
8770 branch.
8771
8772 * mips.md (cmpdf_eq, cmpdf_lt, cmpdf_le): Delete.
8773 (cmpsf_eq, cmpsf_lt, cmpsf_le): Delete.
8774 (cmpdf_internal): New define insn to match FP compares.
8775 (cmpsf_internal): Likewise.
8776 (branch_fp_true1, branch_fp_true2): Likewise.
8777 (branch_fp_false1, branch_fp_false2): Likewise.
8778 (branch_fp_true, branch_fp_false): New define_insns to match the
8779 branch part of FP compares.
8780
8781Wed Jan 15 01:42:39 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
8782
8783 * unroll.c (copy_loop_body): New parameter copy_notes_from, to
8784 correct problem with bad debug info generated for preconditioned
8785 loops.
8786 (unroll_loops): Fix calls of copy_loop_body to pass new parameter.
8787
8788Wed Jan 15 01:01:39 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu)
8789
8790 * gcc.c (main): Don't use TARGET_VERSION.
8791 (endfile_spec, switches_need_spaces): New vars, initted from macros.
8792 (set_spec, process_command): Read and write those vars.
8793 (do_spec_1, process_command): Use the new vars, not the macros.
8794 (SWITCHES_NEED_SPACES): New default macro definition.
8795
8796 * Makefile.in (install-common): Install driver as gcc-$(target).
8797
8798 * gstddef.h (wchar_t): Check for _T_WCHAR.
8799
8800 * stmt.c (pushcase, pushcase_range): Return 5 if jump into stack level.
8801 * c-parse.y, objc-parse.y (stmt): Print error msg for that.
8802 * cp-parse.y: Likewise.
8803
8804Tue Jan 14 23:25:37 1992 Ron Guilmette (rfg at ncd.com)
8805
8806 * dwarfout.c: Include <string.h> if USG *or* POSIX.
8807 (TREE_UID): Deleted.
8808 (current_funcdef_number): Replacement for TREE_UID.
8809 (dwarfout_file_scope_decl): Increment
8810 current_funcdef_number after each funnction definition is processed.
8811 (pending_sibling_stack_depth): Renamed globally to pending_siblings.
8812 (pending_sibling_stack_size): Renamed to pending_siblings_allocated.
8813 (PENDING_SIBLING_STACK_INCREMENT): Renamed PENDING_SIBLINGS_INCREMENT.
8814 (pending_types_list, pending_types_allocated, pending_types,
8815 PENDING_TYPES_INCREMENT, fake_containing_scope): New vars/macros.
8816
8817 * dwarfout.c (total_ft_entries): Renamed to ft_entries_allocated.
8818 (valid_ft_entries): Renamed to ft_entries.
8819 (FT_ENTRIES_INCREMENT): Definition added.
8820 (lookup_filename): Expand filename table (when needed)
8821 by adding FT_ENTRIES_INCREMENT more table elements rather than
8822 doubling current size.
8823 (dwarfout_init): Allocate initial filename table.
8824
8825 * dwarfout.c (INSN_LABEL_FMT, FUNC_END_LABEL_FMT): Use decimal format.
8826
8827 * dwarfout.c (member_attribute): Rewritten for proper C++ support.
8828 (output_array_type_die, output_set_type_die, output_entry_point_die,
8829 output_enumeration_type_die, output_global_subroutine_die,
8830 output_global_variable_die, output_inline_subroutine_die,
8831 output_local_variable_die, output_member_die, output_pointer_type_die,
8832 output_reference_type_die, output_string_type_die,
8833 output_structure_type_die, output_local_subroutine_die,
8834 output_subroutine_type_die, output_typedef_die, output_union_type_die):
8835 Added calls to member_attribute (for C++).
8836
8837 * dwarfout.c (inline_attribute): Test for TREE_INLINE in here.
8838 (output_global_subroutine_die, output_local_subroutine_die):
8839 Don't test for TREE_INLINE here.
8840
8841 * dwarfout.c (output_formal_types): Fixed to handle METHOD_TYPE
8842 nodes and to output all related type DIEs last (for SDB).
8843 (type_ok_for_scope, output_pending_types_for_scope, pend_type):
8844 Functions added to support C++.
8845 (output_type, output_decl): Added `containing_scope'
8846 parameter to handle C++ nested types.
8847 (output_type): Don't output the type unless it's OK
8848 for the current DIE chain (i.e. unless it's OK for the current scope).
8849 (output_type): Output completed non-global tagged types
8850 right away even if not finalizing.
8851 (output_type): Use correct method to get head of chain
8852 of C++ function members.
8853 (output_decl): Skip first item on chain of DECL_ARGUMENTS
8854 for a FUNCTION_DECL whose type is a METHOD_TYPE.
8855 Suppress output of type DIEs for formal parms of a FUNCTION_DECL
8856 until after all TAG_parameter DIEs have been output (for SDB
8857 compatability).
8858 Output DIEs for any LABEL_DECL nodes attached to outermost BLOCK of
8859 a FUNCTION_DECL.
8860 Handle LABEL_DECL nodes.
8861
8862 * dwarfout.c (dwarfout_file_scope_decl): Un-pend all pending file-
8863 scope types after each file-scope declaration is output.
8864 (output_decls_for_scope): Un-pend all pending local types
8865 at end of each local scope.
8866
8867Tue Jan 14 16:40:39 1992 Tim Moore (moore at fast.cs.utah.edu)
8868
8869 * calls.c (expand_call): If ARGS_GROW_DOWNWARD, make slot_offset
8870 negative and set highest_outgoing_arg_in_use to needed + 1.
8871 (store_one_arg): If ARGS_GROW_DOWNWARD deal with negative slot_offset.
8872
8873Tue Jan 14 20:01:59 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
8874
8875 * sparc.h (TARGET_SUN_ASM, TARGET_GNU): Delete support for
8876 obsolete and undocumented flags -msun-asm and -mgnu.
8877 * sparc.md: Likewise.
8878
8879Tue Jan 14 19:36:21 1992 Tim Moore (moore at fast.cs.utah.edu)
8880
8881 * xm-hp800.h (hpux8): define.
8882 * hp800.h (LINK_SPEC): Conditionalize on hpux8.
8883 (STACK_BOUNDARY): Define for snake.
8884 (CALL_USED_REGISTERS): Shift register is special.
8885 (HARD_REGNO_MODE_OK): Don't allow modes smaller that SImode in fp
8886 registers.
8887 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Eliminate
8888 GENERAL_OR_FP_REGS, GENERAL_OR_SNAKE_FP_REGS classes.
8889 (FUNCTION_ARG): Handle snake fp arguments.
8890 (ASM_DOUBLE_ARG_DESCRIPTORS): define.
8891 (ASM_DECLARE_FUNCTION_NAME): Use above macro to get around hpux
8892 8.0 change.
8893 * hp800.md (movsi, movdi): Add ! and * to constraints of anonymous
8894 define-insns to discourage SImode values in fp registers. Don't
8895 modify the stack pointer when moving between general and fp registers.
8896 (mulsi): Take out pattern that matches a degenerate multiplication
8897 by 1; it doesn't seem to be needed and causes problems.
8898 (sar_sub): Change so that const_int isn't the first argument of
8899 the comparison.
8900 * hp800.c (output_fp_move_double): As above, don't modify the
8901 stack pointer when moving between general and fp registers.
8902 (output_block_move): Don't make one CONST_INT rtx and store
8903 different integer values in it; cons up a "new" one for each value.
8904 (output_floatsisf2, output_floatsidf2): Fix typos.
8905 (output_arg_descriptor): Conditionalize for HPUX 8.0.
8906
8907Tue Jan 14 14:38:09 1992 Michael Tiemann (tiemann at cygnus.com)
8908
8909 * cp-typeck.c (build_unary_op): Call readonly_warning_or_error if
8910 ARG is TREE_READONLY (in addition to the type being TYPE_READONLY).
8911
8912 * cp-init.c (maybe_adjust_addr_for_delete): If the adjustment needs
8913 to be done, zero out the storage that held part of the cookie.
8914
8915Tue Jan 14 13:12:48 1991 Ron Guilmette (rfg at ncd.com)
8916
8917 * c-decl.c (poplevel): Set TYPE_CONTEXT for each tagged type
8918 except inside function declaration parm list.
8919 (grokdeclarator): Set TYPE_CONTEXT for tagged type in decl parm list.
8920 (pushtag): Don't set TYPE_CONTEXT for tagged types here.
8921
8922Tue Jan 14 06:46:37 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
8923
8924 * global-alloc.c (global_alloc): Count multi-word pseudos correctly
8925 in local_reg_n_refs.
8926 (find_reg): Evict pseudos that overlap the register we take, not just
8927 that start with that register.
8928
8929 * a29k.c (a29k_debug_reg_map): New variable.
8930 (output_prologue): Initialize it.
8931 * a29k.h (DBX_REGISTER_NUMBER): Use that map.
8932
8933 * ultrix.h (WCHAR_TYPE): Make definition be a known type.
8934
8935 * final.c (final_scan_insn): Call DBR_OUTPUT_SEQEND before we
8936 clear `final_sequence', so it can call dbr_sequence_length.
8937
8938 * reload1.c (reload): Clear insn_needs once we know we have
8939 reloads, instead of always.
8940 Don't skip processing of reloads for CALL_INSNs when caller-save
8941 needs a spill register.
8942
8943 * flow.c (mark_used_regs, case RETURN): Insert missing test for global
8944 registers.
8945
8946 * reorg.c (mark_referenced_resources): Mark asm's as volatile
8947 when appropriate.
8948
8949 * integrate.h (struct inline_remap): New field const_equiv_map_size.
8950 * integrate.c (expand_inline_function): Set it; make larger map.
8951 (subst_constants): Don't reference out-of-range entry in equiv map.
8952 * unroll.c (unroll_loop): Set const_equiv_map_size.
8953
8954See ChangeLog.4 for earlier changes.