extern int errno considered harmful.
[dragonfly.git] / contrib / gcc / FSFChangeLog
1 Wed Sep 30 14:27:49 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2
3         * function.c (assign_parms): Undo change of June 9.
4
5 Tue Sep 29 09:57:26 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6
7         * expr.c (get_inner_reference): Fix typo in last change.
8
9 Mon Sep 27 21:34:00 1998  Paul Eggert  <eggert@twinsun.com>
10
11         * po/en_UK.po (Project-Id-Version): Set to cc 2.8.1.19980813 for now.
12         (PO-Revision-Date): Set to the current date.
13
14 Sun Sep 27 07:33:18 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15
16         * m68k/vxm68k.h (LINK_SPEC): Always use -r.
17         (WIDEST_HARDWARE_FP_SIZE): Define.
18
19         * reload.c (push_reload): If in STRICT_LOW_PART, always reload
20         inside even if SUBREG_WORD is not zero.
21
22         * flow.c (print_rtl_with_bb): Don't say not in basic block if we
23         aren't making basic blocks.8
24
25 Sat Sep 26 10:57:09 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
26
27         * function.c (optimize_bit_field): Don't remove SUBREG from dest
28         if SUBREG_REG is multi-word.
29
30 Wed Sep 23 05:43:23 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
31
32         * reload.c (find_reloads_address): Deal with address which is
33         an AND; clean up return values some more.
34
35 Fri Sep 11 13:02:26 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
36
37         * function.c (purge_addressof_1): Properly copy flags when making MEM.
38
39 Mon Sep  7 18:33:06 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
40
41         * expr.c (get_inner_reference): If not COMPONENT_REF or BITFIELD_REF
42         and mode is BLKmode, set size_tree.
43
44         * expr.c (expand_builtin, case BUILT_IN_LONGJMP): Fix typo in
45         last change.
46
47 Wed Sep  2 15:38:01 1998  Paul Eggert  <eggert@twinsun.com>
48
49         * libgcc2.c (__floatdisf): Use signed comparison to test
50         whether u is close to zero; unsigned comparison is not what's
51         wanted here.
52
53 Mon Aug 17 02:19:30 1998  David Edelsohn  <edelsohn@mhpcc.edu>
54
55         * xcoffout.c (UNKNOWN_STAB): Fix typo in previous change; missing
56         backslash before newline.
57
58 Mon Aug 17 00:12:42 1998  Paul Eggert  <eggert@twinsun.com>
59         
60         * reorg.c (check_annul_list_true_false): Fix typo in Jul 17 change.
61
62 Sun Aug  2 01:10:15 1998  Paul Eggert  <eggert@twinsun.com>
63
64         Add Native Language Support.
65
66         * intl/, ABOUT-NLS, mkinstalldirs, po/Makefile.in.in: New
67         subdirectory and files.  They should be kept identical to the
68         corresponding items from the GNU gettext distribution.
69
70         * ABOUT-GCC-NLS, exgettext, intl.c, intl.h, po/POTFILES.in,
71         po/en_UK.po: New files.
72
73         * Makefile.in (AWK, datadir, localedir, top_builddir, USE_NLS,
74         INTLLIBS, POSUB, INTL_SUBDIRS, HOST_INTLLIBS,
75         PREPEND_DOTDOT_TO_RELATIVE_PATHS, SUBDIR_FLAGS_TO_PASS, GCC_OBJS,
76         COLLECT2_OBJS, CCCP_OBJS, CPPMAIN_OBJS, PROTO_OBJS, GCOV_OBJS,
77         INTL_DISTCLEAN, GEN_PROTOS_OBJS): New vars.
78         (LIBDEPS, LIBS): Add $(INTLLIBS).
79         (HOST_LIBDEPS, HOST_LIBS): Add $(HOST_INTLLIBS).
80         (LIBS): Add @LIBS@.
81         (ORDINARY_FLAGS_TO_PASS): New var, containing all the old values
82         from FLAGS_TO_PASS, except for CC.
83         (FLAGS_TO_PASS): Pass datadir, distdir, localedir.
84         (OBJS): Add intl.o.
85         (GEN): Add gencheck.
86         (STAGESTUFF): Add tree-check.h, gencheck$(exeext).
87         (native): Depend on intl.all.
88         (xgcc, collect2, cccp, cppmain, protoize, unprotoize, gcov): Link
89         intl.o.
90         (c-typeck.o, c-lex.o, collect2.o, gcc.o, toplev.o, integrate.o,
91         final.o, cccp.o, cppmain.o, cpplib.o, cpperror.o, s-proto,
92         gcov.o): Depend on intl.h.
93         (gencheck): Depend on $(HOST_LIBDEPS) instead of tree.h and
94         tree.def.
95         (gencheck.o, intl.o, $(top_builddir)/intl/libintl.a,
96         $(srcdir)/cp/parse.c, intl.all, intl.install, intl.uninstall,
97         intl.distdir, intl.mostlyclean, intl.clean, intl.distclean,
98         intl.maintainer-clean, intl.distdir-fixup, distdir-check): New
99         rules.
100         (gen-protos): Link cpperror.o, cppexp.o, cpphash.o, cpplib.o,
101         prefix.o, version.o; needed for `cpp_notice'.
102         (mostlyclean): Depend on intl.mostlyclean.
103         (clean): Depend on intl.clean.
104         (distclean): Depend on intl.disclean, unless the invoker defines
105         INTL_DISTCLEAN to be empty.  Remove intl/libintl.h and libintl.h
106         (created by configure).
107         (maintainer-clean): Make intl.maintainer-clean, but define
108         INTL_DISTCLEAN to be empty.
109         (install-normal): Depend on intl.install.
110         (uninstall): Depend on intl.uninstall.
111         (distdir-start): Make sure invoker configured with --enable-nls.
112         Use $(AWK), not awk.  Make tmp/intl and tmp/po directories.
113         (distdir-finish): Make distdir-check at the end.
114         (distdir): Depend on intl.distdir, intl.distdir-fixup.
115         (compare, compare3, gnucompare, gnucompare3, stage1-start,
116         stage2-start, stage3-start, stage4-start): Handle intl
117         subdirectory.
118
119         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
120         HAVE_LC_MESSAGES, HAVE_STPCPY, PACKAGE, VERSION): New macros.
121
122         * aclocal.m4 (AC_ISC_POSIX, AM_WITH_NLS, AM_GNU_GETTEXT,
123         AM_LC_MESSAGES, AM_PATH_PROG_WITH_TEST): New functions; taken from
124         gettext distribution.
125
126         * bi-arity.c, bi-opcode.c, bi-opname.c: Include config file first.
127
128         * c-common.c: Don't include <ctype.h>.
129         (tfaff): Now a function, not a string.  All users changed.
130         (check_format_info): Use is_C_digit, not isdigit.
131         Reword messages to ease localization.
132
133         * c-decl.c (redeclaration_error_message): Now returns int, not
134         message.
135         (poplevel, duplicate_decls, pushdecl): Revamp to pass explicit
136         strings to diagnostic generators.
137         (duplicate_decls, parmlist_tags_warning, finish_struct): Reword
138         messages to ease localization.
139
140         * c-iterate.c (prdecl): Reword messages so that they do not require
141         localization.
142
143         * c-lex.c: Include limits.h if available.
144         Include intl.h.
145         Include ctype.h only if MAP_CHARACTER is defined.
146         (UCHAR_MAX): Define if limits.h doesn't.
147         (C_alnum_array): New var.
148         (init_lex): Initialize it.
149         (yyerror): Localize msgid arg.
150         (yylex): Use is_C_alnum and is_C_digit, not isalnum and isdigit.
151
152         * c-lex.h (C_alnum_array): New decl.
153         (is_C_alnum, is_C_digit): New macros.
154
155         * c-typeck.c: Include intl.h.
156         (warning_init): Now takes just one arg.
157         (incomplete_type_error, build_unary_op, lvalue_or_else,
158         readonly_warning, build_modify_expr): Reword messages to ease
159         localization.
160         (build_unary_op, readonly_warning): Revamp to pass explicit
161         strings to diagnostic generators.
162         (build_modify_expr, warn_for_assignment, c_expand_return):
163         Translate strings passed to functions expecting translated
164         strings.
165         (get_spelling): Remove; it was a no-op.  All callers changed.
166         (error_init, pedwarn_init): Now takes just one arg.  All callers
167         and decls changed.  This makes it easier to localize.
168
169         * cccp.c: Include intl.h.
170         (char_name): Remove.
171         (check_macro_name): Now takes int 2nd arg, not char *.  All
172         callers changed.
173         (macarg): Now returns int, not char *.  All callers changed.
174         (notice, vnotice, pedwarn_strange_white_space): New functions.
175         (verror): Now extern; used by cexp.y.
176         (main): Set message locale, and defer memory allocation until
177         after.
178         (main, do_include, print_containing_files): Invoke `notice' to
179         localize notices.
180         (handle_directive): Invoke pedwarn_strange_white_space instead of
181         using char_name.
182         (do_include, check_macro_name): Reword messages to ease
183         localization.
184         (my_strerror): Reword message so that it does not require
185         localization.
186         (verror, vwarning, verror_with_line, vwarning_with_line,
187         pedwarn_with_file_and_line, fatal): Invoke vnotice to localize
188         msgid.
189         (initialize_char_syntax): No need to initialize char_name.
190
191         * cexp.y (yyerror): Now takes msgid format and args, not just string.
192         (verror): New decl.
193         (parse_number, yylex): Reword messages to ease
194         localization.
195         (verror): New test function.
196         (pedwarn, warning): Translate msgid arg.
197
198         * collect2.c: Include intl.h.
199         (my_strerror, main, collect_execute, scan_prog_file,
200         scan_libraries, read_file, end_file): Reword messages so that they
201         do not require localization.
202         (notice): Nwe function.
203         (fatal, error, main, collect_execute, maybe_unlink,
204         write_c_file_stat, locatelib, scan_libraries, scan_prog_file,
205         add_func_table): Use it to translate msgid strings.
206         (main): Set message locale, and defer memory allocation until
207         after.
208         (collect_wait): Reword messages to ease localization.
209         (bad_header): Revamp to pass explicit strings to diagnostic
210         generators.
211
212         * combine.c (dump_combine_stats, dump_combine_total_stats):
213         Use fnotice to translate diagnostic messages.
214
215         * config/1750a/1750a.c (memop_valid): Don't use `valid' as an
216         identifier; it runs afoul of SunOS 4.1.4 <locale.h>.
217
218         * config/arc/initfini.c (__do_global_dtors): Put backslash before
219         newline in strings, to pacify xgettext.
220
221         * config/dsp16xx/dsp16xx.c, config/dsp16xx/dsp16xx.h
222         (dsp16xx_invalid_register_for_compare): New function.
223         * config/dsp16xx/dsp16xx.md: Use it to report invalid registers.
224
225         * config/i370/i370.h: Include <ctype.h>.
226
227         * config/i386/i386.c: Include config.h first.
228
229         * config/m32r/initfini.c  (__do_global_dtors): Put backslash before
230         newline in strings, to pacify xgettext.
231         * config/m88k/dguxbcs.h (CPP_SPEC): Likewise.
232
233         * config/rs6000/rs6000.c: Include config.h first.
234         * config/rs6000/rs6000.c, config/rs6000/rs6000.h
235         (rs6000_fatal_bad_address): New function.
236         * config/rs6000/rs6000.md: Use it to report bad addresses.
237
238         * config/v850/v850.c: Include config.h first.
239
240         * configure.in: When generating config.h and mentioning a file
241         taken from the config directory, surround it with #ifdef IN_GCC,
242         so that programs compiled without IN_GCC -- notably in the intl
243         subdirectory -- don't need to be compiled with -Iconfig.
244         (PACKAGE, VERSION, ALL_LINGUAS): New vars.
245         (AC_ARG_ENABLE): Add --enable-nls.
246         (AM_GNU_GETTEXT): Add.  Override XGETTEXT so that we use exgettext
247         instead of xgettext to extract strings.
248         (all_outputs): Add intl/Makefile, po/Makefile.in.
249         Do not use the shell variable 'l'; it runs afoul of gettext's
250         aclocal mechanism!
251         If libintl.h is created, echo '#include "intl/libintl.h"'
252         >libintl.h so that we don't have to futz with our include paths.
253
254         * cp/Make-lang.in (g++.o): Depend on gansidecl.h, intl.h, Makefile;
255         do not depend on config.status.
256         (GXX_OBJS): New var.
257         (g++$(exeext)): Link intl.o.
258
259         * cp/Makefile.in (top_builddir, INTLLIBS): New vars.
260         (LIBS): Add $(INTLLIBS).
261
262         * cppalloc.c (memory_full): Use `cpp_notice' to print diagnostic.
263
264         * cpperror.c: Include intl.h.
265         (cpp_print_containing_files): Use cpp_notice to translate messages.
266         (cpp_message): is_error is -1 for notices.  Translate "warning:".
267         (cpp_fatal): Translate msgid arg.
268
269         * cppexp.c (cpp_lex): Revamp to pass explicit strings to
270         diagnostic generators.
271         (cpp_parse_expr): Use cpp_error, not fprintf, to report
272         unimplemented operators.
273
274         * cpplib.c: Include intl.h.
275         (check_macro_name): Now takes int 2nd arg, not char *.  All
276         callers changed.
277         (check_macro_name, do_define): Reword messages to ease
278         localization.
279         (do_define): Revamp to pass explicit strings to diagnostic
280         generators.
281         (do_define, cpp_start_read, cpp_handle_options): Use cpp_notice to
282         translate messages.
283         (cpp_error, cpp_warning, cpp_warning_with_line,
284         cpp_pedwarn_with_file_and_line): Translate msgid arg.
285         (cpp_notice): New function.
286         (my_strerror): Reword message so that it does not require
287         localization.
288
289         * cpplib.h (cpp_notice): New decl.
290
291         * cppmain.c: Include intl.h.
292         (main): Set message locale.
293
294         * cse.c (cse_main): Use fnotice to print diagnostic.
295
296         * final.c: Include intl.h; do not include ctype.h.
297         (output_operand_lossage): Translate msgid arg.
298
299         * fold-const.c (optimize_bit_field_compare, fold_truthop): Reword
300         messages to ease localization.
301
302         * gcc.c: Include intl.h.
303         (my_strerror, snapshot_warning): Reword messages so that they do
304         not require localization.
305         (init_spec, set_spec, read_specs, execute, do_spec_1, main,
306         snapshot_warning): Invoke `notice' to localize notices.
307         (struct switchstr): Don't use `valid' as an identifier; it runs
308         afoul of SunOS 4.1.4 <locale.h>.  All uses changed.
309         (do_spec_1): Treat %e string as msgid format, which needs
310         translation.
311         (main): Set message locale.
312         (pfatal_with_name): Invoke perror_with_name, not fatal, so that we
313         don't have to translate "%s: %s".
314         (perror_with_name): Invoke printf, not error, so that we don't
315         have to translate "%s: %s".
316         (pfatal_pexecute): Invoke pfatal_with_name, not fatal, so that we
317         don't have to translate "%s: %s".
318         (fatal, error): Translate msgid arg.
319         (notice): New function.
320
321         * gcov.c: Include intl.h; include stdarg.h if __STDC__ is defined.
322         (main): Set message locale.
323         (fnotice): New function.
324         (xmalloc, fancy_abort, print_usage, open_files, read_files,
325         function_summary, output_data): Use it to to print diagnostics.
326
327         * install.texi: Explain new configure options --enable-nls,
328         --with-included-gettext, --with-catgets.
329
330         * integrate.c: Include intl.h.
331         (function_cannot_inline_p): Mark msgids with N_.
332
333         * invoke.texi: Describe environment variables affecting locale.
334
335         * pexecute.c: Include libintl.h if ENABLE_NLS, otherwise define
336         gettext to be a noop.
337         (_, N_): New macros.
338         (install_error_msg): Wrap inside N_.
339         (pexecute): Translate diagnostics.
340
341         * protoize.c: Include intl.h.
342         (__attribute__): New macro.
343         (notice): New function.
344         (my_strerror): Reword message so that it does not require
345         localization.
346         (xmalloc, xrealloc, fancy_abort, safe_write, usage,
347         file_normally_convertible, abspath, find_file, aux_info_corrupted,
348         save_def_or_dec, gen_aux_info_file, process_aux_info_file,
349         rename_c_file, find_extern_def, find_static_definition,
350         declare_source_confusing, edit_fn_declaration, edit_formals_lists,
351         add_local_decl, add_global_decls, edit_fn_definition,
352         scan_for_missed_items, edit_file, main): Use `notice' to print
353         diagnostic.
354         (main): Set message locale.
355
356         * real.c (NMSGS, ermsg): Remove.
357         (mtherr): Revamp to pass explicit strings to diagnostic
358         generators.  Abort on invalid operations.
359
360         * regclass.c (fix_register): Reword messages to ease localization.
361
362         * toplev.c: Include intl.h; do not include ctype.h.
363         (v_really_sorry, really_sorry): Remove unused functions.
364         (count_error, fatal_io_error): Translate strings.
365         (default_print_error_function, report_error_function, main,
366         print_version): Reword messages to ease localization.  Use
367         `notice' to translate diagnostics.
368         (vnotice, notice, fnotice): New functions.
369         (vmessage): Remove.
370         (v_message_with_file_and_line, vsorry): Translate msgid with
371         vnotice.
372         (v_message_with_file_and_line, v_message_with_decl): Use
373         report_file_and_line.  Now takes int warning flag, not prefix;
374         this is easier to localize.  All callers changed.
375         (v_message_with_decl): Abort if first format spec is neither %%
376         nor %s.  Translate "((anonymous))".
377         (main): Set message locale.
378         (set_target_switch): Don't use `valid' as an identifier; it runs
379         afoul of SunOS 4.1.4 <locale.h>.
380         (__VERSION__): Reword message so that it does not require
381         localization.
382         (print_switch_values): Translate "options passed" and "options
383         enabled".
384
385         * tree.c (valid_machine_attribute): Don't use `valid' as an
386         identifier; it runs afoul of SunOS 4.1.4 <locale.h>.
387
388         * xcoffout.c (xcoff_output_standard_types): Use `error' to
389         output diagnostic, so that it gets translated.
390
391         * patch-apollo-includes: Remove; this is part of README.APOLLO.
392
393 Mon Jul 27 18:28:58 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
394
395         * reload.c (find_reloads): If no_input_reloads, abort if 
396         reloads were made for addresses.
397         * m68k.md (sxx): Operand 0 cannot be memory.
398
399 Fri Jul 17 07:31:04 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
400
401         * m68k.c (output_move_simode_const): Use subl to move 0 into addr reg.
402         (output_move_[hq]imode): Likewise.
403
404         * m68k.md (extend[sd]fxf2): Accept constants and general reg as
405         source operand if the destination is a floating point register.
406
407 Fri Jul 17 07:23:49 1998  Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
408
409         * reorg.c (check_annul_list_true_false): New function.
410         (steal_delay_list_from_{target,fallthrough}): Call it and also
411         refine tests for when we may annul if already filled a slot.
412         (fill_slots_from_thread): Likewise.
413         (delete_from_delay_slot): Return newly-created thread.
414         (try_merge_delay_isns): Use its new return value.
415
416 Sat Jul  4 11:07:33 1998  Eberhard Mattes  <mattes@azu.informatik.uni-stuttgart.de>
417
418         * function.c (assign_parms): Handle PARALLEL which include stack.
419
420 Sat Jul  4 09:44:29 1998  Paul Edwards  <avon@matra.com.au>
421
422         * tree.c, print-tree.c, c-lang.c: Include stdio.h before tree.h.
423         * expr.c (bc_expand_component_address): Correct args to
424         bc_push_offset_and_size.
425         * reload1.c (reload_cse_simplify_operands): Add missing return value.
426
427 Fri Jul  3 07:17:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
428
429         * alpha.c (normal_memory_operand): Handle case when REG will be
430         eliminated by reload.
431
432 Thu Jul  2 18:43:53 1998  James Carlson  <carlson@ironbridgenetworks.com>
433  
434         * floatlib.c (HIDDEND_LL, MANTD_LL, PACKD_LL): New macros.
435         (__addsf3): Fixed cases returning wrong type and causing unintended
436         conversions and data corruption.
437         (__mulsf3): Fixed rounding flaws caused wrong scaling.
438         (__float{didf,sisf,disf},__fix{,uns}dfdi): New functions.
439         (__{gt,ge,lt,le,eq,ne}df2): Likewise.
440         (__truncdfsf2): Fixed normalization problems
441         (__fixunsdfsi): Fixed compiler warning
442         (__{add,sub,mul}df3): Rewrite to do real DP math.
443         (__divdf3): Removed previous version by Barrett Richardson.
444
445 Thu Jul  2 17:57:20 1998  Douglas B. Rupp  <rupp@gnat.com>
446
447         * cpperror.c: Include errno.h.
448
449 Thu Jul  2 16:46:36 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
450
451         * c-decl.c (grokdeclarator): Don't warn about implicit int in
452         `typedef foo = bar'.
453
454 Tue Jun 30 18:32:49 1998  Geert Bosch  <bosch@gnat.com>
455
456         * alpha/vxworks.h (LINK_SPEC): Add -taso -T 0.
457
458 Tue Jun 30 09:39:32 1998  David Edelsohn  <edelsohn@mhpcc.edu>
459
460         * expr.c (expand_builtin_{set,long}jmp): If STACK_SAVEAREA_MODE
461         defined, override sa_mode using its value.
462         * explow.c (emit_stack_save): Likewise.
463
464         * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
465         (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
466         * rs6000.c (processor_target_table, 620): Don't affect MASK_POWERPC64.
467         (rs6000_override_options): Ignore flag_pic for AIX.
468         (rs6000_immed_double_const): Delete.
469         ({reg_or_u_short,u_short_cint}_operand): Don't assume 32-bit CONST_INT.
470         ({non_logical_cint,logical}_operand): Likewise.
471         (num_insns_constant): mask64_operand is 2 insns.
472         (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
473         (mask_constant): HOST_WIDE_INT parameter.
474         (non_and_cint_operand): Delete.
475         ({mask,and}64_operand): New functions.
476         (function_arg{,_advance}): DImode arguments don't need special
477         alignment when 64-bit.
478         (setup_incoming_varargs): Reverse reg_size assignment.
479         (print_operand): HOST_WIDE_INT second parameter.
480         (print_operand, case 'B', 'S'): New cases.
481         (print_operand, case 'M'): Fix typo in lossage string.
482         (rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
483         to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
484         (rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
485         TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
486         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
487         (rs6000_allocate_stack_space): Use {cal|la}.
488         (output_epilog): Use {cal|la}
489         (output_function_profiler): Add call glue to mcount call.
490         Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
491         Use asm_fprintf and convert fprintf to fputs.
492
493         * rs6000.h (TARGET_SWITCHES): Add powerpc64.
494         (STACK_BOUNDARY): Depend on TARGET_32BIT.
495         (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
496         (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
497         (EXTRA_CONSTRAINTS): Remove 'S' and 'T'.  Replace 'S' with
498         64-bit mask operand.
499         (RS6000_SAVE_TOC): Depend on TARGET_32BIT.
500         (STACK_SAVEAREA_MODE): New macro.
501         (LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
502         (RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
503         (ASM_FILE_START): Emit 64-bit ABI directive.
504         (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
505         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
506         (PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
507         Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
508
509         * rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
510         Restore define_split.
511         (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
512         (floatsidf2_internal, floatunssidf2_internal2): Likewise.
513         Do not specify base register operand mode.
514         (floatsidf2_loadaddr): Don't specify base register operand mode.
515         (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
516         register; do not specify mode.  Remove !TARGET_POWERPC64 final
517         constraint.
518         (floatsidf2_load): Don't specify base register operand mode.
519         Remove !TARGET_POWERPC64 final constraint.
520         (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Don't specify
521         base register operand mode.
522         (mulsidi3): Add !TARGET_POWERPC64 constraint.
523         (adddi3): Split large constants early.
524         (absdi3): Shift by 63, not 31.
525         (rotldi3): Add masking combiner patterns.
526         (anddi3): Add rldic{r,l} masking.  Remove split of large constants.
527         (iordi3, xordi3): Split large constants early.
528         (movsi matcher): Remove S and T constraints.
529         (movsf const_double): create SImode constant from TARGET_DOUBLE.
530         (movdf_hardfloat32): Add default abort case.
531         (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE.
532         (movdi): Remove 64-bit constant generator.  Try to convert
533         CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
534         (movdi_32): Add default abort case.
535         (movdi_64): Add numerous ways to split 64-bit constants.
536         Make catch-all define_split more optimal and never FAIL.
537         (movti_ppc64): Add default abort case.
538         (allocate_stack): Remove operand modes; use Pmode.
539         (restore_stack_block): Remove operand modes.  Generate Pmode
540         temporary.  Generate MEM and specify mode.
541         (save_stack_nonlocal, restore_stack_nonlocal):  Generate Pmode
542         temporary.  Save area is double Pmode.
543         (call_indirect_aix64, call_value_indirect_aix64): New patterns.
544         (call, call_value): Do not specify address operand mode.  Choose
545         appropriate AIX ABI.
546         (*call_local64, *ret_call_local64): New patterns.
547         (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
548         (*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
549         (compare): Materialize DImode truthvalues.
550
551 Tue Jun 30 06:31:40 1998  Richard Henderson <rth@dot.cygnus.com>
552
553         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
554         * alpha.c (print_operand): Handle it.
555         * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
556         related define_splits.
557
558 Tue Jun 30 06:02:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
559
560         * calls.c (emit_library_call{,_value}): Pass null
561         to REG_PARM_STACK_SPACE.
562
563         * alpha.c (normal_memory_operand): New function.
564         * alpha.h (EXTRA_CONSTRAINT, case 'Q'): Call it.
565
566         * fold-const.c (count_cond): New function.
567         (fold): Don't try to build COND_EXPR from binary op when both sides
568         are COND_EXPR unless not nested too deeply.
569
570 Thu Jun 25 09:54:55 1998  Nick Clifton  <nickc@cygnus.com>
571
572         * arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM, noticed by
573         grahams@rcp.co.uk.
574
575 Mon Jun 15 17:41:33 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
576
577         * reload1.c (reload): Issue guidance message on stack frame too large
578         for reliable stack check.
579
580         * fold-const.c (fold_range_test): Prevent falling through with no ret.
581
582 Sat Jun 13 15:49:53 1998  Carol LePage  <carolo@kemah.hal.com>
583
584         * configure.in (sparc-hal-solaris2*): New target.
585         * sparc/hal.h, sparc/t-halos: New files.
586
587 Sat Jun 13 14:30:25 1998  David W. Schuler  <schuld@btv.ibm.com>
588
589         * i386/aix386ng.h (CPP_SPEC): Remove bogus quote.
590
591 Sat Jun 13 14:16:34 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
592
593         * regmove.c (try_auto_increment): Fix typo.
594
595         * c-common.c (truthvalue_conversion): Protect side effects in the
596         expression when splitting a complex value.
597         * fold-const.c (fold): Likewise.
598
599         * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
600         prevent operands from being evaluated twice.
601
602 Sat Jun 13 12:53:22 1998  Richard Earnshaw (rearnsha@arm.com)
603
604         * unroll.c (verify_addresses): Use validate_replace_rtx to undo 
605         changes; abort if undo fails.
606
607 Sat Jun 13 11:46:38 1998  Anders Blomdell <anders.blomdell@control.lth.se>
608
609         * flags.h (flag_volatile_static): Declare.
610         * toplev.c (flag_volatile_static): Define.
611         (f_options): Include -fvolatile-static.
612         * varasm.c (make_decl_rtl): Support -fvolatile-static.
613
614 Sat Jun 13 08:26:21 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
615
616         * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
617         consider a MEM in FP mode as equal.
618
619         * varasm.c (assemble_variable): Never put decl with specified section
620         name into bss.
621
622         * output.h (current_function_addresses_labels): Declare.
623         * function.h (struct function): New field `addresses_labels'.
624         * function.c (current_function_addresses_labels): Define.
625         ({push,pop}_function_context): Save/restore it.
626         (init_function_start): Initialize it.
627         * rtl.h (FUNCTION_FLAGS_ADDRESSES_LABELS): New flag.
628         * expr.c (expand_expr, case LABEL_DECL): Show addresses labels.
629         * integrate.c (function_cannot_inline_p): Can't if addresses labels.
630         (initialize_for_inline): Save current_function_addresses_labels.
631         (output_inline_function): Restore it.
632
633         * reload.c (find_reloads, case 'o'): All reloaded addresses
634         are offsettable.
635         (find_reloads_address): If replacing address, don't return 1.
636
637         * profile.c (output_func_start_profiler): Add missing steps in
638         defining function.
639
640 Fri Jun 12 17:10:16 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
641
642         * m68k.md (extendqidi2): Operand 1 must be in data register.
643
644 Tue Jun  9 07:24:01 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
645
646         * cccp.c (handle_directive): If -dM, also include #undef.
647         * cpplib.c (handle_directive): Likewise.
648
649         * calls.c (expand_call): Allow function pointer to be a REFERENCE_TYPE.
650
651         * function.c (assign_parms): Use proper mode for location of arg
652         on stack when promotions are occurring.
653
654         * regmove.c ({next,prev}_insn_for_regmove): Properly handle end of
655         function.
656
657 Mon Jun  8 15:26:49 1998  Juha Sarlin <juha@c3l.tyreso.se>
658
659         * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
660
661 Mon Jun  8 14:40:02 1998  John Wehle  (john@feith.com)
662
663         * i386.md (movsf_push, movsf_mem): Remove.
664         (movsf_push): Rename from movsf_push_nomove and move in front of
665         movsf; allow memory operands during and after reload.
666         (movsf_push_memory): New pattern.
667         (movsf): Don't bother checking for push_operand.  If TARGET_MOVE and
668         both operands refer to memory then force operand[1] into a register.
669         (movsf_normal): Change to unnamed pattern.
670         Likewise for movdf, movxf, and friends.
671
672 Mon Jun  8 13:18:04 1998  Martin v. Loewis  <loewis@informatik.hu-berlin.de>
673
674         * Makefile.in (TREE_H): Add tree-check.h.
675         (tree-check.h, s-check, gencheck): New targets.
676         (STAGESTUFF): Add s-check.
677         * gencheck.c: New file.
678         * tree.c (tree_check, tree_class_check, expr_check): New functions.
679         * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
680         (TYPE_CHECK, DECL_CHECK): Define.
681         Modify all access macros to use generated checking macros.
682         * acconfig.h (ENABLE_CHECKING): Undefine.
683         * configure.in (--enable-checking): New option.
684
685 Mon Jun  8 12:13:25 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.ed>
686
687         * regmove.c: Remove include for varargs or stdarg.
688
689 Mon Jun  8 07:49:41 1998  Andris Pavenis   <pavenis@lanet.lv>
690
691         * gcc.c (link_command_spec): Support LINK_COMMAND_SPEC.
692
693 Sun Jun  7 18:00:28 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
694
695         * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
696         or VAR-- == CONST construct a proper mask if VAR is a bitfield.
697         Cope with CONST being out of range for the bitfield.
698
699 Sun Jun  7 17:19:35 1998  Tom Quiggle  <quiggle@sgi.com>
700
701         * mips/iris6.h (DWARF2_FRAME_INFO): Define.
702         * dwarf2out.c (dwarf2out_do_frame): Do something if DWARF2_FRAME_INFO.
703
704 Sun Jun  7 15:29:04 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
705
706         * regmove.c: New file.
707         * Makefile.in (OBJS): Add regmove.o.
708         (regmove.o): New rules.
709         (mostlyclean): Remove regmove dumps.
710         * toplev.c (regmove_{dump,dump_file,time}, flag_regmove): New vars.
711         (f_options): Add -foptimize-register-move.
712         (compile_file): Run regmove pass after combine pass and do its dump.
713         (main): Enable regmove dump when -dN or -da.
714         (fatal_insn): Flush regmove dump file.
715         * flags.h (flag_regmove): Declare.
716         * flow.c (find_use_as_address): Export.
717         * rtl.h (find_use_as_address): Declare.
718         * local-alloc.c (optimize_reg_copy_{1,2}): Removed, all calls deleted.
719         * reload1.c (count_occurrences): Export.
720         * reload.h (count_occurrences): Declare.
721
722 Sun Jun  7 09:30:31 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
723
724         * Makefile.in (uninstall): Uninstall gcov.
725
726         * alpha.h (ASM_COMMENT_START): Define.
727
728         * alpha.h (EXTRA_CONSTRAINT, case 'S'): New case.
729         * alpha.md ({ashl,ashr,lshr}di3): Use 'S' for constraint.
730
731         * i386.md (cmpxf): Add missing extend pattern from SFmode and fix
732         operand numbers in one extend pattern from DFmode.
733
734         * pa.md ({pre,post}_{ld,st}wm and similar): When operand is being
735         incremented, use '+', not '=', for constraint.
736
737         * reload.c (find_reloads): Give preference to pseudo that was the
738         reloaded output of previous insn.
739
740         * emit-rtl.c (init_emit_once): Provide default for DOUBLE_TYPE_SIZE.
741
742         * expr.c (init_expr_once): Free all RTL we generate here.
743         * expmed.c (init_expmed): Allocate all RTX in memory we'll free.
744
745         * genemit.c (main): Generate #include "reload.h".
746
747         * expr.c (expand_expr, case INDIRECT_EXPR): A dereference of
748         a REFERENCE_TYPE is always considered in a structure.  Likewise for
749         a dereference of a NOP_EXPR whose input is a pointer to aggregate.
750
751 Sat Jun  6 17:25:14 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
752
753         * mips.md (reload_{in,out}di): Allow other operand to be invalid
754         MEM and get any reload replacement before using address.
755
756 Tue May 26 18:52:23 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
757
758         * reload1.c (reload): Get MEM_IN_STRUCT_P and RTX_UNCHANGING_P
759         from reg_equiv_memory_loc; set the latter when changing REG to MEM.
760         (alter_reg): Don't set RTX_UNCHANGING_P for shared slots.
761
762 Mon May 25 12:07:12 1998  Hans-Peter Nilsson  <hp@axis.se>
763
764         * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
765
766 Sun May 24 21:50:12 1998  Alan Modra <alan@spri.levels.unisa.edu.au>
767
768         * i386/linux{,-aout,oldld}.h (ASM_COMMENT_START): Define.
769
770 Sun May 24 11:58:37 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
771
772         * m68k.md (adddi3, subdi3): Properly negate the DImode constant.
773
774 Sun May 24 11:30:08 1998  Torbjorn Granlund  <tege@matematik.su.se>
775
776         * m68k/lb1sf68.asm (__addsf3): Fix typo in exg on coldfire.
777
778 Sun May 24 09:38:17 1998  John Wehle  (john@feith.com)
779
780         * i386.md (movsi): Remove redundant integer push patterns.
781         Don't check for TARGET_PUSH_MEMORY when pushing constants or registers.
782
783 Sun May 24 08:59:27 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
784
785         * fold-const.c (fold, case EQ_EXPR): Split COMPLEX_TYPE operands
786         if either is COMPLEX_CST in addition to COMPLEX_EXPR.
787
788         * expr.c (do_jump, case EQ_EXPR, case NE_EXPR): Check for COMPLEX
789         before testing for operand 1 being zero.
790
791         * genattrtab.c (optimize): Define.
792
793         * configure.lang: Fix substitution of target_alias.
794
795 Sat May 23 22:31:17 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
796
797         * emit_rtl.c (double_mode): New variable.  
798         (init_emit_once): Set and use it.
799         * real.c (ereal_atof, real_value_truncate): Handle double_mode not
800         being DFmode for C4x.
801         
802 Sat May 23 22:19:55 1998  Mike Stump  <mrs@wrs.com>
803
804         * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
805         * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
806         * i960.md (ret, flush_register_windows): Define.
807         (nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
808         work yet.
809
810 Sat May 23 18:45:59 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
811
812         * m68k/t-linux: Remove stuff already included in config/t-linux.
813
814 Sat May 23 18:35:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
815
816         * final.c: Select <stab.h> and "gstab.h" with NO_STAB_H.
817
818         * gcc.c (default_compilers): Remove ".ada" extension.
819
820         * combine.c (rtx_equal_for_field_assignment): Remove code that
821         checks get_last_value.
822
823         * Makefile.in (uninstall): Delete info files.
824
825 Sat May 23 18:28:27 1998  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
826
827         * c-decl.c (start_decl): Use new macro SET_DEFAULT_DECL_ATTRIBUTES.
828         * c-lex.c (check_newline): Put last read character back on input
829         stream.
830
831 Sat May 23 18:13:53 1998  David Edelsohn  <edelsohn@mhpcc.edu>
832
833         * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
834         negative in a stackless frame.
835         * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
836         in stackless frame size.  Support 64-bit stackless frame size.
837         Combine fpmem offset calculations and don't add total_size to
838         offset if not pushing a stack frame.
839
840         * tree.c (get_inner_array_type): New function.
841         * tree.h (get_inner_array_type): Likewise.
842
843 Wed May 20 15:42:22 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
844
845         * expmed.c (expand_divmod): Save last divison constant and
846         if rem is same as div, don't adjust rem cost.
847
848 Thu May 14 14:11:37 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
849
850         * alpha/vxworks.h: New file.
851         * configure.in (alpha*-*-vxworks*): New target.
852
853         * alpha.c (tree.h): Include earlier.
854         (alpha_initialize_trampoline): New function.
855         * alpha.h (INITIALIZE_TRAMPOLINE): Call it.
856         * alpha/linux.h (INITIALIZE_TRAMPOLINE): Don't redefine.
857
858 Thu May 14 13:35:53 1998  Cyrille Comar  <comar@gnat.com>
859
860         * Makefile.in (STAGESTUFF): Add s-under.
861
862 Wed May 13 17:38:35 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
863
864         * combine.c (simplify_comparison, case AND): Don't commute AND
865         with SUBREG if constant is whole mode and don't do if lowpart
866         and not WORD_REGISTER_OPERATIONS.
867
868         * expmed.c (expand_mult): Use 0 as add_target if should preserve
869         subexpressions.
870
871 Mon May 11 17:26:06 1998  Paul Eggert  <eggert@twinsun.com>
872
873         * dwarf2out.c: Undo most recent change.
874
875 Sun May 10 17:09:20 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
876
877         * fold-const.c (fold_range_test, fold): If need to make SAVE_EXPR
878         to do optimization, suppress if contains_placeholder_p.
879
880 Thu May  7 18:14:31  Paul Eggert  <eggert@twinsun.com>
881
882         * dwarf2out.c: Don't assume `.section ".text"' causes assembler to
883         treat .text as label for start of section; instead, output
884         `.section ".text"; .LLtext0:' and use .LLtext0 in label contexts.
885         (ABBREV_LABEL, DEBUG_INFO_LABEL, DEBUG_LINE_LABEL, TEXT_LABEL): New.
886         (abbrev_label, debug_info_label, debug_line_label, text_label): New.
887         (dwarf2out_init): Initialize the vars.  Output defn for text_label.
888         (dwarf2out_finish): Output defns for the other 3 vars.
889         (dw_val_node): Rename val_section to val_section_label, as it's
890         now a label, not a section.
891         (add_AT_section_offset): Arg is now a label, not a section.
892         (print_die): In label contexts, output section label, not section.
893         (output_die, output_compilation_unit_header): Likewise.
894         (output_{pubnames,aranges,line_info}, dwarf2out_finish): Likewise.
895
896         * fixinc.wrap: Renamed from fixinc.math.  Put wrapper around
897         curses.h if it contains `typedef char bool;'.
898
899         * configure.in (arm-*-netbsd*): Rename fixinc.math to fixinc.wrap.
900         (i[34567]86-*-freebsdelf*, i[34567]86-*-freebsd*): Likewise.
901         (i[34567]86-*-netbsd*, i[34567]86-*-solaris2*): Likewise.
902         (m68k-*-netbsd*, mips-dec-netbsd*, ns32k-pc532-netbsd*): Likewise.
903         (powerpcle-*-solaris2*, sparc-*-netbsd*, sparc-*-solaris2*): Likewise.
904         (vax-*-netbsd*): Likewie.
905
906 Wed May  6 06:44:28 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
907
908         * combine.c (simplify_rtx, case TRUNCATE): Reflect that it sign-extends
909         instead of zero-extending.
910
911 Sat May  2 20:39:22 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
912
913         * fold-const.c (fold): When commutting COND_EXPR and binary operation,
914         avoid quadratic behavior if have nested COND_EXPRs.
915
916 Tue Apr 28 17:30:05 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
917
918         * mips.h (HOST_WIDE_INT): Define if not already.
919         (compute_frame_size, mips_debugger_offset): Return HOST_WIDE_INT.
920         (DEBUGGER_{AUTO,ARG}_OFFSET): Cast second arg to HOST_WIDE_INT.
921         * mips.c (mips_debugger_offset): Now returns HOST_WIDE_INT.
922         Likewise for internal variable frame_size.
923
924         * final.c (alter_subreg): Make new SUBREG if reload replacement
925         scheduled inside it.
926
927         * dwarf2out.c (add_bound_info, case SAVE_EXPR): Pass 
928         SAVE_EXPR_RTL address through fix_lexical_addr.
929
930 Mon Apr 27 18:57:18 1998  Jim Wilson  <wilson@cygnus.com>
931
932         * mips/sni-svr4.h (CPP_PREDEFINES): Add -Dsinix and -DSNI.
933
934 Mon Apr 20 14:48:29 1998  Michael Meissner  <meissner@cygnus.com>
935
936         * rs6000.md (mov{sf,df} define_splits): When splitting move of
937         constant to int reg, don't split  insns that do simple AND and OR
938         operations; just split each word and let normal movsi define split
939         handle it further.
940
941 Sun Apr 19 20:21:19 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
942
943         * real.h (C4X_FLOAT_FORMAT): New macro.
944         * real.c (c4xtoe, etoc4x, toc4x): New functions.
945
946 Sun Apr 19 20:17:32 1998  Niklas Hallqvist  <niklas@petra.appli.se>
947
948         * m68k.c (notice_update_cc): Use modified_in_p to check for update.
949
950 Sun Apr 19 18:48:07 1998  K. Richard Pixley  <rich@kyoto.noir.com>
951
952         * fixincludes: Discard empty C++ comments.
953         Special case more files with C++ comments nested in C comments.
954
955 Sun Apr 19 18:30:11 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
956
957         * m68k.md ({add,sub}di3): Optimize for constant operand.
958
959 Sun Apr 19 18:27:11 1998  Alan Modra <alan@spri.levels.unisa.edu.au>
960
961         * i386.c (output_387_binary_op): Swap operands when popping if result
962         is st(0).
963
964 Sun Apr 19 17:58:01 1998  Peter Jeremy  <peter.jeremy@alcatel.com.au>
965
966         * expr.c (do_jump_by_parts_equality_rtx): Now public.
967         * expmed.c (do_cmp_and_jump): New function.
968         (expand_divmod): Use do_cmp_and_jmp instead of emit_cmp_insn and
969         emit_jump_insn.
970
971 Sun Apr 19 07:48:37 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
972
973         * c-typeck.c (build_c_cast): Check underlying type when seeing
974         if discarding const or volatile.
975
976         * c-decl.c (pushdecl): Avoid duplicate warning about implicit redecl.
977
978         * configure.in (stab.h): Check for it.
979         (i386-*-vsta): Include xm-i386.h too.
980         * dbxout.c (stab.h): Include based on autoconf results.
981         * vax/xm-vms.h (NO_STAB_H): Deleted.
982         * alpha/xm-vms.h, xm-mips.h, i386/xm-mingw32.h, i386/go32.h: Likewise.
983         * i386/xm-cygwin32.h: Likewise.
984         * i386/xm-vsta.h (NO_STAB_H): Likewise.
985         (i386/xm-i386.h): No longer include.
986
987         * mips.c: Cleanups and reformatting throughout.
988         ({expand,output}_block_move): Use HOST_WIDE_INT for sizes.
989         (mips_debugger_offset, compute_frame_size): Likewise.
990         (save_restore_insns, mips_expand_{pro,epi}logue): Likewise.
991         (siginfo): Deleted.
992         (override_options): Don't set up to call it; don't call setvbuf.
993
994 Mon Apr 13 06:40:17 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
995
996         * configure.in (sparc-*-vxsim*): Include xm-siglist.h and
997         define USG and POSIX.
998
999 Sun Apr 12 21:59:27 1998  Jeffrey A. Law  <law@cygnus.com>
1000
1001         * calls.c (expand_call): Fix typo in STRICT_ARGUMENT_NAMING.
1002
1003 Sun Apr 12 21:42:23 1998  D. Karthikeyan  <karthik@cdotd.ernet.in>
1004
1005         * m68k.h (TARGET_SWITCHES): Add missing comma.
1006
1007 Sun Apr 12 21:33:33 1998  Eric Valette  <valette@crf.canon.fr>
1008
1009         * configure.in (i[34567]86-*-rtemself*): New configuration.
1010         * i386/rtemself.h: New file.
1011
1012 Sun Apr 12 21:08:28 1998  Jim Wilson  <wilson@cygnus.com>
1013
1014         * loop.c (loop_optimize): Reset max_uid_for_loop after
1015         find_and_verify_loops call.
1016         (strength_reduce): In auto_inc_opt code, verify v->insn has valid
1017         INSN_LUID.
1018
1019 Sun Apr 12 20:54:59 1998  Richard Earnshaw (rearnsha@arm.com)
1020
1021         * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
1022         Add USG and POSIX to xm_defines.
1023
1024 Sun Apr 12 20:47:37 1998  Pat Rankin  <rankin@eql.caltech.edu>
1025
1026         * cccp.c (eprint_string): New function.
1027         (do_elif, do_else, verror): Use it instead of fwrite(,,,stderr).
1028         (error_from_errno, vwarning): Likewise.
1029         ({verror,vwarning,pedwarn}_with_line): Likewise.
1030         (pedwarn_with_file_and_line, print_containing_files): Likewise.
1031
1032 Sun Apr 12 20:40:44 1998  Richard Henderson  <rth@dot.cygnus.com>
1033
1034         * configure.in (alpha*-*-linux-gnu*): Add alpha/t-crtbe.
1035         Add crt{begin,end}.o in extra_parts and delete crt{begin,end}S.o.o
1036         * alpha/t-crtbe, alpha/crt{begin,end}.asm: New files.
1037         
1038         * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
1039         * alpha.c (print_operand): Handle it.
1040         * alpha.md (fix_trunc[ds]fdi2): Use it.  Add earlyclobber pattern
1041         for ALPHA_TP_INSN.
1042
1043 Sun Apr 12 13:09:46 1998  Scott Christley  <scottc@net-community.com>
1044
1045         * objc/encoding.c (objc_sizeof_type, _C_VOID): New case.
1046
1047 Sun Apr 12 13:04:55 1998  Nikolay Yatsenko  (nikolay@osf.org)
1048
1049         * configure.in (i[34567]86-*-osf1*): New entry.
1050         * i386/osf1-c[in].asm: New files for OSF/1.
1051         * i386/osf1elf{,gdb}.h, i386/[xt]-osf1elf, i386/xm-osf1elf.h: Likewise.
1052
1053 Sun Apr 12 10:03:51 1998  Noel Cragg  <noel@red-bean.com>
1054
1055         * fixincludes: Remove specification of parameters when renaming
1056         functions in Alpha DEC Unix include files.
1057
1058 Sun Apr 12 07:33:46 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1059
1060         * mips.c (large_int): Use HOST_WIDE_INT, not int.
1061         (print_operand): Use HOST_WIDE_INT_PRINT_* macros.
1062
1063         * toplev.c (main): Sort order of handling of -d letters.
1064         Use `F' instead of `D' for addressof_dump.
1065
1066         * libgcc2.c (_eh_compat): Deleted.
1067         * Makefile.in (LIB2FUNCS): Delete _eh_compat.
1068
1069         * configure.in (alpha*-*-linux-gnu*): Don't include alpha/xm-linux.h.
1070
1071         * c-common.c (check_format_info): Properly test for nested pointers.
1072
1073         * pa.md (casesi0): Add missing mode for operand 0.
1074
1075         * function.c (purge_addressof_1, case MEM): If BLKmode, put ADDRESSOF
1076         into stack.
1077
1078         * c-parse.in (label): Give warning if pedantic and label not integral.
1079
1080         * c-decl.c (grokdeclarator): Don't warn about return type if in
1081         system header.
1082
1083         * reload.c (reload_nongroup): New variable.
1084         (push{_secondary,}_reload): Initialize it.
1085         (find_reloads): Compute it.
1086         (debug_reload): Print it.
1087         * reload.h (reload_nongroup): Declare.
1088         * reload1.c (reload): Use reload_nongroup instead of local computation.
1089         Check caller_save_spill_class against any nongroup reloads.
1090         (reloads_conflict): No longer static.
1091
1092 Sun Apr 12 05:52:18 1998  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1093
1094         * vax.md (call patterns): Operand 1 is always a CONST_INT.
1095
1096 Sat Apr 11 16:01:11 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1097
1098         * convert.c (convert_to_{pointer,integer,real,complex}): Use switch.
1099         Add missing integer-like types.
1100         Simplify return of zero in error case.
1101         (convert_to_pointer): Remove dubious abort.
1102         (convert_to_integer, case POINTER_TYPE): Make recursive call.
1103         (convert_to_integer, case COND_EXPR): Always convert arms.
1104         * tree.c (type_precision): Deleted.
1105
1106         * cccp.c (do_warning): Give pedantic warning if -pedantic and not
1107         in system file.
1108         * cpplib.c (do_warning): Likewise.
1109
1110         * function.c (target_temp_slot_level): Define here.
1111         (push_temp_slots_for_target, {get,set}_target_temp_slot_level): New.
1112         * stmt.c (target_temp_slot_level): Don't define here.
1113         * expr.h (temp_slot_level): New declaration.
1114
1115 Fri Apr 10 16:35:48 1998  Paul Eggert  <eggert@twinsun.com>
1116
1117         * c-common.c (decl_attributes): Support strftime format checking.
1118         (record_function_format, {check,init_function}_format_info): Likewise.
1119         (enum format_type): New type.
1120         (record_function_format): Now static; takes value of type
1121         enum format_type instead of int.
1122         (time_char_table): New constant.
1123         (struct function_format_info): format_type member renamed from is_scan.
1124         (check_format_info): Use `warning' rather than sprintf followed by
1125         `warning', to avoid mishandling `%' in warnings.
1126         Change a `pedwarn' to `warning'.
1127         * c-tree.h (record_function_format): Remove decl.
1128
1129 Thu Apr  2 17:34:27 1998  Manfred Hollstein  <manfred@s-direktnet.de>
1130
1131         * regclass.c (memory_move_secondary_cost): Protect uses of
1132         SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS with #ifdef tests.
1133
1134 Thu Apr  2 07:06:57 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1135
1136         * m68k.c (standard_68881_constant_p): Don't use fmovecr on 68060.
1137
1138 Thu Apr  2 06:19:25 1998  Ken Raeburn  <raeburn@cygnus.com>
1139
1140         * Makefile.in (version.c): Put "cvs log" output in build directory.
1141
1142         * reload.h (MEMORY_MOVE_COST): Define here if not already defined.
1143         (memory_move_secondary_cost): Declare.
1144         * regclass.c (MEMORY_MOVE_COST): Don't define default here.
1145         (memory_move_secondary_cost) [HAVE_SECONDARY_RELOADS]: New function.
1146         (regclass, record_reg_classes, copy_cost, record_address_regs):
1147         Pass register class and direction of move to MEMORY_MOVE_COST.
1148         (top_of_stack) [HAVE_SECONDARY_RELOADS]: New static array.
1149         (init_regs) [HAVE_SECONDARY_RELOADS]: Initialize it.
1150         * reload1.c (MEMORY_MOVE_COST): Don't define default here.
1151         (emit_reload_insns, reload_cse_simplify_set): Pass register class
1152         and direction of move to MEMORY_MOVE_COST.
1153         * 1750a.h (MEMORY_MOVE_COST): Add extra ignored arguments.
1154         * a29k.h, alpha.h, arc.h, arm.h, dsp16xx.h, i386.h, m32r.h: Likewise.
1155         * m88k.h, rs6000.h: Likewise.
1156         * mips.h (MEMORY_MOVE_COST): Likewise.
1157         Add memory_move_secondary_cost result to cpu-specific cost.
1158
1159 Mon Mar 30 13:56:30 1998  Jim Wilson  <wilson@cygnus.com>
1160
1161         * mips/ultrix.h (SUBTARGET_CPP_SPEC): Define.
1162
1163 Wed Mar 25 16:09:01 1998  Michael Meissner  <meissner@cygnus.com>
1164
1165         * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum direction.
1166         (function_arg_padding): Declare.
1167
1168         * rs6000.c: Include stdlib.h if we have it.
1169         (function_arg_padding): Change return type to int, cast enum's to int.
1170
1171         (From Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>)
1172         * rs6000.c (rs6000_override_options): Change type of `i', `j' and
1173         `ptt_size' from int to size_t.
1174         (rs6000_file_start): Likewise for `i'.
1175         (rs6000_replace_regno): Add default case in enumeration switch.
1176         (output_epilog): Remove unused variable `i'.
1177         (rs6000_longcall_ref): Remove unused variables `len', `p', `reg[12]'.
1178  
1179         * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
1180         initializer.
1181         (get_issue_rate, non_logical_cint_operand): Add prototype.
1182         (rs6000_output_load_toc_table): Likewise.
1183  
1184         * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
1185         `else'.
1186  
1187 Wed Mar 25 02:39:01 1998  Paul Eggert  <eggert@twinsun.com>
1188
1189         * configure.in (i[34567]86-*-solaris2*, powerpcle-*-solaris2*,
1190         sparc-*-solaris2*): Use fixinc.svr4 if Solaris 2.0 through 2.4.
1191
1192 Mon Mar 23 07:27:19 1998  Philippe De Muyter  <phdm@macqel.be>
1193
1194         * m68k.md (ashldi_const): Allow shift count in range ]32,63].
1195         (ashldi3): Allow constant shift count in range ]32,63].
1196         (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
1197
1198         * m68k.md (zero_extend[qh]idi2, iordi_zext): New patterns.
1199         (zero_extendsidi2): Avoid useless copy.
1200         (iorsi_zexthi_ashl16): Avoid "0" constraint for operand 2.
1201         (iorsi_zext): New name for old unnamed pattern; indentation fixes.
1202
1203 Mon Mar 23 07:12:05 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1204
1205         * final.c (only_leaf_regs_used): If pic_offset_table_rtx used,
1206         make sure it is a permitted register.
1207
1208 Sun Mar 22 06:57:04 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1209
1210         * expmed.c (extract_bit_field): Don't confuse SUBREG_WORD with
1211         endian adjustment in SUBREG case.
1212         Don't abort if can't make SUBREG needed for extv/extzv.
1213
1214 Sat Mar 21 08:02:17 1998  Richard Gorton  <gorton@amt.tay1.dec.com>
1215
1216         * alpha.md (zero_extendqi[hsd]i2): Use "and", not "zapnot".
1217
1218 Sat Mar 21 07:47:04 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1219
1220         * unroll.c (verify_addresses): Use validate_replace_rtx.
1221         (find_splittable_givs): If invalid address, show nothing same_insn.
1222
1223 Fri Mar 20 10:24:12 1998  Philippe De Muyter  <phdm@macqel.be>
1224
1225         * fold-const.c (fold, case CONVERT_EXPR): Replace sign-extension of
1226         a zero-extended value by a single zero-extension.
1227
1228 Thu Mar 19 14:59:32 1998  Andrew Pochinsky  <avp@ctp.mit.edu>
1229
1230         * sparc.h (ASM_OUTPUT_LOOP_ALIGN): Fix error in last change.
1231
1232 Thu Mar 19 14:48:35 1998  Michael Meissner  <meissner@cygnus.com>
1233
1234         * gcc.c (default_arg): Don't wander off the end of allocated memory.
1235
1236         * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
1237         and EABI.
1238
1239 Thu Mar 19 06:17:59 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1240
1241         * Makefile.in (toplev.o): Depend on Makefile.
1242
1243 Wed Mar 18 17:40:09 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
1244
1245         * expr.c (convert_move): Add [QH]Imode/P[QH]Imode conversions.
1246         * machmode.def (PQImode, PHImode): New modes.
1247
1248 Wed Mar 18 17:11:18 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1249
1250         * m68k.md (movsf+1): Optimize moving a CONST_DOUBLE zero.
1251
1252 Wed Mar 18 17:07:54 1998  Ken Raeburn  <raeburn@cygnus.com>
1253
1254         * regclass.c (init_reg_sets): Delete init of reg-move cost tables.
1255         (init_reg_sets_1): Put it here.
1256
1257 Wed Mar 18 16:43:11 1998  Jim Wilson  <wilson@cygnus.com>
1258
1259         * i960.md (tablejump): Handle flag_pic.
1260
1261         * profile.c (branch_prob): If see computed goto, call fatal.
1262
1263         * calls.c (expand_call): Fix typos in n_named_args computation.
1264
1265 Wed Mar 18 05:54:25 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1266
1267         * fold-const.c (operand_equal_for_comparison_p): See if equal
1268         when nop conversions are removed.
1269
1270         * expr.c (expand_expr, case COND_EXPR): If have conditional move,
1271         don't use ORIGINAL_TARGET unless REG.
1272
1273         * function.c (fixup_var_refs_insns): Also delete insn storing pseudo
1274         back into arg list.
1275
1276         * combine.c (gen_binary): Don't make AND that does nothing.
1277         (simplify_comparison, case AND): Commute AND and SUBREG.
1278         * i386.h (CONST_CONSTS, case CONST_INT): One-byte integers are cost 0.
1279
1280 Mon Mar 16 15:57:17 1998  Geoffrey Keating  <geoffk@ozemail.com.au>
1281
1282         * rs6000.c (small_data_operand): Ensure any address referenced
1283         relative to small data area is inside SDA.
1284
1285 Sun Mar 15 16:01:19 1998  Andrew Pochinsky  <avp@ctp.mit.edu>
1286
1287         * sparc.h (ASM_OUTPUT_LOOP_ALIGN): Write nop's.
1288
1289 Sun Mar 15 15:53:39 1998  Philippe De Muyter  <phdm@macqel.be>
1290
1291         * libgcc2.c (exit): Don't call __bb_exit_func if HAVE_ATEXIT.
1292
1293 Sun Mar 15 15:44:41 1998  Paul Eggert  <eggert@twinsun.com>
1294
1295         * cccp.c: Fix bugs relating to NUL in input file name,
1296         e.g. with `#line 2 "x\0y"'.
1297         (PRINTF_PROTO_4): New macro.
1298         (struct {file_buf,definition,if_stack}): New member nominal_fname_len.
1299         (main, expand_to_temp_buffer): Store length of input file names.
1300         (finclude, create_definition, do_line, conditional_skip): Likewise.
1301         (skip_if_group, macroexpand): Likewise.
1302         (make_{definition,undef,assertion}): Likewise.
1303         (special_symbol, do_include): Use stored length of input file names.
1304         (do_define, do_elif, do_else, output_line_directive, verror): Likewise.
1305         (error_from_errno, vwarning, verror_with_line): Likewise.
1306         (vwarning_with_line, pedwarn_with_file_and_line): Likewise.
1307         (print_containing_files): Likewise.
1308         (do_line): Fix off-by-1 problem: 1 too many bytes were being allocated.
1309         (quote_string, pedwarn_with_file_and_line): New arg specifies length.
1310         All callers changed.
1311
1312 Sun Mar 15 15:38:16 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1313
1314         * c-typeck.c: Collect pending initializers in AVL tree instead of list.
1315         (add_pending_init, pending_init_member): New functions.
1316         (output_init_element): Use them.
1317         (output_pending_init_elements): Rewritten to exploit AVL order.
1318
1319 Sun Mar 15 05:10:49 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1320
1321         * gnu.h (GNU_CPP_PREDEFINES): Deleted; not valid in traditional C.
1322         * {i386,mips}/gnu.h (CPP_PREDEFINES): Don't call GNU_CPP_PREDEFINES.
1323
1324         * flow.c (insn_dead_p): A CLOBBER of a dead pseudo is dead.
1325
1326         * alpha.h (REG_ALLOC_ORDER): Put $f1 after other nonsaved.
1327
1328         * sparc.c (sparc_type_code): Fix error in previous change.
1329
1330 Sat Mar 14 05:45:21 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1331
1332         * i386/xm-aix.h, i386/xm-osf.h (i386/xm-i386.h): Don't include.
1333         (USG): Don't define.
1334         * i386/xm-isc.h (i386/xm-sysv3.h): Don't include.
1335         * i386/xm-sco.h (i386/xm-sysv3.h): Likewise.
1336         (BROKEN_LDEXP, SMALL_ARG_MAX, NO_SYS_SIGLIST): Don't define.
1337         * m68k/xm-3b1.h (m68k/xm-m68k.h): Don't include.
1338         (USG): Don't define.
1339         * m68k/xm-atari.h (m68k/xm-m68kv.h): Don't include.
1340         (HAVE_VPRINTF, FULL_PROTOTYPES): Don't define.
1341         * m68k/xm-crds.h (m68k/xm-m68k.h): Don't include.
1342         (USE_C_ALLOCA, unos, USG): Don't define.
1343         * m68k/xm-mot3300.h (m68k/xm-m68k.h): Don't include.
1344         (USE_C_ALLOCA, NO_SYS_SIGLIST): Don't define.
1345         * m68k/xm-plexus.h (m68k/xm-m68k.h): Don't include.
1346         (USE_C_ALLOCA, USG): Don't define.
1347         * m88k/xm-sysv3.h (m88k/xm-m88k.h): Don't include.
1348         * m68k/xm-next.h (m68k/xm-m68k.h): Don't include.
1349         * ns32k/xm-pc532-min.h (ns32k/xm-ns32k.h): Don't include.
1350         (USG): Don't define.
1351         * rs6000/xm-mach.h: Don't include xm-rs6000.h.
1352         * rs6000/xm-cygwin32.h (rs6000/xm-rs6000.h): Don't include.
1353         (NO_STAB_H): Don't define.
1354         * sparc/xm-linux.h (xm-linux.h): Don't include.
1355         * sparc/xm-sol2.h (sparc/xm-sysv4.h): Don't include.
1356         * a29k/xm-unix.h, alpha/xm-linux.h, arm/xm-linux.h: Deleted.
1357         * arm/xm-netbsd.h, i386/xm-bsd386.h, i386/xm-gnu.h: Deleted.
1358         * i386/xm-linux.h, i386/xm-sun.h, i386/xm-sysv3.h: Deleted.
1359         * i386/xm-winnt.h,  m68k/xm-altos3068.h, m68k/xm-amix.h: Deleted.
1360         * m68k/xm-amix.h, m68k/xm-hp320.h, m68k/xm-linux.h: Deleted.
1361         * m68k/xm-m68kv.h, mips/xm-iris5.h, ns32k/xm-genix.h: Deleted.
1362         * sparc/xm-pbd.h, vax/xm-vaxv.h, xm-svr3.h, xm-linux.h: Deleted.
1363         * configure.in: Reflect above changes.
1364
1365         * xm-siglist.h, xm-alloca.h: New files.
1366         * i386/xm-sysv4.h (i386/xm-i386.h, xm-svr4.h): Don't include.
1367         (USE_C_ALLOCA, SMALL_ARG_MAX): Don't define.
1368         * i386/xm-sco5.h (i386/xm-sysv3.h): Don't include.
1369         (SYS_SIGLIST_DECLARED, USE_C_ALLOCA): Don't define.
1370         * rs6000/xm-sysv4.h, sparc/xm-sysv4.h: Don't include xm-svr4.h.
1371         * xm-svr4.h, i386/xm-dgux.h, mips/xm-news.h, mips/xm-sysv4.h: Deleted.
1372         * configure.in: Reflect above changes.
1373
1374         * configure.in ({,host_,build_}xm_defines): New variables.
1375         Set to USG instead of including xm-usg.h.
1376         Write #define lines in config.h files from xm_defines vars.
1377         * xm-usg.h: Deleted.
1378
1379 Fri Mar 13 07:10:59 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1380
1381         * calls.c (expand_call): Fix typo in previous change.
1382
1383         * sparc.c (sparc_type_code): Avoid infinite loop when have
1384         pointer to array of same pointer.
1385         (sparc_type_code, case REAL_TYPE): Process subtypes here too.
1386
1387         * mips/bsd-4.h, mips/iris3.h, mips/news{4,5}.h: Don't include mips.h.
1388         * mips/news5.h, mips/osfrose.h, mips/svr{3,4}-4.h: Likewise.
1389         * mips/ultrix.h: Likewise.
1390         * mips/cross64.h: Don't include iris6.h.
1391         * mips/ecoff.h: Don't include mips.h or gofast.h.
1392         * mips/elforion.h: Don't include elf64.h.
1393         * mips/iris4.h: Don't include iris3.h.
1394         * mips/iris4loser.h: Don't include iris4.h.
1395         * mips/iris5gas.h: Don't include iris5.h.
1396         * mips/elflorion.h, mips/nws3250v4.h, mips/xm-iris{3,4}.h: Deleted.
1397         * mips/xm-nws3250v4.h, mips/xm-sysv.h: Deleted.
1398         * mips/rtems64.h: Don't include elflorion.h.
1399         * mips/sni-gas.h: Don't include sni-svr4.h.
1400         * mips/svr4-t.h: Don't include svr4-5.h.
1401         * mips/dec-osf1.h: Also include mips.h.
1402         * mips/ecoffl.h, mips/elf.h: Also include mips.h and gofast.h.
1403         * mips/iris5.h: Also include iris3.h and mips.h.
1404         * xm-usg.h: New file.
1405         * mips/xm-iris5.h: Don't include xm-mips.h; don't define USG.
1406         * mips/xm-news.h, mips/xm-sysv4.h: Don't include xm-sysv.h.
1407         * configure.in: Reflect above changes.
1408
1409 Thu Mar 12 07:18:48 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1410
1411         * expr.h (STRICT_ARGUMENT_NAMING): Provide default value of 0.
1412         * calls.c (expand_call): Use value of STRICT_ARGUMENT_NAMING.
1413         * function.c (assign_parm): Likewise.
1414         * mips/abi64.h (STRICT_ARGUMENT_NAMING): Return 0 for ABI_32.
1415         * sparc.h (STRICT_ARGUMENT_NAMING): Only nonzero for V9.
1416
1417         * calls.c (expand_call, expand_library_call{,_value}, store_one_arg):
1418         Rework handling of REG_PARM_STACK_SPACE to treat return value of
1419         zero as if macro not defined; add new arg to emit_push_insn.
1420         * expr.c (emit_push_insn): New arg, REG_PARM_STACK_SPACE.
1421         * expr.h (emit_push_insn): Likewise.
1422         * mips/abi64.h (REG_PARM_STACK_SPACE): Define.
1423
1424 Wed Mar 11 06:58:13 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1425
1426         * m68k.h (CONST_OK_FOR_LETTER_P, case 'M'): Correct range check.
1427
1428 Wed Mar 11 06:15:52 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1429
1430         * expr.c (emit_push_insn): Use loop to find movstr patterns
1431         instead of explicit tests.
1432
1433         * Makefile.in (extraclean): Don't delete install1.texi.
1434
1435 Tue Mar 10 14:27:51 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1436
1437         * combine.c (make_field_assignment): Don't get confused if OTHER
1438         has VOIDmode and don't do anything if DEST is wider than a host word.
1439
1440         * vax.c (check_float_value): Cast bcopy args to char *.
1441
1442 Tue Mar 10 13:56:12 1998  Jim Wilson  <wilson@cygnus.com>
1443
1444         * mips/abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and
1445         TARGET_DEFAULT and define __LONG_MAX__ appropriately.
1446         Add support for -mabi=X, -mlong64, and -mgp{32,64} options.
1447         * mips.c (mips_abi): Change type to int.
1448         * mips.h (enum mips_abi_type): Delete.
1449         (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
1450         (mips_abi): Change type to int.
1451
1452 Mon Mar  2 08:06:58 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1453
1454         * Version 2.8.1 released.
1455
1456         * Makefile.in (mostlyclean): Remove duplicate deletion of temp
1457         files.  Delete more stamp files and [df]p-bit.c
1458         (clean): Don't delete stamp files here.
1459         (VERSION_DEP): New variable.
1460         (distdir-finish): Pass a value of null for it.
1461         (version.c): Use it.
1462         Avoid broken pipe with cvs log.
1463
1464         * objc/Make-lang.in (objc/runtime-info.h): Rename emptyfile to
1465         tmp-runtime and delete at end.
1466
1467 Sun Mar  1 05:50:25 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1468
1469         * tree.c (build_reference_type): Handle obstacks like
1470         build_pointer_type.
1471
1472         * Makefile.in (tmp-gcc.xtar): Renamed from gcc.xtar.
1473         (gcc.xtar.gz): Deleted; merged with `dist'.
1474         (diff): Create gcc-$(oldversion)-$(version).diff.
1475         (distdir): Depend on distdir-cvs.
1476         (distdir-cvs): New rule.
1477         (distdir-start): Depend on version.c and TAGS.
1478         (TAGS): Use tmp-tags instead of temp.
1479         (dist): Create gcc-$(version).tar.gz.
1480
1481         * varasm.c (compare_constant_1): Fix typo in previous change.
1482
1483         * objc/Make-lang.in (objc-distdir): Properly rebuild objc-parse.c.
1484
1485 Sat Feb 28 16:58:08 1998  Tristan Gingold  <gingold@rossini.enst.fr>
1486
1487         * stmt.c (expand_decl): If -fcheck-memory-usage, put vars in memory.
1488         * expr.c (get_memory_usage_from_modifier): Convert
1489         EXPAND_{CONST_ADDRESS, INITIALIZER} to MEMORY_USE_DONT.
1490   
1491 Sat Feb 28 08:13:43 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1492
1493         * i860/fx2800.h (DATA_ALIGNMENT): Use POINTER_TYPE_P.
1494         * m68k/a-ux.h (FUNCTION_VALUE): Likewise.
1495         * expr.c (get_pointer_alignment, compare, do_store_flag): Likewise.
1496         (expand_builtin): Likewise.
1497         * fold-const.c (force_fit_type, fold_convert, fold): Likewise.
1498         * function.c (assign_parms): Likewise.
1499         * integrate.c (expand_inline_function): Likewise.
1500         * sdbout.c (sdbout_field_types): Likewise.
1501         * tree.c (integer_pow2p, tree_log2, valid_machine_attribute): Likewise.
1502         * stmt.c (expand_decl): Likewise.
1503         ({,bc_}expand_decl_init): Also test for REFERENCE_TYPE.
1504
1505         * configure.in (version_dep): New variable; if srcdir is CVS working
1506         directory, set to ChangeLog.
1507         (version): Supply default if no version.c.
1508         * Makefile.in (version.c): New rule.
1509
1510         * gcc.c (snapshot_warning): New function.
1511         (main): Call it for snapshots.
1512
1513         * dwarf2out.c (expand_builtin_dwarf_reg_size): If reg_raw_mode
1514         not valid for reg, use last size.  Also refine range assertion.
1515
1516 Sat Feb 28 05:04:47 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
1517
1518         * enquire.c (cprop): Don't perform exhaustive search for char_min
1519         and char_max when bits_per_byte > 16.
1520
1521 Thu Feb 26 15:12:03 1998  Christopher Taylor <cit@ckshq.com>
1522
1523         * fixincludes: Avoid using '0-~' in egrep.
1524
1525 Thu Feb 26 08:04:05 1998  Tristan Gingold  <gingold@messiaen.enst.fr>
1526
1527         * function.c (assign_parms): Call 'chkr_set_right' when DECL_RTL
1528         is stack_parm.
1529         * expr.c (get_memory_usage_from_modifier): Convert
1530         EXPAND_{SUM, CONST_ADDRESS, INITIALIZER} to MEMORY_USE_RO.
1531
1532 Thu Feb 26 07:33:53 1998  Paul Eggert  <eggert@twinsun.com>
1533
1534         * c-lex.c (yylex): Don't munge errno before using it.
1535         * cccp.c (error_from_errno, perror_with_name): Likewise.
1536         * cpplib.c (cpp_error_from_errno): Likewise.
1537         * gcc.c (pfatal_pexecute): Likewise.
1538         * protoize.c (safe_write, find_file, process_aux_info_file): Likewise.
1539         (rename_c_file, edit_file): Likewise.
1540
1541         * c-lex.c (yylex): Remove unused variable exceeds_double.
1542
1543 Thu Feb 26 07:05:14 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
1544
1545         * reorg.c (fill_slots_from_thread): Don't steal delay list from target
1546         if condition code of jump conflicts with opposite_needed.
1547
1548 Thu Feb 26 06:45:23 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1549
1550         * Makefile.in (distdir-start): Don't copy CVS subdirectory of config.
1551
1552         * varasm.c ({compare,record}_constant_1, case CONSTRUCTOR):
1553         Handle the case when we have TREE_PURPOSE values.
1554
1555 Thu Feb 26 05:59:01 1998  Philippe De Muyter  <phdm@macqel.be>
1556
1557         * fixincludes (sys/limits.h): Fix a nested comment problem with
1558         HUGE_VAL definition on sysV68 R3V7.1.
1559
1560 Wed Feb 25 21:09:38 1998  Philippe De Muyter  <phdm@macqel.be>
1561
1562         * toplev.c (TICKS_PER_SECOND): Renamed from CLOCKS_PER_SECOND.
1563
1564 Wed Feb 25 20:50:08 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
1565
1566         * reorg.c (fill_slots_from_thread): Mark resources referenced in
1567         opposite_needed thread.  Return delay_list even when cannot get
1568         any more delay insns from end of subroutine.
1569
1570 Wed Feb 25 19:50:01 1998  Mikael Pettersson <Mikael.Pettersson@sophia.inria.fr>
1571
1572         * gcc.c (lookup_compiler): Remove redundant test.
1573
1574 Wed Feb 25 07:24:22 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1575
1576         * vax.md (call insns): Second operand to CALL rtl is SImode.
1577
1578         * configure.in (i[34567]86-*-mingw32): Support msv and crt suffix.
1579         * i386/crtdll.h: New file.
1580
1581         * sparc.c (pic_setup_code): If -O0, write USE of pic_offset_table_rtx.
1582
1583         * expr.c (safe_from_p): Add new arg, TOP_P; all callers changed.
1584
1585 Sat Feb 21 07:02:39 1998  Jim Wilson  <wilson@cygnus.com>
1586
1587         * mips/iris5.h (DWARF2_UNWIND_INFO): Define to 0.
1588         * mips/iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
1589
1590 Fri Feb 20 08:27:46 1998  Paul Eggert  <eggert@twinsun.com>
1591
1592         * sparc/sol2-sld.h: New file.
1593         * configure.in (sparc-*-solaris2*): Use it when using system linker.
1594         * toplev.c (main): Don't default to DWARF2_DEBUG with -ggdb 
1595         if LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
1596
1597 Fri Feb 20 08:21:49 1998  H.J. Lu  (hjl@gnu.org)
1598
1599         * alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Support shared library.
1600         (LIB_SPEC, DEFAULT_VTABLE_THUNKS): Defined #ifndef USE_GNULIBC_1.
1601         * sparc/linux.h (DEFAULT_VTABLE_THUNKS): Likewise.
1602         (LIB_SPEC): Add -lc for -shared #ifndef USE_GNULIBC_1.
1603         * linux.h (LIB_SPEC): Likewise.
1604         * sparc/linux64.h (LIB_SPEC): Likewise; also updated for glibc 2.
1605         (LIBGCC_SPEC): Removed.
1606         (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
1607
1608 Fri Feb 20 05:22:12 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1609
1610         * Makefile.in (distdir-start): Add dependence on bi-parser.[ch].
1611
1612 Thu Feb 19 18:07:11 1998  Jim Wilson  <wilson@cygnus.com>
1613
1614         * m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
1615         For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
1616
1617 Wed Feb 18 09:37:29 1998  Paul Eggert  <eggert@twinsun.com>
1618
1619         * fixincludes (stdlib.h): Do not double-wrap the size_t typedef.
1620
1621 Wed Feb 18 07:32:11 1998  Jim Wilson  <wilson@cygnus.com>
1622
1623         * i960.c (emit_move_sequence): Handle unaligned stores to pseudos.
1624         * i960.md (store_unaligned_[dt]i_reg): Handle register dest.
1625         (store_unaligned_ti_reg): Likewise.
1626
1627         * m68k.h (MACHINE_STATE_{SAVE,RESTORE} [MOTOROLA]): Add %# and %/;
1628         add : to make them into extended asms.
1629
1630 Wed Feb 18 07:08:05 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1631
1632         * reg-stack.c (compare_for_stack_reg): Only handle FP conditional
1633         move as next insn specially.
1634
1635         * reload.c (find_reloads): Always convert address reload for
1636         non-reloaded operand to RELOAD_FOR_OPERAND_ADDRESS.
1637
1638         * emit-rtl.c (hard-reg-set.h): Include.
1639         (get_lowpart_common): Don't make new REG for hard reg in a 
1640         class that cannot change size.
1641         * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
1642
1643 Sat Feb 14 09:59:00 1998  Richard Earnshaw (rearnsha@arm.com)
1644
1645         * arm.md (movsfcc): Also validate operands[3] for hard float.
1646         (movdfcc): Only accept fpu_add_operand for operands[3].8
1647
1648 Sat Feb 14 09:32:34 1998  Jim Wilson  <wilson@cygnus.com>
1649
1650         * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
1651         Convert CCmode to word_mode before calling GET_MODE_SIZE.
1652
1653 Sat Feb 14 09:27:42 1998  David Edelsohn  <edelsohn@mhpcc.edu>
1654
1655         * rs6000.h (MY_ISCOFF): Check for U803XTOCMAGIC.
1656
1657 Sat Feb 14 08:29:43 1998  Arvind Sankar  <arvind@cse.iitb.ernet.in>
1658
1659         * t-svr4 (TARGET_LIBGCC_CFLAGS): New definition.
1660
1661 Sat Feb 14 07:45:16 1998  Ken Rose (rose@acm.org)
1662
1663         * reorg.c (fill_slots_from_thread): New parameter, delay_list.
1664         All callers changed.
1665
1666 Sat Feb 14 07:14:02 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1667
1668         * reload.c (debug_reload): Properly output insn codes.
1669
1670         * pa.c (emit_move_sequence): If in reload, call find_replacement.
1671
1672         * gansidecl.h (bcopy, bzero, {,r}index): Don't define if IN_LIBGCC2.
1673
1674         * combine.c (distribute_notes, case REG_DEAD): When seeing if place
1675         to put new note sets register, use reg_bitfield_target_p, as in
1676         original code.
1677
1678         * gcc.c (process_command): If file is for linker, set lang to "*".
1679         (lookup_compiler): Return 0 for language of "*".
1680
1681         * sched.c (attach_deaths, case SUBREG): Fix error in last change.
1682
1683         * i386.md (mov[sdx]fcc): Disable for now.
1684         (mov[sd]fcc_1): Add earlyclobber for output on last alternative.
1685
1686 Sat Feb 14 06:42:50 1998  Jason Merrill  <jason@yorick.cygnus.com>
1687
1688         * except.c (get_dynamic_handler_chain): Only make call once per func.
1689         (expand_fixup_region_{start,end}): New functions.
1690         (expand_eh_region_start_tree): Store cleanup into finalization here.
1691         * stmt.c (expand_cleanups): Use new functions to protect fixups.
1692
1693         * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
1694         * optabs.c (init_optabs): Don't init get_dynamic_handler_chain_libfunc.
1695         * expr.h (get_dynamic_handler_chain_libfunc): Deleted.
1696
1697 Sat Feb 14 06:34:41 1998  Peter Lawrence  <Peter.Lawrence@Eng.Sun.COM>
1698
1699         * optabs.c (emit_conditional_move): Don't reverse condition for FP.
1700
1701 Fri Feb 13 07:22:04 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1702
1703         * Makefile.in (mostlyclean): Only use s-* convention for stamp
1704         files in main dir.
1705
1706         * configure.in: Add support for i786 (Pentium II); same as i686.
1707
1708 Thu Feb 12 20:16:35 1998  Michael Meissner  <meissner@cygnus.com>
1709
1710         * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
1711
1712 Thu Feb 12 10:08:14 1998  John Hassey  <hassey@dg-rtp.dg.com>
1713
1714         * configure.in (i[3456]86-dg-dgux*): Don't need fixincludes.
1715
1716 Thu Feb 12 07:27:39 1998  Mumit Khan <khan@xraylith.wisc.edu>
1717         
1718         * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Define.
1719         about system headers.
1720         (LIB_SPEC): Add -ladvapi32 -lshell32.
1721
1722 Thu Feb 12 07:19:31 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1723
1724         * expr.c (expand_assignment): Fix typo in checking OFFSET.
1725
1726         * gbl-ctors.h (atexit): Don't define unless needed.
1727
1728         * combine.c (distribute_notes): Completely check for note operand being
1729         only partially set on potential note target; adjust what notes
1730         we make in that case.
1731
1732         * i386/xm-go32.h (HAVE_{BCOPY,BZERO,INDEX,RINDEX}): Deleted.
1733
1734 Wed Feb 11 08:53:27 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1735
1736         * calls.c (emit_call_1): Size args now HOST_WIDE_INT.
1737         (expand_call): struct_value_size now HOST_WIDE_INT.
1738
1739 Tue Feb 10 09:04:39 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1740
1741         * integrate.c (initialize_for_inline): Ensure DECL_INCOMING_RTL
1742         is always copied.
1743
1744 Tue Feb 10 06:10:49 1998  Paul Eggert  <eggert@twinsun.com>
1745
1746         * cccp.c (rescan): Fix bug with macro name appearing
1747         immediately after L'x'.
1748
1749 Mon Feb  9 20:45:32 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1750
1751         * c-common.c (format_char_info): Add new field zlen.
1752         (print_char_table): Remove entry for 'Z' as a format character.
1753         Initialize zlen field as appropriate.
1754         (scan_char_table): Set zlen field to NULL in each entry.
1755         (check_format_info): Recognize 'Z' as a length modifier, with a
1756         warning in pedantic mode.
1757         Avoid infinite loop when a repeated flag character is detected.
1758
1759 Mon Feb  9 09:24:04 1998  Paul Eggert  <eggert@twinsun.com>
1760
1761         * c-parse.in (primary): Minor wording fix in diagnostic.
1762
1763 Mon Feb  9 07:50:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1764
1765         * c-decl.c (grokdeclarator): Remove warning on inline of varargs.
1766
1767         * reload.c (find_reloads): Check for const_to_mem case before
1768         checking for invalid reload; use force_const_mem if no_input_reloads.
1769
1770         * function.c (push_function_context_to): Call init_emit last.
1771
1772         * protoize.c (my_link): Define as -1 in mingw32.
1773         (link): Remove declaration.
1774
1775         * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
1776
1777         * integrate.c (expand_inline_function): Clear label_map with bzero.
1778
1779         * unroll.c (copy_loop_body, case JUMP_INSN): Correct error in last
1780         change: call single_set on COPY, not INSN.
1781
1782 Sun Feb  8 08:07:37 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1783
1784         * msdos/top.sed, winnt/config-nt.sed: Change version number to 2.8.1.
1785
1786         * configure.in (i[3456]86-*-sco3.2v5*): Use cpio for headers.
1787
1788 Sat Feb  7 07:32:46 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1789
1790         * i386/mingw32.h (LIBGCC_SPEC, STARTFILE_SPEC, MATH_LIBRARY):
1791         Use msvcrt, not crtdll.
1792
1793 Fri Feb  6 20:32:06 1998  Geert Bosch  <bosch@gnat.com>
1794
1795         * i386/xm-os2.h (EMX, USG, BSTRING, HAVE_{PUTENV,VPRINTF,STRERROR}):
1796         Define ifdef __EMX__.
1797         (strcasecmp): Define to be stricmp if __EMX__.
1798         (spawnv{,p}): Don't define if EMX.
1799         (OBJECT_SUFFIX): Don't define if EMX.
1800         (MKTEMP_EACH_FILE): Define.
1801
1802 Fri Feb  6 16:37:29 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1803
1804         * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
1805         (objc.stage2, objc.stage3, objc.stage4): Likewise for the
1806         respective stageN-start targets. 
1807         (objc/sendmsg.o): Depend on objc/runtime-info.h.
1808
1809 Fri Feb  6 16:27:09 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
1810
1811         * stmt.c (expand_asm_operands): Properly treat asm statement
1812         statements with no operands as volatile.
1813
1814 Fri Feb  6 16:03:25 1998  Greg McGary  <gkm@gnu.org>
1815
1816         * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
1817
1818 Fri Feb  6 15:57:36 1998  Mumit Khan <khan@xraylith.wisc.edu>
1819
1820         * i386/cygwin32.h (STRIP_NAME_ENCODING): New macro.
1821
1822 Fri Feb  6 15:50:42 1998  Paul Eggert  <eggert@twinsun.com>
1823
1824         * libgcc2.c (__floatdi[xtds]f): Round properly even when rounding
1825         large negative integer to plus or minus infinity.
1826
1827 Fri Feb  6 15:45:16 1998  Philippe De Muyter  <phdm@macqel.be>
1828
1829         * sdbout.c (plain_type_1): Return T_DOUBLE, not T_VOID, for
1830         long double #ifndef EXTENDED_SDB_BASIC_TYPES.
1831
1832 Fri Feb  6 15:23:49 1998  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1833
1834         * vax/ultrix.h (HAVE_ATEXIT): Define.
1835         * x-vax: File deleted.
1836
1837 Fri Feb  6 14:34:19 1998  Douglas Rupp <rupp@gnat.com>
1838
1839         * gcc.c (process_command, case "-dumpversion"): Print spec_version.
1840
1841 Fri Feb  6 11:01:13 1998  Josh Littlefield  <josh@american.com>
1842
1843         * i386/gmon-sol2.c (internal_mcount): Do set-up when program starts
1844         and install hook to do clean-up when it exits.
1845         * i386/sol2-c1.asm (_mcount): Make a weak instead of global symbol.
1846         * i386/sol2dbg.h (ASM_SPEC): Support Solaris bundled assembler's -V
1847         argument; pass -s argument to assembler.
1848         
1849 Fri Feb  6 09:13:21 1998  Jim Wilson  (wilson@cygnus.com)
1850
1851         * function.c (assign_parms): New variable named_arg, with value
1852         depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
1853
1854         * crtstuff.c (__frame_dummy): New function for irix6.
1855         (__do_global_ctors): Call __frame_dummy for irix6.
1856         * mips/iris6.h (LINK_SPEC): Hide __frame_dummy too.
1857
1858 Fri Feb  6 09:08:21 1998  Mike Stump  <mrs@wrs.com>
1859
1860         * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after reload.
1861         * genattrtab.c (reload_completed): Define.
1862
1863         * configure.in (i960-wrs-vxworks): Same as i960-wrs-vxworks5*.
1864
1865 Fri Feb  6 08:47:38 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1866
1867         * Makefile.in (diff): Add INSTALL, configure, and config.in;
1868         remove objc-*.
1869         * objc/config-lang.in (diff_excludes): Add objc-parse.[cy].
1870
1871         * i386/xm-mingw32.h (link): Delete macro.
1872
1873         * alpha.c (output_prolog): Write out frame sizes as longs and
1874         print too large sizes as zero.
1875
1876         * function.c (combine_temp_slots): No need to allocate and free rtx.
1877         Don't do anything if too many slots in the list.
1878         (put_var_into_stack): Don't use ADDRESSOF if not optimizing.
1879
1880         * function.c (purge_addressof_1): Force into mem if VOLATILE reference.
1881
1882         * calls.c (expand_call): Show VAR_DECL made for structure return
1883         address is used; remove bogus set of MEM_IN_STRUCT_P.
1884         * expr.c (expand_expr, case SAVE_EXPR, case TARGET_EXPR): Show used.
1885         (expand_builtin, case BUILT_IN_LONGJMP): Show __dummy used.
1886         * function.c (put_reg_into_stack): New arg USED_P; all callers changed.
1887
1888         * expr.c (expand_expr, case SAVE_EXPR): assign_temp with KEEP of 3.
1889         * function.c (var_temp_slot_level): New variable.
1890         (push_function_context_to, pop_function_context_from): Save/restore
1891         it and target_temp_slot_level.
1892         (assign_stack_temp): Implement KEEP of 3.
1893         (push_temp_slots_for_block): New function.
1894         (init_temp_slots): Initialize var_temp_slot_level.
1895         * function.h (struct function, fields {var,target}_temp_slot_level):
1896         New fields.
1897         * stmt.c (expand_start_bindings): Call push_temp_slots_for_block.
1898
1899         * function.c (struct temp_slot): SIZE, BASE_OFF_SET, and FULL_SIZE
1900         now HOST_WIDE_INT.
1901         (assign_{,outer_}stack_local, assign_{,stack_}temp): Size arg is
1902         now HOST_WIDE_INT.
1903         (assign_stack_temp): Do size computations in HOST_WIDE_INT.
1904         (fixup_var_refs_1, optimize_bit_field, instantiate_decls): Likewise.
1905         (instantiate_virtual_regs_1, fix_lexical_address): Likewise.
1906         * rtl.h (assign_stack_{local,temp}): Size arg is HOST_WIDE_INT.
1907         (assign_temp): Likewise.
1908         * expr.h (struct args_size): Field CONSTANT is now HOST_WIDE_INT.
1909
1910         * sched.c (attach_deaths, case REG): Don't check for REG_UNUSED.
1911         (attach_deaths, case SUBREG, STRICT_LOW_PART, {ZERO,SIGN}_EXTRACT):
1912         Don't pass set_p of 1 if partial assignment.
1913
1914         * tree.h (size_in_bytes): Returns HOST_WIDE_INT.
1915         * tree.c (size_in_bytes): Likewise.
1916         Tighen up logic some to avoid returning a bogus value instead of -1.
1917
1918         * expr.c (get_inner_reference, case ARRAY_EXPR): Make WITH_RECORD_EXPR
1919         just for index.
1920         (expand_expr, case PLACEHOLDER_EXPR): Refine search again; look
1921         at each expression and look for pointer to type.
1922
1923         * expr.c (safe_from_p, case ADDR_EXPR): If TREE_STATIC, no trampoline.
1924         (expand_expr, case ADDR_EXPR): Likewise.
1925
1926         * expr.c (emit_block_move): Use conservative range for movstr mode.
1927
1928         * configure.in: See if "cp -p" works if "ln -s" doesn't; else "cp".
1929
1930         * combine.c (try_combine.c): Pass elim_i2 and elim_i1 to
1931         distribute_notes for i3dest_killed REG_DEAD note.
1932
1933         * configure.in (mips-dec-netbsd*): Remove bogus setting of prefix.
1934
1935         * c-decl.c (duplicate_decls): Set DECL_IGNORED_P in newdecl if
1936         different bindings levels.
1937
1938         * configure.in: Test ln -s by symlinking gcc.c.
1939
1940         * configure.in (i[3456]86-dg-dgux): Add wildcard for version.
1941
1942         * crtstuff.c (__do_global_ctors_aux): Switch back to text section
1943         in proper place.
1944
1945         * rtlanal.c (rtx_varies_p, case REG): pic_offset_table_rtx is fixed.
1946         * genattrtab.c (pic_offset_table_rtx): Define (dummy).
1947         * cse.c (set_nonvarying_address_components): Understand PIC refs.
1948
1949         * loop.c (strength_reduce): When placing increment for auto-inc
1950         case, do comparison in loop order.
1951
1952         * i860.c (output_delayed_branch): Add missing arg to recog.
1953         (output_delay_insn): Add missing arg to constrain_operands.
1954
1955         * configure.in: Truncate target after finished comparing it with host.
1956
1957         * i386.h (MAX_FIXED_MODE_SIZE): Delete.
1958
1959         * c-parse.in (expr_no_comma): Clarify undefined error.
1960
1961         * prefix.c (get_key_value): Don't default to PREFIX here.
1962         (translate_name): Remove bogus addition of "$" if getenv fails;
1963         clean up application of default value of PREFIX.
1964
1965         * fold-const.c (fold_convert): Call force_fit_type even if input
1966         already overflows.
1967
1968 Fri Feb  6 07:45:01 1998  Robert Hoehne <robert.hoehne@gmx.net>
1969
1970         * i386/xm-go32.h (HAVE_{BCOPY,BZERO,BCMP,RINDEX,INDEX}): Define.
1971
1972         * gcc.c (main): Treat paths starting with '$' or DOS drives
1973         as absolute in standard_startfile_prefix.
1974
1975 Thu Feb  5 21:07:12 1998  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1976
1977         * cpplib.c (IS_INCLUDE_DIRECTIVE_TYPE): Add casts from enum to int.
1978         * cccp.c (IS_INCLUDE_DIRECTIVE_TYPE, handle_directive): Likewise.
1979
1980 Thu Feb  5 19:00:44 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1981
1982         * expr.c (expand_expr, case CONSTRUCTOR): Correct shift count
1983         when making signed bit field; use EXPAND_NORMAL, not 0.
1984
1985 Thu Feb  5 17:42:43 1998  Manfred Hollstein  <manfred@s-direktnet.de>
1986
1987         * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
1988         stuff only if MCT_TEXT is #define'd.
1989
1990 Thu Feb  5 17:32:01 1998  Robert Hoehne  <robert.hoehne@gmx.net>
1991
1992         * Makefile.in: Changed most stamp-* to s-*.
1993
1994 Tue Feb  3 19:45:50 1998  James Hawtin <oolon@ankh.org>
1995
1996         * i386/sol2.h (STARTFILE_SPEC, LIB_SPEC): Update -pg files.
1997         * configure.in (i[3456]86-*-solaris2*): Add gcrt1.o and gmon.o
1998         to extra_parts.
1999
2000 Tue Feb  3 17:28:48 1998  Christopher C Chimelis <chris@classnet.med.miami.edu>
2001
2002         * configure.in (alpha*-*-linux-gnu*): Add extra_parts for crtstuff.
2003
2004 Tue Feb  3 17:18:19 1998  Richard Earnshaw  <rearnsha@arm.com>
2005
2006         * arm.c (find_barrier): Fix one-too-many bug if fail to find barrier.
2007
2008         * arm.c (arm_reload_in_hi): Handle cases where the MEM is too 
2009         complex for a simple offset.
2010
2011 Tue Feb  3 16:14:21 1998  Robert Hoehne  <robert.hoehne@gmx.net>
2012
2013         * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
2014
2015         * configure.in (i[3456]86-pc-msdosdjgpp*): New entry.
2016
2017 Tue Feb  3 07:33:58 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2018
2019         * explow.c (probe_stack_range): Properly check for small
2020         number of probes.
2021
2022         * gcc.c (process_command, case 'V'): Validate arg.
2023
2024         * configure.in (sbrk): Add check for needed declaration.
2025         * acconfig.h (NEED_DECLARATION_SBRK): New entry.
2026         * toplev.c (sbrk): Update declaration conditional.
2027         * mips-tfile.c (sbrk, free): Likewise.
2028
2029         * sparc/sysv4.h (DBX_REGISTER_NUMBER): Remove abort.
2030
2031         * mips.c (mips_expand_prologue): Pass reg 25 to gen_loadgp.
2032         * mips.md (loadgp): Add second operand for register number to add.
2033         (builtin_setjmp_receiver): Pass new label and reg 31 to loadgp.
2034
2035         * toplev.c: Include insn-codes.h, insn-config.h, and recog.h.
2036         (compile_file): Try to emit nop to separate gcc_compiled symbol.
2037         * Makefile.in (toplev.o): Depends on insn-{codes,config}.h, recog.h.
2038
2039 Tue Feb  3 06:58:46 1998  Mark Mitchell  <mmitchell@usa.net>
2040
2041         * integrate.c (get_label_from_map): New function.
2042         (expand_inline_function): Use it.
2043         Initialize label_map to NULL_RTX instead of gen_label_rtx.
2044         (copy_rtx_and_substitute): Use get_label_from_map.
2045         * integrate.h (get_label_from_map): New function.
2046         (set_label_from_map): New macro.
2047         * unroll.c (unroll_loop, copy_loop_body): Use them.
2048         
2049 Mon Feb  2 16:33:01 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2050
2051         * i386.md (mov{si,hi,sf,df,xf}cc{,_1}): Remove cases with branches.
2052
2053         * rs6000/x-aix31 (INSTALL): Deleted.
2054         * mips/x-dec-osf1, mips/x-osfrose, i386/x-osfrose: Likewise.
2055         * arm/x-riscix: Likewise.
2056
2057         * c-typeck.c (signed_or_unsigned_type): Properly handle pointer types.
2058
2059 Mon Feb  2 15:33:58 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
2060
2061         * unroll.c (copy_loop_body):  Use single_set instead of
2062         PATTERN to detect increment of an iv inside a PARALLEL.
2063
2064 Fri Jan 16 20:29:50 1998  Paul Eggert  <eggert@twinsun.com>
2065
2066         * toplev.c (<unistd.h>): New include.
2067         (get_run_time): Prefer CLK_TCK (if available) to HZ, and
2068         prefer sysconf (_SC_CLK_TCK) (if available) to CLK_TCK.
2069         * configure.in (sysconf): Call AC_CHECK_FUNCS.
2070
2071 Wed Jan 14 20:10:51 1998  Paul Eggert  <eggert@twinsun.com>
2072
2073         * cccp.c: (rescan): Don't report line 0 as the possible real start
2074         of an unterminated string constant.
2075         Don't mishandle backslash-newlines that in are the output of
2076         a macro expansion.  Properly skip // style comments between a function
2077         macro name and '(', as well as backslash-newlines in comments there.
2078         (handle_directive): Handle / \ newline * between # and directive name.
2079         In #include directives, \ does not escape ".
2080         (do_include): For `#include "file', do not bother expanding into temp
2081         buffer.  When error encountered when expanding, do not try result.
2082         (skip_if_group): When skipping an include directive, use include
2083         tokenization, not normal tokenization.  Backslash-newline is still
2084         special when skipping.  Handle * \ newline / correctly in comments
2085         when skipping.
2086         (skip_quoted_string): After \ newline, set *backslash_newlines_p
2087         even if count_newlines is 0.
2088         (macroexpand): Newline space is not a special marker inside a string.
2089         (macroexpand, macarg): Do not generate \ddd for control characters
2090         when stringifying; the C Standard does not allow this.
2091         (macarg1): New arg MACRO.  All callers changed.
2092         Do not treat /*, //, or backslash-newline specially when processing
2093         the output of a macro.
2094         (discard_comments): Don't go past limit if looking for end of comment.
2095         Discard backslash-newline properly when discarding comments.
2096         (change_newlines): \" does not end a string.
2097         (make_definition): Do not treat backslash-newline specially, as it
2098         has already been removed before we get here.
2099         
2100         * profile.c (output_func_start_profiler): Don't fflush output
2101         if -quiet.
2102         * toplev.c (rest_of_compilation): Likewise.
2103
2104         * i386/x-sco5 (CC): Remove trailing white space.
2105         * x-convex (CCLIBFLAGS): Likewise.
2106         * arm/t-semi (LIBGCC2_CFLAGS): Likewise.
2107
2108 Wed Jan  7 18:02:42 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2109
2110         * Version 2.8.0 released.
2111
2112 Wed Jan  7 17:54:41 1998  J. Kean Johnston  <jkj@sco.com>
2113
2114         * i386/sco5.h ({END,START}FILE_SPEC): Link with correct crtbegin.o
2115         and crtend.o when using -static.
2116
2117 Wed Jan  7 17:49:14 1998  Jan Christiaan van Winkel <Jan.Christiaan.van.Winkel@ATComputing.nl>
2118
2119         * cppexp.c (gansidecl.h): Include.
2120
2121 Wed Jan  7 17:45:07 1998  Tristan Gingold  <gingold@puccini.enst.fr>
2122
2123         * expr.c (get_push_address): Use copy_to_reg instead of force_operand.
2124         (emit_push_insn): Avoid null pointer deference if aggregate has no
2125         types.
2126         (expand_expr): Avoid finite but useless recursion.
2127         (expand_builtin): Fix typo in calling function.
2128         * function.c (assign_parms): Avoid useless call to chkr_set_right.
2129
2130 Wed Jan  7 17:31:13 1998  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
2131
2132         * combine.c (force_to_mode): Return if operand is a CLOBBER.
2133
2134 Wed Jan  7 17:23:24 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2135
2136         * x-rs6000 (INSTALL): Remove.
2137
2138         * jump.c (jump_optimize): Don't use a hard reg as an operand
2139         of a conditional move if small register classes.
2140
2141 Wed Jan  7 17:09:28 1998  Jim Wilson  <wilson@cygnus.com>
2142
2143         * cse.c (max_insn_uid): New variable.
2144         (cse_around_loop): Use it.
2145         (cse_main): Set it.
2146
2147 See ChangeLog.11 for earlier changes.
2148 \f
2149 Use a consistent time stamp format in ChangeLog entries.
2150 Not everyone has Emacs 20 yet, so stick with Emacs 19 format for now.
2151
2152 Local Variables:
2153 add-log-time-format: current-time-string
2154 End: