|
|
1.1 root 1:
2: Sat Oct 31 15:19:54 1992 Richard Stallman ([email protected])
3:
4: * Version 2.3 released.
5:
6: * Makefile.in (install-libobjc): New target.
7: ($(srcdir)/gcc.dvi, $(srcdir)/cpp.dvi): New targets.
8: (extraclean): rm *diff, *lose, config/*lose.
9: (mostlyclean): rm config/core.
10:
11: * objc-actions.c (OBJC_SELECTORS_WITHOUT_LABELS): Define by default.
12:
13: Fri Oct 30 20:11:52 1992 James Van Artsdalen (james at bigtex.cactus.org)
14:
15: * i386.c (output_move_double): Undo 10/25 change. Handle case
16: where part of a dest reg is used in a src mem rtx, without using
17: stack.
18:
19: Fri Oct 30 18:52:57 1992 Michael Meissner ([email protected])
20:
21: * mips.h (MIPS_VERSION): Bump meissner version number to 28.
22:
23: * mips.md (addsi3, subsi3): Don't allow -32768 as the second
24: operand, the assembler complains if the instruction fills a delay
25: slot.
26:
27: Fri Oct 30 16:11:37 1992 Richard Stallman ([email protected])
28:
29: * combine.c (simplify_shift_const):
30: For a subreg, require subreg_lowpart_p and not paradoxical.
31:
32: * Makefile.in (install-fixincludes): Ignore dirs that don't exist.
33:
34: Thu Oct 29 20:15:44 1992 Richard Stallman ([email protected])
35:
36: * gvarargs.h, gstdarg.h [4.3 net 2]: If _VA_LIST_, is undefined
37: then va_list is already declared.
38:
39: * i386gas.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
40: Override, if NO_UNDERSCORES.
41:
42: Thu Oct 29 17:30:52 1992 Richard Kenner ([email protected])
43:
44: * flow.c (life_analysis): Mark FP live at end of function.
45: * reload1.c (reload): If FP was eliminated, remove it from
46: being live in any basic block.
47:
48: * varasm.c (output_constant_pool): Labels can be deleted by being
49: turned into NOTEs, not just have INSN_DELETED_P.
50:
51: Thu Oct 29 16:15:47 1992 Richard Stallman ([email protected])
52:
53: * gstdarg.h: Use _ANSI_STDARG_H_, not _ANSI_STDARG_H.
54:
55: * gstddef.h [4.3 net 2]: If _SIZE_T_, etc. are undefined
56: then type is already declared.
57:
58: * m68k.c (print_operand_address) [MOTOROLA !SGS]:
59: Don't subtract 2 in the address displacement.
60:
61: Thu Oct 29 14:36:23 1992 Michael Meissner ([email protected])
62:
63: * libgcc2.c (__builtin_vec_new): #undef NULL before including
64: stdio.h to prevent redeclaration message.
65: (pyramid __enable_execute_stack): Ditto.
66:
67: * i386rose.h (YES_UNDERSCORES): Define.
68: (ASM_OUTPUT_LABELREF): Don't redefine.
69:
70: * mips.h (ASM_FINAL_SPEC): If cross compiling, don't invoke
71: mips-tfile by default.
72:
73: * decrose.h (ASM_FINAL_SPEC): If cross compiling, don't invoke
74: mips-tfile by default.
75:
76: * mips-tdump.c, mips-tfile.c: Handle the case where CROSS_COMPILE
77: is defined more gracefully.
78:
79: Thu Oct 29 12:10:16 1992 Tim Moore (moore at defmacro.cs.utah.edu)
80:
81: * combine.c (make_extraction): Fix paren error in if for INNER is reg.
82:
83: Thu Oct 29 13:49:03 1992 Jim Wilson ([email protected])
84:
85: * xm-mipsbsd.h: Really delete file.
86:
87: Thu Oct 29 02:48:28 1992 Tom Wood ([email protected])
88:
89: * dwarfout.c, arm.c, m88k.c: Include "assert.h" instead of <assert.h>.
90:
91: Thu Oct 29 00:43:00 1992 Richard Stallman ([email protected])
92:
93: * gstddef.h [4.3 net 2]: Force inclusion of ansi.h.
94: Undef _SIZE_T_, _PTRDIFF_T_, _WCHAR_T_ at end.
95:
96: * Makefile.in (libgcc2.a, libgcc1.a): Use || to exit if cp fails.
97: (install-float-h-cross): Use fi, not done.
98: Write float.h in $(tmpdir), not in `.'.
99: (tmpdir): New variable.
100:
101: * i386gas.h (NO_UNDERSCORES): Test was backwards.
102: (SDB_DEBUGGING_OUTPUT): Defined.
103:
104: Wed Oct 28 16:33:34 1992 Richard Stallman ([email protected])
105:
106: * gstdarg.h, gvarargs.h:
107: On Net 2 system, don't test, define or undef _VA_LIST_.
108: Use _ANSI_H_, __BSD_NET2__ and ____386BSD____ to test for this.
109:
110: * i386bsd.h (CPP_PREDEFINES): Add ____386BSD____.
111:
112: * c-decl.c (pushdecl): Allow redeclaring builtin as any sort of static.
113:
114: * Makefile.in (install-cross-tools): Fix typo.
115: (all.build): Dep on xgcc instead of $(GCC_PASSES).
116:
117: Wed Oct 28 15:25:42 1992 Tom Wood ([email protected])
118:
119: * m88k.c (print_operand): When AS_BUG_FLDCR is defined, use alternate
120: fldcr form.
121: * m88kdgux.h (AS_BUG_FLDCR): Define to accomodate 4.30 assembler bug.
122:
123: * m88kv3.h (CPP_PREDEFINES): Add -Dunix.
124:
125: * m88kdolph.h (SDB_ALLOW_FORWARD_REFERENCES): Don't override.
126:
127: Wed Oct 28 05:34:11 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
128:
129: * reload1.c (gen_input_reload): In PLUS, if OP0 and OP1 are the
130: same, use RELOADREG when generating the addition.
131:
132: * reload.c (find_reloads_address): When copying memref after we've
133: made recursive calls on it, copy any replacements we made.
134:
135: * combine.c (can_combine_p): Don't substitute an expression
136: containing a register that will be clobbered in I3.
137:
138: * objc/core.c, objc/hash.c: Include tconfig.h, not config.h.
139: Include gstdarg.h.
140: * objc/object.m: Include tconfig.h, not config.h.
141: Include gstdarg.h before stdio.h.
142: * objc/objc.h: Don't include gstdarg.h here.
143: * objc/objc-proto.h (CLASS_LOCATION_SHIFT): Use HOST_BITS_PER_LONG,
144: not BITS_PER_WORD.
145: (setClassNumber, getClassNumber): `info' field is long, not int.
146:
147: Wed Oct 28 10:54:50 1992 Michael Meissner ([email protected])
148:
149: * libgcc2.c (L_caps_new): Properly close comment.
150:
151: Wed Oct 28 05:50:10 1992 Torbjorn Granlund ([email protected])
152:
153: * pa.md (mulsi): Input predicates back to srcsi_operands.
154: Don't handle constants specifically for TARGET_SNAKE, but call
155: force_reg to put them in registers.
156: (indexed addressing mode patterns): Remove the patterns with
157: unscaled index. Switch off patterns that never match.
158:
159: * longlong.h (file header): Add comment describing sdiv_qrnnd.
160: (__hppa sub_ddmmss): Swap input operands.
161:
162: * gcc.c (process_command): Check that we have enough arguments.
163:
164: Wed Oct 28 00:40:18 1992 Richard Stallman ([email protected])
165:
166: * configure (i[34]86-*-sysv*): Take note of $stabs.
167: * i386gas.h (SDB_DEBUGGING_INFO): #undef deleted.
168: (DBX_DEBUGGING_INFO): Definition deleted.
169: * i386gstabs.h: New file.
170:
171: * Makefile.in (mostlyclean): Don't delete tmp-limits.h.
172:
173: * i386vgas.h: File deleted.
174:
175: Tue Oct 27 15:35:51 1992 Richard Stallman ([email protected])
176:
177: * libgcc2.c: Include stdio.h.
178: [__GNU_LIBRARY__] (write): Defined.
179:
180: * Makefile.in (install-cross-tools): When handling $(tooldir)/include,
181: do all cd's starting from build directory.
182:
183: * i386gas.h (NO_UNDERSCORES): Don't define, if YES_UNDERSCORES.
184: * i386linux.h (YES_UNDERSCORES): Defined.
185:
186: Tue Oct 27 14:17:43 1992 Jim Wilson ([email protected])
187:
188: * configure (i[34]86-*-linux): Set broken_install.
189: * x-linux (INSTALL): Delete.
190: * x-iris (INSTALL): Delete.
191:
192: Tue Oct 27 13:39:22 1992 Tim Moore ([email protected])
193:
194: * pa.h (ASM_GLOBALIZE_LABEL): Give function symbols CODE type,
195: others DATA type.
196:
197: Mon Oct 26 16:40:43 1992 Richard Stallman ([email protected])
198:
199: * c-typeck.c (build_c_cast): Don't warn about size change between
200: pointer and integer if the value is constant.
201:
202: * Makefile.in (libobjc.a): If ln fails, copy libobjc.a.
203:
204: Mon Oct 26 16:21:11 1992 Tim Moore ([email protected])
205:
206: * pa.h (EXPORT_PARMS, ASM_DECLARE_FUNCTION): Blow away usage of
207: EXPORT_PARMS. BUGGY_GAS isn't a problem any more.
208: (TEXT_SPACE_P, FUNCTION_NAME_P): New macros.
209: (ENCODE_SECTION_INFO): Use TEXT_SPACE_P.
210: (STRIP_NAME_ENCODING): Strip a '*' which might preceed a '@'.
211: (ASM_OUTPUT_EXTERNAL): Give only function labels a CODE type.
212: (ASM_OUTPUT_LABELREF): Use FUNCTION_NAME_P.
213: * pa.c (hppa_encode_label): Change function name encoding to
214: preserve leading '*' if there is one.
215: (function_label_operand): Use FUNCTION_NAME_P macro.
216:
217: Mon Oct 26 14:39:46 1992 Torbjorn Granlund ([email protected])
218:
219: From Tim Moore:
220: * function.c (locate_and_pad_parm): In ARGS_GROW_DOWNWARD case,
221: don't pad to argument alignment if where_pad is downward.
222:
223: Mon Oct 26 11:21:36 1992 Chris Smith ([email protected])
224:
225: * convex.h (SHIFT_COUNT_TRUNCATED): Undefine.
226:
227: Mon Oct 26 07:48:35 1992 Richard Kenner ([email protected])
228:
229: * alpha.c (print_operand, new 'L'): New case.
230: * alpha.md (movhi/movqi patterns): For long constants, use 'i'
231: constraint instead of 'K'; use "%L1" in template.
232:
233: * configure (alpha): Set use_collect2.
234:
235: Mon Oct 26 04:19:24 1992 Richard Stallman ([email protected])
236:
237: * xm-alpha.h: Declare calloc.
238:
239: Sun Oct 25 17:19:52 1992 Richard Stallman ([email protected])
240:
241: * function.c (fixup_var_refs_insns): Don't call delete_insn if not -O.
242: Make a NOTE_INSN_DELETED instead.
243:
244: Sun Oct 25 11:57:04 1992 Chris Smith ([email protected])
245:
246: * convex.h (target_flags): prevent -mnoc2 from clearing
247: TARGET_INDIRECTS.
248: (TARGET_INDIRECTS): Always on.
249:
250: Sun Oct 25 16:56:18 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
251:
252: * calls.c (expand_call): Don't call convert_to_mode if we obtained
253: VALUE in the proper mode; VALUE might be a CONST_INT.
254:
255: Sun Oct 25 03:18:03 1992 Richard Stallman ([email protected])
256:
257: * expr.c (gen_push_operand): No longer static.
258:
259: * i386.c (output_move_double): Divert first word via the stack
260: if it's a register used in the input operand.
261: * i386.md (movdi): Delete the `&' from constraint.
262:
263: Sat Oct 24 21:41:00 1992 Chris Smith ([email protected])
264:
265: * convex.md (movstrictsi): Correct output constraint is + not =.
266:
267: Sat Oct 24 14:10:43 1992 Richard Stallman ([email protected])
268:
269: * news.h (FUNCTION_EPILOGUE): Fix typos.
270:
271: * cccp.c (get_lintcmd): Length of `LINTLIBRARY' is 11.
272:
273: Sat Oct 24 13:22:09 1992 Torbjorn Granlund ([email protected])
274:
275: * arm.md (DImode patterns): Add `&' to target operand constraints.
276:
277: * Makefile.in (setting version variable): Prepend $(srcdir) to
278: version.c.
279:
280: From Wilson:
281: * longlong.h (sparclite): Use machine independent USItype instead
282: of explicit types.
283:
284: Sat Oct 24 10:35:18 1992 Richard Kenner ([email protected])
285:
286: * rs6000.md (movdi): Tests were in wrong order.
287:
288: * rs6000.h (LEGITIMIZE_ADDRESS): Indexed addresses are not valid
289: for DImode and TImode; GO_IF_LEGITIMATE_ADDRESS knows this.
290:
291: * Makefile.in (mostlyclean): Add missing semicolon.
292:
293: * a29k.c (a29k_set_memflags, a29k_set_memflags_1): New functions.
294: * a29k.md (movqi, movhi, reload_{in,out}{qi,hi}): Use them.
295:
296: * alpha.c (get_aligned_mem): Copy memory flags to new MEM.
297: (alpha_set_memflags, alpha_set_memflags_1): New functions.
298: * alpha.md (movqi, movhi, reload_{in,out}{qi,hi}): Use new
299: functions.
300:
301: * alpha.h (ASM_FILE_START): Stop at blank in version string.
302:
303: Sat Oct 24 04:35:16 1992 Richard Stallman ([email protected])
304:
305: * reload1.c (emit_reload_insns): If not -O, Don't try find_equiv_reg.
306: (choose_reload_regs): If not -O, don't inherit reloads.
307:
308: Fri Oct 23 18:07:10 1992 Richard Stallman ([email protected])
309:
310: * news.h (FUNCTION_EPILOGUE):
311: If no frame ptr, increment stack ptr to free up the local space.
312:
313: * gcc.c (process_command): Discard after first space in spec_version.
314:
315: * print-tree.c (print_node): Always output `>' to match `<'.
316:
317: * Makefile.in (version): Use sed to extract.
318: Ignore excess after space.
319: (install-fixincludes): Fix typo in last change.
320:
321: * configure (i386-ibm-aix*): Use aix386ng.h if not --with-gas.
322: * aix386ng.h: New file.
323:
324: Fri Oct 23 15:14:49 1992 Brendan Kehoe ([email protected])
325:
326: * sdbout.c (sdbout_symbol): Return if a symbol's DECL_NAME is
327: empty, since we won't be able to make a symtab of it.
328:
329: * convex.h (P_tmpdir): Remove definition.
330: * xm-convex.h: Put it here.
331:
332: Fri Oct 23 10:27:34 1992 Michael Meissner ([email protected])
333:
334: * i386rose.h (ASM_OUTPUT_LABELREF): Define so that external
335: identifiers have leading underscores in front of them.
336:
337: * mips-tfile.c (parse_stabs_common): Allow stabs with line numbers
338: of 0. These come from g++ for compiler generated functions that
339: take arguments.
340:
341: Fri Oct 23 07:49:12 1992 Richard Kenner ([email protected])
342:
343: * romp.c (output_fpops): Add SYMBOL_REF and LABEL_REF cases to
344: constants handled.
345:
346: Fri Oct 23 01:58:12 1992 Richard Stallman ([email protected])
347:
348: * flow.c (find_basic_blocks): Check for LABEL_REF_NONLOCAL_P
349: in label_value_list.
350: * jump.c (mark_jump_label): Copy LABEL_REF_NONLOCAL_P from
351: LABEL_REF into REG_LABEL note.
352:
353: * toplev.c (push_float_handler): Declare arg old_handler.
354:
355: * t-next (OTHER_FIXINCLUDES_DIRS): Defined.
356:
357: * Makefile.in (OTHER_FIXINCLUDES_DIRS): New variable, normally empty.
358: (install-fixincludes): Run fixincludes on those dirs.
359: * fixincludes: Convert //-style comments to /*...*/ style.
360:
361: * loop.c (record_biv): Clear total_benefit field of new iv_class.
362: (get_condition):
363: Verify op 2 of source is label_ref before looking within.
364:
365: Thu Oct 22 21:17:53 1992 Tim Moore (moore at defmacro.cs.utah.edu)
366:
367: * varasm.c (STRIP_NAME_ENCODING): New macro to decode a symbol name
368: munged by ENCODE_SECTION_INFO.
369: (assemble_start_function, assemble_variable): Use STRIP_NAME_ENCODING.
370: * pa.h (STRIP_NAME_ENCODING): New definition.
371:
372: Thu Oct 22 17:53:37 1992 Richard Stallman ([email protected])
373:
374: * Makefile.in (mostlyclean): Clean objc subdir only if it exists.
375:
376: * news.h (FUNCTION_PROLOGUE): Do allocate local stack space
377: when no frame pointer.
378:
379: Thu Oct 22 15:21:27 1992 Jim Wilson ([email protected])
380:
381: * i960.h (FUNCTION_VALUE): Simplify, just return reg 0.
382: * i960.c (i960_function_value): Delete.
383:
384: Thu Oct 22 09:42:50 1992 Michael Meissner ([email protected])
385:
386: * mips-tfile.c (parse_stabs_common): Ignore stab line numbers
387: of 0, since the G++ front end generates them. Check whether
388: line numbers can fit within the index field, and if not report
389: an error.
390:
391: * mips.c (function_arg): Align passed structures to double word
392: boundary if structure has double word alignment.
393:
394: * mips.h (STACK_DYNAMIC_OFFSET): Do not define this macro in order
395: to work around a bug.
396:
397: Thu Oct 22 08:00:43 1992 Richard Stallman ([email protected])
398:
399: * gstdarg.h, gvarargs.h: Treat _AIX and _M_UNIX like __svr4__.
400:
401: * i386gas.h (NO_UNDERSCORES): Defined.
402:
403: * next.h (INCLUDE_DEFAULTS): Put in GPLUSPLUS_INCLUDE_DIR,
404: GCC_INCLUDE_DIR, LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR.
405: Don't define at all if cross-compiling.
406:
407: * tree.c (copy_node): Copy the excess bytes--don't clear them.
408:
409: Thu Oct 22 06:40:55 1992 Richard Kenner ([email protected])
410:
411: * a29k.h (TARGET_SWITCHES): Add missing complementary switches:
412: -mno-stack-check and -mstorem-bug.
413:
414: * a29k.md (long constant split): Use gen_lowpart instead of making
415: a SUBREG directly.
416:
417: * arm.h (STORE_FLAG_VALUE): Remove bogus definition.
418:
419: Thu Oct 22 03:04:28 1992 Tom Wood ([email protected])
420:
421: * m88k.c (prologue_marked): New variable.
422: (m88k_end_prologue): Output the epilogue mark here if the start of
423: the epilogue passed the end of the prologue.
424: (m88k_begin_epilogue): Don't output the epilogue mark if the end
425: of the prologue hasn't been processed yet.
426:
427: Thu Oct 22 03:20:40 1992 Richard Stallman ([email protected])
428:
429: * function.c (put_var_into_stack): When we operate on a pseudo
430: that holds the address, use proper modes.
431:
432: * combine.c (make_extraction): Use is_mode, not inner_mode,
433: for BYTES_BIG_ENDIAN adjustment to offset for non-bitfield case.
434: Update is_mode when stripping subreg from around a mem.
435:
436: * m68k.h (GO_IF_INDEXABLE_BASE): Allow LABEL_REF only if jump table.
437:
438: Wed Oct 21 18:55:24 1992 Richard Stallman ([email protected])
439:
440: * gstdarg.h: Check and define _ANSI_STDARG_H along with _STDARG_H.
441:
442: Wed Oct 21 11:41:39 1992 Tom Wood (wood at gen-rtx)
443:
444: * toplev.c (push_float_handler, pop_float_handler): New functions.
445: * fold-const.c (real_value_truncate):
446: Use them, in case another handler is already in effect.
447:
448: Wed Oct 21 22:08:31 1992 H.J. Lu ([email protected])
449:
450: * Makefile (all.build): Add target $(GCC_PASSES) for xgcc.
451: * build-make (CC): Defined.
452: (CROSS_GCC_FLAGS): Deleted.
453: (HOST_CC): Delete -V option; CC supplies that.
454:
455: Wed Oct 21 12:34:39 1992 Torbjorn Granlund ([email protected])
456:
457: From Wilson:
458: * longlong.h (sparclite udiv_qrnnd): Remove comma before
459: __AND_CLOBBER_CC.
460:
461: Wed Oct 21 12:24:24 1992 Michael Meissner ([email protected])
462:
463: * decrose.h (WORD_SWITCH_TAKES_ARG): Add -pic-names.
464: (CC1_SPEC): If -pic-names, pass -mhalf-pic to cc1.
465:
466: * i386rose.h (WORD_SWITCH_TAKES_ARG): Add -pic-names.
467: (CC1_SPEC): If -pic-names, pass -mhalf-pic to cc1.
468:
469: Wed Oct 21 07:34:16 1992 Richard Kenner ([email protected])
470:
471: * configure (alpha): Only accept OSF/1.
472:
473: * alpha.h (ASM_FILE_START): Change .verstamp ident for BL9.
474: * alpha.md (div/mod): Change calling sequence to agree with BL9.
475:
476: * expr.c (do_store_flag): Ensure we don't get confused when
477: emit_store_flag fails and an operand has a QUEUED.
478:
479: Wed Oct 21 02:53:58 1992 Richard Stallman ([email protected])
480:
481: * cexp.y (integer_overflow): Do nothing unless pedantic.
482:
483: Tue Oct 20 17:02:15 1992 Jim Wilson ([email protected])
484:
485: * README, sparc.h, flow.c, regs.h: Change global-alloc.c to global.c.
486:
487: * i960.md (call, call_value): Use 'd' not 'r' constraint for scratch.
488:
489: * gcc.c (WORD_SWITCH_TAKES_ARG): Handle -Ttext and -Tbss in
490: addition to -Tdata.
491: * i960.h (WORD_SWITCH_TAKES_ARG): Delete, now unnecessary.
492: * next.h (WORD_SWITCH_TAKES_ARG): Add -Tbss.
493: * sparc.h, sun2.h, sun3.h (WORD_SWITCH_TAKES_ARG): Add -Ttext and
494: -Tbss.
495:
496: Tue Oct 20 16:49:57 1992 Ron Guilmette (rfg at netcom.com)
497:
498: * dwarfout.c (dwarfout_file_scope_decl): Generate DIEs for
499: built-in non-fundamental types.
500:
501: Tue Oct 20 14:58:18 1992 Richard Stallman ([email protected])
502:
503: * objc-actions.c (handle_impent, handle_class_ref): Use __
504: to start the generated names, not period.
505:
506: Tue Oct 20 14:38:30 1992 Brendan Kehoe ([email protected])
507:
508: * cp-method.c (fndecl_as_string): Undo change of Sep 14th for
509: emitting a space after the return type of a fn.
510:
511: Wed Oct 7 16:01:55 1992 Chip Salzenberg ([email protected])
512:
513: * cp-lex.c (readescape): No warning if digits in \x are all 0's.
514:
515: Tue Oct 20 06:50:28 1992 Richard Kenner ([email protected])
516:
517: * expr.c (force_operand): Clarify comment to say what it can return.
518: * integrate.c (copy_rtx_and_substitute): Don't assume force_operand
519: on an address returns a REG; it might be a SUBREG. Use force_reg.
520:
521: Tue Oct 20 04:54:01 1992 Richard Stallman ([email protected])
522:
523: * tree.c (make_node, copy_node):
524: Don't assume node length is multiple of int.
525:
526: Mon Oct 19 18:14:56 1992 Jim Wilson ([email protected])
527:
528: * genrecog.c (write_tree): For type SPLIT, check subroutine return
529: values for non-zero value not positive value.
530:
531: Mon Oct 19 16:11:04 1992 Michael Meissner ([email protected])
532:
533: * c-typeck.c (print_table, scan_table): Add support for XPG4's %S
534: and %C formats for printing/reading wide characters. %lc and %ls too.
535:
536: Mon Oct 19 17:58:18 1992 Torbjorn Granlund ([email protected])
537:
538: * arm.c (output_epilogue): Restore sp's value if no frame pointer.
539:
540: From Wilson:
541: * pa.h (WORD_SWITCH_TAKES_ARG): Delete sparc related cruft.
542:
543: Mon Oct 19 14:49:03 1992 Brendan Kehoe ([email protected])
544:
545: * cp-parse.y (primary): Don't try building a CALL_EXPR or
546: converting types if $$ is an error_mark.
547:
548: Mon Oct 19 14:01:02 1992 Tom Wood ([email protected])
549:
550: * m88k.h (SECONDARY_INPUT_RELOAD_CLASS): Require a temporary for a
551: pic address with a large constant term.
552: * m88k.md (reload_insi): New pattern.
553: (addsi3 pattern for large constants): Delete. Causes reload trouble.
554: * m88k.c (emit_move_sequence): Add scratch register. All callers
555: changed.
556: (legitimize_address): Add scratch register. All callers changed
557: to pass zero instead of gen_reg_rtx result. Allocate another temp
558: register for -fPIC case. Use scratch register for pic cases with
559: a large constant term.
560:
561: * m88k.h (FUNCTION_PROFILER_LENGTH, FUNCTION_BLOCK_PROFILER_LENGTH,
562: BLOCK_PROFILER_LENGTH, REG_PUSH_LENGTH, REG_POP_LENGTH): Added.
563: (ADJUST_INSN_LENGTH): Account for profiling code.
564:
565: Mon Oct 19 16:46:52 1992 Richard Stallman ([email protected])
566:
567: * Makefile.in (libobjc.a): Don't mkdir objc if dir exists.
568:
569: * expr.c (store_field): If trying to sign-extend a constant,
570: use value_mode as the mode.
571:
572: Mon Oct 19 10:59:20 1992 Michael Meissner ([email protected])
573:
574: * xm-umips.h (index): Define to be strchr.
575: (rindex): Define to be strrchr.
576:
577: * mips-tdump.c (index, rindex): Undefine these, since the MIPS
578: include files have a field spelled index.
579:
580: Mon Oct 19 03:34:04 1992 Richard Stallman ([email protected])
581:
582: * Makefile.in (mostlyclean): Delete libobjc.a.
583: (libobjc.a): Create the objc subdir.
584:
585: Sun Oct 18 17:52:05 1992 Arne H. Juul ([email protected])
586:
587: * objc/Makefile: Add .SUFFIXES .m and .m.o rule to keep non-GNU
588: make happy.
589:
590: * Makefile.in (libobjc.a): Remove libobjc.a in current directory
591: before attempting to hardlink it or make will fail in later stages.
592: (sublibobcj.a): Don't use $(MAKEFLAGS) for objc subdir stuff.
593:
594: Sun Oct 18 06:00:27 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
595:
596: * cse.c (canon_reg): Don't call validate_change if INSN is zero.
597:
598: Sun Oct 18 01:09:02 1992 Richard Stallman ([email protected])
599:
600: * i860.h (PRINT_OPERAND): For `h', always use OPERAND_HIGH_ADJ_PART
601: even for integer constant addresses.
602:
603: * final.c (output_addr_const): Always use FILE, not asm_out_file.
604:
605: * cccp.c (collect_expansion): Don't add whitespace at end
606: if inside a string and not traditional.
607: (rescan): At end of string, if inside macro, always keep scanning.
608:
609: * expr.c (store_field): If signed bitfield and want value, sign extend.
610:
611: Sat Oct 17 21:11:09 1992 H.J. Lu ([email protected])
612:
613: * Makefile.in (all.build): New rule for making gcc with a
614: cross-compiler.
615: (install.build): New target.
616: (line 271): Add `####build overrides'.
617: (gen*.o): Depend on hconfig.h, not config.h.
618: ($(HOST_PREFIX_1)rtl.o, $(HOST_PREFIX_1)print-rtl.o,
619: $(HOST_PREFIX_1)rtlanal.o, $(HOST_PREFIX_1)obstack.o,
620: $(HOST_PREFIX_1)malloc.o): Add final `h' to the regexp to replace.
621:
622: * configure: If $host == $taget, but $host != $build, merge
623: `build-make' and emit `build = $build'.
624: * build-make: New file for making gcc with a cross-compiler.
625:
626: Sat Oct 17 19:24:31 1992 Richard Stallman ([email protected])
627:
628: * c-typeck.c (process_init_constructor): When initializing a union,
629: handle the case of an empty init list.
630:
631: * reload.c (find_reloads_address): Redo last change: copy the mem
632: in the same way it's usually done.
633:
634: * Makefile.in (gcc.xtar): Fix typo in last change.
635: (mostlyclean): Don't use $(MAKEFLAGS) for objc subdir stuff.
636:
637: Sat Oct 17 19:15:16 1992 John Wroclawski ([email protected])
638:
639: * decstatn.h (SIZE_TYPE): Fix typo.
640:
641: Sat Oct 17 17:46:08 1992 Brendan Kehoe ([email protected])
642:
643: * cp-method.c: Don't try to include string.h or strings.h.
644: * cp-decl.c: Ditto.
645:
646: Sat Oct 17 13:50:49 1992 Fred Fish ([email protected])
647:
648: * fixinc.svr4 (string.h):
649: Remove #defines for other compiler's builtin functions.
650:
651: Sat Oct 17 00:39:30 1992 Richard Stallman ([email protected])
652:
653: * protoize.c: Add #undef getopt after getopt.h.
654:
655: * gstdarg.h, gvarargs.h (va_list) [__SVR4_2__]:
656: Don't set or test _VA_LIST.
657:
658: * gstddef.h: Do nothing if _ANSI_STDDEF_H already defined.
659:
660: Fri Oct 16 11:39:06 1992 H.J. Lu ([email protected])
661:
662: * emit-rtl.c (gen_lowpart_common): Fix typo in last change.
663:
664: Fri Oct 16 22:35:15 1992 Eric Youngdale ([email protected])
665:
666: * make-cc1.com: Correct previous patch.
667:
668: Fri Oct 16 20:07:12 1992 Richard Stallman ([email protected])
669:
670: * objc-actions.c (start_class):
671: For an INTERFACE_TYPE, push to permanent obstack.
672: (build_message_expr): Use TYPE_MAIN_VARIANT when comparing types.
673:
674: * Makefile.in (libobjc.a): Don't use $(MAKEFLAGS).
675: Add braces around shell variable references.
676: (collect2): Delete file before linking it.
677: * objc/Makefile (all): Don't use $(MAKEFLAGS).
678: (VPATH): Get rid of ../ since srcdir now absolute.
679:
680: Fri Oct 16 14:23:25 1992 Michael Meissner ([email protected])
681:
682: * decstatn.h (all defines): Protect all defines with an #ifndef,
683: to allow dec-osf1.h to selectively override macros.
684:
685: Fri Oct 16 10:44:47 1992 Tom Wood ([email protected])
686:
687: * Makefile.in (libobjc.a): Compute srcdir1 without changing
688: directories. Use srcdir1 to locate objc/Makefile. Put quotes
689: around all potential multi-word values. Recompute GCC_FOR_TARGET.
690: (sublibobjc.a): Use same text as libobjc.a.
691: (mostlyclean): Use $(MAKE) and srcdir1 for objc action.
692: * objc/Makefile (SUBDIR_INCLUDES): Don't use ../$(srcdir).
693: (all): Use $(MAKE).
694:
695: Fri Oct 16 04:16:36 1992 Richard Stallman ([email protected])
696:
697: * function.c (find_fixup_replacement): Renamed from find_replacement.
698:
699: * varasm.c (output_addressed_constants): Handle NON_LVALUE_EXPR.
700:
701: Fri Oct 16 02:25:17 1992 Jeffrey A. Law ([email protected])
702:
703: * pa.md (call define_expands): If TARGET_LONG_CALLS, then force
704: the address of the function into a register.
705: * pa.h (TARGET_SWITCHES): New switch "-mlong-calls".
706: * pa.c (call_operand_address): Only allow registers if
707: TARGET_LONG_CALLS.
708:
709: Fri Oct 16 00:21:57 1992 Richard Stallman ([email protected])
710:
711: * Makefile.in (libobjc.a): Get directories right, using shell vars
712: thisdir1, srcdir1. Put quotes around $(GCC_CFLAGS). Use $(MAKE).
713:
714: Thu Oct 15 17:07:18 1992 Mike Stump ([email protected])
715:
716: * configure, config.sub, config/elxsi.{c,h,md}, config/xm-elxsi.h,
717: config/x-elxsi: Add support for new 64 bit CPU, called Elxsi.
718:
719: Thu Oct 15 16:55:22 1992 Richard Kenner ([email protected])
720:
721: * alpha.c (alpha_builtin_saveregs): Fix bug in last change.
722:
723: * fold-const.c (distribute_bit_expr): Test for BIT_{AND,IOR}_EXPR.
724:
725: * cse.c (cse_insn): Add missing call to apply_change_group.
726:
727: Thu Oct 15 15:09:45 1992 Michael Meissner ([email protected])
728:
729: * t-mips (CCLIBFLAGS, LIBGCC2_CFLAGS): Delete, so that libgcc.a is
730: built with the -G 8 option, instead of -G 0, so that the linker
731: doesn't complain when linking in libg++.a.
732: * t-decstatn (CCLIBFLAGS, LIBGCC2_CFLAGS): Ditto.
733:
734: Thu Oct 15 14:30:25 1992 Jim Wilson ([email protected])
735:
736: * mips-tfile.c (parse_def): Allow spaces in arguments for C++.
737: Correct test for null when searching for end of name.
738:
739: Thu Oct 15 11:55:51 1992 Tim Moore ([email protected])
740:
741: * pa.c (compute_frame_size): Take an fregs_live parameter instead
742: of setting the static variable save_fregs.
743: (output_function_prologue): Initialize save_fregs to 0 and pass to
744: compute_frame_size.
745: * pa.h (INITIAL_FRAME_POINTER_OFFSET): Pass extra null parameter
746: to compute_frame_size.
747:
748: Thu Oct 15 08:40:07 1992 Richard Kenner ([email protected])
749:
750: * alpha.h (TARGET_FPREGS): New flag.
751: (TARGET_SWITCHES): Remove temporary -mfp and add -msoft-float and
752: -mfp-regs.
753: (TARGET_DEFAULT): Set to -mfp-regs -mno-soft-float.
754: (CONDITIONAL_REGISTER_USAGE): Use TARGET_FPREGS.
755: (FUNCTION_VALUE, FUNCTION_ARG, LIBCALL_VALUE): Use integer registers
756: for FP items if -mno-fp-regs.
757: * alpha.c (alpha_builtin_saveregs): Store integer regs twice instead
758: of storing the FP regs if -mno-fp-regs.
759:
760: * fold-const.c (fold): Add missing test in case when we
761: distribute a NOP_EXPR into a COND_EXPR and try to pull it back
762: out again.
763:
764: Thu Oct 15 08:11:00 1992 Tom Wood ([email protected])
765:
766: * fold-const.c (simple_operand_p): Don't regard global or static
767: variables as simple.
768: (fold_truthop): Only require the RHS to be simple.
769:
770: * m88k.h (CPP_SPEC): Add -D__m88110__ when -m88110 is in effect,
771: similarly for -m88100.
772: * m88kdgux.h (CPP_SPEC): Ditto.
773: * m88kluna.h (CPP_PREDEFINES): Drop -Dmc88100.
774: (CPP_SPEC): Reproduce the predefine -Dmc88100 when -m88100 is in
775: effect. Otherwise, supply -D__mc881x0__ when -m881x0 is in effect.
776:
777: Thu Oct 15 02:09:49 1992 Richard Stallman ([email protected])
778:
779: * expr.c (get_inner_reference):
780: If flag_volatile, treat every INDIRECT_REF as volatile.
781:
782: * collect2.c (main): If COLLECT_GCC is a relative name, use it anyway.
783:
784: * x-next: New file.
785: * configure (m68k-next-*): Use that.
786:
787: * Changes from NeXT:
788:
789: * libgcc2.c [L_ctors] (__CTOR_LIST__, __DTOR_LIST__):
790: Initialize these default definitions if __NeXT__.
791:
792: * gvarargs.h [__NeXT__]: Define _VA_LIST_ if _ANSI_STDARG_H_ was
793: defined; then define _ANSI_STDARG_H_.
794:
795: * gstddef.h (_ANSI_STDDEF_H): Define, along with _STDDEF_H.
796:
797: * next.h (INCLUDE_DEFAULTS): New macro.
798:
799: * cp-method.c (index, rindex): Delete declarations.
800: (build_overload_value): Cast result of index.
801:
802: * cccp.c (cplusplus_comments): New var.
803: (main): Set it according to options.
804: (rescan, handle_directive, skip_if_group, validate_else):
805: (skip_to_end_of_comment, macarg1, discard_comments):
806: Use cplusplus_comments to enable C++ comment syntax.
807:
808: Wed Oct 14 11:34:58 1992 Chip Salzenberg ([email protected])
809:
810: * libgcc2.c (__gcc_bcmp): Don't depend on signedness of `char'.
811:
812: Wed Oct 14 18:52:28 1992 Jim Wilson ([email protected])
813:
814: * sched.c (sched_note_set): Set subreg_p for anything except a
815: paradoxical subreg.
816:
817: * configure (sparc-*-solaris2): Use xm-spc-sol2.h not xm-spcv4.h.
818:
819: * reload.c (find_reloads): Don't let an operand have a numbered
820: constraint that makes it match itself.
821:
822: Wed Oct 14 10:38:31 1992 Tim Moore ([email protected])
823:
824: * pa.md (sCC patterns): Comparison operator should have SImode,
825: not CCmode.
826: (indexed addressing mode patterns): New patterns to use indexed
827: addressing if possible.
828: * pa.c (output_and): Do handle (const_int 0) as an operand; it
829: seems to occur in unoptimized compilation.
830: * pa.h (REGNO_OK_FOR_FP_P): Logic bug.
831: * va-pa.h : When __GNUC__ == 1, don't include the gcc 1 varargs
832: file (va-hp9k8.h). Instead, the definitions are explicitly defined
833: here. This avoids multiple typedefs of va_list.
834: * xm-pa.h (HAVE_VPRINTF) Define in HPUX 8.0.
835:
836: * pa.md (mulsi): Use the hardware multiply instruction, xmpyu, if
837: TARGET_SNAKE.
838: (umulsidi3): New pattern.
839: (reload_insi, reload_outsi, reload_indi, reload_outdi): New
840: patterns. These are needed because SImode and DImode pseudoregs
841: may be allocated (or reloaded) in floating point registers for
842: multiplication. That means that their addresses, which were
843: legitimate for SImode and DImode, aren't valid any more.
844: (movsi, movhi, movqi, movdf, movdi, movsf): Pass null scratch
845: operand to emit_move_sequence.
846: (fp SImode load and store patterns): Move before main movsi
847: pattern.
848: (fp DImode load and store patterns) New patterns.
849: (movhi, movqi patterns): Support moves to/from fp registers.
850: (movdf pattern): Ensure at least one operand is a register.
851: * pa.c (emit_move_sequence): Take reload scratch register
852: argument, deal with reloads of SImode and DImode mems into
853: floating point registers, handle function_label_operand moves.
854: (secondary_reload_class): A scratch register is needed if
855: reloading a function_label_operand address (probably doesn't
856: happen) or an SImode or DImode value into/out of a floating
857: point register.
858: * pa.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
859: REG_CLASS_FROM_LETTER): Define a new register class
860: FP_OR_SNAKE_FP_REGS, used only be reload_{in,out}{si,di}.
861: (HARD_REGNO_MODE_OK): Allow all integer modes in Snake floating
862: point registers. QImode and HImode pseudoregs may end up there
863: when using xmpyu.
864:
865: * pa.md (pic symbolic address pattern): New pattern.
866: (movsi, movdi patterns): Remove some * constraints from fp registers.
867: (pic label address pattern): Fix typo.
868: (function_label_operand patterns): New patterns for loading a
869: label address in HPUX 8.0.
870: * pa.c (finalize_pic): No real initialization is necessary for pic.
871: (output_function_prologue): Save r19, the pic offset table
872: register. If profiling, save and restore the structure value
873: return register (r28) around the call to mcount.
874: (hppa_encode_label, function_label_operand): New functions.
875: Record if a label is a code label so it can be treated specially
876: in HPUX 8.0.
877: * pa.h (TARGET_SHARED_LIBS): New flag. Generate code that can be
878: linked with HPUX 8.0 shared libraries.
879: (TARGET_SWITCHES): New flags: -mshared-libs and -mno-shared-libs.
880: (PIC_OFFSET_TABLE_REGNUM): This is really r19. The preliminary
881: docs from HP were wrong.
882: (ASM_DECLARE_FUNCTION_NAME): Specify "ENTRY" param in .EXPORT
883: directive.
884: (ENCODE_SECTION_INFO): Encode function labels.
885: (ASM_OUTPUT_LABELREF): Deal with function labels.
886: (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Don't do anything for
887: now; their only use (saving stuff during profiling) interacts in a
888: wierd way with required assembler directives at the start of a
889: function. Instead, do the save and restore in the function
890: prologue.
891: (hppa_encode_label): Declare.
892: * pa-hpux.h, pa-ghpux.h (TARGET_DEFAULT): Link against shared
893: libraries.
894: (LINK_SPEC): Don't link against shared libraries if debugging or
895: profiling.
896: * pa1-hpux.h, pa1-ghpux,h (TARGET_DEFAULT): Link against shared
897: libraries.
898:
899: Wed Oct 14 10:17:49 1992 Richard Stallman ([email protected])
900:
901: * Makefile.in (gcc.xtar): Copy the objc subdir.
902: (mostlyclean): Run the mostlyclean target in the objc subdir.
903: (objc-runtime, libobjc.a, sublibobjc.a): New targets.
904: (objc, objective-c): Dep on objc-runtime.
905:
906: * objc/*: New files.
907:
908: Wed Oct 14 07:17:19 1992 Richard Kenner ([email protected])
909:
910: * alpha.md (smax, smin): Fix typo in output strings.
911:
912: * a29k.c (const_16_operand, const_24_operand): Fix typo in declaration
913: of MODE.
914: (gpc_reg_or_immediate_operand, and_operand, add_operand): Likwise.
915:
916: Wed Oct 14 00:12:16 1992 Jeffrey A. Law ([email protected])
917:
918: * pa.h (RTX_COST): Fix spacing typo.
919:
920: Tue Oct 13 21:51:05 1992 Jim Wilson ([email protected])
921:
922: * a29k.md (call, call_value): Don't use call_operand, since
923: checking for recursive calls at this point is not safe.
924:
925: Tue Oct 13 18:52:17 1992 Brendan Kehoe ([email protected])
926:
927: * cp-type2.c (my_friendly_abort): Tell them to write to bug-g++.
928:
929: Tue Oct 13 18:16:12 1992 Chris Smith ([email protected])
930:
931: * convex.h (P_tmpdir): define to use /tmp.
932: (RETURN_POPS_ARGS): correct definition to return size.
933: (ASM_IDENTIFY_GCC): output something between gcc2_compiled and
934: first function to keep gcc2_compiled out of assembler stabs.
935:
936: * convex.md (adddi3, ordi3, xordi3): check sign of CONST_INT
937: operands before using as immediates; these insns are word only.
938: (ashrdi3): don't use negative shift counts.
939:
940: * convex*.h (CPP_SPEC): define __NO_INLINE_STDLIB
941:
942: * xm-convex.h: remove temporary workaround from OS 8.0.
943:
944: Tue Oct 13 14:10:15 1992 Jim Wilson ([email protected])
945:
946: * cp-lex.c (check_newline): Verify that main_input_filename is
947: valid before using it.
948:
949: Tue Oct 13 19:08:54 1992 Richard Kenner ([email protected])
950:
951: * a29k.c: Now includes reload.h.
952: (spec_reg_operand): Validate mode and know that some regs support
953: MODE_PARTIAL_INT and some MODE_INT.
954: (call_operand, reload_memory_operand, a29k_get_reloaded_address)
955: New functions.
956: (in_operand): Allow constants with MODE_PARTIAL_INT.
957: (out_operand): Allow special registers with any mode.
958: Any MEM a word or wider is valid.
959: (extend_operator): Deleted.
960: (secondary_reload_class): A pseudo is the same as memory; we need
961: BP_REGS for multi-word memory or for bytes and halfword if -mndw.
962: (print_operand): Delete %X; add %m.
963: (print_operand, case 'F'): Check for SYMBOL_REF.
964: * a29k.h (PROMOTE_MODE, ADJUST_COST): New macros.
965: (CALL_USED_REGISTERS): LR0 is call-used.
966: (HARD_REGNO_MODE_OK): Handle MODE_PARTIAL_INT and the special
967: registers that can only hold those modes.
968: (MODES_TIEABLE_P): Clean up and handle MODE_PARTIAL_INT modes.
969: (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add new
970: classes LR0_REGS, FC_REGS, and CR_REGS.
971: (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
972: (PREDICATE_CODES): Update for new and deleted predicates.
973: * a29k.md: Use GEN_INT when appropriate.
974: (define_attr type): New types for SQRT.
975: (call patterns): Use SCRATCH for LR0.
976: Use new predicate call_operand so that some integers can be
977: used as addresses; fix CALLI so it doesn't accept constant.
978: (EXBYTE, EXTHW, INBYTE, INHW): Use ZERO_EXTEND instead of AND
979: when combine will make it.
980: Use PSImode for BP value and don't reference BP explicitly.
981: Clean up define_expands for these operations.
982: (rotlsi3): Use PSImode pseudo for FC.
983: (sign_extend): Sign extension insns clobber BP.
984: ({load,store}_multiple): Use PSImode pseudo for CR.
985: (MTSR): Add pattern for TRUNCATE from SImode to PSImode.
986: (sqrtsf2, sqrtdf2, movpsi): New patterns.
987: (load/store bytes/halfword): Clean up to accept temporaries as
988: input and use PSImode when required.
989: (movhi, movqi): Allocate temporaries here.
990: (reload_inqi, reload_outqi, reload_inhi, reload_outhi): New
991: patterns.
992: (movdf, movdi, movti): Use SCRATCH for BP register.
993: (reload_{in,out}{df,di,ti}): New patterns.
994:
995: Tue Oct 13 16:52:33 1992 Richard Stallman ([email protected])
996:
997: * fixinc.svr4 (sys/stream.h, sys/strsubr.h): Delete spurious `extern'
998: in various structure definitions.
999:
1000: * rtlanal.c (single_set): Fix typo in REG_UNUSED check.
1001:
1002: * cse.c (simplify_binary_operation): Insure that folded >> extends
1003: the sign even if the host bootstrap compiler doesn't.
1004:
1005: * final.c (output_asm_insn): Advance over the = when processing %=.
1006:
1007: * fixincludes (stdio.h): Fix va_list when preceeded by a *.
1008:
1009: Tue Oct 13 14:52:57 1992 Brendan Kehoe ([email protected])
1010:
1011: * spc-sol2.h (STARTFILE_SPEC): Add crtbegin.o.
1012: (LIB_SPEC): Add crtend.o for running ctors/dtors.
1013: * t-sol2 (EXTRA_PARTS): Add crtbegin.o and crtend.o for C++.
1014: (FIXINCLUDES): Deleted.
1015: * configure (sparc-*-solaris2*): Set fixincludes here.
1016:
1017: Tue Oct 13 20:15:45 1992 Eric Youngdale ([email protected])
1018:
1019: * make-cc1.com: Simplify extraction of YYEMPTY from cp-parse.c.
1020: Generate c-parse.y, objc-parse.y from c-parse.in if required.
1021: Pat Rankin did some of this.
1022:
1023: Tue Oct 13 14:06:45 1992 Jim Wilson ([email protected])
1024:
1025: * sparc.md (in_branch_delay): Allow fpload and fpstore.
1026:
1027: * collect2.c (main): Only install a signal handler for signals
1028: that already have handlers.
1029: (fork_execute): Don't ignore signals before calling do_wait.
1030:
1031: * i960.md: Change 'f' constraint for dest to '*f' if it is not the
1032: only alternative. Add '*f' dest constraints to all patterns where
1033: it is valid but was previously missing.
1034:
1035: * i960.h (OVERRIDE_OPTIONS): Enable function inlining.
1036: * i960.c (g14_save_reg): Delete variable.
1037: (i960_output_call_insn): Add two new parameters arg_pointer and
1038: scratch_reg. Save/set/restore g14 if necessary.
1039: (i960_expand_call): Delete function.
1040: * i960.md (call, call_value): No longer call i960_expand_call,
1041: instead call call_internal/call_value_internal pattern.
1042: (call_internal, call_value_internal): Rewrite patterns to pass new
1043: args to i960_output_call_insn.
1044:
1045: * sparc.md (movstrsi+1): Add `+' to constraints for clobbered inputs.
1046:
1047: * i960.c (i960_output_call_insn): Emit bx instead of b, callx
1048: instead of callj.
1049:
1050: * sparc.c (sparc_frw_output_function_prologue): Frame pointer base
1051: must be same as for regular sparc code.
1052:
1053: Tue Oct 13 06:02:03 1992 Tom Wood ([email protected])
1054:
1055: * loop.c (loop_optimize): Verify that max_uid_for_loop is still
1056: larger than the uid of any insn. Increase the number of exit
1057: blocks from 4 to 32 per loop.
1058: (find_and_verify_loops): Stop trying to relocate exit blocks when
1059: allocating a new label would exceed max_uid_for_loop.
1060:
1061: * combine.c (subst): Don't change a conditional branch into a
1062: conditional move.
1063:
1064: * m88k.md (ext shift patterns): No longer needed.
1065:
1066: * m88k.c (mostly_false_jump): Recognize a sequence properly.
1067:
1068: Mon Oct 12 22:31:37 1992 Jeffrey A. Law ([email protected])
1069:
1070: * pa.h (LEGITIMIZE_ADDRESS): Fix typo.
1071:
1072: Tue Oct 13 00:14:09 1992 H Lu ([email protected])
1073:
1074: * Makefile.in (install-common): Put - on cmd that handles protoize.
1075: (gcc.o, cccp.o): Define TOOLDIR for the compilation.
1076: (all HOST_PREFIX_1 targets): Fix typos.
1077:
1078: * x-linux (cpp.a, linux.a, cc1.a, cc1plus.a, gcc.a): Targets deleted.
1079: (LD, ALIBS, STANDARD_STARTFILE_PREFIX, GPLUSPLUS_INCLUDE_DIR):
1080: Vars deleted.
1081:
1082: * i386linux.h: Delete NO_JUMPTABLE conditional and contents.
1083: (GPLUSPLUS_INCLUDE_DIR): Defined.
1084: (STARTFILE_SPEC): Changed.
1085:
1086: * gen*.c: Include hconfig.h, not config.h.
1087:
1088: Mon Oct 12 16:25:22 1992 Richard Stallman ([email protected])
1089:
1090: * configure.bat, vmsconfig.com: Make hconfig.h.
1091:
1092: * vax.h (PRINT_OPERAND): Detect `double' constants by DFmode,
1093: since VOIDmode means an integer.
1094:
1095: * mips.h (DEBUG_REGISTER_NAMES): New macro definition.
1096: * print-rtl.c (reg_names):
1097: Make it static. Use DEBUG_REGISTER_NAMES if that's defined.
1098: * regclass.c (reg_names): Reinstate the definition here.
1099:
1100: * fixinc.svr4: Delete excess fi in fixing stat.h.
1101:
1102: Mon Oct 12 08:10:37 1992 James Van Artsdalen ([email protected])
1103:
1104: * Makefile.in (install-fixincludes): Only delete an existing
1105: syslimits.h if we install limits.h over it.
1106:
1107: * i386.h (PRINT_REG): Undo Oct 11 change.
1108: (DEBUG_PRINT_REG): New macro, used from print-rtl.c.
1109:
1110: * conditions.h (CC_NOT_SIGNED): New macro.
1111: * final.c (alter_cond): If CC_NOT_SIGNED, convert signed
1112: conditions to unsigned.
1113:
1114: * i386.md (cmpstrM patterns): Compare strings of unsigned chars,
1115: not strings of signed chars.
1116:
1117: Mon Oct 12 06:31:13 1992 Richard Kenner ([email protected])
1118:
1119: * combine.c (try_combine): Save DEST of NI2PAT before calling
1120: recog_for_combine, which might make it a PARALLEL.
1121:
1122: * emit-rtl.c (gen_lowpart_common): Allow MODE_PARTIAL_INT where
1123: MODE_INT is allowed.
1124:
1125: * combine.c (try_combine): Properly call single_set when validating
1126: the result of a define_split.
1127:
1128: Mon Oct 12 00:24:29 1992 Richard Stallman ([email protected])
1129:
1130: * calls.c (calls_alloca): Don't look within DECL_INITIAL if it's 0.
1131:
1132: * varasm.c (simplify_subtraction): New function.
1133: * rtl.h (simplify_subtraction): Declared.
1134: * final.c (output_addr_const): Call it.
1135:
1136: * print-rtl.c (DEBUG_PRINT_REG): Renamed from PRINT_REG.
1137: (print_rtx): Use DEBUG_PRINT_REG.
1138:
1139: Sun Oct 11 16:27:53 1992 Richard Kenner ([email protected])
1140:
1141: * genrecog.c (merge_trees): When splitting, remember to clear DUPNO
1142: in addition to the other things we can test.
1143:
1144: * recog.c (general_operand, immediate_operand, const_double_operand):
1145: Allow CONST_INT with MODE_PARTIAL_INT.
1146: (nonmemory_operand): Likewise.
1147:
1148: Sun Oct 11 07:53:39 1992 James Van Artsdalen (james at bigtex.cactus.org)
1149:
1150: * xm-i38v4.h,xm-aix386.h (USE_C_ALLOCA): New macro. Define if not
1151: using GNU C's builtin alloca.
1152:
1153: * i386.c (notice_update_cc): Only set CC_IN_80387 for float compares.
1154:
1155: * i386.h (PRINT_REG): Make register name arrays static within this
1156: macro.
1157:
1158: Sun Oct 11 01:41:06 1992 Richard Stallman ([email protected])
1159:
1160: * jump.c (jump_optimize): Don't optimize jumps to store-flag insns
1161: when BLKmode values are being compared.
1162:
1163: Sat Oct 10 16:51:08 1992 Richard Stallman ([email protected])
1164:
1165: * print-rtl.c (print_rtx): Print hard reg name as well as number.
1166: (PRINT_REG): New macro with default definition.
1167: (reg_name): Moved here.
1168: * regclass.c (reg_name): Deleted.
1169:
1170: Sat Oct 10 02:27:14 1992 James Van Artsdalen (james at bigtex.cactus.org)
1171:
1172: * i386sco.h (TARGET_DEFAULT): New macro - don't make TARGET_IEEE_FP
1173: default for SCO.
1174:
1175: Sat Oct 10 04:52:06 1992 Richard Stallman ([email protected])
1176:
1177: * function.h (struct function): New fields const_rtx_hash_table,
1178: const_rtx_sym_hash_table, first_pool, last_pool, pool_offset.
1179: * function.c (pop_function_context, push_function_context):
1180: Call {save,restore}_varasm_status.
1181: * varasm.c: Include function.h.
1182: (restore_varasm_status, save_varasm_status): New fns.
1183: (init_const_rtx_hash_table): Allocate the hash tables in obstack.
1184: (force_const_mem): Don't use CONST_DOUBLE_MEM for nested fns.
1185: (clear_const_double_mem): Do nothing for nested fns.
1186: * Makefile.in (varasm.o): Dep on function.h.
1187:
1188: Fri Oct 9 18:16:18 1992 Brendan Kehoe ([email protected])
1189:
1190: * cp-decl.c (duplicate_decls): Only find out if olddecl is a
1191: friend after we know it's not a TREE_LIST.
1192:
1193: Fri Oct 9 18:10:19 1992 Jim Wilson ([email protected])
1194:
1195: * sparc.c (sparc_type_code): Return reasonable result for COMPLEX_TYPE.
1196:
1197: Fri Oct 9 14:33:26 1992 Tom Wood ([email protected])
1198:
1199: * reorg.c (start_of_epilogue_needs): New variable.
1200: (mark_target_live_regs): Add in start_of_epilogue_needs when
1201: NOTE_INSN_EPILOGUE_BEG is scanned.
1202: (dbr_schedule): Compute start_of_epilogue_needs and update
1203: end_of_function_needs to include sets by all instructions
1204: following NOTE_INSN_EPILOGUE_BEG.
1205:
1206: * m88k.md (return): Always available once reload has completed.
1207: (epilogue): Use a return insn rather than an indirect jump.
1208:
1209: Fri Oct 9 12:36:54 1992 Richard Stallman ([email protected])
1210:
1211: * spc-sol2.h (DBX_DEBUGGING_INFO): Defined.
1212:
1213: * function.c (aggregate_value_p): Return 1 if regs we would use
1214: are not all call-clobbered.
1215:
1216: * stmt.c (POPSTACK): Pop discarded elts off all the stacks as we go.
1217:
1218: Fri Oct 9 07:30:14 1992 Richard Kenner ([email protected])
1219:
1220: * reorg.c (mark_target_live_regs): Fix bug in last change.
1221:
1222: * combine.c (subst, case SUBREG): Don't make a new REG for
1223: stack, frame, or arg pointer.
1224: * emit-rtl.c (gen_lowpart_common, gen_highpart, operand_subword):
1225: Likewise.
1226:
1227: * local-alloc.c (optimize_reg_copy_1): Tighten up code to properly
1228: handle the case when SRC or DEST is a multi-word hard register
1229: and only some parts of the register are set or used. Also, avoid
1230: updating register status for DEST if we can't do the optimization.
1231:
1232: * jump.c (jump_optimize): Only use a REG as a target.
1233:
1234: * alpha.c (alpha_builtin_saveregs): Don't use value of NREGS greater
1235: than 6 when computing ARGSIZE.
1236:
1237: * va-alpha.h (va_arg): Put parens around all uses of __VA arg.
1238:
1239: Thu Oct 8 18:45:00 1992 Arne H. Juul ([email protected])
1240:
1241: * Makefile.in (install-common-headers): added missing 'then'
1242:
1243: Thu Oct 8 15:52:22 1992 Michael Meissner ([email protected])
1244:
1245: * mips.h (SELECT_RTX_SECTION): Rename macro from obsolete name
1246: SELECT_SECTION_MODE.
1247:
1248: * i386rose.h (whole file): Remove #ifdef before #undef of macros.
1249: (LEGITIMATE_CONSTANT_P): Define, so that when half-pic is on,
1250: half-pic addresses are not considered legitimate.
1251: (SELECT_RTX_SECTION): If putting a half-pic pointer that is
1252: loaded, put the pointer into the data section, rather than the
1253: readonly_data_section.
1254: (SELECT_SECTION): Define.
1255: (ASM_OUTPUT_DOUBLE): If not cross compiling, emit double as two
1256: longs, otherwise emit .double directive.
1257: (ASM_OUTPUT_FLOAT): If not cross compiling, emit float as long,
1258: otherwise emit .float directive.
1259: (perform_fixdfsi): Copy arg to memory variable.
1260: (SIZE_TYPE): Define to be long unsigned int.
1261: (PTRDIFF_TYPE): Define to be int.
1262: (WCHAR_TYPE)L: Define to be unsigned int.
1263:
1264: * i386.md (movsi): Remove obsolete half-pic code.
1265: (call insns): For half-pic insns, force address into register.
1266:
1267: Thu Oct 8 14:22:05 1992 Richard Stallman ([email protected])
1268:
1269: * Makefile.in (install-common-headers): Fix dir in chmods for assert.h.
1270:
1271: * va-i860.h (__savereg, va_arg): Put uses of __va in parens.
1272:
1273: * vax.h (PRINT_OPERAND): Define new code, D.
1274: * vax.md (movdi): Use D code for operand 1.
1275:
1276: Thu Oct 8 13:23:25 1992 Jeffrey A. Law ([email protected])
1277:
1278: * pa.md (fp_alu function unit, case fpcc): Fpcc instructions use
1279: the fpalu unit. In the most common case their result will be used
1280: in a ftest instruction. Minimum distance between the fcmp and
1281: ftest instruction is 4.
1282:
1283: Thu Oct 8 06:41:15 1992 Tom Wood ([email protected])
1284:
1285: * function.c (assign_parms): Provide a safe value for
1286: DECL_INCOMING_RTL in case of syntax errors.
1287:
1288: * dwarfout.c (dwarfout_init, dwarfout_finish): Don't output labels
1289: or .debug_aranges entries for .data1 and .rodata1 as these
1290: sections aren't currently used.
1291:
1292: Thu Oct 8 04:44:17 1992 Richard Kenner ([email protected])
1293:
1294: * reorg.c (mark_target_live_regs): Look at USE insns made by
1295: update_block when scanning forward past target.
1296: (mark_target_live_regs, dbr_schedule): Use GET_RTX_CLASS.
1297:
1298: * cse.c (PATHLENGH): Change from 20 to 10 to speed up compilations.
1299:
1300: Thu Oct 8 03:07:33 1992 Richard Stallman ([email protected])
1301:
1302: * fold-const.c (invert_truthvalue): Never alter ARG.
1303:
1304: * Makefile.in (TAGS): Exclude =*.[chy] from tags table.
1305:
1306: * c-lex.c (yylex): For floats, use REAL_VALUES_LESS to distinguish
1307: underflow from overflow. Delete special case for 0.0.
1308:
1309: Wed Oct 7 16:25:19 1992 Tom Wood ([email protected])
1310:
1311: * dwarfout.c (dwarfout_{begin,end}_function): New functions.
1312: (body_{begin,end}_attribute): New functions.
1313: (dwarf_attr_name): Print AT_body_begin and AT_body_end.
1314: (output_{local,global}_subroutine_die): Output the new attributes.
1315: * dwarf.h (enum dwarf_attribute): Add At_body_begin and AT_body_end.
1316: * final.c (final_scan_insn): Call dwarfout_begin_function.
1317: (final_end_function): Call dwarfout_end_function.
1318:
1319: * m88k.h (FASTEST_ALIGNMENT): Define as 8 for -m88110 otherwise 4.
1320: (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Base on FASTEST_ALIGNMENT.
1321: * m88k.md (movstrsi): No predicate is needed for the source or
1322: destination.
1323: * m88k.c (best_from_align): Add a target processor dimension for
1324: -m88000, -m88110, and -m88100.
1325: (expand_block_move): Choose method and limits based on -m88xxx option.
1326: (block_move_no_loop): Extend to allow DImode.
1327: * m88k-move.sh: Add the modules moveDI96x and moveDI41x through
1328: moveDI47x.
1329: * t-m88k, t-m88kluna, t-m88ksvr4: New modules added to MOVE_ASM.
1330:
1331: * m88k.c (output_call): Use different syntax for GAS.
1332:
1333: * m88k.h (READONLY_DATA_SECTION): Don't override svr4.h
1334: (ASM_OUTPUT_CASE_LABEL): For svr4, use .rodata.
1335:
1336: Wed Oct 7 15:47:19 1992 Richard Stallman ([email protected])
1337:
1338: * configure (i486-ncr-sysv4): Use i386v4.h.
1339: (i386-*-sysv4, i386-*-linux, i386-*-sysv): Handle 486 too.
1340: (i486-*-sysv4, i486-*-linux): Deleted.
1341: * i486v4.h, i486linux.h: Files deleted.
1342:
1343: Wed Oct 7 12:40:00 PDT 1992 Ron Guilmette (rfg at netcom.com)
1344:
1345: * populate (progname): Just the basename of $0 please.
1346: (target_dir): Use abs_target_dir and rel_target_dir for clarity.
1347: (source_dir): Use abs_source_dir and rel_source_dir for clarity.
1348: (*): List input and output dirs on startup.
1349: (*): Don't be so verbose; Don't echo names of output dirs/files as
1350: they are created.
1351:
1352: * fixinc.svr4 (<sys/signal.h>): Fix types of SIG_DFL, SIG_ERR,
1353: SIG_IGN, and SIG_HOLD.
1354: (<sys/stat.h>): Turn definitions of stat, lstat, fstat, and mknod
1355: into ANSI syntax and add __ to variables used.
1356:
1357: * c-parse.in (component_decl_list): Do pedwarn for missing semicolon
1358: after last field decl.
1359:
1360: Wed Oct 7 09:49:34 1992 Michael Meissner ([email protected])
1361:
1362: * decstatn.h (LINK_SPEC): Don't define if it is already defined,
1363: ie dec-osf1.h has included decstatn.h.
1364:
1365: * dec-osf1.h (MACHINE_TYPE): Redefine to say DEC OSF/1 instead of
1366: ultrix.
1367:
1368: Wed Oct 7 03:50:11 1992 Richard Stallman ([email protected])
1369:
1370: * configure (target_cpu_default): Var renamed from target_default.
1371: Set it to 2, for a 486. Define TARGET_CPU_DEFAULT macro.
1372:
1373: * i386.h (TARGET_CPU_DEFAULT): Add default definition.
1374: (TARGET_SWITCHES): Include that in the default.
1375:
1376: * toplev.c (main): Recover correctly from invalid -Wid-clash option.
1377:
1378: * cccp.c (finclude): Set fp->buf earlier, so it's freed on error.
1379:
1380: * Makefile.in (install-common-headers): Avoid ! operator, for assert.h.
1381:
1382: Tue Oct 6 20:21:21 1992 Jim Wilson ([email protected])
1383:
1384: * unroll.c (copy_loop_body, JUMP_INSN case): Delete abort in the
1385: code for setting the JUMP_LABEL field.
1386:
1387: Tue Oct 6 19:29:19 1992 Brendan Kehoe ([email protected])
1388:
1389: * cp-call.c (build_overload_call_real): If `functions' is an
1390: ADDR_EXPR (as with operator new and delete), give the name of its
1391: argument as the error fn.
1392:
1393: Tue Oct 6 14:15:15 1992 Richard Stallman ([email protected])
1394:
1395: * configure: Correct conditional in setting build_xm_file.
1396:
1397: * function.c (get_first_block_beg): New function.
1398:
1399: * cross-make (assertdir): Override usual definition.
1400: * Makefile.in (install-common-headers): chmod assert.h in proper dir.
1401: Use $(assertdir).
1402: (assertdir): New variable.
1403: (install-dir): Create dir $(includedir).
1404: (includedir): Make this /usr/local/include.
1405:
1406: Tue Oct 6 12:05:35 1992 Jeffrey A. Law ([email protected])
1407:
1408: * pa.md (memory function unit, load case): Loads take two cycles,
1409: not one.
1410:
1411: Tue Oct 6 07:56:05 1992 Torbjorn Granlund ([email protected])
1412:
1413: * pa.md (adddi3): Fix typo.
1414:
1415: Tue Oct 6 04:03:40 1992 Richard Stallman ([email protected])
1416:
1417: * m68k.c (floating_exact_log2, standard_68881_constant_p):
1418: (standard_sun_fpa_constant_p): Use REAL_VALUE_FROM_CONST_DOUBLE.
1419: (print_operand): Likewise.
1420:
1421: Mon Oct 5 18:39:29 1992 Brendan Kehoe ([email protected])
1422:
1423: * tree.h (TREE_VIA_PROTECTED): Set protected_flag, not static_flag.
1424:
1425: Mon Oct 5 18:27:08 1992 Richard Stallman ([email protected])
1426:
1427: * Makefile.in ($(srcdir)/INSTALL): Add -D INSTALLONLY.
1428:
1429: Mon Oct 5 14:46:08 1992 Brendan Kehoe ([email protected])
1430:
1431: * cp-parse.y (unary_expr): Use the `new' rule when looking for
1432: something like `new(foo) char[10]'.
1433:
1434: * cp-decl.c (grokparms): Don't call digest_init on default args.
1435:
1436: Mon Oct 5 02:21:06 1992 Richard Stallman ([email protected])
1437:
1438: * reload1.c (allocate_reload_reg): Always check for asm
1439: on failure instead of simply aborting.
1440:
1441: * optabs.c (init_optabs): Use cabs as the only libcall for abs.
1442:
1443: Mon Oct 5 03:10:14 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
1444:
1445: * c++ (numargs): $# was used after set was called; instead, save
1446: $# in $numargs and use that value instead.
1447:
1448: Sun Oct 4 12:34:00 PDT 1992 Ron Guilmette (rfg at netcom.com)
1449:
1450: * dwarfout.c (hard-reg-set.h): Included to get decl of `reg_names'.
1451: (PRINT_REG): Default definition added.
1452: (dwarf_last_decl): Variable declaration added.
1453: (output_reg_number): New function; handle -fverbose-asm reg printing.
1454: (output_mem_loc_descriptor, output_loc_descriptor): Call it.
1455: (output_decl): Set `dwarf_last_decl' each time this fn is called.
1456: * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Declared.
1457: (PRINT_REG): Definition moved from i386.c.
1458: * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Not static.
1459: (PRINT_REG): Definition moved to i386.h.
1460:
1461: Sun Oct 4 00:53:37 1992 Richard Stallman ([email protected])
1462:
1463: * c-decl.c (shadow_tag_warned): Use pedwarn for useless keyword.
1464:
1465: * c-lex.c (readescape): No warning if digits in \x are all 0's.
1466:
1467: Sat Oct 3 14:37:39 1992 Richard Stallman ([email protected])
1468:
1469: * optabs.c (expand_complex_abs): New function.
1470: * expr.h (expand_complex_abs): Add declaration.
1471:
1472: Sat Oct 3 07:29:09 1992 Michael Meissner ([email protected])
1473:
1474: * configure (mips-dec-osf1): Use x-dec-osf1 instead of x-decstatn.
1475:
1476: * x-dec-osf1 (new file): Like x-decstatn, except that INSTALL is
1477: installbsd -c.
1478:
1479: Sat Oct 3 05:04:43 1992 Tom Wood ([email protected])
1480:
1481: * toplev.c (rest_of_decl_compilation): Don't call
1482: dwarfout_file_scope_decl as this causes duplicates.
1483:
1484: Sat Oct 3 01:35:23 1992 Richard Stallman ([email protected])
1485:
1486: * explow.c (allocate_dynamic_stack_space) [MUST_ALIGN]:
1487: Always add to size, always round up to STACK_BOUNDARY,
1488: always round the address.
1489:
1490: * rtl.h (gen_realpart, gen_imagpart): Declared.
1491:
1492: Fri Oct 2 20:03:53 1992 Richard Stallman ([email protected])
1493:
1494: * emit-rtl.c (gen_realpart, gen_imagpart): New functions.
1495: * optabs.c (expand_unop, expand_binop): Use them.
1496: * expr.c (expand_expr): Use them.
1497:
1498: * cccp.c (main): Handle -U before -D (and -A).
1499:
1500: * assert.h: Add magic comment at beginning.
1501: * Makefile.in (includedir): New variable.
1502: (USER_H): assert.h removed from value.
1503: (install-common-headers): Install assert.h separately, in includedir,
1504: but not if file exists and lacks the magic comment.
1505:
1506: * reload1.c (reload): Move test for failure to find any group
1507: to after the loop over i. Also check that all the regnos fit
1508: below FIRST_PSEUDO_REGISTER.
1509:
1510: * expr.c (expand_expr):
1511: For ABS_EXPR, give expand_unop the operand's mode.
1512:
1513: Fri Oct 2 14:58:06 PDT 1992 Ron Guilmette (rfg at netcom.com)
1514:
1515: * i386v4.h (DBX_REGISTER_NUMBER): Don't abort here on pseudo-regs.
1516: * dwarfout.c (output_mem_loc_descriptor, output_loc_descriptor):
1517: Catch cases of bogus DECL_RTL values involving pseudo-regs (for all
1518: target systems) and print an annoying message if we ever see such a
1519: case.
1520:
1521: Thu Oct 1 17:23:08 1992 Michael Meissner ([email protected])
1522:
1523: * mips-tfile.c (various): Rename some of the index variables and
1524: fields to indx, so that it doesn't conflict with the BSD
1525: index function, which may be #define'd to strchr. However, the
1526: MIPS symbol table has a field called index, so #undef index and
1527: rindex, and write our own functions local_index and local_rindex.
1528:
1529: * mips-bsd.h (CPP_PREDEFINES): Add single underscore in front of
1530: each of the defines, for RISC-OS 5.0 compatibility.
1531:
1532: * mips-sysv.h (CPP_PREDEFINES): Add single underscore in front of
1533: each of the defines, for RISC-OS 5.0 compatibility.
1534:
1535: * mips-svr4.h (CPP_PREDEFINES): Add single underscore in front of
1536: each of the defines, for RISC-OS 5.0 compatibility.
1537:
1538: * mips.h (CPP_PREDEFINES): Add single underscore in front of each
1539: of the defines, for RISC-OS 5.0 compatibility.
1540:
1541: * mips.c (override_options): Only call setvbuf to make stderr line
1542: buffered for -mstats on Ultrix, and OSF/1.
1543:
1544: Thu Oct 1 15:18:55 1992 Jim Wilson ([email protected])
1545:
1546: * reload1.c (emit_reload_insns): Add a case to handle
1547: SECONDARY_MEMORY_NEEDED in the SECONDARY_OUTPUT_RELOAD_CLASS code.
1548: * sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Also need a temp reg
1549: when loading HImode and QImode values from memory to FP_REGS.
1550: (SECONDARY_OUTPUT_RELOAD_CLASS): New macro. Define this to handle
1551: HImode and QImode stores from FP_REGS to memory similar to above.
1552:
1553: Thu Oct 1 13:36:52 1992 Richard Stallman ([email protected])
1554:
1555: * cccp.c (rescan): If traditional, recognize # only at bol.
1556:
1557: * expr.c (expand_expr): Just return the lowpart or highpart.
1558:
1559: * configure (i386-*-linux, i486-*-linux): New alternatives.
1560: * i386linux.h, i486linux.h, xm-linux.h: New files.
1561:
1562: * optabs.c (expand_unop): Handle complex negate and abs val.
1563: (init_optabs): Set up libcalls for complex abs.
1564: (init_complex_libcalls): New function.
1565:
1566: Thu Oct 1 22:58:45 1992 Eric Youngdale ([email protected])
1567:
1568: * make-cc1.com: Extract line containing "#define YYEMPTY" from
1569: cp-parse.c, and append to cp-parse.h (a la Makefile.in).
1570:
1571: * cccp.c (main) [VMS]: Use .obj, not .o, in dependencies output.
1572:
1573: Thu Oct 1 17:15:49 1992 Chip Salzenberg ([email protected])
1574:
1575: * c-common.c (declare_function_name): __FUNC__ variables
1576: are compiler-created, so set DECL_SOURCE_LINE to zero.
1577: * c-decl.c (pushdecl): Internally generated vars can be
1578: detected with DECL_SOURCE_LINE of zero, not DECL_IGNORED_P.
1579:
1580: Thu Oct 1 13:07:21 1992 Jeffrey A. Law ([email protected])
1581:
1582: * pa.c (emit_move_sequence): When making a reference to the data
1583: space before reload, emit an insn sequence which is much more
1584: likely to create "addil" instructions rather than "ldil; add"
1585: sequences. Doing so greatly reduces the chance of running into a
1586: HPUX linker bug when compiling kernels.
1587:
1588: * pa.h (TARGET_KERNEL): New switch "-mkernel" which forces gcc to
1589: avoid "ldil; add" sequences when %r29 and instead generate "addil"
1590: sequences. This avoids a HPUX linker bug when compiling kernels.
1591: * pa.md (add high part and dp register): Split into two patterns,
1592: one for normal code, one for kernels. Kernel version only allows
1593: "r1" as the destination register.
1594:
1595: * pa.h (LEGITIMIZE_ADDRESS, SYMBOL_REF case): Emit a sequence
1596: which will cause "addil" instructions to be emitted instead of
1597: "ldil; add" sequences.
1598:
1599: Thu Oct 1 01:09:05 1992 Richard Stallman ([email protected])
1600:
1601: * c-parse.in, cond.awk: New files.
1602: * Makefile.in (c-parse.y, objc-parse.y): Construct from c-parse.in.
1603: (gcc.xtar): Depend on c-parse.y, objc-parse.y.
1604: (realclean): Delete c-parse.y, objc-parse.y.
1605:
1606: * explow.c (allocate_dynamic_stack_space): If STACK_DYNAMIC_OFFSET
1607: or STACK_POINTER_OFFSET, always round address up to BIGGEST_ALIGNMENT.
1608:
1609: * gstddef.h: If _ANSI_H_, undef _PTRDIFF_T_, _SIZE_T_, _WCHAR_T.
1610:
1611: * gvarargs.h: In the first part (instead of va-*.h), define
1612: __gnuc_va_list, as in gstdarg.h. Always use __gunc_va_list
1613: as basis for defining va_list.
1614: Move interaction with BSD-NET2 down to where va_list itself is defined.
1615:
1616: * cccp.c (do_include): Delete unreachable goto after '"' case.
1617:
1618: Thu Oct 1 16:57:22 1992 Peter Schauer ([email protected])
1619:
1620: * dpx2g.h (NO_DOLLAR_IN_LABEL): Undef because gas understands dollars
1621: in labels and gdb expects them if configured for gas.
1622: (STARTFILE_SPEC): Include huge.o to be compatible with native cc.
1623: (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
1624: (CTOR_LISTS_DEFINED_EXTERNALLY, DO_GLOBAL_DTORS_BODY):
1625: (STARTFILE_SPEC): Conditionally redefine for a collectless version
1626: of gcc if USE_COLLECT2 is not defined.
1627:
1628: * dpx2.ifile: New ld command file to support not using collect2.
1629:
1630: Wed Sep 30 17:08:32 1992 Richard Stallman ([email protected])
1631:
1632: * libgcc2.c (__eprintf): Do nothing if inhibit_eprintf is defined.
1633:
1634: * pbd.h, spc-sol2.h, tower.h (NO_UNDERSCORES): Deleted.
1635:
1636: * Makefile.in (install-fixincludes): rm syslimits.h before installing.
1637: Install it with cp. Add an else-part to the if that installs it.
1638:
1639: * c-decl.c (start_enum): Push obstacks, switch to permanent if global.
1640: (finish_enum): Pop obstacks.
1641: (store_parm_decls): When clearing ->names, clear out the values
1642: from the identifiers, restore shadowed values, and clear ->shadowed.
1643:
1644: * c-decl.c (grokdeclarator): Don't warn of const or volatile function
1645: in a system header file.
1646:
1647: * sdbout.c: Don't use system syms.h on hpux.
1648:
1649: * cccp.c (do_xifdef): Skip all kinds of whitespace, in bof test.
1650:
1651: Wed Sep 30 15:09:10 1992 Jim Wilson ([email protected])
1652:
1653: * sparc.md (orcc peephole): Don't accept FP reg for operand 0.
1654:
1655: Wed Sep 30 00:47:48 1992 Richard Stallman ([email protected])
1656:
1657: * gstdarg.h, gvarargs.h: Use <...> to include va-*.h.
1658:
1659: * c-decl.c (start_struct): Push the obstacks.
1660: Switch to permanent if at top level.
1661: (finish_struct): Pop them.
1662:
1663: * c-decl.c (store_parm_decls): If we have (erroneously) a prototype
1664: and old-style parm decls, throw away the old-style parm decls.
1665:
1666: * configure: Default $build after $host. Canonicalize all three
1667: config names before the main dispatch and save in $canon_host, etc.
1668: Write these into config.status and on terminal at the end.
1669:
1670: Tue Sep 29 18:41:54 1992 Jim Wilson ([email protected])
1671:
1672: * unroll.c (find_splittable_givs): recog_memoized failure return
1673: is -1 not 0.
1674:
1675: Tue Sep 29 22:19:48 1992 Roland McGrath ([email protected])
1676:
1677: * config.sub (os handling): Recognize `linux' as a valid os.
1678:
1679: Tue Sep 29 16:05:47 1992 Richard Stallman ([email protected])
1680:
1681: * limitx.h: Use <...> in #include.
1682:
1683: * Makefile.in (ENQUIRE_CFLAGS): Remove -DNO_SC.
1684:
1685: Tue Sep 29 10:14:27 1992 Richard Kenner ([email protected])
1686:
1687: * optabs.c (expand_binop): Convert X - C to X + (-C).
1688:
1689: Mon Sep 28 22:44:17 1992 Jim Wilson ([email protected])
1690:
1691: * reload.c (find_reloads_address): If tem != ad, then create a new
1692: mem to hold it and store it back into memrefloc.
1693:
1694: Mon Sep 28 10:44:55 1992 Chip Salzenberg ([email protected])
1695:
1696: * regclass.c: Fix comment syntax after #endif.
1697:
1698: Mon Sep 28 17:15:22 1992 Richard Stallman ([email protected])
1699:
1700: * gstdarg.h (va_arg, va_start): Explicitly cast to __gnuc_va_alist.
1701:
1702: Mon Sep 28 17:12:04 1992 Jim Wilson ([email protected])
1703:
1704: * unroll.c (copy_loop_body, JUMP_INSN case): When invert jump
1705: insn, must first construct new insn before trying to invert it,
1706: so that validate_change will work properly.
1707:
1708: * unroll.c (find_splittable_givs): Pass mem_mode not mode to
1709: memory_address_p.
1710:
1711: * unroll.c (copy_loop_body, JUMP_INSN case): When setting
1712: JUMP_LABEL field, verify that what we think is a label actually
1713: is. If it isn't then map the old JUMP_LABEL to find the new one.
1714:
1715: * sparc.md (orcc peephole): Don't allow FP regs to match pattern.
1716:
1717: * i960.md (indirect_jump): Use bx instead of b*, and accept any
1718: address_operand instead of just a register operand.
1719:
1720: * i960.c (i960_round_tree): Correct conversion of bits to bytes to
1721: round up to nearest byte.
1722: (i960_round_align): Likewise.
1723:
1724: Mon Sep 28 15:54:18 1992 Michael Meissner ([email protected])
1725:
1726: * dec-osf1.h (LINK_SPEC): Fix typo.
1727:
1728: Mon Sep 28 08:15:02 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
1729:
1730: * rs6000.md (subsi3): Remove last change.
1731: (allocate_stack): Go back to calling subsi3.
1732:
1733: Mon Sep 28 02:41:32 1992 Richard Stallman ([email protected])
1734:
1735: * optabs.c (expand_binop): Use get_insns, not gen_sequence.
1736:
1737: * c-typeck.c (build_unary_op): Address of nested fcn isn't constant.
1738:
1739: * libgcc2.c (__builtin_new): Avoid passing 0 to malloc.
1740:
1741: * m68k.md (indirect_jump): Use address_operand as predicate.
1742:
1743: * c-decl.c (finish_decl): Do the pop_obstacks sooner, when it's
1744: time to start allocating in the ambient context's obstack.
1745: Don't call permanent_allocation unless got back to permanent obstack.
1746:
1747: Sun Sep 27 13:06:19 1992 Richard Kenner ([email protected])
1748:
1749: * function.c (assign_parms): If PROMOTE_FUNCTION_ARGS is defined,
1750: see if the incoming register should be used in a wider mode.
1751: (expand_function_start): Likewise for return value if
1752: PROMOTE_FUNCTION_RETURN is defined.
1753: * calls.c (struct arg_data): New field unsignedp.
1754: (expand_call): Handle PROMOTE_FUNCTION_ARGS and
1755: PROMOTE_FUNCTION_RETURN.
1756:
1757: * alpha.h (FUNCTION_VALUE): Promote mode for return value.
1758:
1759: * alpha.h (BYTE_LOADS_SIGN_EXTEND): Define.
1760:
1761: * rs6000.md (subsi3): Don't bother calling negate_rtx for constant;
1762: we shouldn't be called with a constant.
1763: (maskir patterns): Don't mention an operand before it is used;
1764: use operand number 1 for operand with '0' constraint.
1765: (allocate_stack): Use reg_or_short_operand for predicate of
1766: allocation amount; use negate_rtx and always make a PLUS.
1767:
1768: * romp.h (EXTRA_CONSTRAINT, case 'Q'): Check for MEM instead of
1769: calling memory_operand.
1770: (SHIFT_COUNT_TRUNCATED): No longer define this.
1771:
1772: Sat Sep 26 18:14:15 1992 Michael Meissner ([email protected])
1773:
1774: * config.sub (os handling): Recognize riscos as an operating
1775: system.
1776:
1777: * configure (dec-osf1): Use x-decstatn for xmake_file.
1778: (mips computers): Handle RISC-OS 5 vs. RISC-OS 4 configuration
1779: changes -- RISC-OS 5. passes -non_shared by default.
1780:
1781: * mips-5.h (new file): RISC-OS rev 5 config file.
1782: * mips-5bsd.h (new file): RISC-OS rev 5, bsd 4.3 config file.
1783: * mips-5g4.h (new file): RISC-OS rev 5, svr4 + stabs config file.
1784: * mips-5gbsd.h (new file): RISC-OS rev 5, bsd 4.3 + stabs config file.
1785: * mips-5gdb.h (new file): RISC-OS rev 5 + stabs config file.
1786: * mips-5gsysv.h (new file): RISC-OS rev 5 svr3 + stabs config file.
1787: * mips-5svr4.h (new file): RISC-OS rev 5 svr4 + stabs config file.
1788: * mips-5sysv.h (new file): RISC-OS rev 5 svr3 config file.
1789:
1790: * dec-osf1.h (LINK_SPEC): Pass -non_shared to linker unless
1791: -shared was passed.
1792: (SIZE_TYPE): Define as long unsigned int.
1793: (PTRDIFF_TYPE): Define as int.
1794: (WCHAR_TYPE_SIZE): Define as SHORT_TYPE_SIZE.
1795:
1796: * decrose.h (MACHINE_TYPE): Shorten verbage.
1797:
1798: * i386rose.h (TARGET_VERSION): Print appropriate information.
1799:
1800: * xm-mips.h (HAVE_VFPRINTF, HAVE_PUTENV): Define on DEC OSF/1.
1801:
1802: * mips.c (siginfo): Print just current filename, and function
1803: being compiled.
1804:
1805: * mips-tfile.c (Size_t): Use long unsigned on OSF/1.
1806: (toplevel): Don't define rindex and index on OSF/1.
1807:
1808: Sat Sep 26 17:46:57 1992 Torbjorn Granlund ([email protected])
1809:
1810: * arm.md (comment before extendhisi2): Remove the lie.
1811: (zero_extendhisi2): Rewrite to work if op0 == op1. Use
1812: gen_lowpart in preparation code.
1813: (extendqisi2, extendhisi2): Likewise.
1814: (extendqihi2): Expand.
1815:
1816: * arm.md (restorehi): Rewrite for correctness, efficiency, and
1817: clarity. Avoid generating insns involving truncate. Generate
1818: needed pseudos in preparation statements.
1819: (storehi): Likewise.
1820: (storeinthi): Likewise.
1821: (movhi): Call gen_storehi, gen_restorehi, gen_storeinthi according
1822: their new definitions. Use force_reg to put address in register.
1823:
1824: * m68k.md (indirect_jump): Use %a0 for output, and p for constraint.
1825:
1826: Sat Sep 26 02:42:42 1992 Richard Stallman ([email protected])
1827:
1828: * reload1.c (eliminate_regs_in_insn): Rerecognize if move insn
1829: becomes a non-move.
1830:
1831: * Makefile.in (install-fixincludes):
1832: Use - when making syslimits.h; fix if-statement syntax.
1833:
1834: * jump.c (jump_optimize): When handling dispatch table that always
1835: goes to the same place, verify previous insn exists.
1836:
1837: * c-typeck.c (common_type): Renable code to merge qualifiers
1838: given two pointers to compatible types.
1839:
1840: Sat Sep 26 12:02:38 PDT 1992 Ron Guilmette (rfg at netocm.com)
1841:
1842: * dwarfout.c (location_attribute): If DECL_RTL looks like (MEM pseudo),
1843: treat that variable as optimized away.
1844:
1845: Fri Sep 25 19:48:46 1992 Richard Stallman ([email protected])
1846:
1847: * c-decl.c (explicit_flag_signed_bitfields): New variable.
1848: (c_decode_option): Set that for -f[un]signed-bitfields.
1849: (grokdeclarator): If that's set, and -fsigned-bitfields,
1850: disregard -traditional when handling bitfield signedness.
1851:
1852: * configure: Handle --build option. Make link hconfig.h.
1853: * Makefile.in: In the targets such as $(HOST_PREFIX_1)rtl.o,
1854: use sed to make them include hconfig.h instead of config.h.
1855: (distclean): Add command to delete hconfig.h.
1856:
1857: Fri Sep 25 19:56:35 1992 Brendan Kehoe ([email protected])
1858:
1859: * cp-search.c (compute_visibility): Don't mess with the context.
1860:
1861: * cp-decl.c (grokdeclarator): Return value from do_friend
1862: properly; this shouldn't have gone in yet.
1863:
1864: Fri Sep 25 02:23:51 1992 Richard Stallman ([email protected])
1865:
1866: * c-typeck.c (initializer_constant_valid_p): Really use endtype.
1867:
1868: * cccp.c (do_include): "Concatenate" multiple "strings" in #include.
1869:
1870: * vmsconfig.com: Renamed from configure.com.
1871:
1872: * next.h (CPP_PREDEFINES): Define __ARCHITECTURE__.
1873:
1874: * dbxout.c (dbxout_symbol): For anonymous enum, output type anyway.
1875:
1876: Fri Sep 25 01:33:36 1992 Jim Wilson ([email protected])
1877:
1878: * function.h (struct function): Add epilogue_delay_list field.
1879: * function.c (push_function_context): Save epilogue_delay_list.
1880: (pop_function_context): Restore epilogue_delay_list.
1881:
1882: * sparc.md (nonlocal_goto): Force operands[0] to be a register.
1883:
1884: * va-sparc.h (va_arg): Add 3 more (void *) casts to avoid warnings
1885: with -Wcast-align.
1886:
1887: * sparc.c (SF_MODES): Accept all single word or smaller integer
1888: modes not just SImode. These are needed for fix/float conversions.
1889:
1890: * sched.c (sched_analyze_2, PRE_DEC case): Call sched_analyze_2 in
1891: addition to sched_analyze_1.
1892:
1893: * va-i960.h (va_start): Must access anonymous arg as offset from
1894: start of argument block.
1895:
1896: * i960.md (movdi, movti, movdf, movtf): Make store zero to memory
1897: a separate case, only accept offsettable memory addresses, and call
1898: adj_offsettable_operand to calculate subword addresses.
1899:
1900: * i960.c (i960_output_ldconst): Pass missing xoperands argument to
1901: output_asm_insn call.
1902:
1903: * a29k.md (movti): Split CONST_INTs into 4 moves, and force all
1904: other constants to memory.
1905:
1906: Thu Sep 24 21:51:46 1992 Brendan Kehoe ([email protected])
1907:
1908: Complete Cygnus<-->FSF merge.
1909:
1910: Thu Sep 24 17:05:27 1992 Brendan Kehoe ([email protected])
1911:
1912: * cp-decl.c (pushdecl): Use a friendly abort rather than an assert.
1913: (grokparms): Pass whether init is set or not for the initialized
1914: parameter to grokdeclarator.
1915:
1916: Wed Sep 23 22:09:44 1992 Mike Stump ([email protected])
1917:
1918: * cp-class.c (finish_struct), cp-decl2.c (warn_nonvdtor),
1919: cp-tree.c (layout_basetypes), cp-tree.h (warn_nonvdtor): Re-enable
1920: warnings for non-virtual destructors in some situations.
1921:
1922: Wed Sep 23 15:42:33 1992 Mike Stump ([email protected])
1923:
1924: Wed Sep 23 16:31:27 1992 Michael Meissner ([email protected])
1925:
1926: * cp-decl.c (duplicate_decls): Cast bcopy arguments to char * to
1927: avoid warning on OSF/1.
1928:
1929: Wed Sep 23 11:36:44 1992 Brendan Kehoe ([email protected])
1930:
1931: * cp-decl.c (start_method): Give the name of the class if a method's
1932: being defined again, rather than say "aggregate scope".
1933: * cp-decl2.c (grokfield, grokbitfield, groktypefield): Ditto.
1934:
1935: Tue Sep 1 22:55:59 1992 Paul Eggert ([email protected])
1936:
1937: * cp-cvt.c (convert_to_integer): Prefer unsigned
1938: arithmetic if the output type is unsigned and is no more precise than
1939: the computation type. This avoids unnecessary sign extension.
1940:
1941: Tue Sep 15 20:26:18 1992 John F Carr (jfc at Athena.MIT.EDU)
1942:
1943: * cp-pt.c (tsubst): Don't call layout_type near start of function
1944: with T. const and volatile attributes don't affect the memory
1945: structure of the type, and T may not yet be a valid argument for
1946: layout_type (for example, if it is an uninstantiated template).
1947: Individual switch cases will call layout_type if necessary.
1948:
1949: Mon Sep 21 15:59:22 1992 Brendan Kehoe ([email protected])
1950:
1951: * cp-decl.c (pushdecl): Check if DECL_SOURCE_LINE is non-zero, not
1952: if DECL_IGNORED_P is set, when checking for shadowing. We no longer
1953: need DECL_IGNORED_P on builtin types.
1954: (record_builtin_type): Don't set DECL_IGNORED_P for a builtin type.
1955:
1956: * cp-decl.c (start_decl): When working with virtual functions,
1957: always use the node's DECL_CLASS_CONTEXT.
1958: * cp-method.c (hack_identifier): Ditto.
1959: * cp-search.c (compute_visibility): Ditto.
1960:
1961: * cp-decl.c (grokdeclarator): Don't allow a member to be declared
1962: extern.
1963:
1964: * cp-decl.c (grokdeclarator): Return a void_type_node if we're
1965: looking at a friend (even after calling do_friend).
1966: (pushdecl): Disable some code that's untested and
1967: doesn't necessarily help DWARF right now.
1968: (finish_function): Always emit debugging info for the
1969: return type of a function.
1970: (pushdecl): Don't change the DECL_CONTEXT of virtual
1971: methods.
1972: (finish_enum): Always output debugging info for enums.
1973: (grokdeclarator): It's an error if we're doing an init of an extern
1974: at the top level. If we are at the top level, just warn.
1975:
1976: * cp-typeck.c (comp_target_parms): Check if strict is non-zero, not
1977: just > 0.
1978: (build_function_call_real): Don't return an error-mark node when
1979: they call "main" from within the fn, it's only a pedantic warning.
1980: (pointer_int_sum): Reword warning when using a ptr-to-mem in arith.
1981:
1982: * cp-tree.c (layout_basetypes): Make record_align and const_size
1983: unsigned.
1984:
1985: Mon Sep 21 14:53:43 1992 Brendan Kehoe ([email protected])
1986:
1987: * cp-tree.h (flag_no_ident): Add extern decl for cp-lex.c.
1988:
1989: * cp-decl.c (duplicate_decls): Save the DECL_UID and DECL_FRIEND_P
1990: info from olddecl. Otherwise, they'd get clobbered when newdecl's
1991: contents get copied into olddecl.
1992:
1993: * cp-lex.c (check_newline): Delete pedantic error about using #ident,
1994: since cccp.c already gives a warning. In the case that
1995: ASM_OUTPUT_IDENT is defined, only actually spit it out if flag_no_ident
1996: is not set.
1997:
1998: Sat Sep 19 14:53:31 1992 Brendan Kehoe ([email protected])
1999:
2000: Sat Sep 19 11:37:11 1992 John F Carr (jfc at Athena.MIT.EDU)
2001:
2002: * cp-decl.c (finish_decl): Don't call
2003: CLASSTYPE_DECLARED_EXCEPTION if TYPE is error_mark_node, to avoid
2004: referencing a nonexistent field.
2005:
2006: Fri Sep 18 14:06:06 1992 Brendan Kehoe ([email protected])
2007:
2008: * cp-parse.y (component_decl): Remove sorry about not implementing
2009: methods in anonymous unions---they're illegal, and we generate an
2010: error elsewhere to that effect.
2011:
2012: * cp-decl.c (start_method): Make the error message about a
2013: duplicated member a little more informative.
2014:
2015: Fri Sep 18 12:28:13 1992 Brendan Kehoe (brendan at rtl.cygnus.com)
2016:
2017: * cp-parse.y: Define YYDEBUG if SPEW_DEBUG is defined.
2018: (debug_yytranslate): YYDEBUG will always be defined, no need to test.
2019:
2020: Fri Sep 18 10:46:19 1992 Brendan Kehoe ([email protected])
2021:
2022: * cp-parse.y (unary_expr): When parsing delete, first complain if
2023: it's a non-pointer, then check if it's a pointer with the value zero.
2024: Also be sure not to call build_delete if that's the case.
2025:
2026: Thu Sep 24 18:03:07 1992 Michael Meissner ([email protected])
2027:
2028: * mips.h (MIPS_VERSION): Set Meissner version # to 27.
2029: (STRUCT_VALUE_REGNUM): Delete macro.
2030: (STRUCT_VALUE): Define as 0, so that structure return addresses
2031: are passed as the first argument. This fixes various codegen
2032: problems with functions returning structures.
2033:
2034: * mips.c (init_cumulative_args): Don't advance arg pointer if
2035: function returns a structure.
2036:
2037: Thu Sep 24 12:38:31 1992 Torbjorn Granlund ([email protected])
2038:
2039: * pa.h (REGISTER_MOVE_COST): Fix typo. Use `||' instead of `|'.
2040: (REG_CLASS_FROM_LETTER): Don't handle 'r' constraints here.
2041: * pa.c (clobbered_register): Delete.
2042: (srcsi_operand): Return 1 also for things matching
2043: depi_cint_operand.
2044: (secondary_reload_class): Replace.
2045: * pa.md (ldo/ldil SImode and HImode recognizers): Use
2046: "const_int_operand" for operand 1 and simplify final condition.
2047: Remove `n' constraint.
2048: (depi SImode and HImode recognizers): Remove `n' constraint.
2049: (plus:SI ... high ... splitter): Don't overwrite input, go via
2050: clobber operand instead.
2051: (many patterns): Replace `in' constraint with just `i'.
2052: (movstrsi): Don't do (clobber (match_scratch)), use explicit
2053: pseudos instead, generated in preparation C code. Don't call
2054: force_not_mem for operand 2.
2055: (movstrsi recognizer): Add `&' to operand 3.
2056: (andsi3): Fix typo.
2057: (iorsi3): Fix typo.
2058: (load-shift-16): New optimizer.
2059: (load-shift optimizers): Set "type" attr.
2060:
2061: Thu Sep 24 15:17:38 1992 Richard Stallman ([email protected])
2062:
2063: * toplev.c (lang_options): Add Objc options.
2064:
2065: * configure.bat: Use xgcc, not gcc.
2066:
2067: Thu Sep 24 06:30:47 1992 Richard Kenner ([email protected])
2068:
2069: * c-lex.c (yylex, case '"'): Initialize arg pased to readescape.
2070:
2071: * genattrtab.c (length_used): New variable.
2072: (walk_attr_value): Set it when we have (eq_attr "length" ...).
2073: (write_const_num_delay_slots): Value is 1 unless LENGTH_USED is set.
2074:
2075: * reorg.c (mark_set_resources, case CC0): Set RES->CC if IN_SEST.
2076:
2077: * regclass.c (forbidden_inc_dec_class, in_inc_dec): New variables.
2078: (regclass): Don't alloca the costs twice.
2079: Initialize forbidden_inc_dec_class.
2080: For regs that have inc-dec, ignore forbidden classes.
2081: (record_address_regs): Update in_inc_dec.
2082:
2083: Thu Sep 24 02:36:00 1992 Richard Stallman ([email protected])
2084:
2085: * syslimits.h: New file, includes system's limits.h.
2086: * limitx.h: Include syslimits.h instead of system's limits.h.
2087: * Makefile.in (USER_H): Add syslimits.h.
2088: (install-fixincludes): If we fix system's limits.h, install that
2089: as syslimits.h
2090:
2091: * c-lex.c (readescape): New arg ignore_ptr.
2092: (yylex): Pass new arg, handle result that comes back.
2093:
2094: Wed Sep 23 19:26:42 1992 Richard Kenner ([email protected])
2095:
2096: * reload.c (find_reloads_address): Properly check for constant address.
2097:
2098: * cse.c (simplify_unary_operation, case SIGN_EXTEND): Use
2099: HOST_BITS_PER_WIDE_INT, not HOST_BITS_PER_INT.
2100:
2101: * fold-const.c (fold_convert): Add missing cast to HOST_WIDE_INT.
2102:
2103: * jump.c (jump_optimize): Tighten up test for when we can't
2104: delete a set of CC0.
2105: Don't insert insns between set and use of CC0.
2106:
2107: * final.c (shorten_branches): Correctly access insn needing delay slot.
2108:
2109: * combine.c (significant_bits, num_sign_bit_copies): Handle SUBREGs
2110: made for promoted variables.
2111:
2112: * reorg.c (fill_simple_delay_slots): Don't make copy of insn that
2113: references CC0.
2114:
2115: * romp.md (define_attr "type"): New type "ibranch".
2116: (define_attr "length"): Set length for "ibranch" type.
2117: (define_attr "in_delay_slot"): Add new type "ibranch";
2118: for "branch", only has delay slot if length is 4.
2119: (define_attr "cc_type"): Add new type "ibranch".
2120: (indirect branches): Now type "ibranch".
2121:
2122: * alpha.c (alpha_gp_dead_after): Return 0 if not optimizing.
2123:
2124: Wed Sep 23 00:11:35 1992 Richard Stallman ([email protected])
2125:
2126: * gvarargs.h: Finish changing _ANSI_H to _ANSI_H_.
2127:
2128: Tue Sep 22 23:39:06 1992 Richard Stallman ([email protected])
2129:
2130: * i386mach.h (perform_fixdfsi): Copy arg to memory variable.
2131:
2132: Tue Sep 22 14:54:38 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
2133:
2134: * loop.c (basic_induction_var): Inside PLUS, when looking for promoted
2135: var, make sure it's a REG.
2136:
2137: Tue Sep 22 12:21:11 1992 Michael Meissner ([email protected])
2138:
2139: * mips.h (MIPS_VERSION): Bump Meissner version # to 26.
2140: (REG_PARM_STACK_SPACE): Use UNITS_PER_WORD instead of 4, and
2141: substract FIRST_PARM_OFFSET.
2142: (FIRST_PARM_CALLER_OFFSET): Delete unused macro.
2143:
2144: * mips.c (init_cumulative_args): Print types of fntype and the
2145: return type if -mdebuge.
2146:
2147: * decrose.h (CPP_SPEC): Eliminate defining various builtin
2148: functions with -D<name>=__builtin_<name>, if neither -fbuiltin nor
2149: -fno-builtin were passed.
2150: (CC1_SPEC): Eliminate passing -fno-builtin to the compiler if
2151: neither -fbuiltin nor -fno-builtin were passed. Eliminate
2152: %{save-temps: } since gcc no longer gives an unknown switch
2153: message if it is used.
2154:
2155: * i386rose.h (CPP_SPEC): Eliminate defining various builtin
2156: functions with -D<name>=__builtin_<name>, if neither -fbuiltin nor
2157: -fno-builtin were passed.
2158: (CC1_SPEC): Eliminate passing -fno-builtin to the compiler if
2159: neither -fbuiltin nor -fno-builtin were passed. Eliminate
2160: %{save-temps: } since gcc no longer gives an unknown switch
2161: message if it is used.
2162: (MASK_HALF_PIC): Move bit mask to 0x40000000, to allow for i386.h
2163: to define more switches without overlapping our private switch.
2164: (TARGET switches): Add -mdebugb to debug half-pic code.
2165: (OPTIMIZATION_OPTIONS): Only set flag_gnu_linker FALSE always, and
2166: flag_inline_functions if -O3. In particular never set
2167: -fomit-frame-pointer which currently messes up debugging.
2168: (GO_IF_LEGITIMATE_ADDRESS): Define i386-osfrose version that deals
2169: with half-pic.
2170: (OVERRIDE_OPTIONS): Define to initialize half-pic.
2171: (ASM_FILE_END): Define to dump out half-pic variables if needed.
2172:
2173: * t-i386rose (EXTRA_OBJS): Define as halfpic.o.
2174: (CONFIG2_H): Add $(srcdir)/halfpic.h.
2175: (halfpic.o): Add dependencies.
2176:
2177: Tue Sep 22 03:12:01 1992 Richard Stallman ([email protected])
2178:
2179: * reload1.c (choose_reload_regs): When setting reg_has_output_reload,
2180: loop over multiple regs only for hard reg. Set reg_is_output_reload
2181: in separate loop.
2182:
2183: Mon Sep 21 12:22:24 1992 Jeffrey A. Law ([email protected])
2184:
2185: * reorg.c (mark_set_resources, case REG): A register is set iff
2186: "in_dest" is nonzero.
2187:
2188: Mon Sep 21 14:16:10 1992 Torbjorn Granlund ([email protected])
2189:
2190: * combine.c (make_extraction): Make test whether to use AND or
2191: {SIGN,ZERO}_EXTRACT depend on UNSIGNEDP.
2192:
2193: Mon Sep 21 08:26:55 1992 Richard Kenner ([email protected])
2194:
2195: * reload1.c (reload): If we can't get a register that we know won't
2196: interfere with groups, get one that might instead of giving up.
2197:
2198: * reload1.c (reload): Print the needs to the dump file.
2199:
2200: Mon Sep 21 02:45:19 1992 Richard Stallman ([email protected])
2201:
2202: * function.c (put_var_into_stack): Check REG != 0 before dereference.
2203:
2204: Sun Sep 20 16:58:05 1992 Fred Fish (fnf at fishpond.cygnus.com)
2205:
2206: * x-svr4: New generic SVR4 host makefile fragment.
2207: * x-i386v4: File deleted.
2208: * x-ncr3000: Get alloca using ALLOCA, not libucb.a.
2209: * configure (i386-*-sysv4*): Use x-svr4, not x-i386v4.
2210: * configure (i486-*-sysv4*): Use x-svr4.
2211:
2212: Sun Sep 20 21:18:15 1992 Richard Stallman ([email protected])
2213:
2214: * combine.c (subst): Set and compare extend_op with 0, not NULL.
2215:
2216: * cse.c (find_comparison_args): New args PMODE1, PMODE2.
2217: (fold_rtx, record_jump_equiv): Use them to get modes of comparison.
2218: (fold_rtx): Associate MINUS with nested PLUS.
2219:
2220: * seq386.h (LPREFIX): Overridden as `.L'.
2221: (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
2222:
2223: Sun Sep 20 05:53:20 1992 Richard Kenner ([email protected])
2224:
2225: * combine.c (try_combine): Always call set_significant on new
2226: patterns, so don't call just in split case.
2227:
2228: * combine.c (subst): Move sign extension inside arithmetic
2229: when we have a constant computation inside another computation.
2230:
2231: * emit-rtl.c (emit_insn_after_with_line_notes): New function.
2232: * jump.c (jump_optimize): Delete insns that set registers that
2233: are not used elsewhere.
2234: Fix some bugs in "if (...) x = a; else x = b;" code.
2235: Remove uses of reorder_insns.
2236: Add code to make scc insns for "if (...) x = exp;" if EXP is simple
2237: enough.
2238: Optimize "if (...) x = b;" if jumps very expensive; don't use a REG
2239: as the older value of X since it doesn't help and can hurt.
2240: Correctly place generated insns in above case.
2241:
2242: * reload.c (find_reloads, find_reloads_toplev): Treat
2243: BYTE_LOADS_SIGN_EXTEND just like BYTE_LOADS_ZERO_EXTEND.
2244: * combine.c (subst, simplify_and_const_int, significant_bits):
2245: Likewise.
2246: (num_sign_bit_copies, case MEM): New case for BYTE_LOADS_SIGN_EXTEND.
2247: (num_sign_bit_copies, case SUBREG): Handle just like significant_bits.
2248:
2249: Sat Sep 19 15:55:31 1992 Richard Kenner ([email protected])
2250:
2251: * combine.c (combine_instructions): Clear significant_valid
2252: at end of combine pass for a function.
2253: (find_split_point, case MEM): See if first operand of the PLUS
2254: that makes up an address is complex.
2255: (subst): Add missing arg to recursive calls when IF_THEN_ELSE
2256: is an arg of an operator.
2257: (subst, case IF_THEN_ELSE): Generalize code to propagate comparison
2258: result into arms by using known_cond.
2259: If an arm is the first operand of the comparison, make it the
2260: true arm.
2261: Remove unneeded comparison when arms are identical.
2262: Try to convert IF_THEN_ELSE to ABS, (neg (abs X)), [US]MIN, [US]MAX.
2263: Convert (if_then_else (ne A 0) (OP X C) X) to (OP X (mult A C)).
2264: (subst, case SET): If we don't have conditional moves,
2265: convert IF_THEN_ELSE into logical operations.
2266: (subst, case AND): Always make conditional moves, even if we
2267: don't support them on the machine.
2268: (known_cond, extended_count): New functions.
2269: (gen_binary): For commutative operations, put constant last.
2270:
2271: * combine.c (try_combine): The insns made by a DEFINE_SPLIT might
2272: contain a PARALLEL and the call to recog_for_combine might add it.
2273:
2274: * combine.c (simplify_comparison, case ASHIFT): Fix typo.
2275:
2276: * combine.c (try_combine): When removing REG_UNUSED note,
2277: update reg_n_deaths.
2278: Likewise, when making new REG_DEAD notes for distribute_notes.
2279: (remove_death, move_deaths): Update reg_n_deaths.
2280: (distribute_notes): When placing second REG_DEAD or REG_UNUSED note or
2281: ignoring such a note, update reg_n_deaths.
2282:
2283: * rtl.h (SUBREG_PROMOTED_{VAR,UNSIGNED}_P): New macros.
2284: * tree.h (DECL_MODE, DECL_RTL): Update comments.
2285: * expr.h (PROMOTE_MODE): Provide default definition.
2286: * expr.c (convert_move, convert_to_mode): Strip off a SUBREG made
2287: for variables with promoted modes.
2288: (store_expr): Store into variables with promoted modes by
2289: doing the appropriate extension operation.
2290: (expand_expr, case VAR_DECL): Generate SUBREGs for promoted objects.
2291: (expand_expr, case SAVE_EXPR): Likewise for SAVE_EXPRs.
2292: (expand_increment): Handle increment of promoted objects.
2293: * function.c (fixup_var_refs{,_insns}): Add new parms for promoted
2294: mode and signedness; all callers changed.
2295: Insert mode conversions when required.
2296: (fixup_var_refs_1): Add new parms for mode and signedness;
2297: handle SUBREGs for promoted values.
2298: (assign_parms): Promote the mode of parameters when useful for
2299: the target machine.
2300: * function.h (struct var_refs_queue): Remove unused field ORIGINAL.
2301: Add new fields PROMOTED_MODE and UNSIGNEDP.
2302: * integrate.c (expand_inline_function): Convert actual to formal's
2303: mode (in case formal was promoted).
2304: * loop.c (basic_induction_var): Add new parameter P.
2305: Check for bivs that are set over multiple insns and also
2306: allow a SIGN_EXTEND to be used; remove check for MINUS since
2307: we don't make MINUS with a constant 2nd operand any more.
2308: * optabs.c (expand_binop, expand_unop): Don't make SUBREG for promoted
2309: variables as operands.
2310: * stmt.c (tail_recursion_args): Use mode of DECL_RTL, not
2311: DECL_MODE.
2312: (expand_decl): Promote modes of scalar variables when useful on
2313: target.
2314: * unroll.c (find_splittable_regs): If any BIV update isn't
2315: simple, don't split it.
2316: (final_giv_value): Look for biv updates by matching insns; don't
2317: try to reparse the insn.
2318: * rs6000.h (PROMOTE_MODE): New macro.
2319:
2320: * rtlanal.c (reg_set_last): Allow old value to be a SUBREG.
2321:
2322: * rs6000.c (print_operand, case 'h', 'H', 'w'): Minor cleanups.
2323: * rs6000.h (BRANCH_COST): Increase from 2 to 3.
2324: * rs6000.md (smax, smin, umax, umin): Add define_splits.
2325:
2326: * alpha.h (PROMOTE_MODE): New macro.
2327: (REG_ALLOC_ORDER): Put $0 in front of $21-$16.
2328: (CONST_OK_FOR_LETTER): Change meanings of N, O, and P.
2329: (BRANCH_COST): Increase from 3 to 4.
2330: (PREDICATE_CODES): Add new predicates reg_or_cint_operand and
2331: sext_add_operand.
2332: * alpha.md (addsi3): subl can be used to sign-extend addition of
2333: small negative constants.
2334: (negsi2): Add pattern for (sign_extend (neg ..)).
2335: (and pattern): Fix typo in constraint.
2336: (ashldi3): Use new definition of constant letters.
2337: (smax, smin, umax, umin): Add define_splits.
2338: (compares): Can compare constant with zero by adding negative of
2339: constant.
2340: (store insns): Can store 0 into memory in both integer and FP.
2341: * alpha.c (sext_add_operand, reg_or_cint_operand): New function.s
2342: (print_operand, case 'r', case 'R'): Clean up code; use CONST0_RTX.
2343:
2344: * rtl.c (note_insn_name): Fix typo: had NOT_INSN_DELETED_LABEL.
2345:
2346: * jump.c (delete_insn): Don't change labels to NOTEs if we would
2347: not really have deleted them.
2348:
2349: * genconfig.c (walk_insn_part, case IF_THEN_ELSE): Refine when
2350: HAVE_CMOVE_FLAG gets set.
2351:
2352: Sat Sep 19 14:52:05 1992 Richard Stallman ([email protected])
2353:
2354: * reload.c (find_reloads): Always use >= with FIRST_PSEUDO_REGISTER.
2355:
2356: * i386mach.h (SIZE_TYPE): Defined.
2357:
2358: Sat Sep 19 04:57:06 1992 James Van Artsdalen (james at bigtex.cactus.org)
2359:
2360: * i386.md (sCOND patterns): Don't allow a MEM in the SET_DEST,
2361: because these insns can't have input reloads, and a MEM might need
2362: an input address reload.
2363:
2364: * fold-const.c (fold_convert): Avoid using conversion of unsigned
2365: to floating; offset value by hand to fit in signed type.
2366:
2367: Sat Sep 19 00:50:32 1992 Richard Stallman ([email protected])
2368:
2369: * integrate.c (subst_constants): Do substitute in address of MEM dest.
2370:
2371: * reload1.c (init_reload): Fix typo.
2372:
2373: Fri Sep 18 21:09:15 1992 Richard Stallman ([email protected])
2374:
2375: * libgcc2.c: Declare _exit as volatile.
2376:
2377: * function.c (assign_parms): Set MEM_IN_STRUCT_P right in stack slots.
2378:
2379: Fri Sep 18 15:58:15 1992 James Van Artsdalen (james at bigtex.cactus.org)
2380:
2381: * fixincludes: Don't look for *.h symlinks if the host doesn't
2382: have symlinks.
2383:
2384: Fri Sep 18 17:34:27 1992 Michael Meissner ([email protected])
2385:
2386: * mips.md (call_internal): If the memory address to call is really
2387: a constant integer, load it up into $at and do the call from
2388: there.
2389: (call_value_internal): Ditto.
2390:
2391: Fri Sep 18 03:48:17 1992 Tom Wood ([email protected])
2392:
2393: * m88k.c (m88k_volatile_code): New variable.
2394: (print_operand): Track volatile memory references and output a
2395: serializing instruction before a load when necessary.
2396: * m88k.h (TARGET_SWITCHES): Add -m{no,}serialize-volatile.
2397: (OVERRIDE_OPTIONS): -m88110 and -m88000 imply -mserilize-volatile.
2398: (ADJUST_INSN_LENGTH): Volatile memory operantions may be longer.
2399: (CC_STATUS_INIT): Reset m88k_volatile_code to the unknown state.
2400: * m88k.md (load store patterns): Prepend loads and stores with %V
2401: and %v to track the type and address of the access.
2402:
2403: * m88k.c (m88k_version, m88k_version_0300): New variables.
2404: * m88k.h (TARGET_OPTIONS): Generalize to -mversion-STRING.
2405: (OVERRIDE_OPTIONS): Compute m88k_version_0300.
2406: * m88k.md (call_movstrsi_loop): Renamed from call_block_move_loop.
2407: Use call-value for the block move patterns.
2408:
2409: * m88kdgux.h (PERFERRED_DEBUGGING_TYPE): Compute based on
2410: m88k_version.
2411: (CPU_DEFAULT): Make it -m88000.
2412:
2413: * m88k.h: Don't use #elif
2414:
2415: Fri Sep 18 01:08:55 1992 Richard Stallman ([email protected])
2416:
2417: * Makefile.in (install-common-headers): Don't copy byteorder.h.
2418:
2419: Thu Sep 17 20:06:22 1992 Brendan Kehoe ([email protected])
2420:
2421: Complete 13th Cygnus<-->FSF merge.
2422:
2423: Thu Sep 17 13:15:15 1992 Brendan Kehoe ([email protected])
2424:
2425: Do some much-needed housecleaning of the C++ front-end.
2426: * cp-call.c (ideal_candidate): Move `p2' down inside #if 0'd (only)
2427: section that actually uses it. Delete unused variable `buf'.
2428: (build_method_call): Delete unused variable `dtor_specd'.
2429: * cp-class.c (finish_struct): Delete unused variable `basetype'.
2430: * cp-cvt.c (convert_to_aggr): Add missing argument decl for `protect'.
2431: (convert_pointer_to): Delete unused variable `form'.
2432: * cp-decl.c: Include string.h/strings.h for strncpy() decl.
2433: Add decls for init_* fns. Delete unused decl `push_overload_decl_1'.
2434: Don't use `c_function_varargs', C++ doesn't need it.
2435: (push_binding_level): Add missing argument decls for
2436: `tag_transparent' and `keep'.
2437: (lookup_tag): Add missing argument decl for `tags_transparent'.
2438: (lookup_name): Add missing argument decl for `prefer_type'.
2439: (start_decl): Delete unused variables `classname' and `tmpl'.
2440: (grokvardecl): Add missing argument decl for `initialized'.
2441: (grokdeclarator): Delete unused variable `t'.
2442: * cp-decl2.c (get_temp_name): Delete unused variable `temp'.
2443: (finish_table): Delete unused variable `publicp'.
2444: (finish_builtin_type): Add missing argument decl for `len'.
2445: (finish_file): Delete unused variables `asm_out_file' and
2446: `init_function_name'.
2447: * cp-except.c (ansi_exception_object_lookup): Add missing
2448: argument decl for `type'.
2449: (cplus_expand_throw): Delete unused variables `cname', `name',
2450: and `raise_id'.
2451: * cp-init.c: Delete unneeded forward decl of `init_init_processing'.
2452: (build_new): Delete unused variable `alignment'.
2453: (expand_vec_init): Add missing argument decl for `from_array'.
2454: (build_vec_delete): Delete unused variable `rval'.
2455: * cp-input.c (feed_input): Add missing argument decl for `len'.
2456: * cp-lex.c: Delete unused variable `nextlastiddecl'.
2457: (check_newline): Delete unused variable `tmp'. Place `asm_out_file'
2458: inside a conditional for ASM_OUTPUT_IDENT.
2459: (real_yylex): Delete unused variable `typename_scope_in_progress'
2460: and unused labels `relex' and `reswitch'.
2461: * cp-method.c: Include string.h/strings.h for strncpy() decl.
2462: (new_text_len): Deleted.
2463: (dump_type_prefix): Delete unused variables `print_struct' and `name'.
2464: (dump_tyupe): Delete unused variable `print_struct'.
2465: (type_as_string): Delete unused variable `spaces'.
2466: (do_inline_function_hair): Delete unused variable `cname'.
2467: (flush_repeats): Delete unused variable `rval'.
2468: (build_t_desc_overload): Delete unused variable `i'.
2469: (build_opfncall): Add missing argument decl for `flags'.
2470: (hack_identifier): Add missing argument decl for `yychar'.
2471: * cp-parse.y (template_instantiate_once): Delete unused
2472: variables `id' and `members'.
2473: * cp-search.c (lookup_field): Add missing argument decl for `want_type'.
2474: (tree_needs_constructor_p): Add missing argument decl for `i'.
2475: (dfs_debug_mark): Delete unused variable `pending_vtables'.
2476: (dfs_get_vbase_types): Delete unused variable `basetype'.
2477: * cp-spew.c (init_spew): Delete unused variables `pc' and
2478: `chars_following_typename'.
2479: (yylex): Delete unused variables `dk' and `tmp'. Move decl of `t2' down
2480: to the block that actually uses it.
2481: * cp-tree.c (build_cplus_staticfn_type): Delete unused variable `ptype'.
2482: (propagate_binfo_offsets): Delete unused variables `t' and `basetype'.
2483: (layout_basetypes): Delete unused variable `binfo'.
2484: (array_type_nelts_total): Delete unused variable `index_type'.
2485: * cp-tree.h: Add many decls.
2486: * cp-typeck.c (comp_array_types): Add missing argument decl
2487: for `strict'.
2488: (build_compound_expr): Delete unused variable `tmp'.
2489: (convert_for_initialization): Delete unused label `converted'.
2490:
2491: Wed Sep 16 12:51:10 1992 Brendan Kehoe ([email protected])
2492:
2493: * cp-decl.c (init_decl_processing): Enable code to add sin and cos
2494: as built-in functions.
2495:
2496: * cp-decl.c (duplicate_decls): Enable code to preserve the DECL_UID
2497: of olddecl.
2498:
2499: * cp-search.c (lookup_nested_fields): Make sure we're climbing along
2500: a chain of nested types, and nothing else.
2501:
2502: Tue Sep 15 17:38:34 1992 Brendan Kehoe ([email protected])
2503:
2504: * cp-search.c (lookup_nested_fields): New function.
2505: * cp-tree.h: Declare it.
2506: * cp-decl.c (lookup_name): Call it if there's no class-local
2507: definition. (It could be nested.)
2508: * cp-lex.c (do_identifier): Call lookup_nested_field() if necessary.
2509:
2510: Tue Sep 15 12:37:16 1992 Brendan Kehoe ([email protected])
2511:
2512: Mon Aug 24 14:58:02 1992 Chip Salzenberg (chip at animal)
2513:
2514: * cp-typeck.c (build_conditional_expr): Determine constness
2515: and volatility with TREE_... tests instead of TYPE_... tests.
2516:
2517: Mon Sep 14 18:00:35 1992 Chip Salzenberg ([email protected])
2518:
2519: * cp-decl.c (grokdeclarator): Remove redundant (and broken)
2520: test for multiple destructors in a class.
2521:
2522: Fri Jul 31 19:09:10 1992 Chip Salzenberg ([email protected])
2523:
2524: * cp-cvt.c (convert_to_integer): Push truncation inside COND_EXPR.
2525:
2526: Mon Sep 14 17:52:45 1992 Chip Salzenberg ([email protected])
2527:
2528: * cp-class.c (finish_struct): Always write all structure types,
2529: even if they're defined in a "#pragma interface" header file.
2530: Otherwise, XCOFF debugging info is messed up.
2531:
2532: Mon Sep 14 17:39:32 1992 Chip Salzenberg ([email protected])
2533:
2534: * cp-class.c (finish_struct): ``Actually, I don't understand
2535: this code. What is it supposed to do?'' --Niklas Hallqvist
2536:
2537: Mon Sep 14 17:27:23 1992 Chip Salzenberg ([email protected])
2538:
2539: * cp-decl.c (finish_decl): Don't dump core if a decl is anonymous.
2540: A decl is at the global binding level if DECL_CONTEXT is null.
2541: (grokdeclarator): Don't globalize a type if its first mention
2542: is in a parameter. It's okay to initialize a function in a
2543: non-global scope.
2544:
2545: Tue Sep 15 12:15:26 1992 Brendan Kehoe ([email protected])
2546:
2547: * cp-typeck.c (c_expand_return): Emit a warning when they try to
2548: return the address of a local variable.
2549:
2550: * cp-decl.c (finish_method): Make sure it's indeed nested before
2551: checking for the qualified name.
2552:
2553: Mon Sep 14 18:59:25 1992 Mike Stump ([email protected])
2554:
2555: Wed Sep 2 11:04:24 1992 Chip Salzenberg ([email protected])
2556:
2557: * cp-decl.c (init_decl_processing): Add sin and cos as built-in
2558: functions. Fix type of __builtin_constant_p.
2559:
2560: * cp-lex.c (readescape): For \x, don't include leading 0's in count.
2561:
2562: * cp-typeck.c (build_unary_op): For ADDR_EXPR, just set
2563: TREE_CONSTANT if staticp, but don't clear TREE_CONSTANT.
2564:
2565: Mon Sep 14 18:54:41 1992 Mike Stump ([email protected])
2566:
2567: * cp-parse.y (permanent_obstack): Move to top of file.
2568:
2569: Mon Sep 14 18:50:19 1992 Mike Stump ([email protected])
2570:
2571: Mon Sep 14 16:39:10 1992 Chip Salzenberg ([email protected])
2572:
2573: [ Changes propagated from diffs to c-* in 920911 snapshot. ]
2574:
2575: * cp-decl.c (duplicate_decls): Set DECL_INLINE in newdecl so it
2576: is copied into olddecl. Don't set DECL_EXTERNAL in olddecl.
2577: Preserve DECL_UID and DECL_FRIEND_P of olddecl.
2578:
2579: * cp-typeck.c (build_binary_op_nodefault): Don't assume that a
2580: target integer fits in a HOST_WIDE_INT when checking shift widths.
2581:
2582: Mon Sep 14 18:15:42 1992 Mike Stump ([email protected])
2583:
2584: Mon Aug 24 14:32:03 1992 Chip Salzenberg ([email protected])
2585:
2586: * cp-parse.y (reserved_declspecs): Warn if storage class occurs here.
2587: (declmods): Warn if storage class is not first.
2588:
2589: Mon Sep 14 16:59:53 1992 Brendan Kehoe ([email protected])
2590:
2591: * cp-method.c (fndecl_as_string): Don't output an extra space when
2592: printing the return type of a function.
2593:
2594: Mon Sep 14 16:01:53 1992 Mike Stump ([email protected])
2595:
2596: Fri Jun 12 18:07:00 1992 Niklas Hallqvist ([email protected])
2597:
2598: * cp-parse.y (structsp, named_class_head_sans_basetype): Call
2599: overload_template_name in the case of template specializations so
2600: that something like:
2601:
2602: template<class T> struct C { C(); };
2603: struct C<int> { C(); };
2604:
2605: works.
2606:
2607: Mon Sep 14 15:51:22 1992 Mike Stump ([email protected])
2608:
2609: Fri Apr 10 13:20:56 1992 Niklas Hallqvist ([email protected])
2610:
2611: * cp-spew.c (spew_debug): exported this flag for use in cp-decl.c
2612: (template_type_seen_before_scope): new global containing contextual
2613: information for the parser, making the compiler grok nested types in
2614: template classes.
2615: (shift_tokens): Guard bcopy calls against moves of zero size.
2616: (yylex): Handle nested types in template classes.
2617:
2618: * cp-parse.y (scoped_typename): Handle nested types in template
2619: classes.
2620: (template_type): Likewise.
2621: (base_class.1): Likewise.
2622: (member_init): Likewise.
2623: (scoped_baseclass): New rule for handling of nested types in
2624: template classes.
2625:
2626: * cp-decl.c (xref_defn_tag): Conditionalized debug printout on
2627: spew_debug (defined in cp-spew.c).
2628: (binding_levels_sane): void function returned value.
2629:
2630: Mon Sep 14 15:41:28 1992 Mike Stump ([email protected])
2631:
2632: Mon Sep 14 17:26:18 1992 Chip Salzenberg ([email protected])
2633:
2634: * cp-parse.y (unary_expr), cp-call.c (build_scoped_method_call):
2635: NEVER use `maybe_adjust' feature in destructors. It's unsafe.
2636:
2637: Mon Sep 14 15:12:34 1992 Brendan Kehoe ([email protected])
2638:
2639: * cp-decl.c (finish_method): Complain when a qualifier is used as
2640: part of a member declaration.
2641:
2642: Mon Sep 14 11:47:30 1992 Mike Stump ([email protected])
2643:
2644: * cp-decl2.c (groktypefield): Revert Wed Aug 19 14:47:08 1992
2645: change as it breaks template constructor declarations. Gez, this
2646: code is horribly complex, and the comments are wrong. Note,
2647: template constructor definitions are broken in the same way, as
2648: declarations were with this patch in.
2649:
2650: Fri Sep 11 14:09:01 1992 Mike Stump ([email protected])
2651:
2652: Fri Sep 11 10:34:45 PDT 1992 Ron Guilmette (rfg at netcom.com)
2653:
2654: * cp-decl.c (duplicate_decls): For file-scope redefinitions, note
2655: that the variable was previously *defined* at some specific (earlier)
2656: point.
2657:
2658: Fri Sep 11 13:49:55 1992 Mike Stump ([email protected])
2659:
2660: Tue Sep 8 21:39:35 PDT 1992 Ron Guilmette (rfg at netcom.com)
2661:
2662: * cp-decl2.c (finish_file): Don't pass `1's as the `functionbody'
2663: flag to `poplevel' when getting ready to finishing up the per-
2664: compilation-unit constructors and destructors.
2665:
2666: Fri Sep 11 13:28:02 1992 Mike Stump ([email protected])
2667:
2668: * cp-decl.c (grokdeclarator): Upgrade local externs with
2669: initializations to be errors, instead of warnings.
2670:
2671: Fri Sep 11 13:03:52 1992 Mike Stump ([email protected])
2672:
2673: Thu Sep 10 09:40:56 PDT 1992 Ron Guilmette (rfg at netcom.com)
2674:
2675: * cp-decl.c (grokdeclarator): Given an error if *either* a `static'
2676: or an `extern' specifier is attached to a defining declaration of a
2677: static data member.
2678:
2679: Wed Sep 9 19:46:43 1992 Mike Stump ([email protected])
2680:
2681: * c++: Makes sure echo -nostdinc does not eat the -nostdinc.
2682:
2683: Tue Sep 8 13:42:35 1992 Brendan Kehoe ([email protected])
2684:
2685: * cp-typeck.c (common_type, case FUNCTION_TYPE): An empty argument
2686: list is represented as a void_type_node; make sure we check for
2687: that, and not just an empty TYPE_ARG_TYPES list on either side.
2688:
2689: Tue Sep 8 02:31:05 1992 Mike Stump ([email protected])
2690:
2691: * cp-tree.c (layout_basetypes, make_binfo): Added support for
2692: debugging information about virtual base class pointers.
2693:
2694: Mon Sep 7 15:34:58 1992 Brendan Kehoe ([email protected])
2695:
2696: * cp-decl2.c (temp_name_p): Deleted function, never used anywhere.
2697:
2698: Sun Sep 6 23:09:29 1992 John F Carr (jfc at Athena.MIT.EDU)
2699:
2700: * cp-typeck.c (convert_arguments): Ignore arguments which are
2701: ERROR_MARK_NODE to avoid crashes trying to reference fields which
2702: are not present.
2703:
2704: Mon Sep 7 12:34:09 1992 Brendan Kehoe ([email protected])
2705:
2706: * cp-decl.c (clear_anon_tags): Do assignment of B after we've seen
2707: if we're to work on an anonymous aggregate. No need to make the
2708: assignment for nearly every aggr we ever declare.
2709:
2710: Sun Sep 6 17:51:47 1992 Mike Stump ([email protected])
2711:
2712: Sun Sep 6 13:12:16 1992 John Carr ([email protected])
2713:
2714: * cp-decl.c (pushdecl, finish_decl, store_return_init,
2715: finish_function), cp-decl2.c (constructor_name, finish_file),
2716: cp-except.c (cplus_expand_reraise), cp-init.c (emit_base_init,
2717: expand_aggr_init_1), cp-typeck.c (build_modify_expr,
2718: c_expand_asm_operands, c_expand_return): Include rtl.h and eliminate
2719: unneeded casts.
2720:
2721: * cp-decl2.c (grokbitfield): Use NULL_TREE instead of NULL.
2722:
2723: * cp-decl2.c (finish_file): Don't try and not use stdio.h.
2724:
2725: * cp-except.c (cplus_expand_reraise): emit_move_insn takes 2
2726: arguments, not three.
2727:
2728: Sat Sep 5 12:04:06 1992 Brendan Kehoe ([email protected])
2729:
2730: * cp-decl.c (finish_function): Undo change of Mon Aug 17 16:28:48
2731: 1992; it resulted in lots of unnecessary and incorrect warnings.
2732:
2733: * cp-lex.c (do_identifier): For nested classes, check if a variable
2734: being sought is actually in the scope of an enclosing class. If it
2735: is, and the variable's non-static, bail.
2736:
2737: * cp-decl.c (grok_enum_decls): Tighten up some code that was pretty
2738: twisty.
2739:
2740: * cp-class.c (start_struct): Delete; it was #if 0'd out anyway (C++
2741: doesn't need it), and is an old hold-over from c-decl.c.
2742:
2743: * cp-class.c (minus_one_node): Delete, it's not used.
2744: (init_class_processing): Delete init of minus_one_node.
2745:
2746: * cp-spew.c (yylex): Check return of resolve_scope_to_name to
2747: be NULL_TREE.
2748: (frob_identifier): Likewise.
2749: (hack_more_ids): Likewise.
2750:
2751: * cp-cvt.c (convert_to_real): Use REAL_VALUE_ATOF to make 0.
2752:
2753: Fri Sep 4 19:23:17 1992 Mike Stump ([email protected])
2754:
2755: * cp-decl.c (grok_ctor_properties): When looking for copy
2756: constructors, ignore the first argument since it is the in$chrg
2757: parameter for the object to copy from.
2758:
2759: Fri Sep 4 14:35:31 1992 Mike Stump ([email protected])
2760:
2761: * cp-cvt.c (build_up_reference): Prevent the compiler from dumping
2762: core on semantic errors.
2763:
2764: Thu Sep 17 17:28:13 1992 Richard Stallman ([email protected])
2765:
2766: * c-typeck.c (initializer_constant_valid_p): Warn about address
2767: arithmetic destined for a type that's too narrow.
2768: New argument ENDTYPE.
2769:
2770: * limitx.h: Don't include-next if _LIBC_LIMITS_H_ defined.
2771:
2772: Thu Sep 17 20:45:16 1992 Paul Eggert ([email protected])
2773:
2774: * cexp.y (parse_escape): Diagnose '\x' with no digits.
2775: Diagnose integer overflow when parsing \x escapes.
2776:
2777: Thu Sep 17 11:52:53 1992 Michael Meissner ([email protected])
2778:
2779: * gcc.c (SIGNED_CHAR_SPEC): Use #if rather than ?: in default defn.
2780:
2781: Thu Sep 17 14:53:51 1992 Tim Moore ([email protected])
2782:
2783: * pa.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Fix double integer
2784: argument alignment.
2785: (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_SIZE): Define.
2786: * pa-hpux.h, pa-ghpux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
2787: WCHAR_SIZE): Define for hpux.
2788: * x-pa, t-pa : New files.
2789: * configure (hppa cases): add definitions for xmake_file and
2790: tmake_file.
2791:
2792: Wed Sep 16 22:22:15 1992 James Van Artsdalen (james at bigtex.cactus.org)
2793:
2794: * i386.c (print_operand): Don't abort if error: might have been a
2795: user asm.
2796:
2797: * i386.md (addsi3,ashlsi3): Handle the case where the stack
2798: pointer appears as an index reg.
2799:
2800: Wed Sep 16 21:22:23 1992 Richard Stallman ([email protected])
2801:
2802: * cse.c (fold_rtx): For SUBREG, actually test subreg_lowpart_p in the
2803: code to handle narrowing subregs. And exclude binary ops like DIV
2804: where truncating the args is not valid.
2805:
2806: * libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Moved to separate member.
2807: * Makefile.in (LIB2FUNCS): Added _ctors.
2808:
2809: Wed Sep 16 23:28:41 1992 Paul Eggert ([email protected])
2810:
2811: * cexp.y (parse_number): Warn about '9' in octal constants.
2812: Commonize overflow detection for various radices.
2813:
2814: Wed Sep 16 19:33:37 1992 Torbjorn Granlund ([email protected])
2815:
2816: * pa.md (casesi): Use emit_jump_insn to emit casesi0 pattern.
2817: (xorsi3): Remove `r' from output template.
2818: (movstrsi recognizer): Add `+' to operand 0 & 1 constraints.
2819:
2820: Wed Sep 16 14:53:51 1992 Michael Meissner ([email protected])
2821:
2822: * mips.h (MIPS_VERSION): Set Meissner version # to 25.
2823:
2824: * mips.c (gen_int_relational): Eliminate all vestiages of
2825: figuring out whether the comparison will always be true or false.
2826: Let the optimizer figure it out.
2827: (gen_conditional_branch): Ditto.
2828: (function_epilogue): Print correct number of half-pic pointers
2829: and references.
2830: (prev_half_pic_refs): New static variable.
2831: (prev_half_pic_ptrs): New static variable.
2832:
2833: Tue Sep 15 16:10:47 PDT 1992 Ron Guilmette (rfg at netcom.com)
2834:
2835: * toplev.c (rest_of_decl_compilation): Call `dwarfout_file_scope_decl'
2836: immediately for actual *definitions* of file-scope variables (and
2837: file-scope typedefs too).
2838:
2839: Tue Sep 15 20:56:31 1992 Jim Wilson ([email protected])
2840:
2841: * fixincludes (EXINIT): Clear it to avoid problems with bad values.
2842: * fixinc.svr4 (EXINIT): Likewise.
2843:
2844: * print-tree.c (print_node): Don't print blank line for null
2845: fields in a TREE_VEC.
2846:
2847: * cccp.c (macroexpand): Don't output another error message if have
2848: already output error message returned from macarg.
2849:
2850: * c-decl.c (grokparms): Copy parm list if it isn't permanent,
2851: instead of copying it if temporary allocation has been turned off.
2852:
2853: * final.c (only_leaf_regs_used): Check for global_regs.
2854:
2855: * c-parse.y (typespec): Don't warn if pedantic when typeof used.
2856:
2857: * c-tree.h (lang_identifier): Add limbo_value field for out of
2858: scope block level extern declarations.
2859: (IDENTIFIER_LIMBO_VALUE): New define, to access that field.
2860: * c-decl.c (print_lang_identifier): Print value of limbo field.
2861: (pushdecl): Check an extern decl against both previous global and
2862: previous limbo declarations. For global declarations, clear limbo
2863: value field. For block level extern declarations, set limbo field
2864: if zero.
2865: (grokdeclarator): If this is a block level extern, then allocate
2866: it on the permanent obstack, not the temporary obstack.
2867:
2868: Tue Sep 15 15:42:24 1992 Paul Eggert ([email protected])
2869:
2870: * tree.c (int_fits_type_p): Negative ints never fit unsigned
2871: types, and unsigned ints with top-bit-set never fit signed types.
2872: * c-lex.c (yylex): Integer constant is unsigned for purposes of
2873: int_fits_type_p so that it compares huge constants properly.
2874:
2875: Tue Sep 15 14:44:51 1992 Michael Meissner ([email protected])
2876:
2877: * i386.md (string move, string compare): Always issue cld
2878: instruction before doing a rep string move, so that we are
2879: guaranteed that the bytes are moved/compared correctly.
2880:
2881: Tue Sep 15 00:09:06 1992 Richard Stallman ([email protected])
2882:
2883: * gstdarg.h: (va_arg): Cast ptr to void *, then to TYPE *.
2884: * va-i960.h, va-m88k.h, va-mips.h, va-pa.h, va-pyr.h, va-sparc.h:
2885: Likewise.
2886:
2887: * rtl.c (ftell): Declaration deleted.
2888:
2889: Mon Sep 14 15:17:09 1992 Michael Meissner ([email protected])
2890:
2891: * configure (arg processing): Add --with-stabs switch.
2892: (all mips configurations, except decrose): If --with-stabs, use
2893: the configuration file that emits stabs as the debug debug
2894: configuration, rather than the native MIPS ECOFF format.
2895:
2896: Mon Sep 14 13:28:29 1992 Torbjorn Granlund ([email protected])
2897:
2898: * configure (option case statement): Index with `$next_arg' instead
2899: of `next_arg'. Clean up order and indentation for switches.
2900: (several places): Remove space around assignment `='.
2901: (usage printing): Don't use `-n' for echo (SysV lossage).
2902: Print config.status with `tail +2'.
2903:
2904: Mon Sep 14 23:46:19 1992 Paul Eggert ([email protected])
2905:
2906: * c-lex.c (yylex): Warn about integers so large that they are unsigned.
2907:
2908: * cexp.y (parse_number): Diagnose integer constants that are too large.
2909: Diagnose duplicate `l' and `u' suffixes. Diagnose ` 0x ' and ` 0a '.
2910: Warn about integer constants that are so large that they are unsigned.
2911:
2912: Mon Sep 14 10:26:34 1992 Charles Hannum ([email protected])
2913:
2914: * reload1.c (init_reload): Fix typo in last change.
2915:
2916: Mon Sep 14 01:17:58 1992 Richard Stallman ([email protected])
2917:
2918: * reload1.c (init_reload): For reg+reg+const, try various regs.
2919:
2920: Sun Sep 13 01:08:06 1992 Paul Eggert ([email protected])
2921:
2922: * cexp.y (exp): Detect signed integer overflow.
2923: Replace `(unsigned)' with `(unsigned long)'. When
2924: evaluating << and >>, compute the correct answer without shifting
2925: by more than HOST_BITS_PER_LONG, or by a negative quantity.
2926: (integer_overflow, left_shift, right_shift): New functions.
2927:
2928: Sun Sep 13 02:00:52 1992 Torbjorn Granlund ([email protected])
2929:
2930: * arm.md: Clean up indentation.
2931:
2932: * pa.c (output_load_address): Removed. Nothing uses it.
2933: * pa.md (high:DI recognizer): Add return \"\".
2934: * pa.md (sCC, bCC expanders): Remove constraints.
2935: * pa.md (and-with-immediate optimizer): New pattern.
2936: * pa.md (ior-with-immediate optimizer): New pattern.
2937: * pa.c (consec_zeros_p, and_operand, ior_mask_p, ior_operand,
2938: output_and, output_ior): New functions.
2939: * pa.h (output_and, output_ior): Declare.
2940: * pa.h (CONST_OK_FOR_LETTER_P): Add 'O' and 'P'.
2941: * pa.c (compute_xdepi_operands_from_integer): New function.
2942: Some code come from output_zdepi.
2943: (output_zdepi): Removed.
2944: (depi_cint_operand): New name for zdepi_operand.
2945: * pa.md (adddi3): Extend to handle CONST_INT.
2946: * pa.md (movstrsi): Change `!= 4' => `< 4' in test for alignment.
2947: * pa.md (negsi2): Don't use @ for just one output template.
2948: * pa.md (and-not patterns): Make them canonical. Put operands in
2949: the right order.
2950: * pa.md (casesi): Rewrite. Used to be buggy and slow.
2951: * pa.md (several patterns): Make sure # of attribute alternatives
2952: match # of constraint alternatives.
2953: Return assembler output template instead of calling output_asm_insn.
2954: Don't write to operands[n] for n >= max operand number in the
2955: pattern, use xoperands instead.
2956:
2957: Sat Sep 12 15:06:57 1992 Richard Stallman ([email protected])
2958:
2959: * regclass.c (record_reg_classes):
2960: Ignore leading % when examining constraint.
2961: Don't bypass usual cost computation when a pseudo "matches"
2962: a non-pseudo in matching operands.
2963:
2964: * c-lex.c (yylex): If integer value overflows so highword is negative,
2965: it needs unsigned long long.
2966:
2967: Fri Sep 11 21:09:53 1992 Richard Stallman ([email protected])
2968:
2969: * sys-types.h (va_alist): Supply `int' as the type to define it as.
2970:
2971: Fri Sep 11 12:39:39 1992 Jeffrey A. Law ([email protected])
2972:
2973: * pa.md (non-[cf]branch define_delay): Use a single delay description
2974: for the delay slots in "branch", "call", and "milli" insns.
2975: (fbranch define_delay): fbranches have a single delay slot which
2976: may be nullified when the branch is taken (regardless of direction
2977: or distance to the target.)
2978: (in_branch_delay attribute): Disallow fbranch insns explicitly.
2979: (floating point branches): Use "fbranch" attribute for these insns.
2980: Update output template to properly handle nullification.
2981:
2982: Fri Sep 11 10:34:45 PDT 1992 Ron Guilmette (rfg at netcom.com)
2983:
2984: * c-decl.c (duplicate_decls): For file-scope redefinitions,
2985: error message distinguishes previous definitions from mere decls.
2986:
2987: Fri Sep 11 01:07:11 1992 Richard Stallman ([email protected])
2988:
2989: * c-convert.c (convert_to_integer): Don't pass truncation thru lshift
2990: if shift count >= width of narrower type. Instead, just use 0.
2991:
2992: * we32k.h (SIZE_TYPE): Defined.
2993:
2994: Fri Sep 11 00:03:45 1992 Paul Eggert ([email protected])
2995:
2996: * c-decl.c (finish_struct): Don't assume that a target integer
2997: fits in a HOST_WIDE_INT when checking bit-field widths.
2998: * c-typeck.c (build_binary_op): Likewise, when checking shift widths.
2999:
3000: Thu Sep 10 22:23:10 1992 Richard Stallman ([email protected])
3001:
3002: * optabs.c (expand_binop):
3003: Convert op1 of shift libcall to word_mode.
3004:
3005: Thu Sep 10 18:14:36 1992 Tim Moore ([email protected])
3006:
3007: * final.c (shorten_branches): Do shorten branches with delay slots
3008: if the number of delay slots is constant.
3009: * genattrtab.c (write_const_num_delay_slots): New function;
3010: creates const_num_delay_slots ().
3011: (main): Call it.
3012: * genattr.c (main): Write declaration for const_num_delay_slots ().
3013:
3014: Thu Sep 10 17:33:42 1992 Michael Meissner ([email protected])
3015:
3016: * mips.md (all move patterns): Do not allow memory to memory or
3017: non-zero constant to memory moves to be generated, which causes
3018: reload to generate the load/store using spilled registers, and
3019: does not allow for efficient CSE or scheduling to be done.
3020:
3021: * dec-gosf1.h, iris4g.h: New files.
3022:
3023: Thu Sep 10 12:46:17 1992 Torbjorn Granlund ([email protected])
3024:
3025: * pa.md (casesi): Add `&' to constraint for clobber operand.
3026:
3027: * optabs.c (expand_binop): Fix typo, `mode' => `methods'.
3028:
3029: Thu Sep 10 00:21:05 1992 Richard Stallman ([email protected])
3030:
3031: * optabs.c (expand_binop): Delete #ifdef GPC; complex code now uncond.
3032:
3033: * optabs.c (init_fixtab): Fix typo for fix_truncdfqi2.
3034:
3035: Wed Sep 9 13:25:53 PDT 1992 Ron Guilmette (rfg at netcom.com)
3036:
3037: * c-common.c (declare_function_name): Allow for anonymous function.
3038:
3039: Wed Sep 9 15:56:09 1992 Richard Stallman ([email protected])
3040:
3041: * Makefile.in (mostlyclean): Delete xlimits.h.
3042:
3043: * final.c (output_addr_const):
3044: If 2nd arg of MINUS is negative integer, put it in parens.
3045:
3046: Wed Sep 9 10:10:30 1992 Michael Meissner ([email protected])
3047:
3048: * va-mips.h (va_arg): Handle structures larger than 8 bytes.
3049: (all macros): Put __ in front of all macro arguments.
3050:
3051: Wed Sep 9 00:45:02 1992 Richard Stallman ([email protected])
3052:
3053: * sol2-crt1.asm (.nope): Really store into environ.
3054:
3055: * libgcc2.c (__gcc_bcmp): New function, in cond on L__gcc_bcmp.
3056: * Makefile.in (LIB2FUNCS): Add L__gcc_bcmp.
3057:
3058: * expr.c (expand_expr): Support IN_EXPR.
3059:
3060: Tue Sep 8 20:04:43 1992 Paul Eggert ([email protected])
3061:
3062: * c-convert.c (convert_to_integer): When optimizing LSHIFT_EXPR and
3063: RSHIFT_EXPR, do compares at tree level.
3064:
3065: * tree.c (build_index_type, build_index_2_type): Don't pass
3066: HOST_WIDE_INT to routine expecting an int. Don't pass negative
3067: value even if hash code is INT_MIN.
3068:
3069: Tue Sep 8 17:35:51 1992 Richard Stallman ([email protected])
3070:
3071: * dbxout.c (dbxout_type_fields): Handle nameless subrecords for Pascal.
3072: (dbxout_type): Handle CHAR_TYPE, BOOLEAN_TYPE. FILE_TYPE, SET_TYPE.
3073:
3074: * news.h (ASM_OUTPUT_OPCODE): Deleted.
3075:
3076: * c-parse.y (stmt): In for stmt, put proper lineno before increment.
3077: Don't call position_after_white_space.
3078:
3079: Tue Sep 8 06:31:17 1992 Michael Meissner ([email protected])
3080:
3081: * cp-typeck.c (constant_print_warning): Deleted.
3082:
3083: Tue Sep 8 05:26:19 1992 Mike Stump (mrs@hal)
3084:
3085: Tue Aug 18 23:56:16 1992 Ron Guilmette (rfg at netcom.com)
3086:
3087: * tree.h (BINFO_VPTR_FIELD): Added to support debugging
3088: information about virtual base class pointers.
3089:
3090: Mon Sep 7 19:39:45 1992 Brendan Kehoe ([email protected])
3091:
3092: * c-typeck.c (constant_print_warning): Deleted.
3093: * c-common.c: Moved here.
3094:
3095: Mon Sep 7 17:03:07 1992 Paul Eggert ([email protected])
3096:
3097: * fold-const.c (fold): Check abs for constant integer overflow.
3098:
3099: Mon Sep 7 01:31:42 1992 Richard Stallman ([email protected])
3100:
3101: * c-common.c (check_case_value): Call constant_expression_warning.
3102:
3103: * cse.c (simplify_binary_operation): For DIV by 0, do nothing.
3104:
3105: * c-decl.c (duplicate_decls): Set DECL_INLINE in newdecl
3106: so it is copied into olddecl.
3107:
3108: Sun Sep 6 08:53:46 1992 Fred Fish (fnf at fishpond)
3109:
3110: * m68k.md (fsglmul pattern): If FSGLMUL_USE_S, opcode has .s, not .x.
3111: * amix.h (FSGLMUL_USE_S): Defined.
3112:
3113: Sun Sep 6 17:42:33 1992 Jeffrey A. Law ([email protected])
3114:
3115: * pa.md (indirect_jump): Annul the next instruction if the delay
3116: slot could not be filled instead of emitting a nop.
3117:
3118: * pa.c (output_function_prologue): Undo Aug. 13 change.
3119: If profiling, then this function makes calls. Reflect this in
3120: CALLINFO.
3121: (output_function_epilogue): If profiling, then be restore "rp" here.
3122:
3123: * pa.md (use_milli_regs attribute): Deleted, not necessary anymore.
3124: All references deleted.
3125: * pa.c (use_milli_regs): Deleted.
3126:
3127: Sun Sep 6 17:11:00 1992 Torbjorn Granlund ([email protected])
3128:
3129: * arm.h (MOVE_MAX): Define as 4.
3130:
3131: * ns32k.c (hard_regno_mode_ok): Don't abort if unknown mode,
3132: return 0 instead. Declare argument MODE as `enum machine_mode'.
3133:
3134: * i860.h (HARD_REGNO_MODE_OK): Allow BLKmode.
3135:
3136: Sun Sep 6 16:57:12 1992 Richard Stallman ([email protected])
3137:
3138: * expr.c (init_expr_once): Don't try HARD_REGNO_MODE_OK on VOIDmode
3139: or BLKmode.
3140:
3141: Sun Sep 6 14:27:57 1992 Michael Meissner ([email protected])
3142:
3143: * cp-typeck.c (constant_expression_warning): New fn from c-typeck.c.
3144:
3145: Sun Sep 6 09:11:46 PDT 1992 Ron Guilmette (rfg at netcom.com)
3146:
3147: * c-decl.c (duplicate_decls): Don't set DECL_EXTERNAL in olddecl.
3148: Preserve DECL_UID of olddecl.
3149:
3150: Sun Sep 6 03:37:21 1992 James Van Artsdalen (james at bigtex.cactus.org)
3151:
3152: * i386.md (cmpstrsi): Rewrite expander to handle operands correctly.
3153:
3154: Sat Sep 5 22:55:53 1992 Richard Kenner ([email protected])
3155:
3156: * combine.c (try_combine): Make change missing from last modification
3157: to splitting code.
3158:
3159: Sat Sep 5 19:21:03 1992 Richard Stallman ([email protected])
3160:
3161: * stor-layout.c (layout_type): Caller must give size of FILE_TYPE.
3162:
3163: Sat Sep 5 16:34:50 1992 Torbjorn Granlund ([email protected])
3164:
3165: * arm.c (before functions): Remove xmalloc decl.
3166: (arm_asm_output_label): Cast value from xmalloc.
3167:
3168: * arm.md (storehi): Use match_operand for operand 0.
3169: Use gen_lowpart to change mode of operand 0.
3170: (storeinthi): Use match_operand for operand 0.
3171: Change output code to reassign operand 0.
3172: (truncsihi2, truncsiqi2, trunchiqi2): Remove these patterns.
3173:
3174: Sat Sep 5 02:39:37 1992 Richard Stallman ([email protected])
3175:
3176: * news.h (ASM_OUTPUT_OPCODE): Defined.
3177:
3178: Sat Sep 5 18:52:21 1992 Jukka Virtanen ([email protected])
3179:
3180: * stor-layout.c (layout_type): Handle BOOLEAN_TYPE, CHAR_TYPE,
3181: and FILE_TYPE for Pascal.
3182: (fixup_signed_type): New function.
3183:
3184: * optabs.c (init_optabs): Use __gcc_bcmp, not real bcmp.
3185: (expand_unop): Handle NEG for complex modes.
3186: (expand_binop): Likewise.
3187: (expand_complex_binop): New function.
3188:
3189: * expr.c (emit_move_insn): When moving word by word,
3190: mark the whole thing as a libcall block.
3191: (group_insns): New function.
3192: (expand_expr):
3193: Implement COMPLEX_EXPR, REALPART_EXPR, IMAGPART_EXPR, CONJ_EXPR.
3194:
3195: * print-tree.c (print_node): Handle BOOLEAN_TYPE and CHAR_TYPE.
3196: * emit-rtl.c (gen_highpart): New function.
3197:
3198: Fri Sep 4 23:20:59 1992 Richard Stallman ([email protected])
3199:
3200: * i860.md (mulsi3_big): Use low half of result.
3201: Use offset 1 in subregs in actual fmlow insn.
3202: (fmlow pattern): Split this into alternatives for big and little end.
3203:
3204: * regclass.c (record_reg_class): For matching operands, handle
3205: case where the earlier one is not a pseudo like the case
3206: where the later one is not a pseudo.
3207:
3208: Fri Sep 4 17:24:11 1992 Torbjorn Granlund ([email protected])
3209:
3210: * pa.c (output_move_double): Use %R to store at auto-incr/decr
3211: addr. Split incr and decr cases for store.
3212:
3213: Fri Sep 4 03:49:05 1992 Richard Stallman ([email protected])
3214:
3215: * gcc.c (main): No program should return the error_count!
3216: Return 2 if failure due to signal, 1 if just errors.
3217: (execute): Increment signal_count.
3218:
3219: * move-if-change: Undo previous change.
3220:
3221: * c-decl.c (grokparms): Copy arg type list to savable obstack if nec.
3222:
3223: Fri Sep 4 19:40:32 1992 Paul Eggert ([email protected])
3224:
3225: * c-typeck.c (constant_expression_warning): Now works;
3226: it reports signed integer overflow in constant expressions,
3227:
3228: * fold-const.c (left_shift_overflows, same_sign, overflow_sum_sign):
3229: New macros.
3230: (add_double, div_and_round_double, lshift_double, mul_double,
3231: neg_double, const_binop, fold): Check for signed integer overflow.
3232: Propagate overflow flags from operands to result.
3233: (const_binop, fold_convert): Use pedwarn for overflow warnings.
3234: Say `constant expression', not `constant folding', for user's sake.
3235:
3236: Thu Sep 3 22:28:41 1992 Brendan Kehoe ([email protected])
3237:
3238: Complete 12th Cygnus<-->FSF merge.
3239:
3240: Thu Sep 3 12:29:24 1992 Brendan Kehoe ([email protected])
3241:
3242: These changes are propagated from changes to c-*.c.
3243:
3244: Mon Aug 17 16:28:48 1992 Chip Salzenberg ([email protected])
3245:
3246: * cp-decl.c (finish_function): Test only can_reach_end for the
3247: warning about reaching the end of a non-void function.
3248: (grokdeclarator): When promoting an argument, retain unsignedness
3249: if traditional or if promoted type is not really getting wider.
3250:
3251: * cp-parse.y (datadef): For empty declaration, use pedwarn.
3252:
3253: Mon Aug 17 17:08:11 1992 Chip Salzenberg ([email protected])
3254:
3255: * cp-cvt.c (convert): When converting to variant of same type, fold.
3256:
3257: Wed Aug 19 16:58:41 1992 Chip Salzenberg ([email protected])
3258:
3259: * cp-typeck.c (default_conversion): Convert enumeral types to
3260: appropriate _signed_ type unless -traditional.
3261:
3262: Tue Aug 4 13:11:36 1992 Chip Salzenberg ([email protected])
3263:
3264: * cp-cvt.c (convert): If main variants match,
3265: but the type is not identical, make a NOP_EXPR.
3266:
3267: * cp-decl.c (warn_redundant_decls): Declared.
3268: (duplicate_decls): Optionally warn about redundant declations.
3269: (pushdecl): Never reuse global fcn decl in place of local extern;
3270: just copy some info from it.
3271: (init_decl_processing): __builtin_saveregs returns void *.
3272: (store_parm_decls, finish_function, start_method, finish_method):
3273: Compare TYPE_MAIN_VARIANT against void_type_node.
3274:
3275: * cp-decl2.c (warn_redundant_decls): Defined.
3276: (lang_decode_option): Decode -Wredundant-decls.
3277:
3278: * cp-typeck.c (build_conditional_expr): Don't use type1 as
3279: temporary variable; set result_type directly.
3280:
3281: Tue Aug 4 12:04:17 1992 Chip Salzenberg ([email protected])
3282:
3283: * cp-tree.h (C_PROMOTING_INTEGER_TYPE_P): Defined.
3284: * cp-class.c (finish_struct): Use it.
3285: * cp-decl.c (duplicate_decls, grokdeclarator): Ditto.
3286: (grokparms, start_function): Ditto.
3287: * cp-typeck.c (self_promoting_args_p, default_conversion): Ditto.
3288: * cp-parse.y (primary): Set TREE_CONSTANT in the NOP_EXPR for an enum.
3289:
3290: Tue Aug 4 09:17:32 1992 Chip Salzenberg ([email protected])
3291:
3292: * cp-decl.c (duplicate_decls, grokdeclarator, grokparms):
3293: Use TYPE_MAIN_VARIANT when comparing against specific types.
3294: (build_enumerator): Use STRIP_TYPE_NOPS.
3295: (start_function): Force main() to return "int", not just any
3296: integral type.
3297:
3298: * cp-typeck.c (self_promoting_args_p, default_conversion):
3299: Use TYPE_MAIN_VARIANT when comparing against specific types.
3300: (unsigned_type, signed_type): If type is not known, return it
3301: unchanged instead of returning its TYPE_MAIN_VARIANT.
3302: (build_binary_op_nodefault): Use TYPE_MAIN_VARIANT when
3303: comparing against specific types. Also use STRIP_TYPE_NOPS.
3304: Also copy error messages from equivalent code in c-typeck.c.
3305:
3306: * cp-parse.y (primary): Wrap a NOP_EXPR around an enum value.
3307:
3308: Wed Sep 2 18:06:47 1992 Mike Stump ([email protected])
3309:
3310: Wed Sep 2 17:33:59 1992 Chip Salzenberg ([email protected])
3311:
3312: * cp-decl.c (grokdeclarator): Default friends to being PUBLIC.
3313:
3314: Tue Sep 1 12:33:01 PDT 1992 Ron Guilmette (rfg at netcom.com)
3315:
3316: * cp-init.c (do_friends): Always return `void_type_node'.
3317:
3318: * cp-decl.c (grokparms): Call digest_init on default arguments for
3319: formal parameters.
3320:
3321: * cp-decl.c (xref_tag): The BINFO records describing individual
3322: inheritances aren't shared in the lattice.
3323:
3324: Tue Sep 1 12:27:17 1992 Mike Stump ([email protected])
3325:
3326: * cp-call.c (convert_harshness, compute_conversion_costs): The
3327: READONLY flag for a const object could be down in the type of the
3328: reference.
3329:
3330: * cp-call.c (compute_conversion_costs): Don't ignore the cost of
3331: converting the first argument, if it is not a method. Fixes Mon Aug
3332: 31 22:32:34 change.
3333:
3334: Tue Sep 1 11:58:52 1992 Mike Stump ([email protected])
3335:
3336: * cp-tree.h (THIS_NAME): Use the name ``this'' instead of the more
3337: cryptic name ``$t''.
3338:
3339: Mon Aug 31 22:32:34 1992 Mike Stump ([email protected])
3340:
3341: * cp-init.c (build_member_call): When forming method calls that use
3342: a qualified name, convert the instance pointer to the type implied
3343: by the qualification. Base::member_func(); converts this to be a
3344: (Base *).
3345:
3346: * cp-call.c (compute_conversion_costs): Don't penalize conversion
3347: of the instance pointer on method calls, as they could be pointers
3348: to base classes.
3349:
3350: Mon Aug 31 18:34:33 1992 Brendan Kehoe ([email protected])
3351:
3352: * cp-decl.c (start_function): When a friend function is being
3353: defined, put it in (lexical) scope of the class in which it appears.
3354:
3355: Mon Aug 31 09:57:27 1992 Brendan Kehoe ([email protected])
3356:
3357: * cp-typeck.c (build_modify_expr): For assignments to member
3358: variables like "X::i", call resolve_offset_ref to get the lhs; all
3359: the code and checking was in there, it just wasn't being used.
3360:
3361: * cp-class.c (finish_struct_methods): Give the name of the class
3362: in question when reporting that all its member functions are
3363: private.
3364:
3365: Sun Aug 30 08:34:03 1992 Mike Stump ([email protected])
3366:
3367: * cp-decl2.c (setup_vtbl_ptr): Disable the code, until problems can
3368: be worked around.
3369:
3370: Sat Aug 29 10:34:10 1992 Mike Stump ([email protected])
3371:
3372: * cp-init.c (emit_base_init): Undo Sat Jan 18 12:06:58 change by
3373: tiemann that incorrectly makes -pedantic initialization of virtual
3374: base classes 1 or more levels deep impossible.
3375:
3376: Sat Aug 29 10:03:07 1992 Mike Stump ([email protected])
3377:
3378: * cp-class.c (finish_struct): Allow extern "C" functions to be
3379: friends.
3380:
3381: Sat Aug 29 04:43:22 1992 Mike Stump ([email protected])
3382:
3383: * cp-parse.y (used_extern_spec), cp-decl.c (start_decl,
3384: start_function): Make sure extern in extern "C" (fndef | datadef)
3385: applies to only one decl. Fixes problem introduced on Thu Aug 20
3386: 16:11:58.
3387:
3388: Thu Aug 27 09:33:13 1992 Brendan Kehoe ([email protected])
3389:
3390: * cp-decl.c (grokdeclarator): Name operators properly when
3391: complaining about trying to declare it as a method when not in a
3392: class.
3393:
3394: * cp-decl.c (grok_reference_init): Forbid volatile->const refs,
3395: and vice-versa. Also make the tests apply to all types, not just
3396: aggregates. (Now fully compliant with ANSI C++ June 5 1996 WP
3397: section 8.4.3.5.)
3398:
3399: * cp-decl.c (shadow_tag): Don't allow a function to be a member of
3400: an anonymous union.
3401:
3402: * cp-class.c (finish_struct): For a type that's nested within a
3403: class, use the class value itself when checking a typedef that uses
3404: that new nested type.
3405:
3406: Wed Aug 26 20:24:07 1992 Brendan Kehoe ([email protected])
3407:
3408: * cp-decl.c (decls_match): When converting from a
3409: pseudo-METHOD_TYPE for a static member fn, handle the static
3410: function being both in the new and old declarations.
3411: (revert_static_member_fn): New function.
3412:
3413: * cp-call.c (build_method_call): Put out proper line number for
3414: error with the use of a private constructor.
3415:
3416: * cp-decl.c (grokdeclarator): If a storage class is erroneously
3417: specified for an operator, print the operator's name out properly in
3418: the error message (e.g., print `+' instead of `__pl').
3419:
3420: * cp-decl.c (grokdeclarator): Allow neither constructors nor
3421: destructors to be declared const or volatile.
3422:
3423: * cp-decl.c (grok_op_properties): New argument VIRTUALP.
3424: Use it to disallow declaring new or delete as virtual. Also
3425: use coerce_new_type() and coerce_delete_type() to
3426: sanity-check overloading of new and delete.
3427: (grokfndecl): Give grok_op_properties if the decl is virtual.
3428: (start_method): Likewise.
3429:
3430: * cp-tree.c (lvalue_p, ADDR_EXPR case): Casts to references are
3431: lvalues.
3432:
3433: Thu Sep 3 02:46:44 1992 Richard Stallman ([email protected])
3434:
3435: * caller-save.c (setup_save_areas): Don't look at WORDS_BIG_ENDIAN.
3436:
3437: * fixincludes: If we find a link pointing to ., make a similar
3438: link to ., not a link to an absolute name.
3439: (stdio.h): Change stdio.h to use stdarg.h to get va_list.
3440:
3441: * cexp.y: Comment syntax fix.
3442:
3443: Thu Sep 3 01:48:16 1992 Torbjorn Granlund ([email protected])
3444:
3445: * we32k.md (casesi): Use match_dup for second mention of operand 4.
3446:
3447: Wed Sep 2 06:58:32 1992 Michael Meissner ([email protected])
3448:
3449: * gcc.c (default_compilers): Add missing comma between strings, so
3450: that traditional compilers can compile gcc.c.
3451: (main): Don't pass strcpy or strlen a NULL pointer if some of the
3452: spec strings in default_compilers are NULL.
3453: (validate_all_switches): Don't dereference a NULL pointer if some of
3454: the spec strings in defalut_compilers are NULL.
3455:
3456: * gcc.c (main): Use new loop var J to avoid conflict with I.
3457:
3458: Wed Sep 2 19:09:02 1992 Jeffrey A. Law ([email protected])
3459:
3460: * caller-save.c (init_caller_save): If we were unable to
3461: find a simple insn which meets all its constraints to save
3462: and restore with a single insn in a mode, then set
3463: regno_save_mode to VOIDmode to insure that this mode is never
3464: used to caller-save the current register.
3465:
3466: Wed Sep 2 12:34:39 1992 Jim Wilson ([email protected])
3467:
3468: * caller-save.c (insert_save_restore): Correct test for
3469: determining whether multiple registers can be saved.
3470:
3471: * sparc.md (SImode ldd peepholes): Add `f' to constraints.
3472:
3473: * sparcv4.h (HANDLE_PRAGMA): Delete.
3474: * sparc.c (handle_pragma_token): Delete.
3475:
3476: * config/spc-sol2.h: Change the location of the Sun bundled C
3477: compiler in MD_STARTFILE_PREFIX (for backup defaults).
3478:
3479: Wed Sep 2 09:11:16 1992 Tom Wood ([email protected])
3480:
3481: * m88k.h (MOVE_MAX): Express in bytes not bits.
3482:
3483: * m88k.c (output_ascii): Output known escape characters and don't
3484: terminate the constant if an octal escape is used.
3485:
3486: Wed Sep 2 06:38:37 1992 Richard Kenner ([email protected])
3487:
3488: * combine.c (make_compound_operation, case ASHIFTRT): Add new
3489: code to handle (ashiftrt (neg (ashift FOO C1) C2)) just like we
3490: currently handle (ashiftrt (OP (ashiftrt FOO C1) C2) C2).
3491:
3492: Wed Sep 2 00:15:42 1992 Richard Stallman ([email protected])
3493:
3494: * Makefile.in (install): Add semicolon to make an empty command.
3495:
3496: * reload.c (find_reloads): If have any earlyclobbers, don't let any
3497: reloads overlap with them. Make everything RELOAD_OTHER.
3498:
3499: * move-if-change: Give status 1 if file is unchanged.
3500:
3501: * Makefile.in (SYSTEM_HEADER_DIR): New variable.
3502: (xlimits.h): New target, broken out from install-limits-h.
3503: Look in SYSTEM_HEADER_DIR for system's limits.h.
3504: (start.encap): Dep on xlimits.h.
3505: (install-limits-h): Install xlimits.h already made.
3506: * cross-make (SYSTEM_HEADER_DIR): Overridden.
3507:
3508: * x-i386sco (X_CFLAGS): Deleted.
3509: * x-i386sco4: New file, like old x-i386sco.
3510: * configure (i386-*-sco3.2v4*): Use x-i386sco4.
3511:
3512: * t-sol2 (gmon.o): Find gmon-sol2.c in config.
3513:
3514: * c-typeck.c (process_init_constructor): Fix bugs in previous change.
3515:
3516: Tue Sep 1 23:51:19 1992 Brendan Kehoe ([email protected])
3517:
3518: * gcc.c (default_compilers, ".C" and ".ii"): Pass `+e*' into cc1plus.
3519: (process_command): Allow +e[012] to be passed down into cc1plus.
3520: * cp-decl.c (lang_decode_option): The options `+e0' thru `+e2' will
3521: be coming in prefixed as `-+e'.
3522:
3523: Tue Sep 1 20:09:29 1992 Paul Eggert ([email protected])
3524:
3525: * print-tree.c (print_node): Avoid 1 << (HOST_BITS_PER_INT - 1),
3526: which overflows. Use unsigned % to compute HASH.
3527:
3528: Tue Sep 1 17:23:28 1992 Tim Moore (moore@hal)
3529:
3530: * pa.h (CPP_SPEC, TARGET_SWITCHES): new flags: -mnosnake,
3531: -mpa-risc-1-0, -mpa-risc-1-1.
3532: (ASM_DECLARE_FUNCTION_NAME): Emit argument descriptors for all
3533: general registers if current_function_varargs.
3534:
3535: Tue Sep 1 11:27:08 1992 Brendan Kehoe ([email protected])
3536:
3537: * sparc.c (handle_pragma_token): Only use if HANDLE_SYSV_PRAGMA
3538: isn't defined. (We'll be getting the fn from c-pragma.c, then.)
3539:
3540: Sat Aug 29 13:44:21 PDT 1992 Ron Guilmette (rfg at netcom.com)
3541:
3542: * tree.h (current_block): Decl deleted.
3543: (set_block): Declared.
3544: * stmt.c (expand_fixup): Create a BLOCK node (via pushlevel/poplevel)
3545: to represent an artificial scope containing all of the fixup code.
3546: Also emit NOTE_INSN_BLOCK_BEG/NOTE_INSN_BLOCK_END for that block.
3547: (fixup_gotos): Declaration of NEWBLOCK deleted.
3548: Call `set_block' to use the BLOCK made in expand_fixup.
3549: Deleted code to insert NEWBLOCK into block hierarchy.
3550: * c-decl.c, cp-decl.c (current_block): Function deleted.
3551: (set_block): New function.
3552: (poplevel): If using a previously created block,
3553: don't insert it into the parent level.
3554: * emit-rtl.c (emit_insns_after): Update last_insn if nec.
3555:
3556: Tue Sep 1 10:53:58 1992 Torbjorn Granlund ([email protected])
3557:
3558: * pa.c (output_move_double): Use `ldo' for immediate adds (instead
3559: of `addi' with bad syntax).
3560: (output_load_address): Likewise.
3561:
3562: Tue Sep 1 02:41:13 1992 Richard Stallman ([email protected])
3563:
3564: * tree.h (struct tree_type): Make `align' field an int.
3565:
3566: * c-tree.h (IDENTIFIER_LIMBO_VALUE): New macro.
3567: (struct lang_identifier): New field limbo_value.
3568:
3569: Mon Aug 31 12:59:22 PDT 1992 Ron Guilmette (rfg at netcom.com)
3570:
3571: * tree.c (make_node): Fix typo in July 6 change:
3572: assignment of DECL_IN_SYSTEM_HEADER was inserted in bad place.
3573:
3574: Mon Aug 31 21:28:08 1992 Jim Wilson ([email protected])
3575:
3576: * sched.c (sched_analyze_2): Remove an explicit dependence between
3577: an insn that uses CC0 and the immediately previous insn
3578: (SCHED_GROUP_P represents the dependence).
3579: (schedule_block): Only check sets_cc0_p on an insn.
3580:
3581: Mon Aug 31 15:32:13 1992 Richard Stallman ([email protected])
3582:
3583: * gcc.c (struct compiler): spec field is now array of 4 elements.
3584: (read_specs): Clear the entire new element of compilers.
3585: (lookup_compiler): Copy all of spec array. Check element 0 for @.
3586: (main): Concatenate all elements of compiler spec.
3587: (validate_all_switches): Validate from all elements of compiler spec.
3588: (default_compilers): Split CPP commands into separate strings.
3589:
3590: Mon Aug 31 10:06:16 1992 Jeffrey A. Law ([email protected])
3591:
3592: * caller-save.c (restore_referenced_regs): When restoring a
3593: referenced hard register, use CEIL instead of a truncating divide
3594: to determine the maximum number of registers to restore.
3595: (insert_save_restore): Document maxrestore parameter.
3596: (CEIL): Define.
3597:
3598: Mon Aug 31 04:02:21 1992 Richard Stallman ([email protected])
3599:
3600: * fold-const.c (const_binop): Delete special case for mult by 3.
3601:
3602: * toplev.c (lang_options): Add terminating zero.
3603:
3604: * configure.bat: Remove version number from initial message.
3605:
3606: Sun Aug 30 17:22:11 1992 James Van Artsdalen (james at bigtex.cactus.org)
3607:
3608: * cccp.c (do_pragma): In prev. change, really use U_CHAR *, not char *.
3609:
3610: * aix386.h, i386gas.h, i386sun.h, i386v.h, i386v4.h, i386vgas.h,
3611: seq386.h (TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO):
3612: Move from here,
3613: * unx386.h (TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO):
3614: To here.
3615: (TARGET_DEFAULT): Make TARGET_IEEE_FP default on.
3616: (VALUE_REGNO): Test for MODE_FLOAT instead of specific modes.
3617: (VALUE_REGNO,FUNCTION_VALUE_REGNO): MODE_FLOAT return reg depends on
3618: TARGET_FLOAT_RETURNS_IN_80387.
3619:
3620: * i386.h (TARGET_FLOAT_RETURNS_IN_80387): New macro.
3621: (TARGET_SWITCHES): Add "no-80387", "no-soft-float",
3622: "fp-ret-in-387", and "no-fp-ret-in-387".
3623: Change no* switches to no-*.
3624: (CONDITIONAL_REGISTER_USAGE): Make 387 regs fixed if the 387 is not
3625: used at all.
3626: (REG_CLASS_FROM_LETTER): Constraint letters 'f', 't' and 'u' are
3627: NO_REGS if the 387 is not used.
3628: (TRAMPOLINE_TEMPLATE): Use GEN_INT to generate const_int rtx.
3629:
3630: * x-i386v4: New file.
3631: (CLIB): Get alloca from libucb.a.
3632: * configure (i386-*-sysv4*): Use x-i386v4.
3633:
3634: Sun Aug 30 15:32:54 1992 Dennis Glatting (dglattin at trirex.com)
3635:
3636: * objc-actions.c (create_builtin_decl): Set TREE_STATIC.
3637: Don't set DECL_EXTERNAL or TREE_PUBLIC.
3638:
3639: Sun Aug 30 03:08:48 1992 Richard Stallman ([email protected])
3640:
3641: * c-parse.y (initlist): Handle ranges of array elements.
3642: * c-typeck.c (process_init_constructor): Handle ranges.
3643:
3644: * fixincludes: When link points to a dir $dirname outside $INPUT,
3645: copy that dir into $LIB/root$dirname. Translate the link itself
3646: into a link to that new dir. Make a file DONE in each treetop dir
3647: so no treetop is scanned twice. Improve progress messages.
3648:
3649: Sat Aug 29 22:41:49 1992 Richard Kenner ([email protected])
3650:
3651: * alpha.h (ASM_FILE_START): Object file version number now 8.0.
3652:
3653: * alpha.h (ADJUST_COST): New macro.
3654: * alpha.c (alpha_adjust_cost): New function.
3655: * alpha.md: Adjust function unit delays and more precisely
3656: describe function units.
3657:
3658: * alpha.h (CONST_OK_FOR_LETTER_P): Add new letters `O' and `P'.
3659: * alpha.c (print_operand, case 'P'): New case.
3660: * alpha.md (ashldi3): Special-case shifts by 1, 2, and 3 bits to
3661: use arithmetic instructions.
3662: Add pattern for sign-extending shifts by 1, 2, and 3 bits.
3663:
3664: * alpha.h (INITIALIZE_TRAMPOLINE): Use Pmode when appropriate.
3665: (FUNCTION_MODE): Use Pmode.
3666:
3667: * alpha.md (div/mod): Indicate that reg 27 is clobbered too.
3668:
3669: * alpha.md (cmov): Add define_split for if_then_else/plus case.
3670:
3671: * expr.c (emit_library_call): Pass correct number of args to
3672: convert_to_mode.
3673:
3674: * expr.c (emit_block_move): Eliminate unnecessary test against
3675: HOST_BITS_PER_WIDE_INT.
3676:
3677: * optabs.c (expand_{binop,unop}): Don't make invalid
3678: paradoxical SUBREGs.
3679:
3680: * genattrtab.c (RTL_HASH, attr_rtx): Avoid warnings by casting
3681: pointers to HOST_WIDE_INT instead of int.
3682:
3683:
3684: Sat Aug 29 15:35:58 1992 Richard Stallman ([email protected])
3685:
3686: * toplev.c (lang_options): New table.
3687: (main): Recognize all language-dependent options of any language
3688: and always treat them as language-specific and valid.
3689:
3690: * c-decl.c (c_decode_option): -fnotraditional really undoes
3691: -ftraditional. Handle -fno-traditional also.
3692:
3693: Sat Aug 29 00:34:01 1992 James Van Artsdalen (james at bigtex.cactus.org)
3694:
3695: * reg-stack.c (record_reg_life): Mark an unused reg as such, even
3696: if it appears in SET_SRC.
3697:
3698: Fri Aug 28 17:40:49 1992 John F Carr (jfc at Athena.MIT.EDU)
3699:
3700: * tree.c (chainon): Check for op2 being the last elt of the chain.
3701:
3702: Fri Aug 28 13:26:56 PDT 1992 Ron Guilmette (rfg at ncd.com)
3703:
3704: * cccp.c (do_pragma): Use rindex, not strrchr.
3705:
3706: * tree.h (BLOCK_END_NOTE): Macro definition added.
3707: (struct tree_block): `end_note' field added.
3708: * stmt.c (last_block_end_note): New variable.
3709: (remember_end_note): New function.
3710: (expand_end_bindings): Save NOTE_INSN_BLOCK_END in last_block_end_note.
3711: * c-decl.c, cp-decl.c (poplevel): Call `remember_end_note' for each
3712: newly created BLOCK node.
3713: * integrate.c (adjust_copied_decl_tree): New function.
3714: (save_for_inline_copying): When making copies of NOTE_INSN_BLOCK_END
3715: notes, stash a "forwarding" pointer in the original to point to the
3716: copy. Also, when all BLOCKs & insns for a function have been copied,
3717: call `adjust_copied_decl_tree' to fixup the end_note pointers in the
3718: copied BLOCKs.
3719:
3720: Fri Aug 28 13:25:59 1992 Richard Stallman ([email protected])
3721:
3722: * cccp.c (do_pragma): In prev. change, use U_CHAR *, not char *.
3723:
3724: Fri Aug 28 09:11:56 1992 Tom Wood ([email protected])
3725:
3726: * m88k.h (ADJUST_COST): Add definition.
3727:
3728: Thu Aug 27 18:27:02 1992 James Van Artsdalen (james at bigtex.cactus.org)
3729:
3730: * c-decl.c (init_decl_processing): Add sin and cos as built-in
3731: functions.
3732: * expr.c (expand_builtin): Likewise.
3733:
3734: * expr.h (sin_optab,cos_optab): Declare optabs for sin and cos.
3735: * optabs.c (sin_optab,cos_optab): Define them.
3736: (init_optabs): Initialize them.
3737:
3738: * tree.h (BUILT_IN_SIN,BUILT_IN_COS): New builtin codes.
3739:
3740: * reg-stack.c (record_note_if_dead): Delete function.
3741: (record_reg_life_pat): Rewrite to handle any sort of pattern.
3742: (record_reg_life): Change interface to record_reg_life_pat.
3743:
3744: (stack_reg_life_analysis): Don't assume that MODE_FLOAT values are
3745: always returned in a float reg.
3746:
3747: (subst_stack_regs_pat): Add support for sin and cos insns.
3748:
3749: * i386.c (all gen_rtx (CONST_INT) references): Use GEN_INT to
3750: generate const_int rtx.
3751: (legitimize_pic_address): Pass NULL_RTX instead of "0" as pointer.
3752:
3753: * i386.md (all patterns): Use GEN_INT instead of gen_rtx to get
3754: const_ints.
3755: Avoid double-negative "! NON_*" constructs for clarity.
3756: Pass NULL_PTR as null parameter instead of 0.
3757:
3758: (sqrtM2): Patterns are only valid if IEEE FP or -ffast-math.
3759: (sinM2,cosM2): New patterns.
3760: (zero_extract test): New pattern.
3761: (movstrsi): Rewrite expander to handle operands correctly.
3762:
3763: Thu Aug 27 16:58:09 1992 Michael Meissner ([email protected])
3764:
3765: * genattrtab.c (MAX_DIGITS): New macro to gauge how much space we
3766: need to reserve when printing integers.
3767: (expand_delays): Use sizeof and MAX_DIGITS to properly size the
3768: strings when calling attr_printf.
3769: (expand_units): Ditto.
3770: (encode_units_mask): Ditto.
3771: (make_numeric_value): Ditto.
3772: (oballoc): New macro, to allocate from the hash_obstack.
3773: (convert_const_symbol_ref): Call oballoc instead of xmalloc.
3774: (get_attr_value): Ditto.
3775: (fill_attr): Ditto.
3776: (make_length_attrs): Ditto.
3777: (gen_attr): Ditto.
3778: (gen_insn): Ditto.
3779: (gen_delay): Ditto.
3780: (gen_unit): Ditto.
3781: (find_attr): Ditto.
3782: (main): Ditto.
3783:
3784: Thu Aug 27 14:47:16 1992 Mike Stump ([email protected])
3785:
3786: * cp-decl.c (curent_block, struct binding_level, poplevel): Copy
3787: Tue Aug 25 16:29:47 and Wed Aug 26 01:56:30 changes in c-decl.c by
3788: rms.
3789:
3790: Thu Aug 27 01:32:11 1992 Paul Eggert ([email protected])
3791:
3792: * c-lex.c, cp-lex.c (readescape): DEL isn't printable.
3793: * c-typeck.c (check_format): Likewise.
3794:
3795: Wed Aug 26 20:42:36 1992 Richard Stallman ([email protected])
3796:
3797: * c-lex.c (readescape): For \x, don't include leading 0's in count.
3798:
3799: * c-decl.c (init_decl_processing): Fix type of __builtin_constant_p.
3800:
3801: * expr.c (emit_block_move): When trying movstrMM, cvt size to mode MM.
3802:
3803: * c-parse.y (stmt): For computed goto, convert arg to void *.
3804:
3805: * fold-const.c (fold): Do A op C1 ? A : C2 opt only for INTEGER_TYPEs.
3806:
3807: Wed Aug 26 20:19:56 1992 Mike Stump ([email protected])
3808:
3809: * cp-decl.c (insert_block, delete_block): New functions.
3810: * cp-parse.y (primary, using compstmt): Call delete_block instead
3811: of clearing TREE_USED.
3812:
3813: 11th Cygnus<-->FSF merge.
3814:
3815: Wed Aug 26 12:02:41 1992 Mike Stump ([email protected])
3816:
3817: * cp-decl.c (finish_function): Don't core dump when a conversion is
3818: ambiguous.
3819:
3820: Tue Aug 25 16:32:42 1992 Mike Stump ([email protected])
3821:
3822: * cp-init.c (build_new), cp-typeck.c (build_c_cast): Handle ``new
3823: type ( ... )'' better. Default constructors and better error
3824: checking.
3825:
3826: Tue Aug 25 01:21:48 1992 Mike Stump ([email protected])
3827:
3828: * cp-decl2.c (finish_file): Mark " @%$#@!" as being internal.
3829:
3830: Mon Aug 24 16:40:15 1992 Brendan Kehoe ([email protected])
3831:
3832: * cp-lex.c (check_newline): For `#pragma implementation', use
3833: strcmp to check if it was done at the top level, rather than relying
3834: on the pointers being the same.
3835:
3836: Mon Aug 24 20:48:16 1992 Mike Stump ([email protected])
3837:
3838: Fri Aug 21 14:19:27 1992 Ron Guilmette (rfg at ncd.com)
3839:
3840: * cp-decl2.c (grokclassfn): Mark the artificial `this' parameter as
3841: "artificial".
3842:
3843: Thu Aug 20 22:59:16 1992 Mike Stump ([email protected])
3844:
3845: * cp-spew.c (arbitrate_lookup): Make sure the type name in an
3846: argument list followed by &, or &) is seen as a type name, even when
3847: there is an enumeration constant with the exact same name.
3848:
3849: Thu Aug 20 21:58:30 1992 Mike Stump ([email protected])
3850:
3851: * cp-search.c (get_first_matching_virtual): Don't core dump when a
3852: declaration of a static member is seen with the same name as a base
3853: class virtual function.
3854:
3855: Thu Aug 20 21:20:31 1992 Mike Stump ([email protected])
3856:
3857: * cp-decl.c (finish_function): Don't core dump on parse errors.
3858:
3859: Thu Aug 20 20:52:43 1992 Mike Stump ([email protected])
3860:
3861: * cp-method.c (build_component_type_expr): Don't core dump on parse
3862: errors.
3863:
3864: Thu Aug 20 18:31:58 1992 Mike Stump ([email protected])
3865:
3866: Mon Aug 17 17:08:11 1992 Chip Salzenberg ([email protected])
3867:
3868: Copy some changes from the C front-end:
3869:
3870: * cp-type2.c (process_init_constructor): Warn about partly bracketed
3871: initializers.
3872: * cp-typeck.c (build_component_ref): Don't warn for compound and
3873: conditional expressions when pedantic. These are valid in ANSI C.
3874:
3875: Thu Aug 20 16:11:58 1992 Mike Stump ([email protected])
3876:
3877: * cp-decl.c (start_decl), cp-parse.y (have_extern_spec): extern "C"
3878: int i; is only a declaration, but a definition, make it so.
3879:
3880: Thu Aug 20 14:46:39 1992 Mike Stump ([email protected])
3881:
3882: Thu Aug 20 02:36:39 1992 Ron Guilmette (rfg at ncd.com)
3883:
3884: * cp-lex.c (cons_up_default_function): Use DECL_SOURCE_LINE = 0 for
3885: compiler generated things, not DECL_IGNORED_P.
3886:
3887: Thu Aug 20 13:13:45 1992 Mike Stump ([email protected])
3888:
3889: Wed Aug 19 13:09:45 1992 Ron Guilmette (rfg at ncd.com)
3890:
3891: * cp-decl.c (grokdeclarator): Propagate some changes from the C
3892: front-end to deal with variable sized arrays.
3893:
3894: Wed Aug 19 16:55:43 1992 Mike Stump ([email protected])
3895:
3896: * cp-cvt.c (convert_to_reference): Improve wording on error message.
3897: * cp-method.c (type_as_string), cp-pt.c
3898: (mangle_class_name_for_template), cp-xref.c (GNU_xref_decl): Delete
3899: first argument to type_as_string as it is not needed anymore.
3900:
3901: Wed Aug 19 15:29:02 1992 Mike Stump ([email protected])
3902:
3903: Wed Aug 19 13:09:45 1992 Ron Guilmette (rfg at ncd.com)
3904:
3905: * cp-decl.c (kept_level_p): Update from C frontend.
3906:
3907: Wed Aug 19 14:47:08 1992 Mike Stump ([email protected])
3908:
3909: * cp-decl2.c (groktypefield): Old style conversion operators
3910: are being desupported. Conversion operators much have an
3911: `operator' in front of them.
3912:
3913: Wed Aug 19 01:57:04 1992 Mike Stump ([email protected])
3914:
3915: * cp-call.c (ideal_candidate): Fix bug introduced on Jan 21
3916: 7:24:21. Warn about ambiguous function calls with multiple
3917: same cost conversions.
3918:
3919: Wed Aug 19 00:08:18 1992 Mike Stump ([email protected])
3920:
3921: * cp-decl.c (grok_enum_decls): Remove invalid error message.
3922:
3923: Mon Aug 17 18:59:18 1992 Mike Stump ([email protected])
3924:
3925: * cp-cvt.c (convert_to_reference, convert,
3926: build_type_conversion_1, build_type_conversion), cp-init.c
3927: (build_dynamic_new), cp-typeck.c (build_modify_expr_1,
3928: convert_for_initialization): Always use constructor_name, and
3929: never TYPE_IDENTIFIER (type) and similar things.
3930: * cp-init.c (expand_aggr_init_1): Try TYPE_HAS_CONSTRUCTOR
3931: before wasting time trying build_method_call.
3932: * cp-xref.c: Don't include memory.h.
3933:
3934: Mon Aug 17 15:10:21 1992 Mike Stump ([email protected])
3935:
3936: * cp-init.c (expand_aggr_init_1): Check for ambiguous
3937: conversion. One through constructor and the other through a
3938: user defined conversion operator.
3939:
3940: Mon Aug 17 11:51:27 1992 Mike Stump ([email protected])
3941:
3942: * cp-call.c (convert_harshness): When an argument is T, a T&
3943: should be choosen over a const T& when selecting overloaded
3944: functions.
3945:
3946: Mon Aug 17 01:37:06 1992 Mike Stump ([email protected])
3947:
3948: * cp-call.c (build_method_call): The second argument to
3949: operator delete is sometimes magically deleted.
3950: * cp-decl.c (init_decl_processing, grokfndecl): Global
3951: operator delete never has two arguments.
3952:
3953: Wed Aug 5 18:54:19 1992 Mike Stump ([email protected])
3954:
3955: * cp-class.c (finish_struct), cp-tree.c (layout_basetypes):
3956: Make sure VFIELD_BASEs are aligned. This fixes a really
3957: annoying problem that causes code that uses complex
3958: inheritance hierarchies that have virtual bases to get a
3959: segmentation fault.
3960:
3961: Wed Aug 5 12:35:07 1992 Mike Stump ([email protected])
3962:
3963: Wed Aug 5 08:10:34 1992 Tom Wood ([email protected])
3964:
3965: * cp-tree.c (__eprintf): `line' is unsigned.
3966: * cp-lex.c: Include stdlib.h and locale.h if needed.
3967: * cp-typeck.c (mark_addressable): Use DECL_EXTERNAL not
3968: TREE_EXTERNAL.
3969:
3970: Wed Aug 5 03:20:07 1992 Mike Stump ([email protected])
3971:
3972: * cp-class.c (finish_struct_methods): Check to make sure
3973: operator delete is not overloaded.
3974: * cp-decl.c (grokfndecl): Check to make sure operator delete
3975: is declared properly.
3976:
3977: Tue Aug 4 16:52:28 1992 Mike Stump ([email protected])
3978:
3979: Mon Aug 3 22:55:04 1992 Michael Meissner ([email protected])
3980:
3981: * cp-decl.c (grokdeclarator): Make sure const and volatile get
3982: put on the type built when building reference types.
3983: * cp-parse.y (attrib): tree_cons takes three arguments, not
3984: two.
3985: * cp-tree.h: Add hash_chainon, build_virtual_init,
3986: build_vbase_delete, build_vbase_vtables_init.
3987: * cp-typeck.c (build_modify_expr_1. build_modify_expr):
3988: build_unary_op takes three arguments, not two.
3989:
3990: Tue Aug 4 16:07:57 1992 Mike Stump ([email protected])
3991:
3992: Sat Aug 1 16:52:20 1992 John Carr ([email protected])
3993:
3994: * cp-decl.c (): Make sure the base type of an ARRAY_TYPE is
3995: layedout before using it.
3996:
3997: Wed Aug 26 17:04:45 1992 Richard Stallman ([email protected])
3998:
3999: * tree.h (current_block): Declared.
4000:
4001: Wed Aug 26 15:42:11 1992 Jeffrey A. Law ([email protected])
4002:
4003: Major rework to have caller-saves emit load/store double insns when
4004: possible and to avoid useless resaving of registers restored for
4005: source accesses only.
4006: * caller-save.c (toplevel): All arrays are multi-dimensional to
4007: hold information for multiple save/restore insns. New variable
4008: hard_regs_need_restore.
4009: (choose_hard_reg_mode): New argument `nregs' indicating how many
4010: hard registers are desired. All callers changed.
4011: (init_caller_save): Change initialization to handle multiple
4012: register saves. A call-used register can not be live across
4013: if we can not find a single register mode to save it in.
4014: (multiple register saves are optional)
4015: (init_save_areas): Change initialization of regno_save_mem to
4016: handle multiple register saves.
4017: (setup_save_areas): Allocate space for consecutive hard registers
4018: in aligned consecutive memory locations. When allocating space
4019: for consecutive hard registers, also initialize regno_save_mem
4020: for each hard register stored as a single word.
4021: (save_call_clobbered_regs): Initialize hard_regs_need_restore.
4022: Set hard_regs_need_restore to hard_regs_saved after crossing
4023: a call. Also recompute n_regs_saved. At the end of a basic block
4024: we need only restore registers in hard_regs_need_restore.
4025: (set_reg_live, clear_reg_live): Do the right thing for
4026: hard_regs_need_restore and hard_regs_saved.
4027: (restore_referenced_regs): Just return if X is a clobber.
4028: Test hard_regs_need_restore to determine when to restore a hard
4029: register from the save area.
4030: (insert_save_restore): Now returns the number of extra registers
4031: saved/restored. New argument `maxrestore' which constrains how
4032: many hard registers should be restored. All callers changed.
4033: Do stores of consecutive registers with double store insns if
4034: possible. Else do them with single word insns. Likewise for
4035: loads, except constrained by maxrestore. Set hard_regs_saved
4036: and hard_regs_need_restore appropriately to minimize useless
4037: saves into the save area. Test against hard_regs_need_restore
4038: when trying to restore multiple regs and similarly test against
4039: hard_regs_saved when storing multiple regs.
4040:
4041:
4042: Wed Aug 26 14:24:28 1992 Michael Meissner ([email protected])
4043:
4044: * mips.h (LINK_SPEC): Pass -shared, -non_shared on to linker.
4045: * mips-bsd.h (LINK_SPEC): Ditto.
4046: * mips-n5.h (LINK_SPEC): Ditto.
4047: * mips-svr4.h (LINK_SPEC): Ditto.
4048: * mips-sysv.h (LINK_SPEC): Ditto.
4049: * iris.h (LINK_SPEC): Ditto.
4050: * dec-osf1.h (LINK_SPEC): Ditto.
4051:
4052: * dec-osf1.h (DECSTATION): Don't define, since decstatn.h which is
4053: included defines it.
4054: (OBJECT_FILE_COFF): Undefine, since the DEC OSF/1 ldfcn doesn't
4055: look like the coff version.
4056:
4057: * decstatn.h (LINK_SPEC): Don't define if already defined.
4058:
4059: Wed Aug 26 13:56:08 1992 Tom Wood ([email protected])
4060:
4061: * reorg.c: Enhance to fill the last delay slot of a call with an
4062: unconditional jump.
4063: (fill_simple_delay_slots): Look for the case of a call/branch
4064: first. If this applies, record the jump as `last_delay_insn'.
4065: Later, don't look for additional delay insns if the last one has
4066: alreay been filled.
4067: (mark_target_live_regs): A sequence may end in an unconditional
4068: branch.
4069:
4070: * m88k.md (define_function_unit): Correct and simplify memory unit
4071: specification.
4072:
4073: Wed Aug 26 01:56:30 1992 Richard Stallman ([email protected])
4074:
4075: * c-decl.c (poplevel): Store into BLOCK iff it is non-null.
4076:
4077: Tue Aug 25 23:24:45 1992 Jim Wilson ([email protected])
4078:
4079: * sched.c: Add #ifdef INSN_SCHEDULING around variables only used
4080: by schedule_insns.
4081: (INSN_QUEUE_SIZE): Delete default definition.
4082:
4083: * optabs.c, expr.c: Partially undo Mar 7 change. Only call
4084: emit_library_call with no_queue == 1 for const functions.
4085:
4086: * sparc.c (SF_MODES): Allow SImode in fp registers.
4087: (output_floatsisf2, output_floatsidf2, output_floatsitf2): Delete.
4088: * sparc.h: Delete declarations of the above 3 functions.
4089: * sparc.md (float*, fix*): Rewrite to match hardware; take/put
4090: integer input/output from/to fp register instead of memory or
4091: general register. Delete 6 now obsolete combiner patterns.
4092:
4093: Tue Aug 25 16:40:15 1992 Brendan Kehoe ([email protected])
4094:
4095: * cccp.c (do_pragma): Warn if `#pragma implementation "foo.h"' is
4096: invoked after "foo.h" has been included.
4097:
4098: Tue Aug 25 16:29:47 1992 Richard Stallman ([email protected])
4099:
4100: * stmt.c (struct goto_fixup): New field context.
4101: (fixup_cleanups): Function deleted.
4102: (fixup_gotos): Put the fixup in a block, and put that block
4103: into its proper place. Use sequences, not reorder_insns.
4104:
4105: * c-decl.c (current_block): New function.
4106: (struct binding_level): New field this_block.
4107: (poplevel): Use this_block if nonzero, rather than making new BLOCK.
4108:
4109: * sched.c (INSN_QUEUE_SIZE): Add default definition.
4110:
4111: Tue Aug 25 15:19:26 1992 Tom Wood ([email protected])
4112:
4113: * sched.c (schedule_block): Add a virtual cycle counter CLOCK.
4114: Pass CLOCK to schedule_insn.
4115: Compute the tail in the scheduling loop, not before it.
4116: Enable the stall code that advances the insn queue.
4117: Select the insn to schedule and block others with schedule_select.
4118: (adjust_priority): Renamed from launch_link.
4119: (schedule_insn): Renamed from launch_links.
4120:
4121: * genattrtab.c (struct attr_desc): Add unsigned_p field.
4122: (struct function_unit_op): Add issue_delay, conflict_exp, and
4123: issue_exp fields. Drop busyexp field.
4124: (struct function_unit): Add needs_blockage_function,
4125: needs_range_function, issue_delay, and max_blockage fields. Drop
4126: costexp, and busy delay fields.
4127: (enum operator): Add POS_MINUS_OP, EQ_OP, MIN_OP, RANGE_OP.
4128: (operate_exp): Implement new ops.
4129: (make_internal_attr): Set unsigned_p based on the value of SPECIAL.
4130: (write_attr_get): Function is unsigned when unsigned_p is true.
4131: (write_attr_valueq): Write hex value of large constants in a comment.
4132: (simplify_by_exploding): Check for EXP having no EQ_ATTR expressions
4133: and for all values as the default.
4134: (find_and_mark_used_attributes): Add TERMS and NTERMS parameters.
4135: (max_attr_value): Allow IF_THEN_ELSE.
4136: (simplify_knowing, write_complex_function, extend_range): New
4137: functions.
4138: (gen_unit): Use local variables to name the fields. Change the
4139: meaning of busy-delay to issue-delay.
4140: (expand_units): Compute issue_exp. Write attributes for computing
4141: `<name>_unit_blockage' and `<name>_unit_blockage_range' functions.
4142: Compute max_blockage, and the needs_*_function values.
4143: (write_function_unit_info): Write blockage function and conflict cost
4144: functions using write_complex_function. Write new function_unit_desc
4145: fields.
4146: * genattr.c (extend_range, init_range): New functions.
4147: (write_units): Add blockage_function, blockage_range_function,
4148: max_blockage and max_issue_delay fields to struct function_unit_desc.
4149: Drop max_busy_cost field. Write #defines for min/max blockage,
4150: issue delay, multiplicity, and simultaneity and for BLOCKAGE_BITS
4151: and INSN_QUEUE_SIZE.
4152: (main): Compute the new values.
4153: * sched.c (insn_queue): Use INSN_QUEUE_SIZE.
4154: * rtl.def (define_function_unit): Update documentation.
4155:
4156: * sched.c (insn_units, insn_blockage, insn_tick, unit_last_insn,
4157: unit_tick, unit_n_insns): New variables.
4158: (schedule_insns): Allocate and initialize insn_tick, insn_units, and
4159: insn_blockage.
4160: (insn_unit, blockage_range, clear_units, prepare_unit, schedule_unit,
4161: actual_hazard_this_instance, actual_hazard, potential_hazard,
4162: schedule_select): New functions.
4163: (schedule_block): Add dependencies to force insns to remain in order
4164: at the end of a block rather than relying on having the scheduler
4165: issue them in priority order.
4166:
4167: * sched.c (insn_cost): Add LINK and USED parameters. All callers
4168: changed. Supply an ADJUST_COST interface.
4169: (insn_cost): Make a dependence from a USE insn free.
4170: (priority): Clear the link cost adjustment bits.
4171: * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): New macros.
4172:
4173: * genattrtab.c (expand_units): Use the normalized values of the
4174: unit's CONDEXP and BUSYEXP.
4175:
4176: * a29k.md (define_function_unit): Change meaning to ISSUE-DELAY.
4177: * i960.md (define_function_unit): Change meaning to ISSUE-DELAY.
4178: * m88k.md (type attribute, movdi movdf insns): Add loadd.
4179: (unit attribute): Delete.
4180: (function units): Correct simultaneity values. Break out
4181: independent units. Add conflict matrix for the 88100 load double.
4182: * mips.md (define_function_unit): Change meaning to ISSUE-DELAY.
4183: * pa.md (define_function_unit): Change meaning to ISSUE-DELAY.
4184: * sparc.md (define_function_unit): Change meaning to ISSUE-DELAY.
4185: Merge FP_MUL, FP_DIV, and FP_SQRT into one function unit.
4186:
4187: * jump.c (delete_computation): Derived from delete_jump.
4188: (delete_jump): Use delete_computation.
4189:
4190: Tue Aug 25 13:42:19 1992 Richard Stallman ([email protected])
4191:
4192: * final.c (final_scan_insn): If 2 consec line notes have same line num,
4193: can omit one.
4194:
4195: Tue Aug 25 13:38:19 1992 Michael Meissner ([email protected])
4196:
4197: * mips.h (MIPS_VERSION): Set Meissner version # to 24.
4198: (ASM_FINAL_SPEC): Use %U to get the last file name created with
4199: %u, rather than %u.
4200: (ARG_POINTER_REGNUM): Use the hardwired register $0 as the
4201: argument pointer, instead of the frame pointer, to allow the frame
4202: pointer to be the same as the stack pointer after the initial
4203: stack allocations. This is to allow GCC generated code to be
4204: linked against MIPS shared libraries. The linker rearranges the
4205: code, and needs to have a frame pointer, if used, to be the same
4206: as the stack. The argument pointer is always eliminated in favor
4207: of the stack pointer or frame pointer.
4208: (FRAME_GROWS_DOWNWARD): Don't define this any more.
4209: (STARTING_FRAME_OFFSET): Locals start after the stack area to pass
4210: arguments to called functions.
4211: (STACK_DYNAMIC_OFFSET): If function is a leaf function, but calls
4212: __builtin_alloca, assume a default argument area, so the MIPS
4213: linker doesn't think a second frame pointer is created.
4214: (INITIAL_FRAME_POINTER_OFFSET): Don't define, since we use
4215: elimination instead.
4216: (ELIMINABLE_REGS): Define to eliminate both the stack pointer and
4217: frame pointer, since they are now separate.
4218: (CAN_ELIMINATE): Ditto.
4219: (INITIAL_ELIMINATION_OFFSET): Ditto.
4220: (ELIGIBLE_FOR_EPILOGUE_DELAY): Don't allow variables based off of
4221: the argument pointer, in addition to frame and stack pointers.
4222: (MUST_SAVE_REGISTER): Add in GP_REG_FIRST to 31, in case we ever
4223: change the base of the gp registers.
4224: (MIPS_STACK_ALIGN): Use ~7, instead of 0xfffffff8.
4225:
4226: * mips.c (number_functions_processed): Delete variable, nobody
4227: uses it anymore.
4228: (mips_debugger_offset): Add support for the frame pointer being
4229: the same as the stack pointer, instead of being the same as the
4230: argument pointer. Abort if the address is not based on any of the
4231: stack, frame, or argument pointers.
4232: (print_operand_address): Add checks for the arg pointer not being
4233: eliminated.
4234: (function_prologue): Ditto.
4235: (mips_expand_prologue): Ditto.
4236: (function_epilogue): Ditto.
4237: (mips_expand_epilogue): Ditto.
4238: (function_epilogue): Strip leading '*' if it exists from
4239: current_function_name when printing statistics. Delete increment
4240: of number_functions_processed.
4241: (compute_frame_size): Don't base extra_size on the macro
4242: STARTING_FRAME_OFFSET. If function is a leaf function, but calls
4243: __builtin_alloca, allocate an arg area, so that the MIPS linker
4244: will not complain about creating a second frame pointer. Move the
4245: argument save area beneath local variables.
4246:
4247: * decrose.h (ASM_FINAL_SPEC): Use %U to get the last file name
4248: created with %u, rather than %u.
4249:
4250: * gcc.c (do_spec_1): Add %U to return the last name generated with
4251: %u. This is for use with mips-tfile, to find the generated object
4252: file.
4253:
4254:
4255: Mon Aug 24 18:09:34 1992 Richard Stallman ([email protected])
4256:
4257: * c-typeck.c (build_unary_op): For ADDR_EXPR, just set TREE_CONSTANT
4258: if staticp, but don't clear TREE_CONSTANT.
4259:
4260: Mon Aug 24 13:52:13 1992 Brendan Kehoe ([email protected])
4261:
4262: * gcc.c (process_command): Don't set verbose_flag if they make a
4263: typo (e.g., `-v-E'); only when it's exactly "-v".
4264:
4265: Mon Aug 24 06:49:16 1992 Richard Kenner ([email protected])
4266:
4267: * combine.c (subst): When moving operation inside IF_THEN_ELSE,
4268: make a new rtx instead of using SUBST due to sharing.
4269:
4270: * combine.c (simplify_comparison): Correct test for sign extension
4271: when trying to widen comparison.
4272:
4273: Sun Aug 23 18:58:33 1992 Richard Stallman ([email protected])
4274:
4275: * fold-const.c (fold): Avoid the normal STRIP_NOPS on arg of NOP_EXPR.
4276:
4277: Sun Aug 23 15:32:03 PDT 1992 Ron Guilmette (rfg at netcom.com)
4278:
4279: * stmt.c (expand_end_bindings): Generation of NOTE_INSN_BLOCK_END
4280: moved down so that it occurs after call to `expand_cleanups'.
4281:
4282: Sun Aug 23 16:24:32 1992 Michael Meissner ([email protected])
4283:
4284: * decrose.h (CPP_SPEC): Don't define strcmp as __builtin_strcmp in
4285: the case neither -fbuiltin nor -fno-builtin were defined.
4286: * i386rose.h (CPP_SPEC): Ditto.
4287:
4288: Sun Aug 23 02:03:41 1992 Richard Stallman ([email protected])
4289:
4290: * libgcc2.c (__builtin_new): Cast the result of malloc.
4291:
4292: * toplev.c: Fix typo in prev change.
4293:
4294: * c-decl.c (insert_block, delete_block): New functions.
4295: * c-parse.y (primary, using compstmt): Call delete_block
4296: instead of clearing TREE_USED.
4297: * expr.c (expand_expr): For BIND_EXPR, call insert_block on the block.
4298:
4299: Sat Aug 22 14:12:02 1992 Richard Stallman ([email protected])
4300:
4301: * configure: Use absolute pathname in value of INSTALL.
4302:
4303: Sat Aug 22 06:42:39 1992 Tom Wood ([email protected])
4304:
4305: * emit-rtl.c (insn_emit_once): Provide a zero constant for CC modes.
4306:
4307: Fri Aug 21 18:33:30 1992 Jeffrey A. Law ([email protected])
4308:
4309: * reorg.c (fill_simple_delay_slots): Always try to fill empty
4310: delay slots with insns from beyond the delay insn, even if
4311: optimize_skip was attempted.
4312: (fill_simple_delay_slots): When filling with insns from after the
4313: delay insn, make sure to always account for the sets and
4314: references in the delay insn.
4315:
4316: Fri Aug 21 16:47:06 1992 Richard Stallman ([email protected])
4317:
4318: * sparc.c (print_operand): Use output_operand_error for unknown code.
4319:
4320: * c-typeck.c (build_conditional_expr): Use TREE_READONLY and
4321: TREE_THIS_VOLATILE, not TYPE_...
4322:
4323: Fri Aug 21 14:02:20 1992 James Van Artsdalen (james at bigtex.cactus.org)
4324:
4325: * reload.c (find_dummy_reload): Restore original RTX instead of
4326: passed IN rtx.
4327:
4328: Fri Aug 21 07:53:12 1992 Richard Kenner ([email protected])
4329:
4330: * optabs.c (expand_binop): If, e.g., mulqi3 doesn't exist, try
4331: mulqihi3.
4332:
4333: * rs6000.h (FUNCTION_ARG): Don't make an EXPR_LIST if making a libcall.
4334:
4335: * combine.c (subst): Move up test for too many restarts.
4336: If we restart, clear OP0_MODE since we don't know it.
4337:
4338: Fri Aug 21 02:11:43 1992 Richard Stallman ([email protected])
4339:
4340: * emit-rtl.c (emit_insns_after): New function.
4341:
4342: Fri Aug 21 01:53:04 1992 Jeffrey A. Law ([email protected])
4343:
4344: * pa.md (call_value+1): For non-dynamic calls, use the "call"
4345: attribute, set length to 1, and fix output template to work
4346: properly with delay slots.
4347:
4348: * pa.md (address and use_call_clobbered attributes): Deleted,
4349: these attributes are useless. All references deleted.
4350: (call define delay): Use "in_branch_delay" as the condition since
4351: "call" delay slots and unconditional "branch" delay slots allow the
4352: same type of insns.
4353: (in_call_delay conditional): Deleted.
4354: (branch define delay): Do not define an annul-if-true delay slot.
4355: It is useless for an unconditional branch.
4356: (all delay branch conditionals): Make sure "call", "dyncall", "multi",
4357: and "milli" insns are explicitly disallowed in delay slots.
4358:
4359: * pa.c (output_mul_insn): Delete nop after branch in template,
4360: conditionally emit a nop if the delay slot was not filled. (via %#)
4361:
4362: * pa.c (output_function_prologue): Handle profiling in a function
4363: without a frame pointer.
4364:
4365: Thu Aug 20 16:16:40 1992 Tom Wood ([email protected])
4366:
4367: * va-m88k.h (__INT_VARARGS_H): Define this to avoid trouble on DG/UX.
4368:
4369: Thu Aug 20 11:07:26 1992 Michael Meissner ([email protected])
4370:
4371: * final.c: Move include of stdio.h before output.h.
4372:
4373: Thu Aug 20 01:08:55 1992 Pat Rankin (rankin at eql.caltech.edu)
4374:
4375: Support for bootstrapping cpp & cc1 with VAX C under VMS.
4376:
4377: * xm-vax-vms.h (USE_C_ALLOCA,NO_STAB_H): Define for VAXC.
4378: (bcopy,bzero,bcmp,index,rindex): Define as ANSI/SYSV counterparts.
4379: (QSORT_WORKAROUND, qsort): New macros, for avoiding buggy
4380: qsort in VAXCRTL library.
4381: (check_for_full_enumeration_handling,...): Use macros to shorten
4382: several external names which are longer than 31 characters to
4383: avoid warnings about truncation.
4384: (unlink): Remove redundant definition.
4385: * vax.c (not_qsort): New function.
4386: * cccp.c (toplevel: create_definition): Move forward declaration
4387: past the definition of struct macrodef.
4388: (strncat): New function.
4389: (bcopy, bzero, bcmp): Remove #if VMS code--always use inline C loops.
4390: * genrecog.c, reload1.c: Compare enums (preds. codes, mem_mode)
4391: explicitly to 0 in conditionals to work-around a VAXC bug that
4392: disallows enum as arguments to && and || operators.
4393: * getpwd.c (getpwd): Add alternative defn for VMS.
4394: * toplev.c (environ): Make declaration conditional.
4395: (main: -g debugging setup): Get rid of \ in #if condition.
4396: * make-cccp.com,make-cc1.com (CC,CFLAGS,LIBS): Add commented command
4397: variants for bootstrapping gcc-cpp and gcc-cc1 with VAXC.
4398: * make-cccp.com (alloca): Build alloca.obj from alloca.c if LIBS needs it.
4399:
4400: Not yet installed:
4401:
4402: * machmode.h (FILE_TYPE): For VMS, make sure FILE_TYPE is not
4403: defined as a macro, so that VAXC's <stdio.h> won't break tree.h.
4404: * genemit.c (gen_exp): #if VAXC, output a newline in front of
4405: gen_rtx calls, to prevent excessively long lines in insn-emit.c.
4406:
4407: Thu Aug 20 11:32:18 1992 Michael Tiemann ([email protected])
4408:
4409: * cp-tree.h: Fix incorrect comment about "$this" needing to
4410: be lexicographically less than any other identifier.
4411:
4412: Thu Aug 20 05:37:00 1992 Richard Kenner ([email protected])
4413:
4414: * a29k.md (load_multiple): Operand 2 should be a MATCH_OPERAND.
4415: (store_multiple_{,no_}bug): Likewise.
4416:
4417: * reorg.c (mark_set_resources): Fix two bugs in last change.
4418:
4419: * expr.c (init_expr_once): Set direct_load and direct_store if SOME
4420: hard register can be loaded or stored; not just if the first one
4421: we pick can be.
4422:
4423: Thu Aug 20 01:40:43 1992 Richard Stallman ([email protected])
4424:
4425: * combine.c, emit-rtl.c, final.c, gcc.c, genattrtab.c, mips-tfile.c:
4426: Put include of stdio.h after GCC header files
4427: (for i860-stardent-sysv4).
4428: * tree.c: Likewise.
4429:
4430: * fixincludes (stdio.h): Rename va_list to __va_list__ to coexist
4431: with gvarargs.h.
4432:
4433: Wed Aug 19 21:06:49 1992 Jim Wilson ([email protected])
4434:
4435: * cccp.c (finclude): Increment indepth before calling
4436: trigraph_pcp, so that warning uses the correct file name.
4437:
4438: Wed Aug 19 07:07:41 1992 Richard Kenner ([email protected])
4439:
4440: * combine.c (force_to_mode): Add missing test of and_optab.
4441:
4442: * genconfig.c (have_cmove_flag): New variable.
4443: (walk_insn_part): Add new parm NON_PC_SET_SRC; all callers change.
4444: Look for IF_THEN_ELSE in a SET_SRC that isn't setting PC and
4445: set have_cmove_flag if so.
4446: (main): Define HAVE_conditional_move if have_cmove_flag is non-zero.
4447: * combine.c (subst, case AND): Only make IF_THEN_ELSE if conditional
4448: moves exist.
4449:
4450: * cse.c (find_comparison_args): Look for comparison operations
4451: if the second arg is 0 in any mode.
4452: (record_jump_cond): Don't make classes equivalent for floating-point
4453: equality comparison.
4454:
4455: * local-alloc.c (alloc_qty_for_scratch, block_alloc): Provide
4456: alternate code in some cases when REGISTER_CONSTRAINTS is not
4457: defined.
4458: (requires_inout_p): Only used when REGISTER_CONSTRAINTS is defined.
4459:
4460: * reorg.c (mark_set_resources): Add new parm IN_DEST; add callers
4461: changed.
4462: Rework to scan an entire insn to look for auto-inc operations.
4463:
4464: * unroll.c (copy_loop_body): Add missing declaration of EXIT_LABEL
4465: parameter.
4466:
4467: * function.c (instantiate_decl): New function.
4468: (instantiate_decls{,_1}): Call it.
4469:
4470: * combine.c (simplify_comparison): Add a few more cases where we can
4471: do the comparison in a wider mode.
4472:
4473: * combine.c (distribute_notes, REG_EQUAL): Don't put back a note
4474: with a non-constant expression since it may no longer be valid.
4475:
4476: Tue Aug 18 23:07:33 1992 Mike Stump ([email protected])
4477:
4478: * expr.c (expand_expr): The first expansion of a TARGET_EXPR
4479: is marked by DECL_RTL (slot) being filled in AND TREE_OPERAND
4480: (exp, 1) being wiped-out with a NULL_TREE, not just the
4481: DECL_RTL (slot) being filled in.
4482:
4483: Tue Aug 18 00:07:23 1992 Dennis P. Glatting ([email protected])
4484:
4485: * objc-actions.c
4486: (build_selector_translation_table): NULL-terminate the
4487: selector list. Mark _OBJC_SELECTOR_REFERENCES_decl as static,
4488: not extern.
4489:
4490: Tue Aug 18 21:38:46 1992 Mike Stump (mrs@hal)
4491:
4492: * xcoffout.c (assign_type_number): Skip decls with no name.
4493:
4494: * expr.c (expand_expr): When expanding TARGET_EXPRs, make sure
4495: that they are only expanded once, after the first expansion,
4496: the rtl can be used without further expansions.
4497:
4498: Tue Aug 18 12:58:33 1992 Richard Stallman ([email protected])
4499:
4500: * x-i386sco (X_CFLAGS): Defined.
4501:
4502: * stmt.c (expand_return): Call emit_queue in ignore-the-value case.
4503: (expand_end_bindings): Check DECL_IN_SYSTEM_HEADER for unused warnings.
4504:
4505: * combine.c (simplify_comparison):
4506: Rearrange conditional in SUBREG case.
4507:
4508: Tue Aug 18 06:49:43 1992 Tom Wood ([email protected])
4509:
4510: * cccp.c (HOST_WIDE_INT): Copy definition from machmode.h.
4511:
4512: * c-typeck.c (parser_build_binary_op): Replace the assignment of CLASS.
4513:
4514: * configure (Makefile edits): Make the edits independent.
4515: * Makefile.in (sed marker): Use the order {target, host, cross-make}.
4516:
4517: Tue Aug 18 00:15:12 1992 Richard Stallman ([email protected])
4518:
4519: * c-typeck.c (parser_build_binary_op):
4520: For Z<Y<Z warning, test class of CODE; don't use TREE_CODE (result).
4521:
4522: * cccp.c (pcfinclude): Use HOST_WIDE_INT for rounding a pointer.
4523:
4524: Mon Aug 17 14:57:18 1992 Richard Stallman ([email protected])
4525:
4526: * c-typeck.c (digest_init): Test TREE_TYPE (inside_init) is
4527: nonzero before testing anything else about it.
4528:
4529: * i860.md (mulsi3): Use emit_insn on results of gen fcns.
4530: Return with DONE.
4531:
4532: Mon Aug 17 11:50:23 1992 Mark Eichin ([email protected])
4533:
4534: * cccp.c (do_include): If search_start is NULL, complain that
4535: we had nowhere to look.
4536:
4537: Mon Aug 17 14:53:46 1992 Jim Wilson ([email protected])
4538:
4539: * function.c (assign_parms): When copy arg passed by invisible
4540: reference to pseudo reg, don't use nominal_mode.
4541:
4542: * i960.c (i960_address_cost): Don't abort for invalid addresses.
4543:
4544: Mon Aug 17 14:29:33 1992 Richard Stallman ([email protected])
4545:
4546: * c-typeck.c (digest_init):
4547: Use TYPE_MAIN_VARIANT comparing type of inside_init.
4548:
4549: Mon Aug 17 10:32:08 1992 Michael Meissner ([email protected])
4550:
4551: * genattrtab.c (simplfy_with_current_value): Return 'exp' to
4552: caller instead of random value.
4553: (convert_set_attr_alternative): Delete unused variable newexp.
4554: (simplify_cond): Delete unused variable spacer.
4555: (make_alternative_compare): Delete unused variable alternative.
4556: (optimize_attr): Delete unused variable nextie.
4557: (main): Delete unused variable av.
4558: (simplify_by_alternatives): #if 0, since the only caller is also
4559: #ifdef'ed away.
4560: (copy_rtx_unchanging): #if 0 variables that are only used inside
4561: of other code under #if 0.
4562:
4563: Mon Aug 17 07:37:41 1992 Richard Kenner ([email protected])
4564:
4565: * a29kunix.h (LINK_SPEC): Add %s for default.ld.
4566: (LINK_LIBGCC_SPECIAL): No longer needed.
4567: (ASM_FILE_STARY): Add shared data section.
4568: (SHARED_SECTION_ASM_OP): New macro.
4569: (OVERRIDE_OPTIONS): If -fshared-data, add -fno-common.
4570:
4571: * alpha.c (alpha_function_needs_gp): New variable.
4572: (output_prolog): Set it.
4573: Write label after LDGP if function has recursive call and needs GP.
4574: (current_function_operand, divmod_operator, alpha_gp_dead_after):
4575: New functions.
4576: (print_operand, case 'E', 'F'): New cases.
4577: (alpha_need_gp): Just test for type of LDSYM, not CALL_INSN.
4578: * alpha.h (GO_IF_LEGITIMATE_ADDRESS): Allow a SYMBOL_REF for
4579: the current function as a valid address.
4580: * alpha.md (divXi3, udivXi3, modXi3, umodXi3): New patterns.
4581: (cmov): Add pattern for addq/cmov for signed divide by power of 2.
4582: (call): Omit GP restore if it is dead.
4583: Add patterns for recursive calls.
4584: (branch): Change type of everything but calls to IBR.
4585: (unaligned_storehi): Fix numbering of operands.
4586: * xm-alpha.h (malloc, realloc, sbrk): Declare as void * if __STDC__.
4587:
4588: * libgcc2.c (builtin_new): Remove declaration of malloc.
4589:
4590: * expmed.c (expand_mult): Bound second synth_mult cost by cost of
4591: algorithm from first call.
4592:
4593: * expmed.c (expand_divmod): When doing logical operations, the size
4594: of COMPUTE_MODE should be used, not MODE.
4595:
4596: * combine.c (struct undo, struct undo_int): Replace non-portable
4597: usage with some unions.
4598: (SUBST, SUBST_INT, undo_all, gen_rtx_combine): Make consistent
4599: with new definitions.
4600:
4601: * fold-const.c (fold): Move conversion back outside of COND_EXPR
4602: if moving it inside didn't help anything.
4603:
4604: * fold-const.c (div_and_round_double): Change some more ints
4605: to HOST_WIDE_INTs.
4606:
4607: * jump.c (jump_optimize): Allow SUBREG in many places where REG
4608: is allowed.
4609:
4610: * expr.c (expand_expr, case COMPONENT_REF): Don't actually do
4611: extraction from memory if we want address.
4612:
4613: * expr.c (emit_block_move): Fix problems in last change.
4614:
4615: Mon Aug 17 03:37:10 1992 Richard Stallman ([email protected])
4616:
4617: * collect2.c (is_ctor_dtor): Don't collect cfront init fcns.
4618:
4619: * Makefile.in (GCC_FOR_TARGET): Put -B./ here.
4620: (GCC_CFLAGS): Not here.
4621:
4622: Sun Aug 16 10:38:10 1992 Torbjorn Granlund ([email protected])
4623:
4624: * ns32k.c (print_operand_address): Fix typo.
4625:
4626: Sat Aug 15 20:23:39 1992 Richard Stallman ([email protected])
4627:
4628: * cccp.c (PTR_INT_TYPE): Don't define this.
4629: (pcfinclude): Use int, not PTR_INT_TYPE.
4630:
4631: Sat Aug 15 11:10:07 1992 Michael Meissner ([email protected])
4632:
4633: * mips.h (ASM_FINAL_SPEC): For output of as when -c is not used, use
4634: %u rather than %g so each object filename will be unique.
4635: * decrose.h (ASM_FINAL_SPEC): Ditto.
4636:
4637: * x-decrose (CLIB, X_CFLAGS): Don't link in libbsd.a, instead use
4638: -Dvfork=fork on the command line.
4639: * x-encrose (CLIB, X_CFLAGS): Ditto.
4640: * x-i386rose (CLIB, X_CFLAGS): Ditto.
4641:
4642: Sat Aug 15 06:36:15 1992 Richard Kenner ([email protected])
4643:
4644: * cccp.c: Remove declaration of malloc and realloc.
4645:
4646: * combine.c (get_last_value): Don't go past a CODE_LABEL when
4647: searching for a value.
4648:
4649: * expr.c (convert_move): Copy SUBREG to REG in one more case.
4650:
4651: * expr.c (do_jump*): Always do comparison in object's signedness
4652: now that combine can remove extraneous sign extends.
4653:
4654: Sat Aug 15 00:52:08 1992 Richard Stallman ([email protected])
4655:
4656: * fixincludes (ansi_compat.h): Replace this with an empty file.
4657:
4658: * gcc.c (process_command): In second loop over all switches,
4659: don't increment I for switches that don't have separate arguments.
4660:
4661: * cccp.c: Don't ever include stddef.h.
4662: (append_include_chain): Avoid using size_t.
4663: (initialize_builtins): Output defn of __WCHAR_TYPE__ just once.
4664:
4665: * ns32k.md (movstrsi1): Renamed from movstrsi.
4666: (movstrsi): New define_expand.
4667:
4668: Fri Aug 14 18:51:57 1992 Jim Wilson ([email protected])
4669:
4670: * sched.c (attach_deaths_insn): Don't call attach_deaths for CLOBBERs.
4671:
4672: Fri Aug 14 18:47:22 1992 Tom Wood ([email protected])
4673:
4674: * genattr.c (write_units): Write #defines for the number of
4675: function units, the min/max ready cost and min/max busy delay.
4676: Add max_busy_cost field to struct function_unit_desc.
4677:
4678: * genattrtab.c (simplify_by_exploding, find_and_mark_used_attributes,
4679: unmark_used_attributes, add_values_to_cover, increment_current_value,
4680: test_for_current_value, simplify_with_current_value,
4681: simplify_with_current_value_aux): New functions.
4682: (struct function_unit): Add max_busy_cost, {min,max}_busy_delay.
4683: (expand_units): Use simplify_by_exploding to simplify the
4684: function_units_used attribute. Compute the ready cost attributes
4685: as a COND in numeric order.
4686: (gen_unit): Compute {min,max}_ready_cost and {min,max}_busy_delay.
4687: (write_function_unit_info): Determine if there is only one busy
4688: delay value by comparing the minimum and maximum busy delay.
4689: Write the initializer for function_units in numeric order.
4690: Write out the maximum busy delay field.
4691:
4692: * genattrtab.c (attr_desc): Add negative_ok field.
4693: (find_attr, make_internal_attr): Initialize negative_ok.
4694: (check_attr_value): Allow negative values for CONST_STRING for
4695: numeric attributes with negative_ok.
4696: (encode_units_mask): Change the encoding of the function_units_used
4697: result.
4698:
4699: * gcc.c (do_spec_1): Add %u.
4700: (default_compilers): For output of as when -c is not used, use %u
4701: rather than %g so each object filename will be unique.
4702:
4703: * cexp.y, cccp.c, gcc.c (NULL_PTR): Use the same definition as
4704: rtl.h and tree.h.
4705:
4706: Fri Aug 14 20:53:00 1992 Paul Eggert ([email protected])
4707:
4708: * c-decl.c (grokdeclarator): Remove duplicate diagnostic for
4709: initialized parameters; start_decl already does this.
4710:
4711: * c-common.c (truthvalue_conversion): Optionally warn if an
4712: unparenthesized assignment is used as a truth value.
4713: * c-parse.y, objc-parse.y (expr_no_commas):
4714: Mark assignments for warning.
4715:
4716: Fri Aug 14 14:45:39 1992 Richard Stallman ([email protected])
4717:
4718: * vax.md (casesi1): Renamed from casesi.
4719: (casesi): New trivial define_expand invokes casesi1.
4720: (movstrhi, movstrhi1): Analogous change.
4721:
4722: Fri Aug 14 14:36:52 1992 Tom Wood ([email protected])
4723:
4724: * reload.c (find_reloads): Ignore `%' in the last operand after
4725: warning.
4726:
4727: Fri Aug 14 07:41:34 1992 Richard Kenner ([email protected])
4728:
4729: * genflags.c (num_operands): MATCH_PARALLEL also represents an operand.
4730:
4731: * jump.c (invert_exp, redirect_exp): No longer static.
4732: Clean up order of declarations at start of file and remove
4733: extraneous decls.
4734: * unroll.c (copy_loop_body): Don't assume (pc) can be on either
4735: leg of jump; use invert_exp and redirect_exp instead.
4736:
4737: * alpha.c, alpha.h, alpha.md, xm-alpha.h, x-alpha, va-alpha.h:
4738: New files.
4739: * config.sub: Add "alpha".
4740: * configure: Likewise.
4741: * Makefile.in (USER_H): Add va-alpha.h and sort names.
4742: * gstdarg.h, gvarargs.h: Call va-alpha.h for Alpha.
4743:
4744: * rtl.def (MATCH_PAR_DUP): New RTL code.
4745: * genconfig.c (walk_insn_part): Treat it just like MATCH_OP_DUP.
4746: * genemit.c (max_operand_1): Likewise.
4747: (gen_exp): Treat it like MATCH_PARALLEL here.
4748: * genextract.c (walk_rtx): Treat it like MATCH_DUP.
4749: * genoutput (scan_operands): Likewise.
4750: * genpeep.c (match_rtx): Likewise.
4751: * genrecog.c (add_to_sequence): Likewise.
4752: * a29k.md, rs6000.md ({load,store}_multiple): Use MATCH_PAR_DUP.
4753:
4754: * cse.c (fold_rtx): Fix typo in two FLOAT_STORE_FLAG_VALUE tests.
4755:
4756: * flow.c (life_analysis, propagate_block, dump_flow_info): Add more
4757: missing casts to REGSET_ELT_TYPE.
4758:
4759: * expr.c (movstr_optab): New variable.
4760: (init_expr_once): Initialize it.
4761: (emit_block_move): Rework code that generates movstrxx insns to
4762: check predicates and use an optab.
4763:
4764: * cse.c (simplify_unary_operation): Remove "else".
4765:
4766: Fri Aug 14 07:41:05 1992 Torbjorn Granlund ([email protected])
4767:
4768: * c-decl.c, cse.c, fold-const.c, integrate.c, obstack.h, protoize.c,
4769: reload1.c, stmt.c, tree.c, tree.h: Phicks speling erours.
4770:
4771: Fri Aug 14 03:21:17 1992 Richard Stallman ([email protected])
4772:
4773: * c-convert.c (convert): When converting to variant of same type, fold.
4774:
4775: * varasm.c (assemble_variable): Change error message for unknown size.
4776:
4777: * c-parse.y (declmods): Don't warn for multiple storage classes
4778: all at the beginning. This is either good practice or an error.
4779:
4780: Thu Aug 13 19:43:13 1992 Paul Eggert ([email protected])
4781:
4782: * c-decl.c (finish_decl): Avoid cascading messages for tentative
4783: definitions with incomplete types.
4784:
4785: * c-typeck.c (process_init_constructor): Warn about partly
4786: bracketed initializers.
4787:
4788: Thu Aug 13 17:18:49 1992 Richard Stallman ([email protected])
4789:
4790: * cccp.c (handle_directive): Output macro name if dump_names.
4791:
4792: * m68k.h: Delete junk line inserted by mistake in last patch.
4793:
4794: Thu Aug 13 16:46:58 1992 Tom Wood ([email protected])
4795:
4796: * regclass.c (regclass): Don't scan the constraints if there aren't
4797: any operands. Don't look for a commutative constraint in the last
4798: operand.
4799:
4800: * function.c (contains): Return the number of insns.
4801: (reposition_prologue_and_epilogue_notes): Count all the prologue and
4802: epilogue insns.
4803:
4804: Thu Aug 13 15:20:24 1992 Jim Wilson ([email protected])
4805:
4806: * m68k.h (TARGET_SWITCHES): Make -m68040 set 01007 not 01000.
4807:
4808: * sparc.h (CPP_SPEC): For -mv8, define __sparc_v8__ not __sparcv8__.
4809: * longlong.h (__sparclite__): Define umul_ppmm, udiv_qrnnd, and
4810: count_leading_zeros for this sparc architecture variant.
4811: (__sparc_v8__): Changed from __sparc8__.
4812:
4813: * c-typeck.c (build_component_ref): Don't warn for compound and
4814: conditional expressions when pedantic. These are valid in ANSI C.
4815:
4816: Thu Aug 13 11:37:57 1992 Jeffrey A. Law ([email protected])
4817:
4818: * pa.c (output_function_prologue): Restore "rp" after the call to
4819: mcount.
4820:
4821: Thu Aug 13 06:54:50 1992 Torbjorn Granlund ([email protected])
4822:
4823: * pa.md (movsf recognizer): Output `fcpy,sgl', not `fcpy'.
4824: From Jeff Law:
4825: * pa.md (zdepi in HImode): Move this pattern after the standard
4826: movhi patterns.
4827:
4828: Wed Aug 12 11:45:15 1992 Michael Meissner ([email protected])
4829:
4830: * mips.h (ASM_FINAL_SPEC): For output of as when -c is not used,
4831: use %g, rather than %b, because the file is going to be deleted
4832: anyway (sync up with gcc.c Aug 4 changes). Patch from Jim Meyering.
4833:
4834: * decrose.h (ASM_FINAL_SPEC): Ditto.
4835:
4836: Wed Aug 12 03:23:30 1992 Richard Stallman ([email protected])
4837:
4838: * fixincludes (finding all .h files): Look for links as well as
4839: ordinary files.
4840:
4841: * m68k.h (TARGET_68040): Test for 01000 or 0400.
4842: (TARGET_SWITCHES): Rename -m68040 to -m68020-40.
4843: Rename -m68040-only to -m68040.
4844:
4845: * hp2bsd.h (TARGET_DEFAULT): Make value 0.
4846:
4847: Tue Aug 11 04:23:35 1992 Paul Eggert ([email protected])
4848:
4849: * fold-const.c (operand_equal_p): Make it clear that this function
4850: tests for indistinguishable values, not for equality as computed by
4851: `=='; the distinction is important for IEEE NaNs and -0.0.
4852:
4853: Tue Aug 11 13:10:47 1992 Fred Fish (fnf at fishpond)
4854:
4855: * config.sub (amigaunix/amix): Use sysv4 as os.
4856: * configure (m68k-*-amix*): Change to m68k-cbm-sysv4* and
4857: eliminate fixincludes and broken_install.
4858:
4859: Tue Aug 11 15:42:58 1992 Jim Wilson ([email protected])
4860:
4861: * function.c (identify_blocks): Handle case where no block nodes
4862: exist. Use xmalloc not alloca for block_vector.
4863: (reorder_blocks): New argument top_block. Handle case where no
4864: block nodes exist. Always clear BLOCK_SUBBLOCKS (block) when
4865: adding it to the block tree.
4866: (all_blocks): Handle case where vector is zero. Store current
4867: block at offset 0 in vector, not n_blocks. Don't count current
4868: block twice in n_blocks.
4869: * function.h (identify_blocks): Declare.
4870: (rtx, tree): Move undefs to the very end.
4871: * loop.c (loop_optimize): Delete uses of loop_number_first_block,
4872: loop_number_last_block, loop_number_block_level. Correct call of
4873: find_loop_tree_blocks. Add call to unroll_block_trees.
4874: * loop.h (loop_number_first_block, loop_number_last_block,
4875: loop_number_block_level): Delete declarations.
4876: * stmt.c: Likewise.
4877: (find_loop_tree_blocks): Completely rewritten to use
4878: identify_blocks.
4879: (unroll_block_trees): Completely rewritten to use reorder blocks.
4880: * unroll.c (unroll_loop): Delete call to unroll_block_trees.
4881:
4882: * unroll.c (copy_loop_body): Only copy VTOP note if it will end up
4883: before a loop exit test.
4884:
4885: Tue Aug 11 09:21:47 1992 Michael Meissner ([email protected])
4886:
4887: * mips.h (MIPS_VERSION): Bump meissner version # to 23.
4888: (CONST_CODES): Remove declaration for eliminate_constant_term
4889: from inside of local {}'s.
4890: (SELECT_SECTION_MODE): Remove declaration of variable
4891: mips_section_threshold from inside of local {}'s.
4892: (SELECT_SECTION): Ditto.
4893:
4894: * mips.c (toplevel): Remove declarations for all of the gen_xxx
4895: functions used, since insn-flags.h contains them.
4896:
4897: * mip.md (fixuns_truncdfsi2): Remove extern declarations.
4898: (fixuns_truncsfsi2): Ditto.
4899: (movsi_unaligned, movsi_ulw, movsi_usw): Ditto.
4900: (seq, sne, sgt, sle, sgtu, sleu): Ditto.
4901:
4902: Tue Aug 11 02:51:25 1992 Richard Stallman ([email protected])
4903:
4904: * fixincludes (memory.h): Fix versions 1.2 and 1.3 as well as 1.4.
4905:
4906: * configure: Improve err msg for unknown config.
4907:
4908: Tue Aug 11 04:02:51 1992 Paul Eggert ([email protected])
4909:
4910: * fold-const.c (fold): Don't fold (A op B ? A : C) if A is IEEE
4911: floating point, because A might be -0.0 or NaN.
4912:
4913: * c-typeck.c (parser_build_binary_op): Warn about expressions like
4914: `1<=i<=N'.
4915:
4916: Mon Aug 10 22:11:50 1992 Michael Meissner ([email protected])
4917:
4918: * reload1.c (emit_reload_insns): Use gen_rtx to create a secondary
4919: reload insn, not gen_reg_rtx.
4920:
4921: Mon Aug 10 06:23:23 1992 Torbjorn Granlund ([email protected])
4922:
4923: * pa.md (Recognizer for zdepi_operand in HImode): New pattern.
4924: (Recognizer for zdepi_operand in SImode): Call output_zdepi for
4925: output.
4926: (shift patterns and recognizers): Handle 32 bit ints and truncate
4927: them for output.
4928: * pa.c (output_zdepi): New function (contents from pa.md).
4929: * pa.h (output_zdepi): Declare.
4930:
4931: Sun Aug 9 17:10:24 1992 Pat Rankin ([email protected])
4932:
4933: * configure.com: Rename vms to vax-vms; split long lines.
4934: * make-l2.com: Assemble libgcc2 routines twice, preserving
4935: lowercase function names the second time.
4936:
4937: Sun Aug 9 00:50:46 PDT 1992 Ron Guilmette (rfg at netcom.com)
4938:
4939: * final.c (final_scan_insn): Call dwarfout_begin_block and
4940: dwarfout_end_block even for -g1.
4941:
4942: Sun Aug 9 18:10:33 1992 Michael Meissner ([email protected])
4943:
4944: * genflags.c (gen_insn): Treat 'call_pop' and 'call_value_pop' like
4945: 'call' and 'call_insn'.
4946:
4947: * i386.h (LEGITIMIZE_ADDRESS): Emit_move_insn only takes two
4948: arguments, not three.
4949:
4950: Sat Aug 8 10:26:02 1992 Michael Meissner ([email protected])
4951:
4952: * cp-tree.h (hash_chainon): Provide declaration.
4953: (build_virtual_init): Ditto.
4954: (build_vbase_delete): Ditto.
4955: (build_vbase_vtables_init): Ditto.
4956:
4957: * genflags.c (insn_name_ptr): Define, so that we can link in
4958: print-rtl.c for debugging.
4959: (call_obstack, normal_obstack): New obstacks to remember call
4960: insns, and normal insns, so that we can emit the prototypes later.
4961: (max_id_len): New variable to record the maximum identifier
4962: length.
4963: (num_operands): New function to return the number MATCH_OPERAND's
4964: and MATCH_OPERATOR's in an insn tree.
4965: (gen_proto): New function to print out a prototype for an insn.
4966: (gen_nonproto): New function to print out a declaration without a
4967: prototype.
4968: (gen_insn): Don't emit function declarations here, just save the
4969: insn on either the call_obstack if it is call or call_value, or
4970: normal_obstack otherwise.
4971: (main): Initialize call_obstack, normal_obstack. After all insns
4972: are processed, emit function declarations with and without
4973: prototypes, depending on whether NO_MD_PROTOTYPES, and
4974: CALL_MD_PROTOTYPES are defined.
4975:
4976: * rtl.h (PROTO): If not defined, define to either expand
4977: prototypes or just expand to (), depending on whether or not, the
4978: host compiler supports ANSI C.
4979: (NULL_PTR): Define as void * if we have prototypes.
4980: (all function declarations): Add prototypes for all functions
4981: where it is feasible to do so, using the PROTO macro.
4982: (force_reg): Add declaration.
4983: (eliminate_constant_term): Ditto.
4984: (output_constant_def): If tree.h has been included, add prototype.
4985: (immed_real_const): Ditto.
4986: (immed_real_const_1): Ditto.
4987: (make_tree): Ditto.
4988:
4989: * tree.h (PROTO): If not defined, define to either expand
4990: prototypes or just expand to (), depending on whether or not, the
4991: host compiler supports ANSI C.
4992: (NULL_PTR): Define as void * if we have prototypes.
4993: (all function declarations): Add prototypes for all functions
4994: where it is feasible to do so, using the PROTO macro. Do not
4995: define prototypes for build_binary_op, or build_indirect_ref,
4996: since GNU C and GNU G++ have different numbers of arguments. Do
4997: not define prototypes for make_tree, since it takes a rtx as the
4998: argument, and rtl.h is included after tree.h.
4999:
5000: Sat Aug 8 07:36:19 1992 Tom Wood ([email protected])
5001:
5002: * cp-lex.c: Include stdlib.h and locale.h if needed.
5003: (errno): Declare only if it isn't a macro.
5004: * cp-tree.c (__eprintf): `line' is unsigned.
5005: * cp-typeck.c (mark_addressable): Use DECL_EXTERNAL not TREE_EXTERNAL.
5006:
5007: Fri Aug 7 00:16:28 1992 Richard Stallman ([email protected])
5008:
5009: * gcc.c (read_specs): Cast args of xmalloc and read to unsigned.
5010:
5011: * final.c (final_scan_insn): Use ASM_OUTPUT_ADDR_DIFF_ELT
5012: and ASM_OUTPUT_ADDR_VEC_ELT only if defined.
5013:
5014: Thu Aug 6 22:00:13 1992 Jim Wilson ([email protected])
5015:
5016: * sched.c (true_dependence): An unchanging read is guaranteed
5017: independent of a store only if the store is not unchanging.
5018: (anti_dependence): Added comment about unchanging reads.
5019: (sched_analyze_2): Don't ignore unchanging reads, they may be
5020: dependent on unchanging writes.
5021:
5022: * sparc.md: Correct DEFINE_SPLITs added Jul 27. They would
5023: overwrite the input register if it was the same as the result reg.
5024:
5025: Thu Aug 6 16:25:48 1992 Jeffrey A. Law ([email protected])
5026:
5027: * pa.h (ASM_FILE_START): If profiling IMPORT "_mcount" instead of
5028: "__gcc_mcount".
5029:
5030: * These changes allow the PA to make use of the BSS subspace. They
5031: require you to use the HPUX assembler or a fixed version of pa-gas
5032: (available soon on jaguar.cs.utah.edu).
5033: * pa.h (TARGET_SWITCHES): New switch "no-bss" which forces gcc not
5034: to make use of the bss subspace. (For compatability with old buggy
5035: versions of pa-gas.)
5036: (ASM_FILE_START): Add $BSS$ subspace.
5037: (BSS_SECTION_ASM_OP): New macro which tells the assembler to switch
5038: to the bss subspace.
5039: (EXTRA_SECTIONS): Define in_bss as an extra section.
5040: (EXTRA_SECTION_FUNCTIONS): Define "bss_section" function to switch
5041: into the bss subspace.
5042: (ASM_OUTPUT_COMMON): If !TARGET_NO_BSS, then place commons into the
5043: bss subspace.
5044: (ASM_OUTPUT_LOCAL): Likewise.
5045:
5046: Thu Aug 6 13:04:16 1992 Tim Moore ([email protected])
5047:
5048: * gvarargs.h : Check hp800 symbol too for the hppa case.
5049: * va-pa.h : Rewrite to be compatible with hpux.
5050: * pa.c (hppa_builtin_saveregs): Rewrite.
5051: (secondary_reload_class): Bug fix.
5052: (arith32_operand): New function.
5053:
5054: Wed Aug 5 11:23:05 1992 Tom Wood ([email protected])
5055:
5056: * m88k.h (EXTRA_SECTIONS, svr3): Delete empty definitions for
5057: CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION. Add in_ctors
5058: and in_dtors.
5059:
5060: Tue Aug 4 23:54:15 1992 Richard Stallman ([email protected])
5061:
5062: * gcc.c (default_compilers): For output of as when -c is not used,
5063: use %g, rather than %b, because the file is going to be deleted
5064: anyway.
5065:
5066: Tue Aug 4 20:30:12 1992 Michael Meissner ([email protected])
5067:
5068: * cp-decl.c (grokdeclarator): Call build_type_variant to set const
5069: and volatile flags, since build_reference_type does not take those
5070: arguments.
5071:
5072: * cp-parse.y (attribute processing): Correctly call tree_cons with
5073: three arguments, passing NULL_TREE for the chain argument.
5074:
5075: * cp-tree.h (hash_chainon): Add declaration for this function.
5076: (build_virtual_init): Ditto.
5077: (build_vbase_delete): Ditto.
5078: (build_vbase_vtables_init): Ditto.
5079:
5080: * cp-typeck.c (build_modify_expr_1): Pass 0 as third argument to
5081: build_unary_op.
5082: (build_modify_expr): Ditto.
5083:
5084: Tue Aug 4 18:10:46 1992 Mike Stump ([email protected])
5085:
5086: * cp-tree.h, tree.h: Moved definitions of TREE_VIA_* into tree.h for
5087: consistency.
5088:
5089: Tue Aug 4 17:35:32 1992 Mike Stump ([email protected])
5090:
5091: Complete 10th FSF <---> Cygnus merge.
5092:
5093: Tue Aug 4 12:58:59 1992 Mike Stump ([email protected])
5094:
5095: * cp-decl.c (pushtag): Don't set DECL_IGNORED_P for binding
5096: layer markers, use only DECL_SOURCE_LINE == 0, as otherwise,
5097: it messes up dbxout.c.
5098:
5099: Tue Aug 4 11:59:36 1992 Mike Stump ([email protected])
5100:
5101: Tue Aug 4 13:43:55 1992 Chip Salzenberg ([email protected])
5102:
5103: * cp-method.c (hack_identifier): Remove redundant call of
5104: assemble_external.
5105:
5106: Tue Aug 4 10:23:02 1992 Chip Salzenberg ([email protected])
5107:
5108: * cp-decl.c (pushdecl): Any kind of DECL should be good enough
5109: at global scope, not just a TEMPLATE_DECL.
5110:
5111: Sun Aug 2 21:12:55 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
5112:
5113: * cp-tree.c: change definition of __eprintf to match libgcc2.c and
5114: assert.h
5115:
5116: Fri Jul 31 16:53:26 1992 Mike Stump ([email protected])
5117:
5118: * cp-tree (break_out_calls): Only make ony copy of a node on
5119: 's' and 'e' nodes. Handle 'r' just like 's' and 'e' because
5120: nodes of type 'r' can be of different sizes (the old code
5121: would do the wrong thing for a COMPONENT_REF).
5122:
5123: Thu Jul 30 11:46:14 1992 Michael Tiemann ([email protected])
5124:
5125: * cp-init.c (emit_base_init): Set transparent basetypes (those w/o
5126: ctors) as marked if we need to walk up the tree to find a ctor.
5127:
5128: Wed Jul 29 03:25:51 1992 Michael Tiemann ([email protected])
5129:
5130: * cp-decl.c (grokdeclarator): In SCOPE_REF case, sort out visibility
5131: declarations from other declarations, since the compiler will
5132: ultimately handle them differently. This is a part of the solution
5133: to p525.
5134: (finish_method): Tentative (and probably wrong) fix for carrying
5135: along inline methods delcared within a class that really belong to
5136: nested classes of the class. This may be more of the solution to
5137: p525.
5138:
5139: * cp-init.c (build_offset_ref): Use IDENTIFIER_TYPE_VALUE of CNAME
5140: when CURRENT_CLASS_DECL is 0.
5141:
5142: * cp-class.c (finish_struct): Don't give errors for TYPE_DECLs in a
5143: struct that are really only meant for FIELD_DECLs.
5144:
5145: Tue Jul 28 23:36:58 1992 Mike Stump ([email protected])
5146:
5147: * cp-decl.c (grok_op_properties): Do not core dump on parse errors.
5148:
5149: Tue Jul 28 22:43:12 1992 Mark Eichin ([email protected])
5150:
5151: * cp-pt.c (end_template_instantiation) YYDEBUG is now defined in
5152: cp-parse.h -- so don't assume that it's -2 (since under byacc it is
5153: -1 anyway.) iomanip.C compiles again.
5154:
5155: Tue Jul 28 22:33:46 1992 Mike Stump ([email protected])
5156:
5157: * cp-typeck.c (build_c_cast): Allow cast to array type in
5158: some situations to be more compatible with Cfront.
5159:
5160: Tue Jul 28 22:05:14 1992 Mark Eichin ([email protected])
5161:
5162: * cp-parse.y (print_parse_statistics): don't reference TOKEN_LENGTH
5163: or REDUCE_LENGTH unless GATHER_STATISTICS is set. (YYDEBUG alone is
5164: not a sufficient condition.)
5165:
5166: Tue Jul 28 19:18:30 1992 Mike Stump ([email protected])
5167:
5168: * cp-tree.c (break_out_calls): Don't do anything special to
5169: SAVE_EXPRs, as they cannot contain calls that would need
5170: breaking out. This fixes a problem introduced on Jul 15, by
5171: Ron Guilmette.
5172:
5173: Mon Jul 27 16:55:52 1992 Mike Stump ([email protected])
5174:
5175: * c++: Fix errors introduced by rms. Bullet-proof handling
5176: of arguments with funny things in them such as newlines,
5177: spaces, tabs, single quotes, double quotes, etc...
5178:
5179: Mon Jul 27 15:03:23 1992 Ken Raeburn ([email protected])
5180:
5181: * cp-init.c (build_vec_delete): Extract size of type even for
5182: destructorless types, so value can be computed to pass to delete
5183: operator.
5184:
5185: * Bludgeon interface/implementation code into leaving templates
5186: alone, until we've figured out how to handle their interaction
5187: properly:
5188: * cp-parse.y (template_instantiate_once): Temporarily set interface
5189: flags to `unknown' while processing member templates.
5190: * cp-decl.c (grokfndecl): Even if class vtable is getting written
5191: out, regardless of interface setting of class and write_virtuals
5192: flag, don't force virtual destructor of template class to be public.
5193: * cp-tree.h (struct pending_inline): New field `interface'.
5194: * cp-lex.c (do_pending_inlines): Restore interface flags from stored
5195: values, rather than calling extract_interface_info.
5196: (process_next_inline): Likewise, if more pending inlines exist; else
5197: do call extract_interface_info.
5198: (reinit_parse_for_method): Save away interface flags.
5199: (cons_up_default_function): Ditto.
5200: * cp-pt.c (instantiate_template): Set saved interface flag to
5201: `unknown'.
5202: (end_template_instantiation): Set CLASSTYPE_INTERFACE_UNKNOWN.
5203:
5204: * cp-pt.c (instantiate_member_templates): Deleted some unused code.
5205:
5206: * cp-decl.c (grokfndecl): Make class methods public if
5207: `implementation' pragma is set.
5208:
5209: * cp-pt.c (pending_templates): No longer exported.
5210: (add_pending_template): Ditto.
5211: * cp-parse.y (primary): Don't check it; always call
5212: do_pending_templates.
5213:
5214: Fri Jul 24 14:22:39 1992 Mike Stump ([email protected])
5215:
5216: * cp-decl.c (init_decl_processing, finish_function),
5217: cp-method.c (build_decl_overload, build_opfncall), cp-init.c
5218: (build_x_delete, build_delete, build_vec_delete): Add support
5219: for two argument delete to support ARM 12.5. In some cases,
5220: the argument is smaller than it should be.
5221:
5222: Thu Jul 23 08:12:16 1992 Mike Stump ([email protected])
5223:
5224: * cp-lex.c: Update wide character handling from c-lex.c and make
5225: the type of multicharacter constants be int per ANSI C++ WP.
5226:
5227: * cp-decl.c (init_decl_processing, grokdeclarator), cp-lex.h,
5228: gplus.gperf, cp-lex.c (init_lex), cp-decl2.c (groktypefield),
5229: cp-method.c (build_overload_name): Add support for wchar_t as a
5230: distinct type to conform to x3j16 working paper.
5231: * cp-hash.h: Regenerated.
5232:
5233: Wed Jul 22 17:41:08 1992 Mark Eichin ([email protected])
5234:
5235: * cp-parse.y (structsp): note_got_semicolon was called before
5236: finish_struct (which always clears the got_semicolon bit.) However,
5237: note_got_semicolon was only called if yychar==';', without checking
5238: for YYEMPTY.
5239:
5240: Tue Jul 21 22:59:32 1992 Michael Tiemann ([email protected])
5241:
5242: * cp-typeck.c (mark_addressable): If we have a recursive call to an
5243: otherwise inline function, clear TREE_EXTERNAL so the whole function
5244: is written to the asm file.
5245:
5246: Tue Jul 21 05:31:10 1992 Ken Raeburn ([email protected])
5247:
5248: * cp-tree.h (start_type_method): Deleted unused declaration.
5249:
5250: * cp-pt.c (tsubst): Fix propagation of qualifiers in several cases.
5251:
5252: * cp-pt.c (tsubst, case FUNCTION_DECL): Look for matches that differ
5253: only in return type.
5254:
5255: * cp-pt.c (tsubst, case FUNCTION_DECL): Rewrite name of
5256: type-conversion operators, in case the target type involves a
5257: template parameter.
5258:
5259: Mon Jul 20 03:35:44 1992 Michael Tiemann ([email protected])
5260:
5261: * cp-class.c (add_virtual_function): Don't crash if
5262: CURRENT_CLASS_TYPE is NULL_TREE.
5263: * cp-decl2.c (grokfield): Ditto.
5264:
5265: Tue Aug 4 15:36:07 1992 Richard Stallman ([email protected])
5266:
5267: * c-decl.c (finish_decl): Don't do expand_decl_init for FUNCTION_DECL.
5268:
5269: * c-typeck.c (build_conditional_expr): Merged const and volatile flags
5270: of incoming types.
5271:
5272: Tue Aug 4 11:15:47 1992 Chip Salzenberg ([email protected])
5273:
5274: * c-decl.c (finish_struct): If bit field is of an unsigned
5275: type that promotes to int, promote it unsigned if traditional
5276: or if it is the same size as int.
5277: (start_function): Ditto for function return value.
5278: * c-typeck.c (default_conversion): Ditto -- fix bug that
5279: promotes short to unsigned if sizeof(short) == sizeof(int).
5280:
5281: Tue Aug 4 15:12:51 1992 Tom Wood ([email protected])
5282:
5283: * svr3.h (USING_SVR3_H): Define.
5284: * svr4.h (USING_SVR4_H): Define.
5285: * aoutos.h (USING_AOUTOS_H): Define.
5286: * m88k.h (EXTRA_SECTIONS): Base on the above defines.
5287:
5288: Tue Aug 4 14:22:44 1992 Jim Wilson ([email protected])
5289:
5290: * dbxout.c: Include output.h.
5291:
5292: Tue Aug 4 00:21:06 1992 Richard Stallman ([email protected])
5293:
5294: * Makefile.in (install-common): Install protoize and related files
5295: if they were compiled.
5296: (install-proto): Target deleted.
5297: (dbxout.o): Depend on output.h.
5298:
5299: Mon Aug 3 02:04:03 1992 Richard Stallman ([email protected])
5300:
5301: * c-decl.c (finish_function): Test only can_reach_end for the warning
5302: about reaching the end of a non-void function.
5303: (poplevel): If apparently nested inline function has
5304: DECL_ABSTRACT_ORIGIN, don't output it; propagate TREE_ADDRESSABLE.
5305: (pushdecl): When copying inline details into an extern decl,
5306: copy DECL_RESULT, TREE_ASM_WRITTEN. Set DECL_ABSTRACT_ORIGIN.
5307:
5308: * c-parse.y (datadef): For empty declaration, use pedwarn.
5309: * objc-parse.y (datadef, mydecl): Likewise.
5310:
5311: * Makefile.in (install-cross-tools): Install nm from tooldir.
5312:
5313: * varasm.c: Include real.h.
5314: * sparcv4.h: Don't include real.h.
5315:
5316: * flow.c (mark_used_regs): Do recurse in setting of global hard reg.
5317: Do set reg_next_use for global hard reg.
5318:
5319: * objc-parse.y (reserved_declspecs, declmods): Change as in c-parse.y.
5320:
5321: Mon Aug 3 03:24:17 1992 Paul Eggert ([email protected])
5322:
5323: * c-parse.y (reserved_declspecs): Warn if storage class occurs here.
5324: (declmods): Warn if storage class is not first.
5325:
5326: Sun Aug 2 21:44:34 1992 Richard Kenner ([email protected])
5327:
5328: * emit-rtl.c (gen_rtx, case REG): Don't use frame_pointer_rtx or
5329: arg_pointer_rtx if reload is in progress.
5330:
5331: * jump.c (jump_optimize): When replacing jumps with logical
5332: expressions, use preserve_subexpressions_p.
5333:
5334: * calls.c (expand_call): Use HOST_WIDE_INT instead of int when
5335: comparing a pointer to an integer constant.
5336: * flow.c (find_use_as_address): Likewise; also when returning int.
5337: * integrate.c (expand_inline_function): Cast -1 to (HOST_WIDE_INT)
5338: first.
5339:
5340: * cse.c (canon_hash): Use HOST_WIDE_INT instead of int when casting
5341: pointers to integers.
5342: * print-tree.c (print_node): Likewise.
5343: * tree.c (TYPE_HASH): Likewise.
5344: * varasm.c (const_hash, SYMHASH): Likewise.
5345:
5346: * toplev.c: (main): Don't cast pointers to int unnecessarily.
5347:
5348: * tree.c: Include function.h after tree.h.
5349:
5350: * rtl.h (NOTE_BLOCK_NUMBER): Change definition to simpler form.
5351: (SET_NOTE_BLOCK_NUMBER): Deleted.
5352: (xrealloc, oballoc, permalloc): Declare here as well as in tree.h.
5353: * function.c (identify_blocks, reorder_blocks): Don't use
5354: SET_NOTE_BLOCK_NUMBER.
5355:
5356: * varasm.c (struct addr_const): Use HOST_WIDE_INT for OFFSET.
5357:
5358: * combine.c (reg_sign_bit_copies): New variable.
5359: (combine_instructions): Initialize it.
5360: (set_significant): Set it.
5361: (try_combine): Set subst_low_cuid immediately before calling `subst'
5362: to the INSN_CUID of the lowest insn involved in the call.
5363: Change XOR with out-of-range constant to (not (xor ...)).
5364: Call both split_insns and find_split_point; pass extra parm to
5365: find_split_point.
5366: Record I2DEST's value if I2 now sets it; similarly for I1DEST.
5367: (find_split_point): Add new arg INSN.
5368: If AND'ing with a large single-bit constant and we only care about
5369: equality with zero, replace with bit extraction.
5370: Make two shifts for ZERO_EXTRACTs unless very narrow.
5371: (subst): Move RESTART label earlier.
5372: If we have a simple operation applied to IF_THEN_ELSE, move
5373: the operation inside the two arms.
5374: (subst, case SUBREG): Use force_to_mode.
5375: (subst, case NOT): Change (not (xor X C)) to (xor X ~C).
5376: (subst, case NEG): Remove optimization of (neg (abs X)); redundant.
5377: Convert (neg (xor A 1)) to (plus A -1) if A is known to be 0 or 1.
5378: (subst, case IF_THEN_ELSE): Simplify if an arm contains a register
5379: being tested by substiting the known value.
5380: Put constant integer in last arm is can reverse comparison.
5381: (subst, case SET): Use gen_lowpart_for_combine.
5382: (subst, case AND): Make IF_THEN_ELSE when appropriate.
5383: (subst, case IOR): (ior A C) can sometimes be just C.
5384: (subst, case XOR): Go back and restart when canonicalizing.
5385: (subst, case ABS): Use num_sign_bit_copies.
5386: (make_extraction): Call force_to_mode.
5387: (make_compound_operation): Look at optabs rather that explicitly
5388: checking for operations and assuming we have SImode.
5389: Handle (ashiftrt (OP (ashift foo C1) C3) C2).
5390: (force_to_mode): Only change mode of arithmetic if optab says we
5391: have operation in that mode.
5392: Remove unneeded ASHIFTRT; add handling for IF_THEN_ELSE.
5393: (significant_bits, case NEG): Call num_sign_bit_copies.
5394: (significant_bits, case ABS, case [US]{MIN,MAX}, IF_THEN_ELSE): New.
5395: (num_sign_bit_copies): New function.
5396: (simplify_shift_const): Remove ASHIFTRT if value is known -1 or 0.
5397: Use num_sign_bit_copies to simplify (ashiftrt (ashift ...) ...)
5398: and (ashiftrt (neg ...) ...).
5399: Remove now redundant case when VAROP is a PLUS.
5400: (simplify_comparison): If A is known to be -1 or 0, A != -1 is A == 0.
5401: Simplify unsigned tests that really check the sign bit.
5402: (simplify_comparison, case ASHIFTRT): Convert to LSHIFTRT if
5403: equality comparison with zero.
5404: (get_last_value): Check if the desired register is set in the
5405: insn before the one whose INSN_CUID is subst_low_cuid.
5406:
5407: * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Add missing
5408: call to TREE_CODE.
5409:
5410: * reload1.c (reload): Set reload_in_progress earlier.
5411:
5412: * fold-const.c (optimize_bit_field_compare): Correct bogus use of
5413: types in expressions; always do computation in a type wide enough
5414: for the result.
5415:
5416: Sun Aug 2 01:30:22 1992 Richard Stallman ([email protected])
5417:
5418: * objc-parse.y (attrib): Copied from c-parse.y.
5419:
5420: Sat Aug 1 13:34:49 1992 Richard Stallman ([email protected])
5421:
5422: * c-pragma.c (HANDLE_PRAGMA_WEAK): Define only if SET_ASM_OP defined.
5423:
5424: * vax-vms.h: Renamed from vms.h.
5425: * xm-vax-vms.h: Renamed from xm-vms.h.
5426: * configure (vax-*-vms): Change file names.
5427:
5428: Sat Aug 1 16:13:09 1992 Mark Eichin ([email protected])
5429:
5430: * config/spc-sol2.h (ASM_OUTPUT_DWARF_STRING): redefinition was
5431: incorrect, and uneeded; while Solaris as doesn't support .string, it
5432: does support .asciz, and sparcv4.h takes care of including that
5433: definition.
5434:
5435: Fri Jul 31 08:19:41 1992 Richard Kenner ([email protected]
5436:
5437: * combine.c (try_combine): Correctly handle implicit deaths of
5438: I2DEST and I1DEST.
5439:
5440: * cexp.y: Add declaration for xmalloc.
5441:
5442: * cccp.c: Add declarations for malloc and realloc.
5443: Include stddef.h when __STDC__ is defined.
5444: (PTR_INT_TYPE): New macro.
5445: (pcfinclude): Use it.
5446:
5447: * c-decl.c (init_decl_processing): __builtin_return_address,
5448: __builtin_frame_address, and __builtin_saveregs all return void *.
5449:
5450: * reload.c (find_reloads_address_1): Convert another push_reload
5451: call into a call to find_reloads_address_part.
5452:
5453: * reload1.c (gen_input_reload): Correct order of insns emitted
5454: when using secondary memory.
5455:
5456: * reload1.c (reload_as_needed): Add missing semicolon after macro.
5457:
5458: * combine.c (distribute_notes, case REG_DEAD): If a register used
5459: exactly twice is referenced in both I2 and I3, show it is used 3 times.
5460:
5461: * final.c (output_operand): Abort if X is a pseudo.
5462:
5463: * cse.c (exp_equiv_p, case CONST_INT): Use INTVAL instead of XINT.
5464:
5465: * expr.c (convert_move): Put FROM into a register if it is a SUBREG.
5466: (For extension case.)
5467:
5468: Fri Jul 31 08:19:05 1992 Tom Wood ([email protected])
5469:
5470: * function.c (reposition_prologue_and_epilogue_notes): Search for
5471: the notes without using basic_block_end[0] or basic_block_head[N-1].
5472:
5473: Fri Jul 31 08:18:18 1992 Michael Meissner ([email protected])
5474:
5475: * reorg.c (get_branch_condition): Return 0 if all tests fall through.
5476:
5477: Fri Jul 31 02:28:02 1992 Richard Stallman ([email protected])
5478:
5479: * glimits.h: Renamed from limits.h.
5480: * Makefile.in (LIMITS_H): Deleted.
5481: (install-limits-h): Use glimits.h, not limits.h.
5482: * libgcc2.c: Include glimits.h.
5483:
5484: Thu Jul 30 09:54:07 1992 Tom Wood ([email protected])
5485:
5486: * m88k.h (FUNCTION_BOUNDARY, ASM_OUTPUT_ALIGN_CODE): Pack code
5487: more tightly for the m88110.
5488:
5489: * m88k.md (cpu attribute): List m88100 first for more efficient
5490: code in insn-attrtab.c.
5491:
5492: * m88k.md (rotate/and split pattern): Fix typo.
5493:
5494: Thu Jul 30 00:02:45 1992 Richard Stallman ([email protected])
5495:
5496: * i860mach.h: New file.
5497: * configure (i860-*-mach*): New alternative.
5498:
5499: * svr3.h (BSS_SECTION_FUNCTION): New macro.
5500: (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Enable these.
5501: * tower-as.h (BSS_SECTION_FUNCTION): Deleted.
5502: * dpx2.h (EXTRA_SECTION_FUNCTIONS): Deleted.
5503: * att386.h (BSS_SECTION_FUNCTION): #undef before defining.
5504:
5505: * i860v3.h (USE_CONST_SECTION): #undef before defining.
5506:
5507: Wed Jul 29 20:04:55 1992 Jim Wilson ([email protected])
5508:
5509: * sparc.md (cmpsi): Delete 'J' constraint.
5510:
5511: Wed Jul 29 00:38:45 1992 Richard Stallman ([email protected])
5512:
5513: * c-lex.c (yylex): When traditional, convert 0x80000000 to -0x80000000.
5514:
5515: * gcc.c (link_command_spec): Accept -static but do nothing with it.
5516:
5517: * loop.c (move_movables): When testing whether a reg contains
5518: the function address of a call_insn in a libcall block,
5519: use reg_referenced_p, to ignore destinations.
5520:
5521: * stor-layout.c (layout_record): Take account of
5522: maximum_field_alignment when using the field's alignment.
5523:
5524: * c-parse.y (attrib): Fix previous change--the missing arg
5525: was the last arg.
5526:
5527: * fixincludes: Don't repeat the directory-link-chasing loop
5528: more than twice. Combine $prevdirs with $dirs--they had same value.
5529: Properly discard $d itself from the output of find.
5530: Find the links to directories by finding each link
5531: and testing it with test. Add $newdirs into $files.
5532:
5533: Tue Jul 28 12:46:31 1992 Michael Meissner ([email protected])
5534:
5535: * c-common.c (decl_attributes): Call layout_decl with two arguments.
5536:
5537: * c-parse.y (attribute processing): Correctly call tree_cons with
5538: three arguments, passing NULL_TREE for the purpose argument.
5539:
5540: * emit-rtl.c (make_insn_raw): Eliminate unused argument pat_formals,
5541: and modify all callers.
5542: (make_jump_insn_raw): Ditto.
5543:
5544: * reorg.c (fill_slots_from_thread): Function follow_jumps only takes
5545: one argument.
5546: (relax_delay_slots): Ditto.
5547:
5548: Tue Jul 28 16:04:43 1992 Richard Stallman ([email protected])
5549:
5550: * dpx2g.h (ASM_OUTPUT_IDENT): #undef it.
5551:
5552: * c-decl.c (duplicate_decls): Handle warn_redundant_decls here.
5553: But don't warn if function definition follows a declaration.
5554: (pushdecl): Don't handle it here.
5555: (grokparms): Don't warn about non-prototype decl in system header.
5556:
5557: * c-convert.c (convert): If main variants match,
5558: but the type is not identical, make a NOP_EXPR.
5559:
5560: Tue Jul 28 10:06:18 1992 Jim Wilson ([email protected])
5561:
5562: * mips.md: Correct use of `*' in constraints. Put it before each
5563: letter to ignore, not each group to ignore.
5564:
5565: Tue Jul 28 01:23:35 1992 Richard Stallman ([email protected])
5566:
5567: * dbxout.c (dbxout_parms): Do something for structures
5568: passed by invisible reference, and living in memory.
5569:
5570: * gstddef.h (wchar_t): Alternate typedef for C++.
5571:
5572: * Makefile.in (extraclean): Delete config/ChangeLog.
5573:
5574: * m68k.md (probe): Use %a0 to output the address.
5575:
5576: Mon Jul 27 20:08:21 1992 Mike Stump (mrs@hal)
5577:
5578: * c++: Fix errors introduced by rms. Bullet-proof handling of
5579: arguments with funny things in them such as newlines, spaces, tabs,
5580: single quotes, double quotes, etc...
5581:
5582: Mon Jul 27 17:38:52 1992 Jim Wilson ([email protected])
5583:
5584: * sparc.md: Add DEFINE_SPLITs to optimize logic operation with
5585: certain immediate values.
5586:
5587: * sparc.md: Correct inconsistent operand constraints in peepholes.
5588:
5589: * sparc.h (ASM_LONG, ASM_SHORT, ASM_BYTE_OP): Definitions added.
5590: (ASM_OUTPUT_DOUBLE): Use REAL_VALUE_TO_TARGET_DOUBLE to convert.
5591: (ASM_OUTPUT_FLOAT): Use REAL_VALUE_TO_TARGET_SINGLE to convert.
5592: (ASM_OUTPUT_INT): Use ASM_LONG pseudo-op.
5593: (ASM_OUTPUT_SHORT): Use ASM_SHORT pseudo-op.
5594: (ASM_OUTPUT_CHAR): Use ASM_BYTE_OP pseudo-op.
5595: (ASM_OUTPUT_BYTE): Use ASM_BYTE_OP pseudo-op.
5596:
5597: Mon Jul 27 17:10:19 1992 Richard Stallman ([email protected])
5598:
5599: * gstdarg.h (va_arg): Don't use +=; no need to set AP twice.
5600:
5601: Sun Jul 26 14:21:13 1992 Richard Stallman ([email protected])
5602:
5603: * final.c (final_scan_insn): Align jump table only if
5604: READONLY_DATA_SECTION. Otherwise, the table is in the text section.
5605:
5606: * collect2.c (dup2): Defined, if NO_DUP2.
5607:
5608: * plexus.h: New file.
5609: * m68k.c (output_function_prologue): Make a probe instruction
5610: if NEED_PROBE if nonzero.
5611: * configure (m68k-plexus-sysv*): New alternative.
5612:
5613: * c-convert.c (convert): Succeed if TYPE is the main variant
5614: of the given type.
5615: * c-typeck.c (build_conditional_expr): Compare using TYPE_MAIN_VARIANT.
5616:
5617: * c-decl.c (duplicate_decls): Copy old RTL *before* make_var_volatile.
5618:
5619: Sat Jul 25 21:45:44 1992 Richard Stallman ([email protected])
5620:
5621: * c-decl.c (pushdecl): Never reuse global fcn decl in place of
5622: local extern; just copy some info from it.
5623:
5624: Sat Jul 25 06:14:58 1992 Tom Wood ([email protected])
5625:
5626: * expmed.c (expand_divmod): Eliminate the generation of branches
5627: when possible.
5628:
5629: Sat Jul 25 04:34:09 1992 Richard Stallman ([email protected])
5630:
5631: * fixincludes (X11/Xmu/Xmu.h): Fix this or X11/Xmu.h,
5632: whichever exists.
5633:
5634: Sat Jul 25 00:41:12 1992 Paul Eggert ([email protected])
5635:
5636: * c-parse.y (datadecl): Diagnose empty declarations in old-style
5637: function headers.
5638: * c-decl.c (shadow_tag_warned): New function.
5639:
5640: * c-lex.c (yylex): Diagnose `1.0fl'. Issue just one
5641: diagnostic for `1e1000000f'.
5642:
5643: Fri Jul 24 19:25:51 1992 Richard Stallman ([email protected])
5644:
5645: * dbxout.c (dbxout_symbol): Distinguish implicit C++ typedefs
5646: from explicit C typedefs for structs, using DECL_SOURCE_LINE.
5647:
5648: * c-decl.c (duplicate_decls): Use TYPE_MAIN_VARIANT even for compares
5649: with void_type_node.
5650: (grokdeclarator, get_parm_info, store_parm_decls): Likewise.
5651:
5652: Fri Jul 24 10:07:13 PDT 1992 Ron Guilmette (rfg at ncd.com)
5653:
5654: * dwarfout.c (is_tagged_type): New function added.
5655: (member_attribute): Use it.
5656: (type_ok_for_scope): Rewritten to eliminate serious bugs.
5657: (output_type): Call `output_pending_types_for_scope' at the end of
5658: struct/union types (which are themselves scopes in C++).
5659:
5660: Fri Jul 24 13:36:46 1992 Michael Meissner ([email protected])
5661:
5662: * dbxout.c (toplevel): Include defaults.h to get the definition of
5663: ASM_STABD_OP.
5664:
5665: * Makefile.in (dbxout.o): Add defaults.h dependent.
5666:
5667: * i386rose.h (CC1_SPEC): Remove MIPS switches accidently left in.
5668:
5669: Thu Jul 23 09:49:43 PDT 1992 Ron Guilmette (rfg at ncd.com)
5670:
5671: * dwarfout.c (is_body_block): Rewritten for greater saftey.
5672: (output_block): Fixed to deal correctly with non-inlined blocks.
5673:
5674: Thu Jul 23 15:37:23 1992 Jeffrey A Law (law at schirf.cs.utah.edu)
5675:
5676: * flow.c (propagate_block): Change "struct foo" to "struct sometimes".
5677:
5678: Thu Jul 23 15:10:51 1992 Tom Wood ([email protected])
5679:
5680: * m88k.h (ASM_OUTPUT_CASE_LABEL): Change to readonly section if the
5681: table contains addresses.
5682: (JUMP_TABLES_IN_TEXT_SECTION): True by default.
5683:
5684: Thu Jul 23 13:54:27 1992 Michael Meissner ([email protected])
5685:
5686: * mips.c (large_int): Use HOST_WIDE_INT type to hold INTVAL.
5687: (gen_int_relational): Ditto.
5688: (gen_conditonal_branch): Don't emit any insns if the result is
5689: always false, and emit a normal jump if the result is always true.
5690:
5691: * mips.c (mips_move_1word): Count LABEL_REF's as a memory
5692: reference. Rework half-pic load of symbols, to not expect movsi
5693: to have converted the load address into a load, and for CONST's,
5694: do the addition after the pointer is loaded.
5695:
5696: * mips.md (type attribute, movsi3): Eliminate 'pic' attribute,
5697: just use 'load' instead.
5698: (fix_truncdfsi2): Make this a define_insn, instead of a
5699: define_exapnd and an insn, and use match_scratch to allocate the
5700: two scratch registers. Adjust length costs, so that they match
5701: the current code the assembler produces.
5702: (fix_truncsfsi2): Ditto.
5703: (movsi): Don't convert load of half-pic addresses and CONST's into
5704: the real load. It causes more problems than it solves. Adjust
5705: cost of half-pic addresses to be 2, not 4.
5706:
5707: * mips-tfile.c (parse_def): Allow spaces in names, since C++
5708: templates produce things like: #.def SMANIP<long unsigned int>; ...
5709: (parse_stabs_common): Code from Lisa Repka, to handle symbol +/-
5710: offset, and to look up things in the external string table, if the
5711: name is not found in the local string table.
5712:
5713: Wed Jul 22 13:08:33 1992 Jeffrey A. Law ([email protected])
5714:
5715: * sparc.md (movdf+1): Use new 'T' and 'U' constraints to
5716: determine when an ldd or std will have a length of 1, and
5717: therefore is eligible for use in some delay slots.
5718: (uncond_branch): New attribute used for unconditional branches.
5719: All unconditional branch patterns changed.
5720: (define_delays and delay slot attributes): Do not allow
5721: uncond_branch instructions in delay slots. Do not allow fpload or
5722: fpstore operations in a conditional branch delay slot. Allow
5723: fpload and fpstore in call, unconditional branch, and annuled
5724: conditional branch delay slots.
5725:
5726: * sparc.c (registers_ok_for_ldd_peep, addrs_ok_for_ldd_peep):
5727: Functions renamed from registers_ok_for_ldd and
5728: memory_ok_for_ldd respectively. All callers changed.
5729: (register_ok_for_ldd): New function to determine if a register is
5730: a pseudo or the first register in a hard register pair.
5731: (mem_aligned_8): No longer static. Return 0 instead of aborting
5732: when presented an rtx which is not a MEM.
5733: (eligible_for_epilogue_delay): Use in_uncond_branch_delay since
5734: this in an unconditional branch.
5735:
5736: * sparc.h (EXTRA_CONSTRAINT) Add new 'T' and 'U' constraints
5737: which check for aligned accesses to memory and register pairs.
5738:
5739: Wed Jul 22 11:22:37 1992 Michael Meissner ([email protected])
5740:
5741: * mips.h (MIPS_VERSION): Bump meissner version number to 22.
5742: (extern declarations): Add declarations for asm_file_name,
5743: call_used_regs, langguage_string, save_argv, version_string,
5744: mips_{begin,end,expand}_{pro,epi}logue, simple_epilogue_p,
5745: {address,const_{double,int},general,{,non}immediate}_operand,
5746: memory_address_p, {{,non}memory,register,scratch}_operand,
5747: abort_with_insn, debug_rtx, fatal_io_error, get_frame_size,
5748: offsettable_address_p, output_address, permalloc,
5749: reg_mentioned_p, abort, atoi, getenv, mktemp, and
5750: mips_expand_{epi,pro}logue.
5751: (*_REGNUM): Add in GP_REG_FIRST in case registers are ever
5752: renumbered.
5753: (struct mips_frame_info): Add num_gp, num_fp fields.
5754: (SECONDARY_MEMORY_NEEDED): Define, return 1 unless -mdebugh if
5755: moving between FP <-> GP registers.
5756:
5757: * mips.c (extern declarations): Move most of the declarations to
5758: mips.h, except for those of type 'rtx' or 'tree', since not all
5759: files include rtl.h and tree.h. Add more declarations for gen_xxx
5760: functions that are now used.
5761: (reg_or_0_operand): Add default case for switch on enumeration, to
5762: allow compiling with -Wall.
5763: (simple_memory_operand): Ditto.
5764: (mips_count_memory_refs): Ditto.
5765: (mips_move_1word): Ditto.
5766: (mips_move_2words): Ditto.
5767: (mips_address_cost): Ditto.
5768: (map_test_to_internal_test): Ditto.
5769: (mips_move_1word): Align asm comments in loading negative ints.
5770: (mips_move_1word): Use GEN_INT macro to generate CONST_INT's.
5771: (mips_move_2words): Ditto.
5772: (gen_int_relational): Ditto.
5773: (block_move_load_store): Ditto.
5774: (block_move_loop): Ditto.
5775: (expand_block_move): Ditto.
5776: (block_move_load_store): #if 0, not currently used.
5777: (block_move_sequence): Ditto.
5778: (compute_frame_size): Fill in num_gp and num_fp fields.
5779: (simple_prologue_p): Rename from null_prologue.
5780: (save_restore_insns): New function to emit appropriate save and
5781: restore operations for prologue/epilogue -- only prologue used at
5782: present.
5783: (function_prologue): Move generation of instructions to
5784: mips_expand_prologue.
5785: (mips_expand_prologue): Generate appropriate insns for the
5786: prologue of the function.
5787: (mips_expand_epilogue): Generate appropriate insns for the
5788: epilogue of the function -- not called at present.
5789:
5790: * mips.md (ashldi3_internal): Add `&' constraint to operand 0.
5791: (ashrdi3_internal): Add `&' constraint to operand 0.
5792: (return): Turn this into a define expand that wraps a return and a
5793: USE reg:31 inside of a parallel.
5794: (return_internal): Insn form of return instruction.
5795: (prologue): New define expand to generate the necessary
5796: instructions for the function prologue.
5797: (mov{si,hi,qi}): Split the integer move INSNs into two groups,
5798: those that support -mdebugh and allow ints to be in floating
5799: point registers, and those that don't allow it.
5800:
5801: Tue Jul 21 21:27:43 1992 Mike Stump ([email protected])
5802:
5803: * Complete 9th Cygnus <---> FSF merge.
5804:
5805: Tue Jul 21 03:17:05 1992 Mark Eichin ([email protected])
5806:
5807: * cp-lex.c (process_next_inline): when bailing out on a parse error,
5808: throw away nextchar as well in case it got set.
5809:
5810: Tue Jul 21 05:31:10 1992 Ken Raeburn ([email protected])
5811:
5812: * cp-pt.c (tsubst, case FUNCTION_DECL): If the context class has a
5813: null method vector, don't look inside it for its size.
5814:
5815: Thu Jul 16 16:02:55 1992 Per Bothner ([email protected])
5816:
5817: * cp-typeck.c (convert_for_assignment): If assigning (void*)
5818: to a normal pointer, emit a warning, not an error. There is
5819: a lot of existing code (including libg++ and converted C
5820: code) that expects to be able to assign from (void*).
5821:
5822: Tue Jul 14 06:59:38 1992 Michael Tiemann ([email protected])
5823:
5824: * cp-decl.c (finish_function): Call destructors correctly when
5825: baseclasses are replicated in the inheritance hierarchy.
5826:
5827: Mon Jul 13 05:16:10 1992 Michael Tiemann ([email protected])
5828:
5829: * cp-typeck.c (build_modify_expr): If we split a COND_EXPR in order
5830: to perform the assignment in each arm, convert the rhs of each
5831: branch according to RESULT_TYPE.
5832:
5833: * cp-typeck.c (convert_for_assignment): Treat null_pointer_node
5834: specially when converting to non-void pointers.
5835:
5836: * cp-class.c (modify_vtable_entries): In the loop that modifies
5837: vtable entries for each non-virtual baseclass, correctly handle
5838: cases where BASE is an ambiguous baseclass for BASE_CONTEXT.
5839:
5840: Sun Jul 12 01:32:31 1992 Mike Stump ([email protected])
5841:
5842: Wed May 27 01:33:24 1992 Ron Guilmette (rfg at ncd.com)
5843:
5844: * cp-type2.c (store_init_value), cp-typeck.c
5845: (build_modify_expr, convert_arguments,
5846: build_binary_op_nodefault, convert_for_assignment), cp-parse.y
5847: (member_init, template_def, datadef, stmt): changed some
5848: pedantics into !traditionals and reworded error messages.
5849:
5850: Sun Jul 12 01:11:53 1992 Mike Stump ([email protected])
5851:
5852: Jul 1992 Ron Guilmette (rfg at ncd.com)
5853:
5854: * cp-decl.c (finish_function): Set BLOCK_SUPERCONTEXT for the
5855: outermost scopes of functions to point to the associated
5856: FUNCTION_DECL nodes.
5857:
5858: Fri Jul 10 17:52:36 1992 Ken Raeburn ([email protected])
5859:
5860: * cp-decl.c (struct binding_level): New field pseudo_global
5861: indicates that this binding level should be treated like the global
5862: binding level in some respects.
5863: (declare_pseudo_global_level, pseudo_global_level_p): Set and test
5864: routines.
5865: (push_overloaded_decl): Don't forget overloads in pseudo-global
5866: binding levels.
5867: * cp-pt.c (tsubst, case FUNCTION_DECL): Search for an existing decl
5868: before creating a new one.
5869: (overload_template_name): Make new level pseudo-global.
5870: (type_unification): Indicate failure for unknown_type_node.
5871: (unify): Likewise.
5872:
5873: Wed Jul 8 01:59:03 1992 Mike Stump ([email protected])
5874:
5875: * cp-decl.c (lookup_name, grokvardecl, grokdeclarator),
5876: cp-call.c (build_field_call), cp-seach.c (lookup_field),
5877: cp-typeck.c (build_component_ref), cp-lex.c (do_identifier),
5878: cp-init.c (expand_member_init, build_member_call,
5879: build_offset_ref): lookup_field now has 4 arguments.
5880:
5881: Wed Jul 8 01:14:43 1992 Mike Stump ([email protected])
5882:
5883: * cp-parse.y (primary): Call to lookup_name needs 2 arguments.
5884:
5885: Tue Jul 7 21:14:05 1992 Mike Stump ([email protected])
5886:
5887: * cp-method.c (build_overload_name): Handle INTEGER_TYPEs
5888: cleanly and uniformly.
5889:
5890: Tue Jul 7 09:19:52 1992 Michael Tiemann ([email protected])
5891:
5892: * cp-call.c (build_method_call): If `convert_to_pointer' returns
5893: error_mark_node, return that without doing any more work.
5894:
5895: Thu Jul 2 15:42:28 1992 Mike Stump ([email protected])
5896:
5897: Thu Jul 2 18:08:42 1992 Chip Salzenberg (chip at tct.com)
5898:
5899: * cp-typeck.c (convert_arguments): Don't assume that error
5900: message will be short enough for fixed-length buffer.
5901:
5902: Wed Jul 1 19:52:59 1992 Mike Stump (mrs at cygnus.com)
5903:
5904: Wed Jun 3 12:57:57 1992 Brendan Kehoe ([email protected])
5905:
5906: * cp-decl2.c (grokbitfield): Only do width checking on properly
5907: parsed bitfields.
5908:
5909: Wed Jul 1 18:58:17 1992 Mike Stump (mrs at cygnus.com)
5910:
5911: Wed May 27 01:33:24 1992 Ron Guilmette (rfg at ncd.com)
5912:
5913: * cp-lex.c (readescape), cp-parse.y (unary_expr, maybecomma_warn,
5914: component_decl_list, stmt), cp-type2.c (digest_init), cp-typeck.c
5915: (c_sizeof, build_function_call_real, convert_arguments,
5916: build_binary_op_nodefault, pointer_int_sum, pointer_diff,
5917: build_unary_op, c_expand_return): change some warnings to
5918: pedwarns. Put in new pedwarns, change wording of messages so that
5919: they are more readable. Don't issue some warnings when
5920: traditional is given.
5921:
5922: Wed Jul 1 13:56:30 1992 Mike Stump (mrs at cygnus.com)
5923:
5924: Wed Apr 29 23:37:00 1992 Niklas Hallqvist (niklas at appli.se)
5925:
5926: * cp-decl.c (finish_decl): make sure destructors are called for
5927: objects in a file.
5928:
5929: Wed Jul 1 11:12:05 1992 Mike Stump (mrs at cygnus.com)
5930:
5931: * cp-lex.c: extract YYEMPTY out of the parser generated .c
5932: file and put in the parser .h so that cp-lex.c does not have
5933: to define it.
5934:
5935: Mon Jun 29 12:58:59 1992 Mike Stump (mrs at cygnus.com)
5936:
5937: Mon Jun 29 15:20:48 1992 Chip Salzenberg (chip at tct.com)
5938:
5939: * cp-cvt.c (convert_to_integer): Don't add a NOP_EXPR in cases
5940: where we can simply change the type of the entire tree.
5941:
5942: Mon Jun 29 10:56:56 1992 Mike Stump (mrs at cygnus.com)
5943:
5944: * c++: Makes sure -lg++ comes before -lm since libg++ uses
5945: things from libm.
5946:
5947: Mon Jun 22 13:47:42 1992 Mike Stump (mrs at cygnus.com)
5948:
5949: Sun Jun 21 14:06:41 1992 Brendan Kehoe (brendan at cs.widener.edu)
5950:
5951: * cp-typeck.c (convert_for_initialization): Only try to convert a
5952: rhs that was parsed properly.
5953:
5954: Mon Jun 22 13:31:40 1992 Jim Wilson (wilson at sphagnum.cygnus.com)
5955:
5956: * cp-parse.y (primary): Clear the TREE_USED flag of a block tree
5957: put in a BIND_EXPR.
5958:
5959: Sun Jun 21 09:59:58 1992 Michael Tiemann (tiemann at rtl.cygnus.com)
5960:
5961: * cp-type2.c (build_scoped_ref): Use SCRATCH for head of typelist,
5962: rather than calling alloca.
5963:
5964: Fri Jun 19 16:23:02 1992 Mike Stump (mrs at cygnus.com)
5965:
5966: * cp-pt.c (unify): Type unification of things that do not have a
5967: valid IDENTIFIER_TEMPLATE fail instead of core dumping.
5968:
5969: Wed Jun 17 13:36:04 1992 Michael Tiemann (tiemann at rtl.cygnus.com)
5970:
5971: * cp-pt.c (tsubst): Don't try to substitute into error_mark_node.
5972:
5973: * cp-decl.c (grokparms): Convert initializers that have
5974: TREE_READONLY_DECL_P set into their constant equivalents.
5975:
5976: Tue Jun 16 19:09:23 1992 Mike Stump (mrs at cygnus.com)
5977:
5978: Wed Jun 3 12:57:57 1992 Brendan Kehoe (brendan at cs.widener.edu)
5979:
5980: * cp-decl.c (grokdeclarator): Disallow virtual functions in unions.
5981:
5982: Tue Jun 16 18:11:45 1992 Mike Stump (mrs at cygnus.com)
5983:
5984: Wed Jun 3 12:57:57 1992 Brendan Kehoe (brendan at cs.widener.edu)
5985:
5986: * cp-class.c (finish_struct): Forbid local classes to have static
5987: members.
5988:
5989: Mon Jun 15 21:44:08 1992 Mike Stump (mrs at cygnus.com)
5990:
5991: Tue Jun 2 09:26:34 1992 Brendan Kehoe (brendan at cs.widener.edu)
5992:
5993: * cp-init.c (build_new): Don't allow the use of new on a reference.
5994:
5995: Mon Jun 15 20:52:08 1992 Mike Stump (mrs at cygnus.com)
5996:
5997: Tue Jun 2 09:26:34 1992 Brendan Kehoe (brendan at cs.widener.edu)
5998:
5999: * cp-decl.c (grokparms): Don't allow a local variable to be used
6000: in a default argument expression.
6001:
6002: Mon Jun 15 18:54:28 1992 Mike Stump (mrs at cygnus.com)
6003:
6004: * cp-decl.c (finish_decl): Add an error message for uninitialized
6005: const objects like const int a;.
6006:
6007: Mon Jun 15 16:05:22 1992 Mike Stump (mrs at cygnus.com)
6008:
6009: Not sure if it is strictly necessary for the C++ front end, but...
6010:
6011: Sun May 31 15:31:46 1992 Brendan Kehoe (brendan at cs.widener.edu)
6012:
6013: * cp-typeck.c (self_promoting_args_p): Allow the arg type to be
6014: null (copied from Oct 16, 1991 change by Wood).
6015:
6016: Fri Jun 12 16:42:05 1992 Mike Stump (mrs at cygnus.com)
6017:
6018: * cp-typeck.c (build_binary_op_nodefault): Conditionalize code that
6019: deals with the comparison of non-distinct object types, thus avoiding
6020: a core dump.
6021:
6022: Fri Jun 12 10:23:17 1992 Mike Stump (mrs at cygnus.com)
6023:
6024: Wed Jun 10 19:20:29 1992 Brendan Kehoe (brendan at cs.widener.edu)
6025:
6026: * cp-tree.c (break_out_calls): Begin at 1 less than the length of
6027: the length of the tree code, not the length itself, for generic
6028: expressions and those with side-effects.
6029:
6030: Thu Jun 11 17:43:55 1992 Mike Stump (mrs at cygnus.com)
6031:
6032: * cp-init.c (expand_default_init): New function to handle the
6033: details of default copy constructors and other magic in one place.
6034:
6035: * cp-init.c (expand_aggr_init_1): Implement default constructors
6036: more fully.
6037:
6038: Thu Jun 11 17:16:54 1992 Mike Stump (mrs at cygnus.com)
6039:
6040: * cp-call.c (build_method_call): Don't produce an error message if
6041: we are looking up things speculatively.
6042:
6043: Thu Jun 11 10:58:47 1992 Mike Stump (mrs at cygnus.com)
6044:
6045: * cp-call.c (convert_harshness): Penalize const arguments passed
6046: into non-const parameters.
6047:
6048: Thu Jun 11 10:02:52 1992 Mike Stump (mrs at cygnus.com)
6049:
6050: * cp-typeck.c (build_c_cast): Implement more reference casts so
6051: that one can cast a base reference to a derived reference.
6052:
6053: Tue Jul 21 15:28:36 1992 Jim Wilson ([email protected])
6054:
6055: * sparc.h (SECONDARY_MEMORY_NEEDED): Define to force reload to
6056: handle any copy between GENERAL_REGS and FP_REGS.
6057:
6058: * sched.c (schedule_block): Give some insns high priorities,
6059: instead of excluding them from scheduling, to ensure that they end
6060: up at the end of the block after scheduling.
6061:
6062: * i960.c (i960_output_ldconst): Use REAL_VALUE_FROM_CONST_DOUBLE
6063: instead of pointer indirection to extract double from CONST_DOUBLE.
6064:
6065: Tue Jul 21 14:05:34 1992 Richard Stallman ([email protected])
6066:
6067: * svr4.h (HANDLE_SYSV_PRAGMA): Defined.
6068:
6069: * sol-crt*.asm: Renamed from sol-crt*.s, and put in config.
6070: * t-sol2 (crt*.o): Changed accordingly. Also use $(AS).
6071:
6072: * gbl-ctors.h (ON_EXIT): Test HAVE_ATEXIT before sun.
6073:
6074: Mon Jul 20 18:56:02 1992 Fred Fish (fnf at fishpond)
6075:
6076: * svr4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): New macro--default definition.
6077: (ASM_OUTPUT_CASE_LABEL): Use that.
6078: * m68ksgs.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Do the swbeg here.
6079: (ASM_OUTPUT_CASE_LABEL): Use that.
6080:
6081: * configure (m68k-*-amix*): Use fixinc.svr4 and install.sh.
6082:
6083: * x-amix (ENQUIRE_CFLAGS): Remove; obsolete.
6084:
6085: * amix.h (TRANSFER_FROM_TRAMPOLINE): Remove #undef.
6086:
6087: Mon Jul 20 17:45:46 1992 Richard Stallman ([email protected])
6088:
6089: * dbxout.c (dbxout_source_line): New function.
6090: * final.c (output_source_line): Use that.
6091:
6092: * configure (sparc-*-sunos5*): New alias.
6093: (sparc-*-solaris2*): Use t-sol2.
6094:
6095: * i860.md (mulsi3_little, mulsi3_big): New define_expand patterns.
6096: (mulsi3): Just use one of them.
6097:
6098: * Makefile.in (install-fixincludes): Pass second and third args.
6099:
6100: Mon Jul 20 16:07:12 1992 Pat Rankin ([email protected])
6101:
6102: * vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): change _c$main_args to
6103: uppercase instead of relying on gas to make the case translation
6104:
6105: Sun Jul 19 00:04:16 1992 Richard Stallman ([email protected])
6106:
6107: * c-tree.h (C_PROMOTING_INTEGER_TYPE_P): New macro.
6108: * c-decl.c (duplicate_decls, grokdeclarator, finish_struct):
6109: Use C_PROMOTING_INTEGER_TYPE_P to decide whether a type promotes.
6110: (start_function): Likewise.
6111: * c-typeck.c (default_conversion): Use C_PROMOTING_INTEGER_TYPE_P
6112: to decide whether a type should promote.
6113: (self_promoting_args_p, self_promoting_type_p): Likewise.
6114:
6115: * c-aux-info.c (gen_type): For array type, state the size.
6116:
6117: * final.c (output_addr_const): Handle ZERO_EXTEND and SIGN_EXTEND.
6118: * expr.c (expand_expr, NOP_EXPR case): If EXPAND_INITIALIZER,
6119: generate ZERO_EXTEND or SIGN_EXTEND; don't emit insns.
6120:
6121: * function.c (assign_parms): Use const0_rtx as DECL_RTL and as
6122: DECL_INCOMING_RTL if tmode of parm is void.
6123:
6124: * jump.c (mark_jump_label): Don't make REG_LABEL for nonlocal label.
6125: * loop.c (add_label_notes): Don't make REG_LABEL for nonlocal label.
6126: (rtx_renumbered_equal_p): Use == to compare nonlocal labels.
6127:
6128: * rtl.h (LABEL_REF_NONLOCAL_P): New macro.
6129: * expr.c (expand_expr): Set LABEL_REF_NONLOCAL_P for nonlocal labels.
6130: * reload1.c (set_label_offsets): Ignore nonlocal labels.
6131:
6132: * c-parse.y (primary): Set TREE_CONSTANT in the NOP_EXPR for an enum.
6133:
6134: * Solaris changes from Cygnus:
6135:
6136: * fixinc.svr4: take a third argument indicating where files to be
6137: copied in should come from (useful when not building in source
6138: directory).
6139: Set TERM to dumb so ex won't hang (by zoo).
6140: * fixincludes: Take the same new argument.
6141:
6142: * gmon-sol2.c: New file.
6143: * t-sol2: New file.
6144: * sol2-crt1.s, sol2-crti.s, sol2-crtn.s: New files.
6145:
6146: * xm-spcv4.h (ONLY_INT_FIELDS): Define, if __GNUC__.
6147:
6148: * sparc.h (FUNCTION_PROFILER): Use ASM_OUTPUT_INTERNAL_LABELREF.
6149: (FUNCTION_BLOCK_PROFILER): Mark with FIXME that it needs work.
6150: (ASM_OUTPUT_INTERNAL_LABELREF): Define.
6151: * spc-sol2.h: Entire file is new except for
6152: defining MD_STARTFILE_PREFIX.
6153: * dbxout.c (dbxout_block): obey DBX_BLOCKS_FUNCTION_RELATIVE
6154: (dbxout_init): Use ASM_IDENTIFY_GCC_AFTER_SOURCE if defined.
6155:
6156: * sparc.h (CONSTANT_ALIGNMENT): Add parens for Sun compiler.
6157:
6158: Sun Jul 19 11:03:56 1992 Fred Fish (fnf at fishpond)
6159:
6160: * i386v4.h (real.h): Remove apparently unnecessary inclusion.
6161: * i386v4.h (HANDLE_SYSV_PRAGMA): Replaces HANDLE_PRAGMA.
6162:
6163: Sat Jul 18 20:37:37 1992 Richard Stallman ([email protected])
6164:
6165: * c-typeck.c (build_binary_op): Don't set shorten for signed division.
6166:
6167: * final.c (end_final): Align the table of addresses.
6168:
6169: Fri Jul 17 23:49:28 1992 Richard Stallman ([email protected])
6170:
6171: * cexp.y: Include stdio.h.
6172:
6173: Fri Jul 17 06:17:34 1992 Tom Wood ([email protected])
6174:
6175: * cp-tree.h (DECL_THIS_EXTERN): Renamed from DECL_EXTERNAL.
6176: * cp-pt.c, cp-decl.c: Rename DECL_EXTERNAL -> DECL_THIS_EXTERN and
6177: then rename TREE_EXTERNAL -> DECL_EXTERNAL.
6178:
6179: Fri Jul 17 05:59:26 1992 Richard Kenner ([email protected])
6180:
6181: * function.c (instantiate_decls{,_1}): Don't do instantiation
6182: here if the address is mode-dependent.
6183:
6184: * libgcc2.c: Include tconfig.h instead of tm.h.
6185: Include machmode.h.
6186: (__do_global_dtors): Cast to widest integer type, then narrow, to
6187: avoid warning if int is narrower than pointer.
6188: * Makefile.in (libgcc2.a): Includes machmode.h.
6189:
6190: * cse.c (cse_insn): Allow paradoxical SUBREGs in the table.
6191:
6192: * reload.c (secondary_memlocs{,_elim}): New variables.
6193: (get_secondary_mem, clear_secondary_mem): New function.
6194: (push_reload): Convert SUBREG of hard reg to new hard reg.
6195: Call get_secondary_mem when needed.
6196: (find_reloads): Clear secondary_memloc_elim for each insn.
6197: * reload1.c (reload): If SECONDARY_MEMORY_NEEDED, check for frame
6198: size changed.
6199: Call clear_secondary_mem.
6200: (emit_reload_insns, gen_input_reload): Use memory when required to
6201: do reload.
6202: * reload.h (get_secondary_mem): Declare.
6203:
6204: * cccp.c (NULL_PTR): Define as void * if STDC.
6205:
6206: * rs6000.md (negdi2): Corrected name; used to be negdi3.
6207:
6208: * combine.c (subst, case SET): Put code to move SUBREG after
6209: code that calls make_compound_operation.
6210: (make_extraction): Don't check for INNER a REG except for in dest.
6211: Fix typo checking for REG.
6212: (make_compound_operation): Get the result in the same mode it
6213: used to be.
6214:
6215: * reload.c (push_reload): If a SUBREG requires a secondary reload
6216: but the inner expression doesn't, reload the inner expression
6217: instead.
6218:
6219: Fri Jul 17 02:20:51 1992 Richard Stallman ([email protected])
6220:
6221: * gcc.c (process_command): Handle `-Wl,' and `-Wa,'.
6222: (do_spec_1): Handle %Y.
6223: (default_compilers): Use %Y in assembler commands.
6224:
6225: * function.c (assign_parms): In last change, test mode in parm type.
6226:
6227: Thu Jul 16 15:03:25 1992 Richard Stallman ([email protected])
6228:
6229: * loop.c (find_and_verify_loops): Ignore jumps to missing labels,
6230: when using P.
6231:
6232: * c-typeck.c (build_binary_op): Improve shift warning messages.
6233:
6234: * x-dpx2 (AS): Use $(GAS).
6235: (GAS): New variable.
6236:
6237: * mot3300.h (ASM_OUTPUT_CASE_END): Deleted.
6238:
6239: * function.c (assign_parms): If arg was passed by invisible
6240: reference, copy it to a pseudo if appropriate.
6241:
6242: * dwarfout.c (pure_or_virtual_attribute):
6243: Add #if 0 around use of DECL_ABSTRACT_VIRTUAL_P.
6244:
6245: Wed Jul 15 16:29:05 PDT 1992 Ron Guilmette (rfg at ncd.com)
6246:
6247: * dwarfout.c (BLOCK_INLINE_FUNCTION): Obsolete definition deleted.
6248: (block_ultimate_origin): New function.
6249: (output_block):
6250: Local var `have_significant_locals' renamed to `must_output_die'.
6251: (output_block): Rewritten to handle abstract & concrete instances of
6252: blocks of inline functions.
6253: (output_decls_for_scope):
6254: Don't bump `next_block_number' for abstract blocks.
6255:
6256: * toplev.c (rest_of_compilation): Call `dwarfout_file_scope_decl' for
6257: both types of "abstract" instances of inline functions.
6258:
6259: * tree.def (BLOCK): Use new tree code category letter 'b' for BLOCKs.
6260: * tree.h (struct tree_block): New struct type definition added.
6261: (BLOCK_VARS, BLOCK_TYPE_TAGS, BLOCK_SUBBLOCKS, BLOCK_HANDLER_BLOCK):
6262: Changed to reference fields of the new `struct tree_block' type.
6263: (BLOCK_ABSTRACT_ORIGIN, BLOCK_ABSTRACT): Definitions added.
6264: (union tree_node): Added `struct tree_block' as a new variant.
6265: * tree.c (typedef tree_node_kind): Added new kind, i.e. `b_kind'.
6266: (tree_node_kind_names): Added string name for new kind `b_kind'.
6267: (make_node, copy_node, stabilize_reference_1):
6268: Handle case 'b' (for BLOCK nodes).
6269: (make_node): Don't try to deal with BLOCKs when doing a type 'e' node.
6270: * print-tree.c (print_node):
6271: Handle type 'b'; delete code for BLOCK from 'e' case.
6272: Handle fields BLOCK_ABSTRACT_ORIGIN and BLOCK_ABSTRACT.
6273: * calls.c (calls_alloca): Don't return 0 automatically if the expr
6274: given is headed by a type 'b' node.
6275: * cp-tree.c (break_out_calls): Add case for decl nodes.
6276: Added case to catch BLOCK nodes (and to abort).
6277: * integrate.c (copy_decl_tree): Set BLOCK_ABSTRACT_ORIGIN in new
6278: instance block if not already set.
6279: (expand_inline_function): Set BLOCK_ABSTRACT_ORIGIN for outermost
6280: scope to point to progenitor (abstract inline) FUNCTION_DECL node.
6281: (integrate_decl_tree): Set BLOCK_ABSTRACT_ORIGIN for inlined instance
6282: BLOCKs.
6283: (set_block_origin_self, set_decl_origin_self, set_block_abstract_flags,
6284: set_decl_abstract_flags): New functions.
6285: (output_inline_function): Call `set_decl_origin_self' for each fndecl
6286: which is about to have an out-of-line instance generated for it.
6287:
6288: Wed Jul 15 15:08:00 1992 Richard Stallman ([email protected])
6289:
6290: * c-convert.c (convert_to_integer): Push truncation inside COND_EXPR.
6291:
6292: * optabs.c (emit_cmp_insn): Always do protect_from_queue on x, y, size.
6293: (expand_float, expand_fix): Likewise.
6294: * expmed.c (expand_shift, expand_set_flag):
6295: Call protect_from_queue before convert_to_mode.
6296: * expr.c (convert_move): Don't call protect_from_queue.
6297: (emit_block_move): Protect SIZE.
6298:
6299: * explow.c (allocate_dynamic_stack_space) [SETJMP_VIA_SAVE_AREA]:
6300: Always call round_push; we can't rely on alignment of size.
6301:
6302: Wed Jul 15 06:47:11 1992 Richard Kenner ([email protected])
6303:
6304: * combine.c (try_combine): Verify that I2DEST is a register before
6305: trying to change its mode.
6306:
6307: Tue Jul 14 15:13:28 1992 Jim Wilson ([email protected])
6308:
6309: * c-decl.c (finish_struct): Handle nested struct redefinitions.
6310: * stor-layout.c (layout_record): Handle NULL dsize.
6311:
6312: Tue Jul 14 21:31:51 1992 Richard Stallman ([email protected])
6313:
6314: * c-decl.c (duplicate_decls, pushdecl, grokdeclarator):
6315: (store_parm_decls, combine_parm_decls, finish_function):
6316: Use TYPE_MAIN_VARIANT when comparing against specific non-void types.
6317: * c-typeck.c (self_promoting_args_p, self_promoting_type_p):
6318: (signed_type, unsigned_type, default_conversion, check_format):
6319: (build_binary_op, c_expand_start_case): Likewise.
6320:
6321: Mon Jul 13 14:57:34 1992 Richard Stallman ([email protected])
6322:
6323: * c-decl.c (finish_function): Fix braino validating ret type of main.
6324:
6325: * expr.c (expand_builtin): Refer to errno at rtl level only.
6326: * sparc.h (TARGET_EDOM, GEN_ERRNO_RTX): New macros.
6327:
6328: Mon Jul 13 06:35:53 1992 Paul Eggert ([email protected])
6329:
6330: * expr.c (expand_builtin):
6331: For fsqrt, always use the special insn, then test for nan.
6332:
6333: Mon Jul 13 08:45:34 1992 Tom Wood ([email protected])
6334:
6335: * m88k.md: Constraint fixes from Torbjorn.
6336:
6337: * jump.c (jump_optimize): In `x = a; if (...) x = b;' allow both a
6338: and b to be non-zero if jumps are very expensive. Also allow a
6339: and b to be constants where all the set bits in a are also set in
6340: b when jumps are merely expensive.
6341:
6342: Sun Jul 12 17:43:03 1992 Richard Kenner ([email protected])
6343:
6344: * genpeep.c (match_rtx): Sometimes use %ld when printing an XWINT.
6345:
6346: * regclass.c (record_reg_classes): If OP is a REG, use it's mode
6347: in case the mode in MATCH_OPERAND is VOIDmode.
6348:
6349: Sun Jul 12 13:03:54 1992 Richard Stallman ([email protected])
6350:
6351: * fixincludes: Replace the code that finds all directories
6352: so that it looks for subdirs of dir reached via symlinks.
6353:
6354: * cp-tree.h (IDENTIFIER_VIRTUAL_P): Macro moved here.
6355: * tree.h (IDENTIFIER_VIRTUAL_P): Deleted from here.
6356:
6357: * rtl.h (NOTE_BLOCK_NUMBER, SET_NOTE_BLOCK_NUMBER): New macros.
6358: (NOTE_DECL_NAME, NOTE_DECL_CODE, ...): #if 0'd.
6359: * function.c (identify_blocks, reorder_blocks): New functions.
6360: (all_blocks, blocks_nreverse): New functions.
6361:
6362: * isi.h: Deleted the #error; file should work now.
6363: (LIB_SPEC): Use -lg only once.
6364: (STRUCTURE_SIZE_BOUNDARY): Defined.
6365:
6366: * protoize.c (process_aux_info_file): Set must_create before jumping to
6367: start_over. Don't clear must_create at start_over. Don't test
6368: source file mod time for SYSCALLS.
6369:
6370: * machmode.h (GET_MODE_NUNITS): Avoid division by zero.
6371:
6372: Sat Jul 11 22:21:47 1992 Richard Stallman ([email protected])
6373:
6374: * objc-parse.y (primary): Don't test TREE_EXTERNAL;
6375: call assemble_external regardless.
6376:
6377: * tree.h (DECL_INLINE, DECL_NONLOCAL, DECL_REGISTER, DECL_EXTERNAL):
6378: Renamed from TREE_INLINE, TREE_NONLOCAL, TREE_REGDECL, TREE_EXTERNAL.
6379: All uses changed.
6380:
6381: * xm-hp320.h (USG): Define it.
6382:
6383: Sat Jul 11 21:43:56 1992 Michael Meissner ([email protected])
6384:
6385: * mips.h (MIPS_VERSION): Bump meissner version number to 21.
6386:
6387: * mips.md (andsi3, iorsi3, xorsi3): Make predicates match the
6388: actual machine, since combine can now recreate the bitfields, and
6389: doesn't do multiple logical operations when setting more than one
6390: bitfield in a word.
6391:
6392: * objc-actions.c (xmalloc, free): Don't provide extern decls for
6393: these, since tree.h and rtl.h both now provide them.
6394:
6395: * cp-lex.c (real_yylex): Declare a variable i, since a for loop
6396: uses it as an index. Remove an extra '(' from a build_int_2 call.
6397:
6398: Sat Jul 11 13:13:03 1992 Richard Stallman ([email protected])
6399:
6400: * varasm.c: Get rid of default definitions of ASM_OUTPUT_CONSTRUCTOR
6401: and ASM_OUTPUT_DESTRUCTOR.
6402:
6403: * c-aux-info (affix_data_type): Don't be fooled by names starting
6404: with `const' or `volatile'.
6405:
6406: * c-typeck.c (digest_init): Deal with nested {...} for scalar.
6407:
6408: * loop.c, reload1.c: Include stdio.h before config.h.
6409:
6410: * toplev.c (rest_of_compilation): Save and restore DECL_ARGUMENTS.
6411:
6412: Fri Jul 10 22:42:34 1992 Paul Eggert ([email protected])
6413:
6414: * tree.c (build_real_from_int_cst): Truncate when folding to float.
6415: (real_value_from_int_cst): Do not treat the topmost bit
6416: of an unsigned long long value as a sign bit.
6417:
6418: * cse.c (simplify_binary_operation): Don't optimize 0.0/x to 0.0
6419: if IEEE floating point is used, because x might be negative or NaN.
6420:
6421: Fri Jul 10 15:37:42 1992 Richard Stallman ([email protected])
6422:
6423: * genpeep.c (match_rtx): Handle `w' elts of rtx.
6424:
6425: * Makefile.in (INTERNAL_CFLAGS): Add -DIN_GCC.
6426:
6427: Fri Jul 10 18:56:22 1992 Eric Youngdale ([email protected])
6428:
6429: * cccp.c (finclude): Clean error msf if file_size_and_mode fails.
6430:
6431: Fri Jul 10 13:44:46 1992 Howard Chu ([email protected])
6432:
6433: * fx2800.h (LINK_LIBGCC_SPECIAL): Defined.
6434: (DBX_OUTPUT_STANDARD_TYPES): Check that DECL_NAME(decl) exists
6435: before trying to get its IDENTIFIER_POINTER.
6436:
6437: Thu Jul 9 20:56:01 1992 Per Bothner ([email protected])
6438:
6439: * dbxout.c (dbxout_type_methods): Fix minimal_debug so
6440: that it skips a redundant class name prefix, as intended.
6441: It now expects the length digits that precede the class name.
6442:
6443: Thu Jul 9 18:23:12 1992 Torbjorn Granlund ([email protected])
6444:
6445: * Makefile.in, libgcc2.c, longlong.h: Rename udiv_using_sdiv to
6446: udiv_w_sdiv.
6447:
6448: Thu Jul 9 18:10:40 1992 Richard Stallman ([email protected])
6449:
6450: * tree.h (STRIP_TYPE_NOPS): New macro.
6451: * c-decl.c (build_enumerator): Use STRIP_TYPE_NOPS.
6452: * c-typeck.c (default_conversion): Use STRIP_TYPE_NOPS.
6453: (build_binary_op, build_function_call): Likewise.
6454: * c-common.c (check_case_value): Use STRIP_TYPE_NOPS.
6455:
6456: * mot3300.h (ASM_OUTPUT_CASE_END): New macro.
6457: * m68k.c (switch_table_difference_label_flag): New variable.
6458:
6459: * i860.md (QI and HI bte/btne patterns): Deleted.
6460:
6461: Thu Jul 9 06:09:20 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
6462:
6463: * c-typeck.c (default_conversion): Don't use STRIP_NOPS.
6464:
6465: * print-rtl.c: Missing merge from 64-bit changes.
6466: (print_rtx): Add new case 'w'.
6467:
6468: Wed Jul 8 14:35:39 1992 Richard Stallman ([email protected])
6469:
6470: * fixincludes, fixinc.svr4: Error if no argument.
6471:
6472: * tree.c (integer_zerop, integer_onep, integer_all_onesp):
6473: (integer_pow2p, real_zerop, real_onep, real_twop): Use STRIP_NOPS.
6474: * expr.c (do_store_flag): Likewise.
6475: * varasm.c (output_constructor): Likewise.
6476: * c-decl.c (finish_struct, build_enumerator): Likewise.
6477: * c-typeck.c (default_conversion, build_binary_op): Likewise.
6478: (build_function_call): Likewise.
6479:
6480: * integrate.c (integrate_decl_tree): Get rid of arg functionbody;
6481: it was always 0.
6482:
6483: * mot3300.h: Fix typo.
6484:
6485: * final.c (leaf_renumber_regs_insn): Handle new 'w' format.
6486:
6487: Wed Jul 8 15:18:33 PDT 1992 Ron Guilmette (rfg at ncd.com)
6488:
6489: * tree.h (DECL_ABSTRACT_ORIGIN, DECL_ABSTRACT): Definitions added.
6490: (struct tree_decl): New fields `abstract_origin' & `abstract_flag'.
6491: (struct tree_decl): Field `from_inline_flag' deleted.
6492: (DECL_FROM_INLINE): Definition revised to check DECL_ABSTRACT_ORIGIN.
6493: * integrate.c (copy_decl_list): New function added.
6494: (save_for_inline_copying): Call `copy_decl_list' for formal parameters.
6495: Set DECL_ABSTRACT_ORIGIN for fndecl to point to itself.
6496: (copy_decl_tree): Use `copy_decl_list' rather than just `copy_list'.
6497: (integrate_parm_decls, integrate_decl_tree): Set DECL_ABSTRACT_ORIGIN
6498: to point to the progenitor.
6499: * print-tree.c (print_node): Print the value of DECL_ABSTRACT_ORIGIN
6500: rather than the value of DECL_FROM_INLINE.
6501:
6502: * dwarfout.c (output_inlined_enumeration_type_die): New function.
6503: (output_inlined_structure_type_die, output_inlined_union_type_die):
6504: New functions added.
6505: (output_entry_point_die, output_formal_parameter_die,
6506: output_global_subroutine_die, output_global_variable_die,
6507: output_label_die, output_lexical_block_die,
6508: output_inlined_subroutine_die, output_local_variable_die,
6509: output_local_subroutine_die):
6510: Fixed to handle inline abstract & concrete (i.e. inlined) instances.
6511: (output_inlined_subroutine_die): Deleted.
6512: (output_label_die): Don't permit the rtx associated with a named
6513: user-declared label to be marked as INSN_DELETED_P.
6514: (output_tagged_type_instantiation): New function added.
6515: (output_decl): Call `output_tagged_type_instantiation'.
6516: Don't generate a pubnames label for anything marked as DECL_ABSTRACT.
6517: (output_die): Generate the proper kind fo DIE for each of the four
6518: possible combination of {normal, inlined} {variable, parameter}.
6519: (dwarfout_file_scope_decl): Don't generate pubnames entries if
6520: strictly abstract.
6521:
6522: * dwarfout.c (ordering_attribute): Only def if USE_ORDERING_ATTRIBUTE
6523: is defined.
6524: (output_array_type_die): Only call ordering_attribute if it is defined.
6525: (name_and_src_coords_attributes): Don't make it inline.
6526: Do make it static linkage.
6527: (const_value_attribute): Catch invalid kinds of rtx nodes
6528: by aborting for the default case in switch.
6529:
6530: * dwarfout.c (output_ptr_to_mbr_type_die): Make it static linkage.
6531: (output_formal_types): Make sure that `formal_type' is initialized.
6532: (output_type): Add a default case for switch.
6533: (output_decl): Don't suppress DIEs for the initial (artificial)
6534: arguments for C++ static member functions.
6535:
6536: * dwarfout.c (ceiling, field_type, simple_type_align_in_bits,
6537: simple_type_size_in_bits, field_byte_offset): New functions added.
6538: (data_member_location_attribute): Use new routine `field_byte_offset'
6539: to calculate the offset value for the AT_location attribute.
6540: (byte_size_attribute): Use new routine `field_type' to get the
6541: actual type for any FIELD_DECL. Also, use `simple_type_size_in_bits'
6542: to avoid potential problems with ERROR_MARKs when computing the size
6543: of a FIELD_DECL.
6544: (bit_offset_attribute): Rewritten to use `field_byte_offset' when
6545: determining the start of the "containing object".
6546:
6547: * integrate.c (expand_inline_function): Integrate parameters before
6548: locals to get debugging information in the proper order.
6549: (integrate_decl_tree): Don't do a redundant pushlevel/poplevel for
6550: the outermost scope (i.e. when level==0)... just use the one created
6551: by `expand_inline_function'.
6552:
6553: * calls.c (calls_alloca): For BLOCK, walk subblocks and vars by hand.
6554:
6555: Wed Jul 8 13:31:19 1992 Michael Meissner ([email protected])
6556:
6557: * cp-decl.c (print_binding_level): Fix typo, where 'lbl' was used
6558: instead of 'lvl'.
6559:
6560: * objc-actions.c (build_shared_structure_initializer): Correct call
6561: to build_int_2 which had only one argument, instead of two.
6562:
6563: Wed Jul 8 06:37:40 1992 Torbjorn Granlund ([email protected])
6564:
6565: * gstdarg.h, gvarargs.h: Test `__hppa__' instead of `__hp9000s800__'.
6566:
6567: * romp.md (zero_extendhisi2): Remove unneeded constraint.
6568:
6569: * rs6000.md (zero_extendhisi2): Remove unneeded constraint.
6570: (lu/stu): Use %0 instead of %1 in assembler insns.
6571: (call_value): Add missing "=" in constraint.
6572:
6573: Wed Jul 8 06:30:20 1992 Richard Kenner ([email protected])
6574:
6575: * rs6000.md (floatsidf): Correctly handle case when SImode operand
6576: overlaps the first DFmode register.
6577:
6578: * fold-const.c (distribute_bit_expr, range_test, fold_truthop):
6579: Use TRUTH_AND_EXPR instead of BIT_AND_EXPR so invert_truthvalue works.
6580:
6581: * c-decl.c (grokdeclarator): Strip all NOP_EXPRs from SIZE.
6582:
6583: * integrate.c: Do 64-bit changes (this file omitted the last time).
6584: Replace use of NULL and 0 in functions args with NULL_RTX.
6585: (copy_rtx_and_substitute, subst_constants): Handle "w" rtl
6586: operand class.
6587:
6588: * rs6000.h (LINK_SPEC): Support -static.
6589:
6590: * tree.c (make_node, copy_node, make_tree_vec, tree_cons, build1):
6591: Clear or copy tree nodes in a consistent manner, referencing
6592: every byte of the node.
6593:
6594: * regclass.c: Initialize REG_CLASS_CONTENTS into an array of
6595: ints, then copy into a HARD_REG_SET to avoid conditionalization
6596: of REG_CLASS_CONTENTS on 64-bit machines.
6597:
6598: * c-common.c (check_case_value): Strip the NOP_EXPR added by
6599: the grammar.
6600: * stmt.c (pushcase, pushcase_range): Don't do it here.
6601:
6602: * c-lex.c (yylex): Ensure TOTAL_PARTS is wide enough to store a
6603: constant as wide as we can store in an INTEGER_CST.
6604: (LONG_LONG_TYPE_SIZE): Deleted; no longer needed.
6605:
6606: Tue Jul 7 15:50:38 1992 Chip Salzenberg ([email protected])
6607:
6608: * x-i386sco (XCFLAGS): Omit flags specific to "rcc".
6609: (CC, OLDCC): Put them here instead.
6610:
6611: Tue Jul 7 18:57:10 1992 Mike Stump ([email protected])
6612:
6613: The below entries should make DWARF debugging a little bit easier.
6614:
6615: * cp-decl.c (pushdecl): IDENTIFIER_GLOBAL_VALUE should not be _DECL
6616: nodes but rather TYPE_DECLs.
6617:
6618: * cp-decl.c (pushtag): Mark binding layer markers as internal.
6619:
6620: * cp-class.c (finish_struct): Propagate internal mark on binding
6621: layer markers.
6622:
6623: * cp-decl2.c (finish_file): Don't name things that should not be
6624: named.
6625:
6626: * cp-method.c (decl_as_string): New back-end routine for
6627: substitute_nice_name.
6628:
6629: * cp-decl2.c (substitute_nice_name): New function used to create
6630: reasonable DECL_NAMEs from cyrptic ones.
6631:
6632: * cp-decl2.c (grokclassfn): Use substitute_nice_name.
6633:
6634: Tue Jul 7 14:04:01 1992 Richard Stallman ([email protected])
6635:
6636: * expr.c (emit_move_insn): Don't try subwords for a single word.
6637:
6638: * gcc.c (find_a_file, putenv_from_prefix):
6639: Handle value of 2 in require_machine_suffix.
6640: (process_command): Supply 2 for standard_exec_prefix{,_1}.
6641:
6642: * gstdarg.h: Undefine _BSD_VA_LIST if we define va_list.
6643:
6644: * cccp.c (append_include_chain): Fix setting of first_bracket_include.
6645:
6646: * loop.c (init_loop): Use word_mode, not SImode.
6647:
6648: * x-dpx2: New file.
6649: * x-dpx2200, x-dpx2300: Files deleted.
6650: * configure (m68k-bull-sysv*): Fatal error unless --with-gas.
6651: Always use x-dpx2.
6652:
6653: * libgcc2.c (XFtype): Turn off definition; not used.
6654: (TFtype): Define only if needed.
6655:
6656: Tue Jul 7 11:57:44 1992 Torbjorn Granlund ([email protected])
6657:
6658: * tahoe.md (call_value): Add `=' to output operand constraint.
6659: * arm.md (call_value): Likewise.
6660: * gmicro.md (negsf2, negdf2, abssf2, absdf2): Likewise.
6661: (peephole for moving returned value to fp reg): Likewise.
6662:
6663: * longlong.h (SI_TYPE_SIZE): Renamed from LONG_TYPE_SIZE.
6664:
6665: * longlong.h (machine independent code): #define udiv_qrnnd to call
6666: __udiv_using_sdiv if we have sdiv_qrnnd but not udiv_qrnnd.
6667: * libgcc2.c (__udiv_using_sdiv): New function.
6668: * Makefile.in (LIB2FUNCS): Add __udiv_using_sdiv.
6669:
6670: Mon Jul 6 23:28:29 1992 Mike Stump ([email protected])
6671:
6672: * cp-dem.c, cp-lex.c, cp-method.c, cp-xref.c: Do not include
6673: string.h or strings.h.
6674:
6675: Mon Jul 6 18:32:31 1992 Richard Kenner ([email protected])
6676:
6677: * emit-rtl.c (operand_subword): Avoid conditionals in macro arg.
6678:
6679: * Changes to support execution on 64-bit machines.
6680: * machmode.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT, HOST_PTR_PRINTF):
6681: Provide default definitions.
6682: (MAX_SHORT): New macro.
6683: (GET_MODE_BITSIZE): Cast result and shift constant to HOST_WIDE_INT.
6684: * rtl.h (union rtunion_def): Add field rtwint.
6685: (XWINT): New accessor macro.
6686: (INTVAL): Use XWINT, not XINT.
6687: (exact_log2, floor_log2, plus_constant, plus_constant_for_output):
6688: Now macros that cast arg to HOST_WIDE_INT.
6689: (NULL, NULL_PTR): Provide default definitions.
6690: (GEN_INT): New macro.
6691: (get_integer_term): Now returns HOST_WIDE_INT.
6692: * tree.h (NULL, NULL_PTR): Provide default definitions.
6693: (INT_CST_LT, INT_CST_LT_UNSIGNED): Cast to HOST_WIDE_INT.
6694: (struct tree_int_cst): Pieces of constant are HOST_WIDE_INT, not
6695: long.
6696: (exact_log2, floor_log2, build_int_2): Now macros, like rtl.h.
6697: * real.h (REAL_VALUE_TYPE, union real_extract): Use HOST_WIDE_INT,
6698: not long.
6699: (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XWINT instead of XINT.
6700: * rtl.def (CONST_INT): Operand type now "w".
6701: (CONST_DOUBLE): Change operands from type "i" to "w".
6702: * basic-block.h (REGSET_ELT_BITS): Always use HOST_BITS_PER_WIDE_INT.
6703: (REGSET_ELT_TYPE): New macro; same as HOST_WIDE_INT.
6704: * expr.h (ARGS_SIZE_RTX): Use NULL_RTX in expand_expr call.
6705: (plus_constant): Remove duplicate declaration.
6706: * hard-reg-set.h (HARD_REG_SET): Only scalar type we use
6707: is HOST_WIDE_INT; array is array of HOST_WIDE_INT.
6708: * loop.h (struct induction): Field CONST_ADJUST is now HOST_WIDE_INT.
6709: (loop_n_iterations): Now unsigned HOST_WIDE_INT.
6710: (loop_iterations): Returns HOST_WIDE_INT.
6711: * c-parse.y, cexp.y, c-decl.c, c-lex.c, c-typeck.c, caller-save.c:
6712: Change 0 or NULL when passed as a parameter that should be a pointer
6713: to NULL_TREE, NULL_RTX, or NULL_PTR, as appropriate.
6714: * calls.c, cccp.c, combine.c, cp-lex.c, cse.c, dbxout.c: Likewise.
6715: * dwarfout.c, emit-rtl.c, explow.c, expmed.c, expr.c: Likewise.
6716: * final.c, flow.c, fold-const.c, function.c, gcc.c: Likewise.
6717: * genattrtab.c, genpeep.c, genrecog.c, global-alloc.c: Likewise.
6718: * jump.c, local-alloc.c, optabs.c, recog.c, reg-stack.c: Likewise.
6719: * regclass.c, reload.c, reload1.c, reorg.c, rtl.c: Likewise.
6720: * rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c: Likewise.
6721: * toplev.c, unroll.c, varasm.c, loop.c, xcoffout.c: Likewise.
6722: * caller-save.c, combine.c, cp-class.c, cp-decl.c, cp-method.c:
6723: Cast and declare objects used to refer to wide values as HOST_WIDE_INT.
6724: Use HOST_BITS_PER_WIDE_INT instead of HOST_BITS_PER_INT.
6725: * cp-pt.c, cp-type2.c, cp-typeck.c, cse.c, dbxout.c: Likewise.
6726: * dwarfout.c, emit-rtl.c, explow.c, expmed.c, expr.c: Likewise.
6727: * final.c, fold-const.c, genattrtab.c, recog.c, reg-stack.c: Likewise.
6728: * regclass.c, reload.c, sched.c, stmt.c, stor-layout.c: Likewise.
6729: * loop.c, toplev.c, unroll.c, varasm.c: Likewise.
6730: * caller-save.c, combine.c, flow.c, global-alloc.c, reorg.c, sched.c:
6731: When refering to regsets, use type REGSET_ELT_TYPE.
6732: * calls.c, combine.c, emit-rtl.c, explow.c, expmed.c, expr.c, final.c:
6733: Use GEN_INT macro when making CONST_INTs.
6734: * function.c, jump.c, loop.c, optabs.c, recog.c, reload1.c: Likewise.
6735: * unroll.c: Likewise.
6736: * cp-decl.c, cp-ptree.c, print-tree.c: Use HOST_PTR_PRINTF when
6737: printing pointer values.
6738: * cccp.c, cexp.y, gcc.c (NULL, NULL_PTR): Provide default definition.
6739: * c-common.c (NULL): Remove definition from here.
6740: * c-decl.c (NULL): Likewise.
6741: (finish_struct): Ensure high-order part of width is zero.
6742: * cp-decl.c (finish_enum): Likewise.
6743: * c-lex.c (yylex): Call build_int_2 in more portable way.
6744: (yyprint): Print constant different ways, depending on host parameters.
6745: * final.c (output_asm_insn, output_addr_cont): Likewise.
6746: * genattrtab.c (write_test_expr): Likewise.
6747: * print-tree.c (print_node_brief, print_node): Likewise.
6748: * cp-decl.c (xref_tag): Remove explicit reference to modes.
6749: * cp-method.c (build_overload_value): Likewise.
6750: * cp-lex.c (real_yylex): Make accumulating bits for constant
6751: more portable.
6752: * cse.c (uid_cuid): Now pointer to int instead of to short.
6753: (exp_equiv_p): Change ifs on GET_RTX_FORMAT to a switch.
6754: Add format code of "w".
6755: * emit-rtl.c (gen_rtx): Add format code of "w".
6756: * jump.c (rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
6757: * loop.c (rtx_equal_for_loop_p): Likewise.
6758: * reload.c (operands_match_p): Likewise.
6759: * rtl.c (copy_rtx, copy_most_rtx): Likewise.
6760: * rtlanal.c (rtx_equal_p): Likewise.
6761: * sched.c (rtx_equal_for_memref_p): Likewise.
6762: * explow.c (plus_constant_wide): Formerly plus_constant; argument
6763: is HOST_WIDE_INT.
6764: (plus_constant_for_output_wide): Similarly.
6765: * fold-const.c: Use MAX_SHORTS for dimension of array of shorts.
6766: * genattrtab.c (NULL_ATTR): New macro.
6767: (attr_rtx): Use XWINT, not XINT, for CONST_INT.
6768: Add case "w".
6769: (check_attr_test, write_test_expr, main): Use XWINT, not XINT,
6770: for CONST_INT.
6771: * genemit.c (gen_exp): Use "NULL_RTX" instead of "0" when
6772: emitting null.
6773: Use GEN_INT and proper width when emitting a CONST_INT.
6774: Abort if trying to write a CONST_DOUBLE.
6775: * genrecog.c (struct decision): Add new fields TEST_ELT_ZERO_WIDE
6776: and ELT_ZERO_WIDE.
6777: (add_to_sequence, not_both_true, merge_trees, write_tree_1):
6778: Use new fields.
6779: * global-alloc.c (INT_BITS, INT_TYPE): Use HOST_WIDE_INT for type
6780: of conflict matrix.
6781: * loop. (loop_n_iterations): Now HOST_WIDE_INT.
6782: * recog.c: Remove redundant declarations of plus_constant_for_output
6783: and copy_rtx.
6784: * rtl.c: Declare atol if needed.
6785: (rtx_format): Add code for "w".
6786: (read_rtx): Read code "w" field with atol if required.
6787: (init_rtl): Fields of CONST_DOUBLE are now type "w".
6788: * rtlanal.c (get_integer_term): Returns HOST_WIDE_INT.
6789: * cccp.c, toplev.c: Error function args are HOST_WIDE_INT (kludge).
6790: * toplev.c (exact_log2_wide): Renamed from exact_log2 and now has
6791: arg of type HOST_WIDE_INT.
6792: (floor_log2_wide): Similarly.
6793: * tree.c (permalloc): Type of SIZE arg is int, not long.
6794: (build_int_2_wide): Renamed from build_int_2 and has args of
6795: type HOST_WIDE_INT.
6796: * unroll.c (loop_iterations): Now returns HOST_WIDE_INT.
6797: * varasm.c (immed_double_const): Arguments are now HOST_WIDE_INT.
6798:
6799: Mon Jul 6 14:56:26 1992 Richard Stallman ([email protected])
6800:
6801: * c-common.c (decl_attributes): Don't set DECL_PACKED on VAR_DECL.
6802:
6803: * Makefile.in (GCC_CFLAGS):
6804: Use CROSS_GCC_CFLAGS instead of -B for tooldir.
6805: * cross-make (CROSS_GCC_CFLAGS): Define as -B for tooldir.
6806:
6807: * c-decl.c (finish_function): If return type of `main' is not `int',
6808: warn instead of doing DEFAULT_MAIN_RETURN.
6809:
6810: * collect2.c, dwarfout.c, halfpic.c: Don't incude string.h.
6811:
6812: * c-decl.c (duplicate_decls): Let char *foo () match void *foo ()
6813: only if one of them came from a system header file.
6814:
6815: * stmt.c (pushcase): Fix typo.
6816:
6817: * Makefile.in (ALLOCA_FINISH): Make default `true'.
6818:
6819: * cccp.c (main): Clear first_bracket_include for -I-.
6820: Set first_system_include for first system header directory.
6821: (is_system_include): Start search at first_system_include.
6822:
6823: Mon Jul 6 12:58:27 1992 Chip Salzenberg ([email protected])
6824:
6825: * cccp.c (INCLUDE_LEN_FUDGE): Defined.
6826: (append_include_chain): New function. Adds directory(ies)
6827: to include chain and updates value of max_include_len.
6828: (main, path_include): Use append_include_chain.
6829: (do_include): Use INCLUDE_LEN_FUDGE.
6830:
6831: * tree.h (DECL_IN_SYSTEM_HEADER): Defined.
6832: (struct tree_decl): Add in_system_header_flag.
6833: * c-common.c (declare_function_name): For __FUNCTION__
6834: and __PRETTY_FUNCTION__, set DECL_IN_SYSTEM_HEADER instead
6835: of TREE_USED to supress `unused' warnings.
6836: * c-decl.c (duplicate_decls): Merge DECL_IN_SYSTEM_HEADER flag.
6837: * print-tree.c (print_node): Display TREE_RAISES and
6838: DECL_IN_SYSTEM_HEADER flags.
6839: * toplev.c (compile_file): Do not warn if an unused DECL
6840: has DECL_IN_SYSTEM_HEADER set.
6841: (rest_of_compilation): Do not set TREE_USED on static
6842: functions defined in system headers; this will be taken
6843: care of with DECL_IN_SYSTEM_HEADER.
6844: * tree.c (make_node): Set DECL_IN_SYSTEM_HEADER on permanent
6845: decls defined in system headers.
6846: * objc-actions.c (build_module_descriptor,add_objc_decls):
6847: Set DECL_IN_SYSTEM_HEADER instead of TREE_USED on compiler-
6848: created decls.
6849:
6850: Mon Jul 6 10:17:30 1992 Michael Collison (collison at osf.org)
6851:
6852: * i386.h (SUBTARGET_SWITCHES):
6853: Incoporate SUBTARGET_SWITCHES into TARGET_SWITCHES.
6854: (HALF_PIC_P, HALF_PIC_NUMBER_PTRS, HALF_PIC_NUMBER_REFS,
6855: HALF_PIC_ENCODE, HALF_PIC_DECLARE, HALF_PIC_INIT,
6856: HALF_PIC_ADDRESS_P, HALF_PIC_PTR, HALF_PIC_FINISH):
6857: Define these as stubs if not OSF/1 platform.
6858: * i386.md (movsi): Recognize half-pic moves.
6859:
6860: Mon Jul 6 11:16:47 1992 Tim Moore ([email protected])
6861:
6862: * pa.h (ASM_DECLARE_FUNCTION_NAME): Fix typo
6863:
6864: Mon Jul 6 08:48:51 1992 Torbjorn Granlund ([email protected])
6865:
6866: * m68k.md (swapsi): Add `+' operand constraints.
6867: (insert to memory recognizer): Add `+'.
6868: (peephole for moving returned value to fp reg): Add `='.
6869:
6870: Sun Jul 5 16:34:24 1992 John F Carr (jfc at Achates.mit.edu)
6871:
6872: * vax.md (addsi3): Code generation improvements (whether to use movab).
6873:
6874: * vax.md (andsi3, andhi3, andqi3): If one of the source operands
6875: is a constant, complement that operand instead of a register or
6876: memory operand.
6877:
6878: Sun Jul 5 13:16:15 1992 Richard Kenner ([email protected])
6879:
6880: * combine.c (try_combine): When splitting using a DEFINE_SPLIT,
6881: update the number of sets of the destination if it is being set
6882: twice. Also update reg_significant.
6883:
6884: Sun Jul 5 13:14:50 1992 Richard Stallman ([email protected])
6885:
6886: * c++: Fix typo testing $quote for nullness.
6887:
6888: * cse.c (simplify_binary_operation): Don't put sum of two symbolic
6889: addresses into a CONST.
6890:
6891: * m68kv4.h (ASM_OUTPUT_ALIGNED_COMMON): #undef this.
6892: (ASM_OUTPUT_ALIGNED_LOCAL): #undef this.
6893: (ASM_OUTPUT_ASCII): New overriding definition.
6894: (ASM_OUTPUT_CASE_END): New overriding definition.
6895:
6896: * c-typeck.c (convert_arguments): No -Wconversion warning
6897: if the function wants an enumeral type.
6898:
6899: * tek6000.h, tek6100.h, tek6200.h: New files.
6900: * configure (ns32k-tek6100-bsd, ns32k-tek6200-bsd): New alternatives.
6901: * config.sub: utek is synonym for bsd.
6902:
6903: * Makefile.in (alloca.o): Add -c.
6904:
6905: * Makefile.in (start.encap): Use LIBGCC1, not LIBGCC1_TARGET.
6906: (GCC_CFLAGS): Find executables in $(tooldir)/bin, not $(tooldir).
6907: (libgcc1.cross): New target.
6908: (all.cross, cross-test): Depend on libgcc.a.
6909: * cross-make (LIBGCC1): Use libgcc1.cross.
6910:
6911: * Makefile.in (USER_H): va-hp800.h changed to va-pa.h.
6912: (install-common): Fix typo.
6913:
6914: * stmt.c (pushcase, pushcase_range): Use STRIP_NOPS on the values.
6915:
6916: * x-amix, x-i860v4, x-ncr3000, x-sparcv4: Undo last change.
6917: * x-i386v4, x-m68kv4: Files deleted.
6918: * configure (i386-*-sysv4, i486-*-sysv4, m68k-*-sysv4):
6919: Corresponding changes.
6920:
6921: * c-decl.c (duplicate_decls): Don't warn about disagreement in `inline'
6922: except when non-inline fn is made inline after a call or definition.
6923:
6924: Sun Jul 5 10:25:22 PDT 1992 Ron Guilmette (rfg at ncd.com)
6925:
6926: * c-decl.c (grokdeclarator): Make `long long long' an error, not a
6927: warning. Make duplicate qualifiers do pedwarn, not warning.
6928:
6929: * c-decl.c (pushdecl): Always create a new (variant) ..._TYPE node
6930: for each new TYPE_DECL node created.
6931:
6932: * libgcc2.c (UQItype, SItype, USItype, DItype, UDItype, SFtype, DFtype,
6933: XFtype, TFtype): Typedefs added.
6934: (SI_TYPE_SIZE): Renamed globally from LONG_TYPE_SIZE.
6935: Define names for ANSI C types to `bogus_type' over the range of lines
6936: where we must always use the new mode-related types. Undef them again
6937: at the end of that range (so we can used the ANSI types again), and
6938: then define the mode-related type names to `bogus_type' to insure
6939: those are not used from then on.
6940:
6941: * libgcc2.c, longlong.h (DIstruct): Renamed globally from `longlong'.
6942: (DIunion): Renamed globally from `long_long'.
6943: Universally use the new mode-related type names for all functions
6944: and macros which expect, yield, or otherwise rely on operands to be
6945: of certain GCC-defined machine modes.
6946:
6947: Sun Jul 5 11:11:00 1992 Torbjorn Granlund ([email protected])
6948:
6949: * pa.h: (TARGET_VERSION): Print " (hppa)".
6950: * pa.md (zdepi recognizer): Add attribute.
6951: (recognizers for SImode load and store with fpregs): Add `=' to
6952: operand 0.
6953:
6954: Sat Jul 4 15:02:19 1992 Richard Stallman ([email protected])
6955:
6956: * configure (mips-*-sysv4): Don't set use_collect2.
6957:
6958: * c-parse.y (primary): Wrap a NOP_EXPR around an enum value.
6959:
6960: * libgcc2.c (__builtin_saveregs for i860): Test __svr4__, not SVR4.
6961: * va-i860.h: Test __svr4__.
6962:
6963: * c-decl.c (finish_function): Set BLOCK_SUPERCONTEXT of outer block.
6964:
6965: * x-m88kv3: File deleted.
6966:
6967: * x-sparcv4 (X_CFLAGS): Add -dn.
6968:
6969: * reorg.c: Move the #ifdef DELAY_SLOTS after the #includes.
6970:
6971: Sat Jul 4 14:16:33 1992 Richard Kenner ([email protected])
6972:
6973: * combine.c (SUBST): Ensure we don't call something that can make
6974: a new undo entry in the middle of our making one.
6975:
6976: Sat Jul 4 12:17:55 1992 Richard Stallman ([email protected])
6977:
6978: * Makefile.in (cp-parse.c): Append YYEMPTY to cp-parse.h, not ...y.
6979:
6980: * cse.c (simplify_unary_operation): Add aborts in zero_extend
6981: and sign_extend cases, explaining how they might need to be changed.
6982:
6983: * i960.h (WORD_SWITCH_TAKES_ARG): Fix typo.
6984:
6985: * x-amix, x-sparcv4, x-i860v4, x-i386v4, x-ncr3000:
6986: Add -static to X_CFLAGS.
6987: * x-m68kv4: New file.
6988: * isc.h (HANDLE_SYSV_PRAGMA): Defined.
6989:
6990: Sat Jul 4 15:18:33 PDT 1992 Ron Guilmette (rfg at ncd.com)
6991:
6992: * xm-spc-sol2.h: New file.
6993:
6994: * tree.h (DECL_UID): Definition added.
6995: (struct tree_decl): `uid' field added.
6996: * tree.c (DECL_UID): Initialize this uniquely for each new ..._DECL.
6997:
6998: * rtl.h (NOTE_INSN_DELETED_LABEL): Definition added.
6999: * rtl.c (note_insn_name): Add entry for NOTE_INSN_DELETED_LABEL.
7000: * final.c (final_scan_insn): Call `dwarfout_label' for each
7001: `NOTE_INSN_DELETED_LABEL'.
7002: * jump.c (delete_insn): Don't really delete CODE_LABELs corresponding
7003: to user-declared lables... Turn them into NOTE_INSN_DELETED_LABELs
7004: instead.
7005:
7006: * dwarf.h (AT_abstract_origin): Renamed from AT_specification.
7007: * dwarfout.c (dwarf_attr_name): Likewise.
7008: (dwarf_tag_name, dwarf_attr_name, dwarf_stack_op_name,
7009: dwarf_typemod_name, dwarf_fmt_byte_name): Use normal DWARF prefixes
7010: for string names of unrecognized values.
7011: (is_block_body): New function added.
7012: (DECL_NAME_FMT): Definition added.
7013: (equate_decl_number_to_die_number, abstract_origin_attribute,
7014: pure_or_virtual_attribute): New functions added.
7015: (src_coords_attribute): Only define this is DWARF_DECL_COORDINATES
7016: is defined.
7017:
7018: * populate: New file.
7019:
7020: * function.c (instantiate_decls): Delete #if 1.
7021:
7022: * flags.h, toplev.c, dbxout.c (use_gnu_debug_info_extensions):
7023: Renamed from `use_gdb_dbx_extensions'.
7024:
7025: * toplev.c (main): Added support for -gdwarf+ and for -gxcoff+.
7026:
7027: Sat Jul 4 08:39:47 1992 Tom Wood ([email protected])
7028:
7029: * m88k.c (m88k_end_prologue): Reset frame_laid_out here.
7030: (m88k_expand_prologue): Not here.
7031:
7032: * m88k.h (IDENT_ASM_OPT, ALIGN_ASM_OPT, ASM_OUTPUT_CASE_LABEL):
7033: Override svr4.h.
7034:
7035: Fri Jul 3 12:40:27 1992 Paul Eggert ([email protected])
7036:
7037: * fold-const.c (fold_convert): When converting a floating point
7038: constant to integer, warn about out-of-range values after truncating
7039: to integer, not before.
7040:
7041: Fri Jul 3 19:34:07 1992 Mike Stump (mrs@hal)
7042:
7043: * Makefile.in ($(srcdir)/cp-parse.c): extract YYEMPTY out of the
7044: parser generated .c file and put in the parser .h so that cp-lex.c
7045: does not have to define it.
7046:
7047: * cp-tree.c (__eprintf): Third argument line is now unsigned,
7048: completes Ron's Jul 2 change.
7049:
7050: Fri Jul 3 15:03:30 1992 Richard Stallman ([email protected])
7051:
7052: * configure: Set FIXINCLUDES in Makefile based on sysv4 or not.
7053: * x-amix (ENQUIRE_CFLAGS, FIXINCLUDES): Deleted.
7054:
7055: * config.sub: Recognize i486 like i386.
7056:
7057: * defaults.h (ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ADDR_VEC_ELT):
7058: (ASM_OUTPUT_ADDR_DIFF_ELT, ASM_STABD_OP): New default definitions.
7059: * final.c: Include defaults.h.
7060: (ASM_STABD_OP): Deleted.
7061: * Makefile.in (final.o) Depend on defaults.h.
7062:
7063: * Makefile.in (toplev.o): Use MAYBE_TARGET_DEFAULT.
7064: * configure: Set MAYBE_TARGET_DEFAULT for some targets.
7065: Use 3, if target is i486...
7066: Recognize i486 as well as i386 for most targets.
7067:
7068: * x-hp320g (LIBGCC1, AR, RANLIB, RANLIB_TEST, LIBCONVERT): Deleted.
7069: * t-hp320g (LIBGCC1, AR, RANLIB, RANLIB_TEST, LIBCONVERT): Defined.
7070: * t-svr4 (FIXINCLUDES): Deleted.
7071:
7072: * Makefile.in (ENQUIRE_CFLAGS): Add -DNO_LONG_DOUBLE_IO.
7073:
7074: * fold-const.c (BRANCH_COST): Add default definition.
7075:
7076: * cp-tree.h: Declare intQI_type_node, etc.
7077: * cp-decl.c: Declare intQI_type_node, etc.
7078: (init_decl_processing): Initialize those nodes.
7079:
7080: Thu Jul 2 15:18:33 PDT 1992 Ron Guilmette (rfg at ncd.com)
7081:
7082: * amix.h (ASM_OUTPUT_CASE_END, ASM_OUTPUT_ALIGNED_LOCAL): Output
7083: tabs before SET_ASM_OP.
7084:
7085: * Makefile.in (dwarfout.o): Dependency on defaults.h added.
7086:
7087: * sparcv4.h: Include real.h.
7088: (SET_ASM_OP): Undef it.
7089:
7090: * svr4.h (IDENT_ASM_OP): Added generic svr4 definition.
7091: (ASM_FILE_END, ASM_OUTPUT_IDENT): Use IDENT_ASM_OP.
7092: (ALIGN_ASM_OP): Added generic svr4 definition.
7093: (ASM_OUTPUT_CASE_LABEL): Added generic svr4 definition.
7094:
7095: * i860.c (strict_single_insn_op_p, relop): Deleted.
7096: * i860.h (ASM_OUTPUT_CASE_LABEL): Fixed definition to use
7097: ASM_OUTPUT_ALIGN and ASM_OUTPUT_INTERNAL_LABEL.
7098: * i860b.h, i860v3.h (TARGET_VERSION): Definitions added.
7099: * i860v3.h (CPP_PREDEFINES): Predefine __svr3__ rather than SVR3.
7100:
7101: * c-decl.c (named_labels): Change linkage to static.
7102:
7103: * assert.h (__eprintf): Declare 3rd arg as unsigned.
7104:
7105: * cccp.c (do_include): Don't do fprintf's if inhibit_warnings.
7106: Renamed system_header_p to angle_brackets. Use is_system_include.
7107: (is_system_include): New function.
7108: (redundant_include_p) : Renamed from lookup_include.
7109:
7110: * c-common.c (type_for_size): If no ANSI type matches, check for
7111: matches with built-in mode-releated types.
7112: (type_for_mode): Likewise.
7113: * c-decl.c: Added declarations for mode-related internal type nodes.
7114: (init_decl_processing): Initialize the new type nodes.
7115: * c-tree.h: Added declarations for mode-related internal type nodes.
7116: intQI_type_node, etc.
7117:
7118: * c-lex.c (yylex): For integers, rename shorts to parts.
7119: Let the number of them be variable. Simplify overflow testing.
7120: Don't use long long types unless ll was specified.
7121: Don't warn twice.
7122:
7123: Thu Jul 2 20:30:20 1992 Roland McGrath ([email protected])
7124:
7125: * gstdarg.h: #ifdef _STDARG_H, not __STDARG_H.
7126:
7127: Thu Jul 2 18:18:07 1992 Richard Stallman ([email protected])
7128:
7129: * global.c: Renamed from global-alloc.c.
7130:
7131: Thu Jul 2 15:36:25 1992 Torbjorn Granlund ([email protected])
7132:
7133: * pa.c (zdepi_operand): New function.
7134: (emit_move_sequence): Use it.
7135: * pa.md: New pattern to recognize cases where zdepi can be used to
7136: load immediate constant.
7137: (insv): Allow obvious immediate values.
7138: (insv + 1): New recognizer for non-obvious immediate values.
7139:
7140: Thu Jul 2 15:13:15 1992 Michael Meissner ([email protected])
7141:
7142: * halfpic.c (half_pic_encode): Consider variables which are 'common'
7143: variables to need pic fixup. Move the debug code, so that it prints
7144: for all calls, and calls debug_tree also.
7145: (half_pic_address): When doing eliminate_constant_term on a CONST,
7146: do a XEXP (addr, 0) to get to the real address.
7147:
7148: * decrose.h (CPP_SPEC, CC1_SPEC): If neither -fbuiltin nor
7149: -fno-builtin are passed, pass -fno-builtin, and renable the string
7150: and memory builtins via macros. This is to support compiling the
7151: OSF/1 kernel which has a prototyped exit function which takes three
7152: arguments. With no -pic switches, default to using shared libs.
7153:
7154: * i386rose.h (CPP_SPEC, CC1_SPEC): If neither -fbuiltin nor
7155: -fno-builtin are passed, pass -fno-builtin, and renable the string
7156: and memory builtins via macros. This is to support compiling the
7157: OSF/1 kernel which has a prototyped exit function which takes three
7158: arguments. Turn off pic support until the 386 backend supports it.
7159:
7160: * x-i386rose (SHLIB): Use -pic-none instead of -L${BUILD}/usr/ccs/lib.
7161:
7162: * x-decrose (SHLIB): Use -pic-none instead of -L${BUILD}/usr/ccs/lib.
7163:
7164: * mips.md (movsi): Rewrite handling of half-pic code so that load
7165: address of symbol + value is handled.
7166: (branch_zero): Don't allow branch comparing constant to 0.
7167:
7168: Thu Jul 2 06:26:38 1992 Tom Wood ([email protected])
7169:
7170: * m88k.md (blockage insn): Renamed from profiler.
7171: (epilogue insn): Don't provide this if a return insn will suffice.
7172: (m88k_end_epilogue): If the last insn isn't a barrier, print a return.
7173: * m88k.c (null_prologue): Renamed from null_epilogue.
7174:
7175: * m88k.c (condition_value): New function.
7176: * m88k.md (compare word insns): New insns and define_split
7177: patterns to take advantage of recent fold_truthop change.
7178:
7179: * m88k.h (ADDITIONAL_REGISTER_NAMES): Represent the condition code
7180: register as (reg:CC 0). Give it the names "cc" and "psr".
7181: * m88k.md (superoptimizer sequences): New define_split patterns.
7182: (add/sub with carry): New insns.
7183: (add/sub DImode, ffssi2): Clobber the condition code register.
7184:
7185: Wed Jul 1 13:37:37 1992 Richard Stallman ([email protected])
7186:
7187: * gstddef.h Don't define macros associated with size_t unless we
7188: actually want to declare size_t. Likewise for ptrdiff_t and wchar_t.
7189:
7190: * Makefile.in (install-common): Depend on xgcc, g++, c++, EXTRA_PARTS.
7191: Don't delete specs from libsubdir unless it exists in build dir.
7192:
7193: * va-pa.h: Renamed from va-hp800.h.
7194: * gstdarg.h, gvarargs.h: Use new name.
7195:
7196: * news3.h, news3gas.h: New files.
7197: * configure (m68k-sony-newsos3*): New alternative.
7198:
7199: * romp.h (SIZE_TYPE): Defined.
7200:
7201: * configure: Support --exec-prefix. Simplify handling
7202: detached arguments of options.
7203:
7204: * isc.h, and other related files:
7205: waiting for entries from [email protected].
7206:
7207: Wed Jul 1 12:04:53 1992 Ron Guilmette (rfg at ncd.com)
7208:
7209: * c-decl.c (grokdeclarator): Don't mark file-scope register variables
7210: as TREE_PUBLIC.
7211:
7212: Wed Jul 1 12:04:53 1992 Karl Berry ([email protected])
7213:
7214: * i386iscgas.h (SIZE_TYPE, PTRDIFF_TYPE): Define these, since we
7215: need to override GCC's defaults.
7216:
7217: * configure (i386-*-isc): Use different files if we have gas.
7218: * t-i386iscgas, i386iscgas.h, isc.h: New files
7219: * i386isc.h: Include isc.h. Most of contents moved to isc.h.
7220: * bsd386.h (ASM_OUTPUT_LABELREF) [NO_UNDERSCORES]: do not prepend an
7221: underscore in this case.
7222: * i386gas.h (CPP_SPEC): if -posix, do -D_POSIX_SOURCE.
7223:
7224: Wed Jul 1 09:13:44 1992 Tom Wood ([email protected])
7225:
7226: * fold-const.c (fold_truthop): Renamed from merge_component_references.
7227: (simple_operand_p): New function.
7228: (range_test): Change JCODE parameter to the unconditional operation.
7229: (fold_truthop): When branches are expensive, try to evaluate the
7230: RHS unconditionally. Compute local variables as late as possible.
7231:
7232: * m88k.h (HANDLE_SYSV_PRAGMA): Replaces HANDLE_PRAGMA.
7233: * m88k.c (m88k_handle_pragma_token): Deleted.
7234:
7235: Tue Jun 30 15:32:51 1992 Richard Stallman ([email protected])
7236:
7237: * c-decl.c (duplicate_decls): If newdecl for builtin function
7238: has same return mode as the builtin, keep the builtin
7239: but use newdecl's return type.
7240:
7241: * i386.md (lshrdi3_const_int): Fix typo in shr insn.
7242:
7243: * Makefile.in (GCC_CFLAGS): Add `-B$(tooldir)/'.
7244:
7245: * i386sun.h, rs6000-mach.h, sparc.h, sun2o4.h, sun3.h (LINK_SPEC):
7246: Inhibit the default -e if -r or -nostdlib.
7247:
7248: * c-decl.c (lookup_label): Call label_rtx.
7249:
7250: * c-parse.y (primary): Rearrange and clean up. In C_DECL_ANTICIPATED
7251: case, always call assemble_external and set TREE_USED.
7252:
7253: Mon Jun 29 22:27:49 1992 Mike Stump ([email protected])
7254:
7255: * cccp.c, cp-dem.c, dbxout.c, cp-lex.c, cp-xref.c, cp-method.c,
7256: dwarfout.c, c-typeck.c, mips-tfile.c, protoize.c, collect2.c: Make
7257: the compiler more consistent by using index and rindex everywhere
7258: instead of sometimes using strchr and strrchr.
7259:
7260: Mon Jun 29 22:20:13 1992 Richard Kenner ([email protected])
7261:
7262: * regclass.c (regclass): Restore some accidentally-deleted code.
7263:
7264: Mon Jun 29 12:48:05 1992 Nobuyuki Hikichi ([email protected])
7265:
7266: * collect2.c (MY_ISCOFF): New macro.
7267: (scan_prog_file): Use that instead of ISCOFF.
7268:
7269: * mips.c (override_options) [MIPS_NEWS]: Call setlinebuf.
7270:
7271: Mon Jun 29 12:48:05 1992 Richard Stallman ([email protected])
7272:
7273: * gcc.c (do_spec_1): For %I, pass -iprefix, not -imacros.
7274:
7275: * c-common.c (decl_attributes): For `packed' on VAR_DECL,
7276: set DECL_PACKED and DECL_ALIGN.
7277:
7278: * configure: Update usage message.
7279: (m68k-sony-newsos*, mips-sony-newsos*): New synonyms.
7280:
7281: * fold-const.c (merge_component_references):
7282: Make sure the four fields correspond in the proper order.
7283:
7284: * c-lex.c (check_newline): Support HANDLE_SYSV_PRAGMA.
7285: (handle_sysv_pragma): New function.
7286: * c-pragma.c: New file.
7287: * stor-layout.c (maximum_field_alignment): New variable.
7288: (layout_decl): Use it.
7289: * Makefile.in (C_OBJS, OBJC_OBJS): Add c-pragma.o
7290: (c-pragma.o): New rule.
7291:
7292: * i386.c (handle_pragma_token): Function deleted.
7293: * i386v4.h (HANDLE_PRAGMA): Deleted.
7294:
7295: * g++: Reestablish symlink to c++.
7296: Delete the testing of $TRACE--this could confuse people.
7297: Delete spurious assignment of $version.
7298:
7299: * tree.h (DECL_PACKED): Store this in regdecl_flag.
7300:
7301: * Makefile.in (LIB2FUNCS): Change _builtin_New to _caps_New.
7302: * libgcc2.c: Change L_builtin_New to L_caps_New.
7303:
7304: * dbxout.c (dbxout_symbol): Pass 3 args to eliminate_regs.
7305: Call alter_subreg for subregs. Delete subreg case later on.
7306: Don't bother with reg_renumber--any pseudo reg is clearly
7307: a variable that was not allocated.
7308: * sdbout.c (sdbout_symbol): Call alter_subreg for subregs.
7309: Don't bother with reg_renumber--any pseudo reg is clearly
7310: a variable that was not allocated.
7311:
7312: * sequent.h (SIZE_TYPE): Defined.
7313: (LINK_LIBGCC_SPECIAL): Fix typo.
7314:
7315: Mon Jun 29 12:04:57 1992 Tom Wood ([email protected])
7316:
7317: * toplev.c (rest_of_compilation): Thread the prologue and epilogue
7318: code immediately after reloading is done.
7319: * sched.c (schedule_insns): Reposition the prologue and epilogue
7320: notes as needed.
7321: * reorg.c (dbr_schedule): Ditto.
7322: * rtl.h (NOTE_INSN_PROLOGUE_END, NOTE_INSN_EPILOGE_BEGIN): New notes.
7323: * rtl.c (note_insn_name): Record them.
7324: * function.c (record_insns, contains, thead_prologue_and_epilogue_insns,
7325: reposition_prologue_and_epilogue_notes): New functions.
7326: * final.c: Include insn-flags.h.
7327: (profile_after_prologue): New function.
7328: (final_start_function): Use profile_after_prologue here when we
7329: don't HAVE_prologue.
7330: (final_scan_insn): Use profile_after_prologue when we scan
7331: NOTE_INSN_PROLOGUE_END. (This happens when we do HAVE_prologue.)
7332: Perform machine specific actions when the prologue-end and
7333: epilogue-begin notes are scanned.
7334: (final_scan_insn, BARRIER): Align only when something follows.
7335: * Makefile.in (final.o): Depends on insn-flags.h.
7336:
7337: * m88k.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE): Define.
7338: (DELAY_SLOTS_FOR_EPILOGUE, ELIGIBLE_FOR_EPILOGUE_DELAY): Delete.
7339: * m88k.md (prologue, epilogue, profiler, locate1, locate2): New
7340: patterns for representing prologues and epilogues.
7341: * m88k.c (delay_slots_for_epilogue, eligible_for_epilogue_delay,
7342: ok_for_epilogue_p): Delete epilogue delay slot functions.
7343: (m88k_begin_prologue m88k_end_prologue m88k_expand_prologue): New
7344: functions replacing m88k_output_prologue.
7345: (m88k_begin_epilogue m88k_end_epilogue m88k_expand_epilogue): Ditto.
7346: (preserve_registers): Delete epilogue delay slot mechanism and
7347: change to output insns.
7348: (emit_add, emit_ldst): New functions.
7349:
7350: Sun Jun 28 23:06:04 1992 Brendan Kehoe ([email protected])
7351:
7352: * Makefile.in (bootstrap, bootstrap2, bootstrap3): In each
7353: passage of CC, use xgcc, not gcc.
7354: * dostage2, dostage3: Likewise.
7355:
7356: Sun Jun 28 09:48:18 1992 Richard Stallman ([email protected])
7357:
7358: * c-decl.c (duplicate_decls): If have char *foo () and
7359: void *foo (...), make just a pedwarn. Add locals oldtype, newtype.
7360: * c-typeck.c (self_promoting_args_p): No longer static.
7361:
7362: * flow.c (regno_uninitialized): Return 0 for global reg var.
7363:
7364: * c-typeck.c (initializer_constant_valid_p):
7365: Allow CONVERT_EXPR if its operand is allowable.
7366: (build_c_cast): For cast to union, make a CONSTRUCTOR.
7367:
7368: * sparc.c (SPARC_STACK_ALIGN): Add default definition.
7369:
7370: * c++: Use `set "$@"' to modify arguments.
7371: Use a case to decide how to set $gcc.
7372: $quote is now empty for false and the option name for true.
7373: Error at end if $quote is nonempty.
7374: $speclang is now the -x option itself.
7375: Move the -v case above the -* case.
7376:
7377: * limitx.h: Add #ifndef.
7378: * limity.h: New file.
7379: * Makefile.in (install-limits-h): Append limity.h to the end.
7380:
7381: * c-typeck.c (digest_init): Don't push spellings here (for union case).
7382: (process_init_constructor): Fix errors for field not found.
7383: (build_c_cast): Fold casts to union type.
7384:
7385: * xm-vms.h (XREF_FILE_NAME): Fix typo.
7386:
7387: * i386sun.h (SIZE_TYPE): Defined.
7388:
7389: * Makefile.in (alloca.o): Delete the rm command.
7390: Use -Demacs explicitly in compilation command.
7391: (ALLOCA_FLAGS, ALLOCA_FINISH): Empty by default.
7392: * x-pa-hpux, x-rs6000, x-rs6k-mach, x-dpx2200, x-dpx2300:
7393: (ALLOCA_FLAGS, ALLOCA_FINISH): Deleted.
7394: * x-dpx2200, x-dpx2300 (AS): Deleted.
7395:
7396: * configure: Set broken_install for V.4.
7397: (i386-*-aix, ns32k-*-genix, i386-*-isc, i386-*-sco):
7398: (i386-*-sco3.2v4, m88k-dg-dgux): Set broken_install.
7399: (m88k-*-sysv): Don't use x-m88kv3.
7400: * x-m88kv3: File deleted.
7401: * x-aix386, x-dpx2200, x-dpx2300, x-genix, x-i386isc, x-i386sco:
7402: * x-i386v, x-i386v4, x-i860v3, x-i860v4, x-m88kdgux, x-m88kdolph:
7403: * x-m88kv4, x-ncr3000, x-sparcv4, x-xenix (INSTALL): Deleted.
7404:
7405: Sun Jun 28 08:44:32 1992 Michael Meissner ([email protected])
7406:
7407: * regclass.c (record_address_regs): Make the function static to
7408: agree with the forward declaration.
7409:
7410: * mips.h (LINK_LIBGCC_SPECIAL): Define.
7411:
7412: Sun Jun 28 06:14:56 1992 Richard Kenner ([email protected])
7413:
7414: * expr.c (direct_load, direct_store): New variables.
7415: (init_expr_once): New function.
7416: (convert_move, convert_to_mode): Don't let gen_lowpart make a MEM in
7417: a mode that can't be directly copied to or from memory.
7418: (store_field): Don't directly store into memory in a mode that
7419: can't be used in a single insn.
7420: (expand_expr, case COMPONENT_REF): Likewise, for load.
7421: * toplev.c (compile_file): Call init_expr_once.
7422:
7423: * cse.c (fold_rtx, case SUBREG): If we can find nested SUBREGs
7424: with an inner register in the mode we want, get rid of all the
7425: SUBREGs provided they are all within a word.
7426:
7427: * cp-call.c, cp-class.c, cp-decl.c, cp-edsel.c, cp-lex.c: Don't
7428: declare xmalloc and free here.
7429: * cp-methods.c, cp-pt.c, cp-search.c, flow.c, integrate.c: Likewise.
7430: * loop.c, opjc-actions.c, reload1.c, reorg.c, rtl.c: Likewise.
7431: * stmt.c, tree.c, varasm.c: Likewise.
7432: * toplev.c (xmalloc, xrealloc): Declare return types correctly.
7433: * rtl.h, tree.h: Declare xmalloc and free here.
7434:
7435: * expmed.c (emit_store_flag): Keep the last target around if we
7436: should preserve subexpressions.
7437:
7438: Sat Jun 27 07:11:28 1992 Richard Kenner ([email protected])
7439:
7440: * cse.c (cse_insn): See if we have a CONST_INT that is already in
7441: a register in a wider mode.
7442:
7443: * regclass.c: Major rework of regclass pass to do a better job of
7444: setting up register preferences and replace the "preferred or
7445: nothing" method with a class that should be used if the preferred
7446: class cannot be allocated.
7447: (MEMORY_MOVE_COST): Default value is 4, not 2.
7448: (move_cost, may_move_cost): New arrays.
7449: (init_reg_sets): Initialize them.
7450: (struct costs): Replaces struct savings.
7451: (costs): Replaces savings.
7452: (op_costs): New array.
7453: (altclass): Replaces preferred_or_nothing.
7454: (reg_alternate_class): New function; replaced reg_preferred_or_nothing.
7455: (regclass): Major rework. Use new recording methods; make two
7456: passes if -fexpensive-optimizations; and refine REGNO_POINTER_FLAG
7457: and loop_depth setting.
7458: (record_reg_class): New function; replaces reg_class_record.
7459: (copy_cost): New function.
7460: (record_address_regs): Major changes. New parameters and simplified
7461: and more efficient algorithm for chosing base vs. index regs.
7462: * rtl.h (reg_alternate_class): Declare it.
7463: * Makefile.in (regclass.o): Now includes reload.h and real.h.
7464: * flow.c (dump_flow_info): Call reg_alternate_class instead of
7465: reg_preferred_or_nothing.
7466: * reload.c (find_reloads): Likewise.
7467: (n_occurrences): No longer static.
7468: * local-alloc.c: Use register alternate class instead of
7469: preferred_or_nothing uniformly; change qty_preferred_or_nothing
7470: to qty_alternate_class.
7471: * global-alloc.c (global_alloc, retry_global_alloc): Call
7472: reg_alternate_class instead of reg_preferred_or_nothing.
7473: (find_reg): Change ALL_REGS_P argument to ALT_REGS_P.
7474: Use alternate register class instead of ALL_REGS if can't allocate
7475: in preferred class.
7476:
7477: * cccp.c (install): Accept separate arguments for integer and
7478: pointer hash values; don't assume the sizes are the same.
7479: All callers changed.
7480:
7481: * rtl.c (copy_rtx, copy_most_rtx): Add new case for 'u'.
7482:
7483: * tree.c (make_node): Clear all of common area, in particular, flags.
7484:
7485: * c-tree.h, cp-tree.h: Add declaration of truthvalue_conversion.
7486:
7487: Sat Jun 27 06:21:18 1992 Tom Wood ([email protected])
7488:
7489: * m88k.md (type attributes): Delete unused mbit and mfp types.
7490: (ffsi2 insn): Define.
7491: (negdf2 and absdf2 insns): Improve.
7492:
7493: * fold-const.c (range_test): Fix the misordered test. Fail if VAR
7494: isn't an integer.
7495:
7496: Sat Jun 27 00:54:44 1992 Richard Stallman ([email protected])
7497:
7498: * gcc.c (link_command_spec): No %D if LINK_LIBGCC_SPECIAL.
7499: * sequent.h (LINK_LIBGCC_SPECIAL): Defined.
7500:
7501: * vax.h (PRINT_OPERAND): For SFmode, use 0f, not 0d or 0g.
7502:
7503: * ns32k.h (NS32K_DISPLACEMENT_P): Correct the range limits.
7504: * ns32k.c (print_operand_address): REG_OK_FOR_INDEX_P wants an rtx.
7505:
7506: Fri Jun 26 08:55:03 1992 Tom Wood ([email protected])
7507:
7508: * fold-const.c (range_test): New function.
7509: (merge_component_references): Look for range tests as well.
7510:
7511: * va-m88k.h: Same changes as other va-*.h files below. Make this
7512: work when <stdio.h> and others are included on DG/UX.
7513:
7514: Fri Jun 26 08:17:33 1992 Richard Stallman ([email protected])
7515:
7516: * expr.c (safe_from_p): Handle 0 in TREE_VALUE of a TREE_LIST.
7517: (store_constructor: Ignore empty links in element chain.
7518:
7519: Fri Jun 26 07:06:19 1992 Richard Kenner ([email protected])
7520:
7521: * c-convert.c (convert_to_integer): Don't add a NOP_EXPR in cases
7522: where we can simply change the type of the entire tree.
7523:
7524: * cse.c (find_best_addr): Look for equivalents of a REG that is
7525: the first operand of an address that is a binary operator whose
7526: second operand is a CONST_INT.
7527:
7528: * stmt.c (expand_end_bindings): Don't save argument pointer if it
7529: will be eliminated in favor of the frame pointer.
7530:
7531: * combine.c (try_combine): When using define_split to split an
7532: insn, first try to put the pseudo-register into the mode of
7533: the destination since it is the most likely to be the correct mode.
7534:
7535: * combine.c (make_compound_operation): Treat PLUS and MINUS
7536: the same when passing down the code to the next level; for
7537: consistency, an ASHIFT inside either gets turned into a MULT.
7538:
7539: * fold-const.c (optimize_bit_field_compare): Delete dead
7540: assignment which can sometimes reference an undefined variable.
7541:
7542: * genoutput.c (gen_split): Initialize n_alternatives.
7543:
7544: * romp.md (movdf): Fix typo in operand_subword call in define_split.
7545:
7546: Fri Jun 26 04:38:37 1992 Richard Stallman ([email protected])
7547:
7548: * Make stdarg mechanism work with libc.
7549: * va-hp800.h, va-i860.h, va-i960.h, va-mips.h, va-pyr.h, va-sparc.h):
7550: Don't define or declare va_list; declare __gnuc_va_list.
7551: But only declare it once.
7552: Define other things only if _STDARG_H or _VARARGS_H.
7553: Declare va_end as well as defining it.
7554: * gstdarg.h: Likewise.
7555: If __need___va_list was defined, then undef it
7556: and don't define _STDARG_H.
7557: For all machines, declare va_list from __gnuc_va_list
7558: but only if _STDARG_H is defined.
7559:
7560: * gvarargs.h: Test _ANSI_H_, not _ANSI_H.
7561:
7562: Thu Jun 25 23:24:02 1992 Richard Stallman ([email protected])
7563:
7564: * ns32k.c (print_operand):
7565: Change NO_IMMEDIATE_PREFIX_IF_SYMBOLIC conditional to #ifdef.
7566:
7567: * genoutput.c (gen_split): Set d->n_alternatives.
7568:
7569: * Makefile.in (test-protoize-simple): Expect just 400 lines.
7570: (install-common-headers): When comparing srcdir with ., use pwd.
7571:
7572: Tue Jun 16 22:11:12 1992 Jim Wilson ([email protected])
7573:
7574: * Makefile.in (enquire.o): Don't delete/copy enquire.c, just use
7575: the copy in the source directory.
7576:
7577: Tue Jun 25 23:52:27 1992 Howard Chu ([email protected])
7578:
7579: * libgcc2.c (__builtin_saveregs): Use SVR4 code on Alliant FX2800,
7580: but with BSD function-naming convention.
7581:
7582: * va-i860.h: Use SVR4 definitions of __va_saved_regs and va_list
7583: on Alliant FX2800.
7584:
7585: * fx2800.h (I860_REG_PREFIX, ASM_COMMENT_START): Deleted.
7586: (DBX_NO_EXTRA_TAGS, BSS_ASM_OP): Deleted.
7587: (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Deleted.
7588: (ASM_FILE_START): Just call output_file_directive.
7589:
7590: Thu Jun 25 06:49:15 1992 Richard Stallman ([email protected])
7591:
7592: * c-typeck.c (process_init_constructor): Strip NON_LVALUE_EXPR
7593: from specified array index.
7594:
7595: * configure (i386-*-bsd*, i386-*-mach*): Don't set tmake_file.
7596: They used to use t-libc-ok.
7597:
7598: * input.h (struct file_stack): Revert prev. change.
7599:
7600: Thu Jun 25 06:33:52 1992 Tom Wood ([email protected])
7601:
7602: * stmt.c (expand_end_case): Add CASE_VALUES_THRESHOLD.
7603: * m88k.h (CASE_VALUES_THRESHOLD): Define.
7604:
7605: Thu Jun 25 06:13:39 1992 Richard Kenner ([email protected])
7606:
7607: * explow.c (plus_constant, case PLUS): Remove obsolete code;
7608: use recursive call in case remaining operand is one we handle.
7609:
7610: Wed Jun 24 19:15:14 1992 Richard Kenner ([email protected])
7611:
7612: * combine.c (subst, case PLUS): If adding two things with no bits
7613: in common, convert to IOR.
7614:
7615: * expr.c (do_jump, case BIT_AND_EXPR, COMPONENT_REF): Don't narrow
7616: comparison unless byte accesses are not slow and we have a
7617: comparison in the new mode.
7618:
7619: Wed Jun 24 14:29:09 1992 Richard Stallman ([email protected])
7620:
7621: * c-parse.y (primary): If built-in decl has not had
7622: an official declaration, print warning.
7623: * c-decl.c (builtin_function): Set C_DECL_ANTICIPATED for
7624: user-visible names.
7625: * c-tree.h (C_DECL_ANTICIPATED): New macro.
7626:
7627: * fixincludes: Make some symlinks in the `multimedia' subdir.
7628:
7629: * i386.c: Change #error to just error.
7630:
7631: * protoize.c: Normalize error message syntax.
7632: (process_aux_info_file): Don't delete .X file if it existed before.
7633: (explicity compare modtime with .c file.
7634:
7635: Wed Jun 24 14:10:35 1992 Jim Wilson ([email protected])
7636:
7637: * sparc.c (sparc_frw_compute_frame_size): New function, for flat
7638: register window model support.
7639: (sparc_frw_save_restore): Likewise.
7640: (sparc_frw_output_function_prologue): Likewise.
7641: (sparc_frw_output_function_epilogue): Likewise.
7642: (sparc_frw_epilogue_delay_slots): Likewise.
7643: (sparc_frw_eligible_for_epilogue_delay): Likewise.
7644:
7645: Tue Jun 23 22:36:12 1992 Richard Stallman ([email protected])
7646:
7647: * cccp.c (rescan): Recognize # only when reading directly from a file.
7648:
7649: * input.h (struct file_stack): Add member `fd'.
7650:
7651: * regclass.c (regno_first_uid, regno_last_uid): Make elements ints.
7652: (reg_scan): Allocate and clear them as ints.
7653: * regs.h: Fix the declarations.
7654:
7655: * Create driver executable with name xgcc; rename to gcc in installing.
7656: (xgcc): Target renamed.
7657: (GCC_FOR_TARGET, GCC_PASSES, start.encap, specs, gcc-cross):
7658: (install-common, install-collect2): Rename in deps, commands or value.
7659: (install-collect2): Always get driver from xgcc whether cross or not.
7660:
7661: Tue Jun 23 00:00:35 1992 Brendan Kehoe ([email protected])
7662:
7663: * toplev.c (strip_off_ending): Also strip off .C and .cxx.
7664:
7665: Tue Jun 23 18:58:43 1992 Jim Wilson ([email protected])
7666:
7667: * genrecog.c (add_to_sequence): Don't ignore mode of first operand
7668: of a MATCH_OPERAND or MATCH_DUP_OP rtl.
7669: * sparc.md (scc): Use noov_compare_op instead of normal_compare_op.
7670:
7671: * function.c (expand_function_start): When not optimizing, don't
7672: put static chain pointer in a pseudo register.
7673:
7674: * sparc.c (print_operand): For '*', only annul branch if
7675: optimizing, to avoid dbx bug. Add '(' to handle unoptimized case.
7676: * sparc.h (PRINT_OPERAND_PUNCT_VALID_P): Add '('.
7677: * sparc.md (jump): Add '%(' to pattern.
7678:
7679: * c-decl.c (store_parm_decls): Change type of void parameter to
7680: error_mark_node.
7681:
7682: * configure (m68k-*-sysv4*): Use xm-m68kv.h not xm-m68kv4.h.
7683:
7684: * configure: Add -prefix option.
7685:
7686: * vax.c (split_quadword_operands): Declare paramater n.
7687:
7688: * i960.h (WORD_SWITCH_TAKES_ARG): Add -aux-info.
7689:
7690: * xcoffout.c (xcoffout_declare_function): Cast alloca result to char *.
7691:
7692: * c-convert.c (convert_to_integer): Don't pass truncation past
7693: shift that is larger than the size being truncated to.
7694:
7695: Tue Jun 23 06:15:47 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7696:
7697: * optabs.c (expand_binop, expand_unop): Try widening before trying
7698: to make a library call.
7699:
7700: * stmt.c (expand_return): Add missing emit_queue call in tail
7701: recursion case.
7702:
7703: * cse.c (simplify_unary_operation): Add SIGN_EXTEND and
7704: ZERO_EXTEND to the operations we handle for wide results.
7705:
7706: * expr.c (emit_block_move): Convert size operand to mode that will
7707: be passed to emit_library_call.
7708:
7709: Tue Jun 23 00:41:03 1992 Paul Eggert (eggert@shadow)
7710:
7711: * objc-parse.y (stmt): Fix mispelling for "label" in message.
7712:
7713: * cccp.c: (deps_file, pipe_closed): Deleted.
7714: (main): Do not open deps_file until needed.
7715: Check error status of dep_stream and stdout more carefully.
7716:
7717: Tue Jun 23 00:21:05 1992 Richard Stallman ([email protected])
7718:
7719: * Makefile.in (protoize.1, unprotoize.1): Rules deleted.
7720: (install-man, proto, realclean): Don't operate on them.
7721: * proto-man: File deleted.
7722:
7723: * protoize.c (main): Support -v as alias for -V.
7724:
7725: Mon Jun 22 21:50:01 1992 Richard Stallman ([email protected])
7726:
7727: * Makefile.in (compare, compare3): Discard error output from second
7728: tail. If it fails, don't compare that file.
7729:
7730: * Makefile.in (stamp-proto): Move the touch command last.
7731:
7732: * cccp.c (finclude): Use xmalloc, not alloca, for file contents.
7733:
7734: * stmt.c (check_for_full_enumeration_handling): For a case range,
7735: consider all values in the range as handled. Also, check both ends
7736: for being in the enumeration.
7737:
7738: * ns32k.h (NS32K_DISPLACEMENT_P): Wide displacement range applies to
7739: all models.
7740:
7741: Mon Jun 22 20:29:47 1992 Ron Guilmette (rfg at ncd.com)
7742:
7743: * expr.h (*_libfunc): Added missing extern declarations of libfuncs
7744: to handle operations on/for TFmode and XFmode operands.
7745: * expr.c (convert_move): Added missing code to handle moves (with
7746: conversion) from/to TFmode and XFmode operands.
7747: * optabs.c (*_libfuncs): Added missing definitions of libfuncs
7748: to handle operations on/for TFmode and XFmode operands.
7749: (emit_float_lib_cmp): Added missing code to handle XFmode and TFmode
7750: comparisons.
7751: (init_fixtab): Added missing code to handle fixing (and trunc'ing)
7752: of XFmode and TFmode operands to various sizes of ints.
7753: (init_floattab): Likewise, but for "float" operations from ints to
7754: either XFmode or TFmode.
7755: (expand_float): Likewise.
7756: (expand_fix): Likewise.
7757: (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs): New
7758: functions added to initialize whole hunks of various optabs with
7759: appropriate `libfunc' field values.
7760: (init_optabs): Use `init_integral_libfuncs' or `init_floating_libfuncs'
7761: wherever a group of consecutive optab entries need to all have their
7762: `libfunc' fields initialized.
7763: (init_optabs): added missing code to handle all operations on/of
7764: XFmode and TFmode operands.
7765:
7766: Mon Jun 22 06:40:32 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7767:
7768: * rs6000.h (MEMORY_MOVE_COST): Increase to 6, from 4.
7769: (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add new reg
7770: classes SPEC_OR_GEN_REGS and NON_FLOAT_REGS.
7771:
7772: * rs6000.h (EXTRA_CONSTRAINT): Don't use indirect_operand; instead
7773: check explicitly.
7774:
7775: * rs6000.md (divmod): Use "2" constraint instead of using "q"
7776: twice.
7777: (tablejump): Constraint of "r" should be "l".
7778:
7779: * emit-rtl.c (init_emit): Show that all pointers into the frame are
7780: pointer registers.
7781:
7782: Mon Jun 22 04:20:26 1992 Richard Stallman ([email protected])
7783:
7784: * va-sparc.h (va_arg): Rename local identifiers to start with __.
7785:
7786: Sun Jun 21 14:51:42 1992 Richard Stallman ([email protected])
7787:
7788: * fold-const.c (real_value_truncate): New function.
7789: All calls to REAL_VALUE_TRUNCATE changed to use this function.
7790:
7791: * reload1.c (reload): Record which insn attains each maximum need.
7792: If can't find a spill, call spill_failure and return 1.
7793: (spill_failure): New subroutine.
7794: * global-alloc.c (global_alloc): Return 1 if reload returned 1.
7795: * toplev.c (rest_of_compilation): If they return nonzero, give up
7796: compiling this function.
7797:
7798: * c-decl.c (duplicate_decls): Never warn if redeclaring
7799: a predeclared function. Use the new declaration's types
7800: but keep any predeclared volatile flag.
7801: If redeclaring builtin function, use new declaration's type.
7802: If an old decl becomes volatile, fix the DECL_RTL.
7803: * varasm.c (make_var_volatile): New function.
7804:
7805: * configure (mips-sony-bsd): Use xm-mips.h.
7806: * xm-mipsbsdn.h: File deleted.
7807:
7808: * protoize.c (process_aux_info_file): Simplify logic for calling
7809: gen_aux_info_file. Get rid of the label `retry'.
7810:
7811: * m68ksgs.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7812: Override for sgs syntax.
7813:
7814: Sun Jun 21 14:06:41 1992 Brendan Kehoe ([email protected])
7815:
7816: * va-sparc.h (va_arg): Use a character array of size TYPE for
7817: `d' in the union, and return its dereference as TYPE.
7818:
7819: Sun Jun 21 14:04:36 1992 Wilson Tien (wtien at urbana.mcd.mot.com)
7820:
7821: * m68k.c (print_operand_address) [MOTOROLA]: Use .w and .l, not :w, :l.
7822:
7823: Sat Jun 20 06:32:11 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
7824:
7825: * stor-layout.c (get_best_mode): If SLOW_BYTE_ACCESS is true, return
7826: widest mode (but no wider than UNITS_PER_WORD) that meets all
7827: the conditions.
7828:
7829: * combine.c (make_extraction): Always ensure we have a SUBREG when
7830: we make a STRICT_LOW_PART.
7831:
7832: * varasm.c (const_hash, compare_constant_1, record_constant_1):
7833: Handle case when TREE_VALUE of a constructor is zero.
7834: (output_constant): Use CONSTRUCTOR_ELTS.
7835:
7836: * cse.c (cse_insn): Memory is not invalidated by a constant
7837: subroutine call.
7838: (delete_dead_from_cse): Correctly check for being within a
7839: libcall block.
7840:
7841: * cse.c (canon_reg): Call validate_change with IN_GROUP equal to 1.
7842: (cse_insn): Call apply_change_group after canon_reg.
7843: When canonicalizing, call validate_change with IN_GROUP equal to
7844: one and also call when canon_reg would.
7845:
7846: * combine.c (subst, shift cases): Use force_to_mode in
7847: SHIFT_COUNT_TRUNCATED case.
7848:
7849: * rs6000.md: Add new pattern to split move of large constant.
7850:
7851: * cse.c (delete_dead_from_cse): Really delete insn instead of
7852: turning it into a NOTE.
7853:
7854: * romp.md (shift patterns): Use QImode for count operand.
7855:
7856: Sat Jun 20 06:31:21 1992 Tom Wood ([email protected])
7857:
7858: * a29k.md (storehinhww): Use inhw not inbyte.
7859:
7860: Thu Jun 18 16:01:56 1992 Richard Kenner ([email protected])
7861:
7862: * protoize.c (WIFEXITED, WEXITSTATUS): Delete unused macros.
7863:
7864: * combine.c (subst): If comparison operator has floating-point
7865: result, adjust the value returned by simplify_relational_operation
7866: accordingly.
7867: * integrate.c (subst_constants): Likewise.
7868: * loop.c (get_condition): Likewise.
7869: * cse.c (fold_rtx): Likewise.
7870: When returning TRUE or FALSE, handle comparisons returning
7871: floating-point.
7872: (find_comparison_args): Handle comparisons returning FP values;
7873: only look at STORE_FLAG_VALUE for comparisons returning integers.
7874:
7875: * combine.c (try_combine, subst): Pass both comparison arguments
7876: to SELECT_CC_MODE.
7877: * i386.h, i960.h, i960.c, mips.h, pa.h, pa.c, rs6000.h:
7878: Add second argument to SELECT_CC_MODE.
7879: * sparc.h, sparc.c: Likewise.
7880:
7881: * cse.c (insert_regs): Make a quantity for the register in a
7882: SUBREG if it doesn't have one.
7883: (fold_rtx, case SUBREG): Always try to find a constant equivalent
7884: for a SUBREG; try for CONST_DOUBLE as well.
7885: (cse_insn): Call insert_regs on DEST if it is a SUBREG.
7886:
7887: Thu Jun 18 15:01:29 1992 Mike Stump ([email protected])
7888:
7889: * c++: Allow for better quoting and -v handling.
7890:
7891: Thu Jun 18 14:49:20 1992 Tom Wood ([email protected])
7892:
7893: For RMS:
7894: * varasm.c: Declare text_section and readonly_data_section.
7895:
7896: * dpx2.h (CPP_SPEC): Define __HAVE_68881__ unless -msoft-float.
7897: DPX/2 machines all have a 68882.
7898:
7899: * x-i386sco (RCCFLAGS): Use -DNULL=0 to avoid suurious warnings
7900: from rcc.
7901:
7902: * seq386.h (SIZE_TYPE): The Sequent running Dynix uses int for size_t.
7903:
7904: Thu Jun 18 14:36:41 1992 Mike Stump ([email protected])
7905:
7906: Merge in Cygnus sources...
7907:
7908: Fri Jun 5 15:00:55 1992 Mike Stump (mrs at cygnus.com)
7909:
7910: * cp-typeck.c (build_c_cast): When casting, propagate const'ness
7911: from cast type. When casting to a reference to T, really just
7912: cast to T.
7913:
7914: * cp-cvt.c (build_up_reference): Make a copy of a node before
7915: changing it. Only propagate the const bit if we are not
7916: subverting it.
7917:
7918: Fri Jun 5 14:36:19 1992 Mike Stump (mrs at cygnus.com)
7919:
7920: * cp-cvt.c (build_up_reference): When casting away const on
7921: references, do not report an error.
7922:
7923: Fri Jun 5 13:26:11 1992 Mike Stump (mrs at cygnus.com)
7924:
7925: * cp-init.c (build_new): Handle new placement with arrays.
7926:
7927: Thu Jun 4 08:26:44 1992 Mike Stump (mrs at cygnus.com)
7928:
7929: * cp-search.c (compute_visibility): DERIVED_FROM_P had its
7930: arguments reversed, switched them to be in the right order.
7931: Fixes visibility on protected members.
7932:
7933: Wed Jun 3 14:45:40 1992 Mike Stump (mrs at cygnus.com)
7934:
7935: * cp-parse.y (unary_expr): Make it illegal to use delete on
7936: a pointer to a const object. With help from Brendan Kehoe.
7937:
7938: Wed Jun 3 13:25:26 1992 Ken Raeburn ([email protected])
7939:
7940: * cp-parse.y (template_instantiate_once): Set
7941: CLASSTYPE_GOT_SEMICOLON to eliminate messages about missing
7942: semicolons.
7943:
7944: * cp-decl.c (start_function): Don't emit error message for missing
7945: semicolon after class decl; that syntax (declaring both class and
7946: function returning that type) should be legal. Do emit a warning if
7947: it's not an anonymous name.
7948:
7949: Mon Jun 1 18:08:09 1992 Mike Stump (mrs at cygnus.com)
7950:
7951: Sat May 30 15:38:54 1992 Brendan Kehoe ([email protected])
7952:
7953: * cp-decl.c (grokdeclarator): Don't allow main to be static.
7954:
7955: Mon Jun 1 17:52:24 1992 Mike Stump (mrs at cygnus.com)
7956:
7957: Sat May 30 15:38:54 1992 Brendan Kehoe ([email protected])
7958:
7959: * cp-decl.c (poplevel): Use DECL_INITIAL to detect undef label
7960: instead of DECL_SOURCE_LINE.
7961:
7962: Mon Jun 1 17:22:54 1992 Mike Stump (mrs at cygnus.com)
7963:
7964: * cp-parse.y (unary_expr): Don't allow old placement syntax(with {})
7965: nor dynamic with new (with ()) new placement syntax. Completes May 27
7966: fix.
7967:
7968: Mon Jun 1 13:57:28 1992 Mike Stump (mrs at cygnus.com)
7969:
7970: * cp-type2.c (digest_init): Trailing '\0' is never ignored in
7971: initializations using strings in ANSI draft C++ unlike ANSI C.
7972:
7973: Mon Jun 1 07:18:13 1992 Michael Tiemann (tiemann at rtl.cygnus.com)
7974:
7975: * cp-decl.c (pushdecl): Re-fix May 12 change regarding DECL_CONTEXT.
7976: * cp-call.c (build_method_call): Go back to using DECL_CONTEXT
7977: instead of DECL_CLASS_CONTEXT. DECL_CONTEXT says when a function
7978: was first declared virtual in a class, which is needed information
7979: in case the virtual function comes from a virtual baseclass (because
7980: the derived class won't have a vtable entry for that function (if it
7981: has a vtable at all!)).
7982:
7983: Wed May 27 17:05:50 1992 Mike Stump (mrs at cygnus.com)
7984:
7985: * cp-parse.y (unary_expr): Handle new placement syntax, desupport
7986: the old placement syntax with a pedwarn.
7987:
7988: Tue May 26 17:30:28 1992 Mike Stump (mrs at cygnus.com)
7989:
7990: Thu May 21 17:13:38 1992 Michael Tiemann (tiemann at cygnus.com)
7991:
7992: * cp-decl.c (grok_enum_decls): Allow reference to nested enums from
7993: other classes for NICHL.
7994:
7995: Tue May 26 15:31:30 1992 Mike Stump (mrs at cygnus.com)
7996:
7997: * cp-*.[chy]: Always include "assert.h" and not <assert.h> to
7998: be consistent.
7999:
8000: Tue May 26 10:07:02 1992 Mike Stump (mrs at cygnus.com)
8001:
8002: * cp-parse.y (return_init): Fix simple typo that caused '='
8003: initialized named return values to fail.
8004:
8005: Mon May 25 11:42:18 1992 Mike Stump (mrs at cygnus.com)
8006:
8007: * cp-parse.y (component_decl): Handle anonymous unions as before,
8008: except check to make sure it is really an anonymous union.
8009:
8010: Sat May 23 23:37:38 1992 Mike Stump (mrs at cygnus.com)
8011:
8012: * cp-tree.c (layout_basetypes): Don't core dump on erroneous input.
8013:
8014: Sat May 23 22:04:31 1992 Mike Stump (mrs at cygnus.com)
8015:
8016: * cp-typeck.c (c_expand_start_case): build_type_conversion can
8017: return a NULL_TREE, so don't try and find a code or type of it.
8018:
8019: Wed May 20 09:09:08 1992 Michael Tiemann ([email protected])
8020:
8021: * cp-call.c (build_method_call): Use DECL_CLASS_CONTEXT, not
8022: DECL_CONTEXT to find the class in which FUNCTION was declared (for
8023: non-virtual calls).
8024:
8025: Tue May 19 02:08:39 1992 Mike Stump (mrs at cygnus.com)
8026:
8027: * cp-parse.y (component_decl): Remove some bogus code that
8028: prevents empty nested union definitions from compiling.
8029:
8030: Tue May 19 01:08:23 1992 Mike Stump (mrs at cygnus.com)
8031:
8032: * cp-decl.c (grokfndecl): Propagate volatile from type of
8033: function out to the decl for the function.
8034:
8035: Mon May 18 17:19:39 1992 Mike Stump (mrs at rtl.cygnus.com)
8036:
8037: * cp-search.c (get_binfo): Since unions cannot participate in
8038: inheritance relationships, return 0 instead of aborting.
8039:
8040: Fri May 15 13:37:40 1992 Mike Stump (mrs at cygnus.com)
8041:
8042: * cp-parse.y (template_type_name): Handle
8043: template<class T> class task { friend task<T>* preempt(task<T>*); };
8044: syntax.
8045:
8046: * cp-pt.c (lookup_template_class): Ditto.
8047:
8048: Thu May 14 22:54:17 1992 Mike Stump (mrs at cygnus.com)
8049:
8050: * cp-tree.c (layout_basetypes): Don't warn about non-virtual
8051: destructors unless the user asks with -Wall.
8052:
8053: Thu May 14 22:38:54 1992 Mike Stump (mrs at cygnus.com)
8054:
8055: * cp-type2.c (build_functional_cast): exp may be an error_mark_node,
8056: don't crash when it is.
8057:
8058: Thu May 14 18:56:26 1992 Mike Stump (mrs at cygnus.com)
8059:
8060: * cp-decl.c (hack_incomplete_structures): Test for underflow
8061: before decreamenting n_incomplete in current_binding_level, since
8062: it is unsigned.
8063:
8064: Tue May 12 15:52:49 1992 Mike Stump (mrs at cygnus.com)
8065:
8066: Mon May 11 14:10:50 1992 Ron Guilmette (rfg at ncd.com)
8067:
8068: * cp-decl.c (poplevel): Reconciled with recent changes made to the
8069: `poplevel' routine in c-decl.c. The changes here cause LABEL_DECL
8070: nodes to be attached (as the BLOCK_VARS chain) to the BLOCK node
8071: which represent the outermost scope of the function.
8072:
8073: Mon May 11 12:35:44 1992 Ron Guilmette (rfg at ncd.com)
8074:
8075: * cp-class.c (finish_struct): Check DECL_CONTEXT to see if it is
8076: any sort of a type (e.g. struct *or* union) rather than just
8077: checking it to see if it's a RECORD_TYPE.
8078: * cp-decl.c (pushdecl): Set DECL_CONTEXT of pushed ..._DECL node,
8079: just as is done in c-decl.c.
8080: (pushdecl): Delete useless variable `cntxt'.
8081: (finish_decl): Set TREE_USED rather than DECL_FROM_INLINE in order
8082: to prevent "unused" warnings.
8083: (finish_function): Check DECL_CONTEXT to see if it is a type.
8084: (finish_function): Fixed indentation problem.
8085: * cp-gc.c (build_m_desc): Check DECL_CONTEXT to see if it is a type.
8086: * cp-init.c (build_virtual_init): Fix indentation.
8087: * cp-lex.c (store_pending_inline): Check DECL_CONTEXT to see if it
8088: is a type.
8089: * cp-pt.c (tsubst, do_pending_expansions): Check DECL_CONTEXT to see
8090: if it is a type.
8091: * cp-typeck.c (mark_addressable): Check DECL_CONTEXT to see if it is
8092: any sort of a type (e.g. struct *or* union) rather than just
8093: checking it to see if it's a RECORD_TYPE.
8094:
8095: Tue May 12 08:52:06 1992 Michael Tiemann ([email protected])
8096:
8097: * cp-typeck.c (build_component_ref): Call `break_out_cleanups'.
8098: Also clean up indentiation.
8099:
8100: Mon May 11 23:14:04 1992 Mike Stump (mrs at cygnus.com)
8101:
8102: * cp-decl.c (pushtag): Handle structure tags in the same way as the
8103: C front-end. This completes a change that rms put in on 3/12/92 and
8104: I put in the Cygnus tree on 3/13/92 and Mark Eichin took back out on
8105: 3/18/92.
8106:
8107: Sun May 3 00:29:59 1992 Mike Stump (mrs at cygnus.com)
8108:
8109: * cp-lex.c (copy_lang_decl, store_pending_inline): Cast
8110: arguments to bcopy to be char *.
8111:
8112: Fri May 1 12:22:31 1992 Michael Tiemann ([email protected])
8113:
8114: * cp-init.c (expand_aggr_init, expand_vec_init): When comparing
8115: array types, use `comptypes' instead of ==, since two array types
8116: may be structurally identical but not == if one was defaulted from
8117: an initializer.
8118:
8119: Wed Apr 29 01:25:25 1992 Mike Stump (mrs at cygnus.com)
8120:
8121: * cp-init.c (do_friend): Check that PREVIOUS_DECL is non-NULL.
8122:
8123: Thu Jun 18 14:15:07 1992 Torbjorn Granlund ([email protected])
8124:
8125: * pa.md (insv): Use `+' for operand 0 constraint.
8126:
8127: Thu Jun 18 13:39:22 1992 Michael Meissner ([email protected])
8128:
8129: * mips.h (MIPS_VERSION): Bump Meissner version # to 20.
8130: (final_prescan_insn): Add declaration.
8131: (FINAL_PRESCAN_INSN): Just call final_prescan_insn.
8132: (CONST_OK_FOR_LETTER_P): Rewrite some tests, so that they will
8133: work on host systems with 64 bit integers.
8134:
8135: * mips.c (large_int): Rework, so that we don't get funny boundary
8136: conditions on systems with 64 bit integers.
8137: (mips_move_1word): Just use li to load constants that can be done
8138: with lui, instead of issuing the lui, since the GAS bug that
8139: generated two instructions has been fixed.
8140: (final_prescan_insn): Move the checking for filling the delay
8141: slots here from the FINAL_PRESCAN_INSN macro.
8142:
8143: * mips.md (andsi3, iorsi3, xorsi3): Make the constraints match
8144: the real machine (the predicate still is more general in order
8145: to optimize bitfields at the expense of not CSE'ing large
8146: constants used in logical ops, and making reload load it into
8147: a scratch register). Don't use $1 as a temporary register any
8148: more.
8149:
8150: * varasm.c (decode_reg_name): If `memory' return -4.
8151:
8152: * stmt.c (expand_asm_operands): If `memory' is used as a clobbered
8153: register, emit a (clobber (const_int 0)) to force the compiler not
8154: to cache memory values in registers across the assembly
8155: instruction(s).
8156:
8157: * mips-tfile.c (read_line): Semicolons within strings are not
8158: counted as statement separators.
8159:
8160: * collect2.c (scan_prog_file, OSF/rose case): Cast pointer arguments
8161: to bcopy to generic * to avoid warnings.
8162:
8163: Thu Jun 18 12:04:53 1992 David J. MacKenzie ([email protected])
8164:
8165: * c++: If given -v with no file args, don't pass the libraries to
8166: gcc.
8167:
8168: Thu Jun 18 10:34:22 1992 Tom Wood ([email protected])
8169:
8170: * expr.c (expand_builtin, BUILT_IN_FSQRT): Emit queue of increment
8171: instructions before starting a sequence that may get thrown away.
8172:
8173: See ChangeLog.5 for earlier changes.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.