* rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
[official-gcc.git] / gcc / ChangeLog
blobd3a49e3f4823b8da61a5e86456fbbb9936421399
1 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
3         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
4         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
6         * mips.md (reload_outputdi): Require that operand0 be a
7         general_operand.
9 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
11         * invoke.texi (-Wshadow): Clarify.
13 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
15         * loop.c (load_mems): Examine all the instructions in the loop
16         before concluding that all jumps branch to the first instruction
17         after the loop.
19 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
21         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
23 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
25         * cpp.texi (-Wwhite-space): Remove.
26         (-Wall): -Wall does not imply -Wwhite-space.
28 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
30         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
31         use it instead of blindly generating a .stabs.
32         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
33         in the right place.
34         * xcoffout.c: Don't bother defining default for N_CATCH.
35         (UNKNOWN_STAB): Use internal_error.
36         (stab_to_sclass): Remove now-unnecessary aborts.
37         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
39 Tue Apr 17 21:39:12 2001  Jeffrey A Law  (law@cygnus.com)
41         * jump.c (mark_all_labels): Canonicalize the tail recursion
42         label attached to CALL_PLACEHOLDER insns.
44 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
46         * dbxout.c (N_OPT): Define if not available from <stab.h>
48 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
50         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
51         libraries and native K&R compilers.
53 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
55         * c-typeck.c (convert_arguments): Don't check for width changes
56         with -Wtraditional.
58         * invoke.texi (-Wtraditional): Update documentation.
60 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
62         * toplev.c (output_lang_identify): Delete.
63         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
64         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
65         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
66         after calling ASM_FILE_END.
68         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
69         Instead, unconditionally emit an N_OPT stab with string equal
70         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
72         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
74         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
75         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
76         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
77         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
78         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
79         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
80         config/i370/i370.h, config/i386/beos-elf.h,
81         config/i386/osf1elf.h, config/i386/osfrose.h,
82         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
83         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
84         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
85         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
86         config/mips/iris6.h, config/mips/osfrose.h,
87         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
88         config/sparc/sp64-elf.h:
89         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
90         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
92         * config/elfos.h, config/freebsd.h, config/linux.h,
93         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
94         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
95         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
96         of ASM_FILE_START which merely emit a .version directive.  Delete
97         definitions of ASM_FILE_END which merely emit an .ident directive.
99         * config/avr/avr.h, config/vax/vax.h: Delete definition of
100         ASM_IDENTIFY_GCC and move part of its logic into
101         ASM_FILE_START.
103         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
104         config/sparc/linux-aout.h: Don't emit .version directive in
105         ASM_FILE_START.
107         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
108         (output_file_start): Correct comment.
110         * config/i386/osfrose.h: Don't emit trailing .ident directive.
111         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
112         to match gdb.
113         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
114         * config/rs6000/aix.h: Correct comment.
116         * config/i386/i386afe.h: Delete.
117         * config.gcc: Remove references to i386afe.h.
119         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
120         other macros deleted by this patch were undocumented.
122 Mon Apr 16 08:02:14 2001  Jeffrey A Law  (law@cygnus.com)
124         * pa.md (reload_outdi): Operand 0 must be a non hard register.
126         * pa.c (secondary_reload_class): SAR<->FP copies require a
127         secondary register.
129         * install.texi (mips-mips-bsd): Update list of functions
130         required to include memmove.
131         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
132         used functions to include memmove.
134 2001-04-15  Mark Mitchell  <mark@codesourcery.com>
136         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
137         if it is not set.
139 2001-04-15  Jim Wilson  <wilson@redhat.com>
141         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
143 2001-04-13  Jim Wilson  <wilson@redhat.com>
145         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
146         (first_instruction): New static variable.
147         (rtx_needs_barrier): Return 1 for alloc.
148         (init_insn_group_barriers): Set first_instruction.
149         (rws_sum): Delete duplicate definition.
150         (group_barrier_needed_p): Return 0 when first_instruction true.
151         (safe_group_barrier_needed_p): Save and restore first_instruction
152         around group_barrier_needed_p call.
154 Fri Apr 13 21:33:59 2001  Loren J. Rittle  <ljrittle@acm.org>
156         * expr.h (enum libfunc_index): Add LTI_memmove.
157         (memmove_libfunc): Define macro.
158         * optabs.c (init_optabs): Initialize memmove_libfunc.
159         * expr.c (expand_assignment): Use memmove_libfunc instead of
160         memcpy_libfunc.
162 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
164         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
165         fp mode addresses.
167 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
169         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
170         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
171         MAKEINFO and MAKEINFOFLAGS too.
172         (stage4_build): Correctly order -B flags.
174 2001-04-12  Jim Wilson  <wilson@redhat.com>
176         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
177         to just emit an fnorm.
179 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
181         * invoke.texi: Document --param max-gcse-memory.
183 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
185         * sh.md (builtin_setjmp_receiver): New expander.
187 2001-04-12  Kelley Cook <kelley.cook@home.com>
189         * config-lang.in (lang_dirs): Add in zlib.
191 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
193         * dwarf2out.c (modified_type_die): Don't create new types here.
194         * tree.h (get_qualified_type): New function.
195         (build_qualified_type): Adjust comment.
196         * tree.c (get_qualified_type): New function.
197         (build_qualified_type): Use it.
199 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
201         * cpp.texi (-Wtraditional): Update description.
203         * invoke.texi (-Wtraditional): Likewise.
205 2001-04-11  Jim Wilson  <wilson@redhat.com>
207         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
208         requires more than 64 bits of alignment.
210 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
212         * cpplib.c (do_line): Sanity check iff enable checking.
214 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
216         * Makefile.in (gcse.o): Depend on params.h.
217         * gcse.c: Include params.h.
218         (gcse_main): Don't do GCSE if doing so will take inordinate
219         amounts of memory.
220         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
221         * params.h (MAX_GCSE_MEMORY): New macro.
223 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
225         * c-typeck.c (convert_arguments): -Wtraditional now activates
226         -Wconversion warnings, except for changes in signed-ness.
227         Detect complex<->int & int<->complex conversions as well.
229         * invoke.texi (-Wtraditional): Document it.
231 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
233         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
235 2001-04-11  Jason Merrill  <jason_merrill@redhat.com>
237         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
238         not '.' or '$'.
239         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
240         * varasm.c (CHKR_PREFIX): Likewise.
242 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
244         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
246 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
248         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
249         (LIB2ADD_ST): New macro, pass it to mklibgcc.
250         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
251         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
252         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
254 2001-04-09  Neil Booth  <neil@daikokuya.demon.co.uk>
256         * configure.in: Add check for lstat.
257         * configure, config.in: Regenerate.
258         * cppinit.c (append_include_chain): Make empty path ".".
259         * cpplib.c (do_line): Don't simplify #line paths.
260         * cppfiles.c (remove_component_p): New function.
261         (find_or_create_entry): Acknowledge stat () errors during
262         path simplification.
263         (handle_missing_header): Don't simplify paths.
264         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
265         the empty path untouched.  Don't leave a trailing '/'.
267 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
269         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
270         function.  Remove include of sys/cygwin.h.
272 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
274         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
275         (CPP_SPEC): Always search */include/w32api for header files.
276         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
277         (LINK_SPEC): Add "cyg" to the library search prefixes.
279 2001-04-08  Philip Blundell  <philb@gnu.org>
281         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
283 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
285         * cpperror.c (print_location): Don't special case <stdin>.
286         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
287         WARNING, but we don't check if we're in system headers.
288         * cpphash.h (enum error_type): WARNING_SYSHDR: New.
289         * cpplib.c (do_warning): Warn in system headers.
290         (cpp_push_buffer): Give stdin buffers the name <stdin>.
292 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
294         * mbchar.c: Include config.h first.
296 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
298         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
300 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
302         * config/ia64/ia64.c (rtx_needs_barrier): PARALLELs can contain
303         ASM_OPERANDS.
305 2001-04-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
307         * emit-rtl.c (mark_label_nuses) Increment the label uses for
308         all labels present in rtx.
309         (try_split) Call new function for all split insns.
311 2001-04-05  Neil Booth  <neil@daikokuya.demon.co.uk>
313         * cppfiles.c (open_file): Fail directories silently, but
314         with an errno of NOENT set.
315         (read_include_file): Move the common exit code to the sole
316         caller.  Return an int indicating success or failure.  Let
317         open_file handle directories.
318         (stack_include_file): If read_include_file fails,
319         push a "null" buffer.
321 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
323         * simplify-rtx.c (simplify_binary_operation): Check for overflow
324         when folding integer division and modulo operations.
326 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
328         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
329         push insns to delete to it instead of deleting them.
330         (delete_null_pointer_checks): Delete insns from delete_list after
331         all delete_null_pointer_checks_1 passes are done.
333 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
335         * configure.in (target_subdir): Use target_alias, not target.
336         * configure: Rebuilt.
338         * config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
339         other way round.
340         * config/sh/crti.asm: Fix typos in comments.
342 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
344         * dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
345         LO_SUM cases to where they belong.
347 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
349         * ifcvt.c (noce_emit_move_insn): New.
350         (noce_try_store_flag, noce_try_store_flag_constants,
351         noce_try_store_flag_inc, noce_try_store_flag_mask,
352         noce_try_cmove, noce_try_cmove_arith): Use it.
353         (noce_process_if_block): Likewise.
354         For STRICT_LOW_PART, take mode from its SUBREG.
356 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
358         * fold-const.c (fold): Before optimizing unsigned comparison with
359         0x7fffffffU, make sure arg0 is integral type.
361 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
363         * c-tree.texi: Document representation of wide strings.
365 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
367         * config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
368         when multiplier or multiplicand is zero.
370 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
372         * loop.c (load_mems): When generating a load from a pseudo, update
373         REGNO_LAST_UID.
375         * config/ia64/ia64.c (update_set_flags): New function, broken out of
376         rtx_needs_barrier.
377         (set_src_needs_barrier): Likewise.
378         (rtx_needs_barrier): For SET case, use these two functions.  Rework
379         PARALLEL case to handle all inputs before all outputs.
380         (emit_insn_group_barriers): Call init_insn_group_barriers only if we
381         saw a label and no stop bit since then.
382         (maybe_rotate, process_epilogue): Add prototypes.
384 2001-03-28  Jim Wilson  <wilson@redhat.com>
386         * config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
387         operand_subword.
389 2001-03-28  DJ Delorie  <dj@redhat.com>
391         * Makefile.in (stage1_build): Revert CFLAGS patch.
393 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
395         * reload1.c (eliminate_regs): Don't abort on MEM USEs.
397 2001-03-27  Jim Wilson  <wilson@redhat.com>
399         * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
400         IA64_UNWIND_EMIT.
401         * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
402         (process_epilogue): New static function.
403         (process_set): Call process_epilogue instead of emitting .restore
404         directly.
405         (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
407         * flow.c (struct reg_cond_life_info): New fields orig_condition
408         and stores.
409         (init_propagate_block_info): Set new fields.
410         (mark_regno_cond_dead): Set and use new fields.
411         (flush_reg_cond_reg_1): Likewise.
412         (and_reg_cond, case AND): Check for redundant AND conditions.
413         (mark_used_reg): Delete unnecessary clears before freeing splay trees.
414         Set new fields.
416 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
418         * cppmacro.c (stringify_arg): Null terminate strings.
420 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
422         * cppfiles.c: Update comments.
423         (struct include_file): Remove "defined" memeber.
424         (find_or_create_entry): Make a copy of the file name, and
425         simplify it.
426         (open_file): Update to ensure we use the simplified filename.
427         (stack_include_file): Don't set search_from.
428         (cpp_included): Don't simplify the path name here.
429         (find_include_file): New prototype.  Call search_from to
430         get the start of the "" include chain.  Don't simplify the
431         filenames here.
432         (_cpp_execute_include): New prototype.  Move diagnostics to
433         do_include_common.  Update.
434         (_cpp_pop_file_buffer): Don't set defined.
435         (search_from): New prototype.  Use the preprocessor's cwd
436         for files included from the command line.
437         (read_name_map): Don't simplify the pathname here.
439         (stack_include_file): Only increase the include
440         count if we actually process the file properly, as opposed
441         to treating it as length zero.  Only call read_include_file
442         if not DO_NOT_REREAD.  Handle the -H include file output
443         here.
444         (read_include_file): Remove now redundant DO_NOT_REREAD check.
445         (cpp_included, find_include_file): Simplify pathnames after
446         remapping them.  If remapping, don't use the remapped file
447         name's buffer as our scratch buffer.
448         (cpp_pop_file_buffer): Replace the multiple include macro
449         only if it isn't yet set.
450         (read_name_map): Simplify remapped names when reading in.
451         (remap_filename): Move code to code path that uses it.
452         (_cpp_simplify_pathname): Return the input pointer.
454         (NO_INCLUDE_PATH): New macro.
455         (find_include_file): Decide here which part of the include
456         chain to start the search.  Complain about an empty include
457         chain in all cases apart from an abolsute file name.
458         (_cpp_execute_include): Don't choose the search chain here.
459         Don't call handle_missing_include in the case of an empty
460         include chain.
461         (_cpp_compare_file_date): Don't choose the search chain here.
463         (destroy_include_file_node): Rename destroy_node.
464         (find_or_create_entry): New function.
465         (open_file, _cpp_fake_include): Use it.
466         (handle_missing_header): New function, broken out of
467         _cpp_execute include.  Don't segfault if there is no
468         system or quoted path.
469         (_cpp_execute_include): Use handle_missing_header.
471         (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
472         (cpp_included, find_include_file): Update.
473         (search_from): Use lbasename.
474         (_cpp_execute_include): Don't make a null-terminated
475         copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
476         strlen or strcpy; we already know the length.
477         (_cpp_compare_file_date): Similarly.
479         * cpphash.h: Update comments.
480         (enum include_type): New.
481         (struct buffer): Delete search from.  New search_cached.
482         (_cpp_execute_include): Update prototype.
483         (struct cpp_reader): Delete done_initialising.
484         (_cpp_simplify_pathname): Update prototype.
485         (struct cpp_buffer): Delete actual_dir.  New members
486         search_from and dir.
487         (struct cpp_reader): Remove actual_dirs.
489         (struct include_file): Update.
490         (stack_include_file): Use search_from.
491         (cpp_included, find_include_file): Update.
492         (cpp_execute_include): Update.  ptr->name may not be
493         null terminated.  Use the new search_from member variable
494         of cpp_buffer.
495         (_cpp_compare_file_date): Similarly.
496         (search_from): New function, similiar to actual_directory.
497         (actual_directory): Delete.
498         (remap_filename): Update.  loc->name may not be null terminated.
499         (struct file_name_list): Rename search_path.  Update.
501         * cppinit.c (do_includes): Use _cpp_execute_include.
502         (cpp_start_read): Don't set done_initialising.
503         (struct cpp_pending): Update for renamed objects.
504         (append_include_chain, remove_dup_dir, remove_dup_dirs,
505         merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
507         * cpplib.c (do_include_common): New function.
508         (do_include, do_include_next, do_import): Use it.
509         (do_include_next): Move the in-main-file diagnostic
510         here from _cpp_execute_include.  Behave like #include if
511         we're in the main file.
512         (_cpp_compare_file_date): Make else unconditional.
513         (CPP_PREV_BUFFER): Delete.
514         (glue_header_name): Null-terminate.
515         (do_line): Don't leak memory.
517         * cpplex.c (parse_string): Guarantee null-termination.
518         (_cpp_equiv_toklists): Remove.
520         * cpplib.h (BT_WEAK): Delete.
521         (struct cpp_options): Update.
523         * cppmain.c (cb_ident): Strings are now null-terminated.
525         * mkdeps.c (deps_add_default_target): Use lbasename.
527 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
529         * c-typeck.c (digest_init): Fold init expression.
531         * except.c (eh_regs): Save results of build_pointer_type to a temp
532         as FUNCTION_VALUE macro may evaluate its args multiple times.
534 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
536         * c-common.h (DECL_NUM_STMTS): New macro.
537         * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
538         DECL_FRAME_SIZE.
539         (pushdecl): Likewise.
540         * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
541         * integrate.c (expand_inline_function): Don't check
542         DECL_FRAME_SIZE.
543         * print-tree.c (print_node): Don't print it.
544         * toplev.c (rest_of_compilation): Don't try to inline when
545         flag_no_inline is on.
546         * tree.h (DECL_FRAME_SIZE): Remove.
547         (tree_decl): Adjust accordingly.
549 Mon Mar 26 15:59:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
551         * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
553 2001-03-26  Jakub Jelinek  <jakub@redhat.com>
555         * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
556         to variable names where DECL_NAME is different from
557         DECL_ASSEMBLER_NAME.
559 2001-03-26  Jakub Jelinek  <jakub@redhat.com>
561         * reg-stack.c (stack_result): Re-add 2001-03-14 changes which were
562         lost during the 2001-03-14 lazy DECL_RTL commit.
564 2001-03-21  Jason Merrill  <jason@redhat.com>
566         * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
567         not '.' or '$'.
568         * tree.c (FILE_FUNCTION_FORMAT): Likewise.
569         * varasm.c (CHKR_PREFIX): Likewise.
571 2001-03-25  Kazu Hirata  <kazu@hxi.com>
573         * config/h8300/h8300.md (umodqi3): Output a tab instead of a
574         space.
575         (modqi3): Likewise.
576         (umodhi3): Likewise.
577         (modhi3): Likewise.
579 2001-03-23  Richard Henderson  <rth@redhat.com>
581         * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
582         to avoid shadowing arguments.
584 2001-03-23  Jim Wilson  <wilson@redhat.com>
586         * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
587         (assemble_alias): Call make_decl_rtl.
589 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
591         * extend.texi: Document the "java_interface" attribute.
593 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
595         * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
597 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
599         * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec field to
600         all array elements.
602 2001-03-22  Brad Lucier  <lucier@math.purdue.edu>
604         * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
606 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
608         * gcc.texi: Remove more obsolete documentation of bugs and
609         installation problems.
611 2001-03-21  Kazu Hirata  <kazu@hxi.com>
613         * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
614         into two parts.
616 Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
618         * cse.c (find_comparison_args): Remove previous change.
619         * ifcvt.c (noce_process_if_block): When moving an insn, remove any
620         REG_EQUAL notes.
622         * sdbout.c: #include ggc.h.
623         (sdbout_init): Move to end of file.
624         Call ggc_add_tree_root for anonymous_types.
625         (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
626         (sdbout_one_type): Use DECL_NAME for field name.
627         * Makefile.in (sdbout.o): Show includes ggc.h.
629 2001-03-21  Jakub Jelinek  <jakub@redhat.com>
631         * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
632         Remove ia32 linux PIC kludge and move it...
633         * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
635 2001-03-20  DJ Delorie  <dj@redhat.com>
637         * Makefile.in (install-libgcc): Pass complete list of variables.
638         (install-multilib): Ditto.
640 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
642         * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
643         variables that are TREE_PUBLIC, even if not TREE_STATIC.
645 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
647         Compute DECL_ASSEMBLER_NAME lazily.
648         * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
649         (DECL_ASSEMBLER_NAME_SET_P): New macro.
650         (SET_DECL_ASSEMBLER_NAME): Likewise.
651         (COPY_DECL_ASSEMBLER_NAME): Likewise.
652         (set_decl_assembler_name): Declare.
653         (lang_set_decl_assembler_name): Likewise.
654         * tree.c (lang_set_decl_assembler_name): New variab.e
655         (set_decl_assembler_name): New function.
656         (init_obstacks): Set lang_set_decl_assembler_name.
657         (build_decl): Don't set DECL_ASSEMBLER_NAME.
658         * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
659         COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
660         where it's not necessary.
661         (builtin_function): Likewise.
662         (finish_decl): Likewise.
663         * dbxout.c (dbxout_type_methods): Likewise.
664         * ggc-common.c (ggc_mark_trees): Likewise.
665         * profile.c (output_func_start_profiler): Likewise.
666         * varasm.c (make_decl_rtl): Likewise.
668         * cse.c (find_comparison_args): Update documentation.  Fix
669         mishandling of COMPARE operations.
671         * tree.def (ABS_EXPR): Add documentation.
672         * fold-const.c (fold): Improve folding of ABS_EXPRs.
674 2001-03-20  Tom Tromey  <tromey@redhat.com>
676         * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
678 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
680         * config/i386/cygwin.h: Declare ctor_section, dtor_section
681         drectve_section, switch_to_section.
683         * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
684         i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
685         i386_pe_mark_dllimport.
687 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
689         * config/i386/cygwin.h: Include <stdio.h> Declare and constify
690         functions i386_pe_*.
692         * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
693         i386_pe_* functions with char * arguments.
695 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
697         * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
698         and store.
699         (movsi_ie): Introduce fpul store.
701 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
703         * Makefile.in (OBJS): Remove hashtab.o.
705 2001-03-19  Tom Tromey  <tromey@redhat.com>
707         * gcc.c (init_gcc_specs): Fix comment.
709 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
711         * cse.c (find_comparison_args): Update documentation.  Fix
712         mishandling of COMPARE operations.
714         * tree.def (ABS_EXPR): Add documentation.
715         * fold-const.c (fold): Improve folding of ABS_EXPRs.
717 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
719         * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
721 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
723         * README.X11: Remove obsolete file.
725 2001-03-18  Anthony Green  <green@redhat.com>
727         * config/pj/pj.h: Remove some trailing commas.
728         (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
730 2001-03-17  Anthony Green  <green@redhat.com>
732         * config/pj/lib1funcs.S: Fix broken comment.
733         * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
734         labels with '.'.
736 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
738         * gcc.texi: Remove obsolete information relating to build and
739         installation problems with enquire or the Pyramid C compiler.
741 2001-03-16  Philip Blundell  <philb@gnu.org>
743         * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
744         "armv2-*-linux".
745         * config/arm/linux-elf.h: Remove historical relics related to
746         above configurations.
747         * config/arm/linux-oldld.h: Delete.
748         * config/arm/linux-elf26.h: Delete.
750 2001-03-17  Richard Henderson  <rth@redhat.com>
752         * dwarf2out.c (lookup_filename): Emit .file if the assembler
753         is generating .debug_line.
754         (dwarf2out_init): Add main_input_filename to the file table first.
755         * configure.in (as_dwarf2_debug_line): Test with file number 1
756         instead of file number 0.
758         * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
759         (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
760         (size_of_line_prolog): Remove.
761         (output_line_info): Compute prologue size via label difference.
762         (lookup_filename): Return "unspecified" for <internal> and <built-in>.
763         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
764         assembler error when redefining file numbers.
765         * config.in, configure: Rebuild.
767 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
769         * config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
770         variable.
772 2001-03-16  Jim Wilson  <wilson@redhat.com>
774         * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
775         then set it to LOC_REG (79) instead of aborting.
777 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
779         * fixinc/Makefile.in: Set SHELL.
781 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
783         * fixinc/fixincl.c (fix_with_system): Quote file names before
784         passing them to shell.
786 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
788         * Makefile.in: Use fix-header$(build_exeext) instead
789         of fix-header.
791 Fri Mar 16 11:26:01 2001  Christopher Faylor <cgf@cygnus.com>
793         * config/i386/cygwin.h: Revert previously misapplied patch which
794         eliminated TARGET_SUBTARGET_DEFAULT.
796 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
798         * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
799         register may be dead.
801 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
803         * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
805 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
807         * Makefile.in (hash.o): Depend on CONFIG_H.
809 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
811         * cppfiles.c (stack_include_file): Use MAX of sysp.
813 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
815         * config.gcc (ia64*-*-hpux*): New case.
816         * config/ia64/hpux.h: New file for HP-UX support.
817         * config/ia64/t-hpux: New file for HP-UX support.
819 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
821         * fixinc/inclhack.def (irix_stdio_va_list): New.
822         * fixinc/fixincl.x: Rebuilt.
824 2001-03-15  Bruce Korb  <bkorb@gnu.org>
826         * gcc.c(main): make more rigorous
827         * collect2.c(main): guard against ignoring SIGCHLD
828         * protoize.c(main): ditto
829         * gcc/fixinc/fixincl.c(initialize): ditto
831 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
833         * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
834         (sdbout_parms): Likewise.
836 Thu Mar 15 12:51:00 2001  Jeffrey A Law  (law@cygnus.com)
838         * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
839         "widen" a destination that is already wider than a word.  Also do
840         not widen if LOAD_EXTEND_OP is NIL for the given mode.
842 2001-03-15  Zack Weinberg  <zackw@stanford.edu>
844         * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
845         config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
846         config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
847         config/clipper/xm-clix.h, config/convex/xm-convex.h,
848         config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
849         config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
850         config/h8300/xm-h8300.h, config/i370/xm-i370.h,
851         config/i370/xm-linux.h, config/i370/xm-mvs.h,
852         config/i370/xm-oe.h, config/i386/xm-aix.h,
853         config/i386/xm-i386.h, config/i386/xm-osf.h,
854         config/i860/xm-i860.h, config/i960/xm-i960.h,
855         config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
856         config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
857         config/mcore/xm-mcore.h, config/mips/xm-mips.h,
858         config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
859         config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
860         config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
861         config/pa/xm-pahpux.h, config/pa/xm-papro.h,
862         config/pj/xm-pj.h, config/romp/xm-romp.h,
863         config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
864         config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
865         config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
866         config/v850/xm-v850.h, config/vax/xm-vax.h,
867         config/vax/xm-vms.h, config/we32k/xm-we32k.h:
868         Do not define TRUE or FALSE.
870         * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
871         empty by above change.
872         * config.gcc: Remove references to these files.
874         * configure.in: Detect stdbool.h.
875         * configure, config.in: Regenerate.
876         * system.h: Include stddef.h here if available.  Set
877         HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.  Then
878         set up a sensible boolean type at the very end.
880         * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
881         config/mcore/mcore.c: Rename variables named 'true'
882         and/or 'false'.
884         * hash.h: Delete 'boolean' typedef and related #undefs.
886         * function.c, ggc-common.c, hash.h, hash.c, tlink.c,
887         Replace all uses of 'boolean' with 'bool'.
889 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
890             David Billinghurst <David.Billinghurst@riotinto.com>
892         * config/mips/iris5.h:  Change WCHAR_TYPE to int.
894 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
896         * simplify-rtx.c (hash_rtx): For REG and MEM, just use value of
897         expression without adding in rtx code and mode.
899         * alias.c (init_alias_analysis): Don't use any rtx whose value
900         varies as a known value.
901         Delete a superfluous test.
903 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
905         * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
907 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
909         * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
910         contents of the RTL, to determine the name of the object.
912 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
914         * configure.in: Use $gcc_cv_as instead of $as.
915         * configure: Regenerated.
917 Wed Mar 14 13:17:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
919         * alias.c (handled_component_p, can_address_p): New functions.
920         (get_alias_set): Use them.
922 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
924         * expr.c (expand_expr): Revove bogus conditional.
926 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
928         * tree.h (DECL_RTL): Allocate RTL lazily.
929         (SET_DECL_RTL): New macro.
930         (DECL_RTL_SET_P): Likewise.
931         (COPY_DECL_RTL): Likewise.
932         (DECL_RTL_IF_SET): Likewise.
933         * varasm.c (make_decl_rtl): Add assertions about the kind of
934         declaration we are processing.
935         * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
936         (start_decl): Likewise.
937         (finish_decl): Likewise.
938         * c-semantics.c (emit_local_var): Likewise.
939         * calls.c (expand_call): Likewise.
940         * dbxout.c (dbxout_symbol): Likewise.
941         * emit-rtl.c (unshare_all_rtl): Likewise.
942         (unshare_all_decls): Likewise.
943         (reset_used_decls): Likewise.
944         * expr.c (store_constructor): Likewise.
945         (safe_from_p): Likewise.
946         (expand_expr): Likewise.
947         * function.c (put_var_into_stack): Likewise.
948         (instantiate_decls_1): Likewise.
949         (assign_parms): Likewise.
950         (expand_function_start): Likewise.
951         (expand_function_end): Likewise.
952         * ggc-common.c (gcc_mark_trees): Likewise.
953         * integrate.c (function_cannot_inline_p): Likewise.
954         (copy_decl_for_inlining): Likewise.
955         (expand_inline_function): Likewise.
956         (integrate_parm_decls): Likewise.
957         (integrate_decl_tree): Likewise.
958         * print-tree.c (print_node): Likewise.
959         * reg-stack.c (stack_result): Likewise.
960         * stmt.c (label_rtx): Likewise.
961         (expand_return): Likewise.
962         (expand_decl): Likewise.
963         (expand_decl_cleanup): Likewise.
964         (expand_anon_union_decl): Likewise.
965         * toplev.c (check_global_declarations): Likewise.
966         (rest_of_decl_compilation): Likewise.
967         * tree.c (simple_cst_equal): Likewise.
968         * objc/objc-act.c (generate_static_references): Likewise.
970 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
972         * reg-stack.c (stack_result): Unconditionally use
973         FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
975 2001-03-13  Jim Wilson  <wilson@redhat.com>
977         * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
978         from 80 in try_locals code.
979         (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
981 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
983         * cpp.texi (poison): Explain the macro expansion exception.
985 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
987         * cppinternals.texi: Update for file handling.
989 Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
991         * flow.c (insn_dead_p): Don't consider two memrefs equivalent
992         unless anti_dependence says they are.
993         * alias.c (objects_must_conflict): If neither has a type specified,
994         they must conflict.
996 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
998         * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
999         before reload_cse_noop_set_p.
1001 Sat Mar 10 23:21:34 2001  kaz Kojima <kkojima@rr.iij4u.or.jp>
1003         * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
1005 Sat Mar 10 23:16:16 2001  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
1007         * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
1008         * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
1010 Sat Mar 10 23:03:25 2001  Alexandre Oliva  <aoliva@redhat.com>
1012         * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
1013         if it's a record type.
1015 Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
1017         * config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
1018         mingw includes slightly.
1020 Fri Mar  9 18:33:50 2001  Jeffrey A Law  (law@cygnus.com)
1022         * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
1024 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
1026         * configure: Rebuilt.
1027         * configure.in: Only use `lang_requires' for languages athat are
1028         actually enabled.
1030 Thu Mar  8 23:34:42 2001  Jeffrey A Law  (law@cygnus.com)
1032         * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
1034 Thu Mar  8 23:22:26 2001  John Wehle  (john@feith.com)
1036         * rtlanal.c (rtx_varies_p): Check operand 0 of a
1037         LO_SUM unless for_alias is set.
1039 2001-03-08  Bruce Korb  <bkorb@gnu.org>
1041         gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
1042         wait4() can receive the signal.
1044 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1046         * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
1047         entities.
1048         * fixinc/fixincl.x: Regenerate.
1050 Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1052         * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
1053         on Tru64 UNIX.
1054         * fixinc/fixincl.x: Regenerate.
1056 Thu Mar  8 19:42:08 CET 2001  Jan Hubicka  <jh@suse.cz>
1058         * reg-stack.c (move_for_stack_reg): Avoid non-popint fst for
1059         TFmode too.
1061 Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1063         * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
1065 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
1067         * configure.in (enable_shared): Support per-package shared-library
1068         enabling.
1069         * configure: Rebuilt.
1071 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
1073         * rs6000.md (cr logic): Add original POWER mnemonic alternative
1074         for crnot.  Set operands[5] in splitter.
1076 2001-03-07  Tom Tromey  <tromey@redhat.com>
1078         * configure: Rebuilt.
1079         * configure.in: Allow config-lang.in to set `lang_requires' to list
1080         of other required languages.
1082 2001-03-07  Richard Henderson  <rth@redhat.com>
1084         * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
1086 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
1088         * fixinc/inclhack.def (djgpp_wchar_h): New test.
1089         * fixinc/fixincl.x: Regenerated.
1091 2001-03-06  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1093         * Restore change that patch misapplied.
1094         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
1095         (ix86_set_move_mem_attrs_1): Likewise.
1096         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
1097         * config/i386/i386.md (movstrsi): Call it.
1099 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
1101         * config/m68k/m68k.c (const_uint32_operand): Accept any
1102         const_int on a 32-bit host.
1104 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
1106         * c-parse.in (yylexname): New function, split out of _yylex.
1107         (objc_rid_sans_at): New table.
1108         (init_reswords): Initialize it.
1109         (_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
1110         retrieving the next token and checking it for significance as
1111         an ObjC keyword or string constant.
1113         * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
1114         * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
1116         * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
1117         to CPP_OSTRING.
1119 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
1121         * objc/objc-act.c (init_objc): Set save_lang_status,
1122         restore_lang_status, and mark_lang_status.
1124 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
1126         * cppinternals.texi: Update.
1128 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
1130         * invoke.texi: Document __FAST_MATH__.
1132 2001-03-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1134         * function.c (purge_addressof_1): Change type of function
1135         purge_addressof_1 from boolean to int.  Change local variable
1136         `result' to int, and false and true to 0 and 1, respectively.
1138 2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1140         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
1141         negative numbers.
1142         (___subdi3, ___adddi3): Use x instead of y as index register.
1143         (__init_bss_section, __map_data_section): Optimize for 68HC12.
1144         (__memset, __memcpy): Likewise.
1145         (regs): Put the soft registers in bss for 68HC12.
1146         (abort): Use trap to abort for 68hc12.
1147         (__mulhi3, __mulhi32): Use emul for 68hc12.
1148         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
1150 2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1152         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
1153         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
1154         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
1155         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
1156         Set 68HC12 min offset to -65536.
1157         (print_operand): Put parenthesis arround the operand if it refers
1158         to a symbol having the same name as a register.
1159         (m68hc11_z_replacement): When z register is replaced by its
1160         equivalent soft register, force the insn to be re-recognized.
1161         (m68hc11_check_z_replacement): Fix the test when destination is
1162         the index register and z dies in the insn.
1163         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
1165 2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1167         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
1168         costs according to processor variant.
1169         (m68hc11_shift_cost): New function to compute shift costs.
1170         (m68hc11_rtx_costs): Define costs according to processor variant.
1171         (m6811_cost): Costs for 68HC11.
1172         (m6812_cost): Costs for 68HC12.
1173         (COSTS_N_INSNS): Remove.
1175         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
1176         (DEFAULT_RTX_COSTS): Remove.
1177         (CONST_COSTS): Define costs according to OUTER_CODE.
1178         (processor_costs): New struct to define costs.
1179         (m68hc11_cost): Pointer to current costs.
1181 2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1183         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
1184         and use m68hc11_notice_keep_cc when using leax/leay.
1185         (addhi3 split): Reject split if the insn is handled by
1186         leax/leay above.
1187         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
1188         push must be handled in a special way if the source operand uses
1189         sp as index register.
1190         (m68hc11_notice_keep_cc): New function.
1191         (m68hc11_gen_movhi): Use it when an insn changes a register but
1192         not the flags.
1193         (m68hc11_gen_movqi): Fix move for 68HC12.
1194         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
1196 2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1198         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
1199         and don't pass operands[0] to emit_library_call_value.
1201 2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1203         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
1204         (zero_extendsi split): Simplify and use (zero_extendhi).
1205         (*addhi3): Remove 'w' constraint since stack pointer is handled
1206         by (addhi3_sp).
1207         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
1208         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
1209         (*ashrhi3_const): Fix shift by 7.
1210         (*lshrsi3_const16): Fix template.
1211         (call, call_value): Fix constraint and predicate.
1213 2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1215         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
1216         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
1217         (CC_REGNUM): Likewise.
1218         (*unnamed splits): Use above constants instead of hard coded numbers.
1219         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
1220         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
1221         (*return_16bit, *unnamed peepholes): Likewise.
1223 2001-03-03  Laurynas Biveinis  <lauras@softhome.net>
1225         * gcc.c (convert_filename): Append executable suffix
1226         if NO_AUTO_EXE_SUFFIX is not defined.
1227         * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
1228         * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
1231 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
1233         from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
1234         * c-parse.gperf, c-gperf.h: Delete.
1235         (c-gperf.h was accidently re-added to the CVS repo in the rev 1.16 commit
1236          by tromey)
1238 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1240         * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
1241         * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
1242         t_bool in declaration because pcc can't combine volatile with typedef
1243         types.
1245 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1247         * longlong.h (umul_ppmm): Don't use a multiline string.
1249 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1251         * cpplex.c (_cpp_lex_token): Don't warn about directives in
1252         macro arguments when looking for the '('.
1253         * cppmacro.c (funlike_invocation_p): Set parsing_args to
1254         2 when really parsing arguments; 1 when looking for '('.
1255         Always restore the lexer position.
1257 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1259         * cpplex.c (parse_string): Unconditionally pedwarn.
1261 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1263         * cpp.texi: Update.
1264         * cppexp.c (parse_number): Update.
1265         * cpplex.c (parse_string): Pedwarn if multiline string does not
1266         result from a system header's macro.
1267         * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
1268         * cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
1269         for function-like macros too.
1271 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1273         * print-rtl.c (print_rtx): Cast enums to int for comparison.
1274         * c-decl.c (grokdeclarator): Cast enums to int for comparison and
1275         shifts.
1276         * c-format.c (C_STD_VER): Cast to int for comparisons.
1277         (check_function_format): Cast various enums to int for &.
1278         (maybe_read_dollar_number): Likewise.
1279         (check_format_info): Likewise.
1280         (check_format_info_main): Likewise.
1281         * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
1282         (safe_from_p): Likewise.
1283         * varasm.c (const_hash): Cast enum to int for %.
1284         * emit-rtl.c (init_emit_once): Use int loop variable to work around
1285         pcc enum problems with < and ++ operators.
1286         * regclass.c (init_reg_sets_1): Cast enums for comparison.
1287         (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
1288         (regclass_init): Change enum class to int to iterate over reg_classes.
1289         * genrecog.c (merge_trees): Cast enums for comparison.
1290         * rtl.h (GET_CODE): Cast to enum rtx_code.
1291         (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
1292         (GET_MODE): Cast to enum machine_mode.
1293         (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
1294         (GET_NOTE_INSN_NAME): Cast enum to int.
1295         * tree.h (TREE_CODE): Cast to enum tree_code.
1296         (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
1297         * simplify-rtx.c (hash_rtx): Cast enums to unsigned unt.
1298         * timevar.c (timevar_print): Change loop variable id from enum to
1299         unsigned int.
1300         * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
1301         * config/i386/i386.md: Use PUT_MODE for mode assignment.
1302         * toplev.c (compile_file): Cast enum DFI to int.
1303         (decode_d_option): Likewise.
1305 Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
1307         * cppinit.c (append_include_chain): Mark "after" include file name list
1308         as a system directory.
1309         * cpp.texi: Document new behavior.
1311 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
1313         * cpphash.h (struct cpp_reader): Add print_version field.
1314         * cppinit.c (cpp_handle_option): For -v, -version, and --version,
1315         just set print_version and other flags as appropriate.
1316         (cpp_post_options): Print version here if print_version is set.
1318         * toplev.c (exit_after_options): New flag.
1319         (independent_decode_option): Don't exit here; just set
1320         exit_after_options.
1321         (main): Exit after calling lang_hooks.post_options if
1322         exit_after_options is true.
1324         * cppinit.c (append_include_chain): Drop never-used case QUOTE.
1325         (merge_include_chains): Adjust comment to match code.
1327 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
1329         * stringpool.c (set_identifier): New function.
1330         * tree.h: Prototype it.
1332         * c-parse.in: Kill D_YES. If compiled for objc, call
1333         save_and_forget_protocol_qualifiers from init_reswords.
1334         * objc/objc-act.c (remember_protocol_qualifiers,
1335         forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
1336         Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
1337         vice versa.
1338         (save_and_forget_protocol_qualifiers): New function.
1339         * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
1341 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1343         * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
1344         * cppexp.c (lex): Cast enums for comparison.
1345         * cppinit.c (parse_option): Cast enum for comparison.
1346         * cpplex.c (cpp_spell_token): Cast enums to int for minus.
1347         (cpp_output_token): Likewise.
1348         (cpp_can_paste): Cast enums for comparsion and plus/minus.
1349         (cpp_avoid_paste): Cast enums for minus and comparison.
1351 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
1353         * Makefile.in (resource.o): Add params.h dependence.
1354         * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
1355         * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
1356         * resource.c: Add dependence on params.h.
1357         (current_live_regs): Fix explanatory comment.
1358         (find_basic_block): Add new parameter to permit limiting search
1359         for a BARRIER.
1360         (mark_target_live_regs): Add new argument to find_basic_block call.
1361         (incr_ticks_for_insn): Likewise.
1363 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
1365         * Makefile.in (reorg.o): Add params.h dependence.
1366         * params.def: Fix typographical error in comment.
1367         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
1368         * params.h: Modify introductory comment.
1369         (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
1370         * reorg.c: Add dependence on params.h.
1371         (redundant_insn): Add parameterized throttle for search.
1372         (fill_simple_delay_slots): Add a comment explaining a variable.
1373         Move conditional out of loop, simplifying code.
1374         (fill_eager_delay_slots): Fix typographical error in comment.
1376 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
1378         * gcc.c (cc1_options): Add "-param".
1379         (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
1380         (option_map): Likewise.
1381         * toplev.c (display_help): Add entry for "--param".
1382         (independent_decode_option): Fix typographical error.
1384 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
1386         * Makefile.in (OBJS): Add params.o.
1388 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
1390         * Makefile.in (toplev.o): Depend on params.h.
1391         (intergate.o): Likewise.
1392         (params.o): New target.
1393         * flags.h (inline_max_insns): Remove.
1394         * integrate.c: Include params.h.
1395         Use MAX_INLINE_INSNS instead of inline_max_insns.
1396         * params.c: New file.
1397         * params.h: Likewise.
1398         * params.def: Likewise.
1399         * toplev.c: Include params.h.
1400         (lang_independent_params): New variable.
1401         (decode_f_option): Use the param machinery instead of setting
1402         max_inline_insns.
1403         (independent_decode_option): Handle "--param name=value".
1404         (main): Register language-independent parameters.
1406 Thu Mar  1 09:44:15 2001  Jeffrey A Law  (law@cygnus.com)
1408         * config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
1409         (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
1411         * pa.c (emit_move_sequence): Verify operand0 is a hard register
1412         before determining its register class.
1414 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
1416         * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
1417         from reg 4 if current_function_calls_setjmp.
1418         (ia64_sched_reorder): Move code that rotates bundles up a bit.
1420         * reload1.c (eliminate_regs_in_insn): Restrict the special case
1421         code not to try to optimize adds with anything but a REG destination.
1423         * sched-int.h (struct haifa_insn_data): Add new member priority_known.
1424         (INSN_PRIORITY_KNOWN): New accessor macro.
1425         * haifa-sched.c (priority): Use it instead of testing priority against
1426         zero.
1428 2001-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
1430         * cppinit.c (builtin_array): Update.
1431         (init_builtins): Flag builtins to warn if redefined or
1432         undefined.  Define __GXX_WEAK as a normal macro.
1433         * cpplib.c (do_undef): Warn if flagged NODE_WARN.
1434         * cpplib.h (NODE_WARN): New flag.
1435         * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
1436         Handle __STDC__ as a builtin only on Solaris.
1437         (warn_of_redefinition): Renamed from check_macro_definition.
1438         Reverse sense of test.  Always warn if NODE_WARN.
1439         (_cpp_create_definition): Use warn_of_redefinition.  Flag
1440         any macro beginning with "__STDC_" to require a mandatory
1441         warning if redefined or undefined.
1442         * cppinit.c (set_lang):  Move builtin handling to...
1443         (init_builtins): ...here.
1444         (_cpp_create_reader): Move call to set_lang.
1445         * cppfiles.c (stack_include_file): Generate dependencies
1446         here, and manage include_count here too.
1447         (PRINT_THIS_DEP): Delete.
1448         (_cpp_execute_include): Do not generate dependencies here,
1449         apart from the case of a missing header.  Do not manage
1450         include_count.
1451         (_cpp_read_file): Leave dependency generation to
1452         stack_include_file.
1453         * cppexp.c (parse_number): Similarly.
1454         * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
1455         * cppmacro.c (struct cpp_macro): New member node.
1456         (parse_args): Only warn about missing rest args if not
1457         a system macro.
1458         (funlike_invocation_p): Similarly for uninvoked funlike macros.
1459         (cpp_sys_objmacro_p): New.
1460         (_cpp_create_definition): Store the node with the macro defn.
1461         Remember if the macro is defined in a system header.
1463 2001-02-28  Nathan Sidwell  <nathan@codesourcery.com>
1465         * extend.texi (Deprecated Features): Deprecate float and
1466         complex template constant parms.
1468 Tue Feb 27 16:45:00 2001  Jeffrey A Law  (law@cygnus.com)
1470         * pa.c (override_options): Promote -fpic to -fPIC.
1471         (legitimize_pic_address): Simplify due to removal of
1472         small PIC as a code generation option.
1473         (secondary_reload_class): Similarly.
1474         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
1475         (PRINT_OPERAND_ADDRESS): Similarly.
1476         * pa.md (various patterns): Similarly.
1477         (small pic lo_sum pattern): Remove.
1479 2001-02-27  Andreas Jaeger  <aj@suse.de>
1481         * configure.in: Document that --disable-checking is default.
1482         * configure: Regenerated.
1484 2001-02-27  Mark Mitchell  <mark@codesourcery.com>
1486         * configure.in: Make --disable-checking the default.
1487         * configure: Regenerated.
1489 2001-02-26  Mark Mitchell  <mark@codesourcery.com>
1491         Revert the two previous changes.
1493 Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1495         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
1496         * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
1497         * config/i386/i386.md (movstrsi): Handle FAIL case.
1499 Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1501         * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
1502         (ix86_set_move_mem_attrs_1): Likewise.
1503         * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
1504         * config/i386/i386.md (movstrsi): Call it.
1506 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1508         * loop.c (check_dbra_loop): A biv has uses besides counting if it is
1509         used to set another biv.
1511 Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1513         * errors.c (internal_error, trim_filename): New functions.
1514         (fancy_abort): Call internal_error.
1515         * errors.h (internal_error, trim_filename): New declarations.
1517 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
1519         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
1520         2000-08-26's patch.
1521         (EXTRA_CONSTRAINT): Formatting changes.
1523 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1525         * rtl.c (rtl_check_failed_code2): Fix typo in last change.
1527 2001-02-23  Per Bothner  <per@bothner.com>
1529         * gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
1530         so they can be called from java/jvspec.c.
1531         * gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
1533 Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1535         * diagnostic.c (trim_filename): No longer static.
1536         * toplev.h (trim_filename): Declare.
1537         * rtl.c (rtl_check_failed_bounds): Call internal_error.
1538         (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
1539         (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
1540         (rtvec_check_failed_bounds): Likewise.
1541         * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
1543         * convert.c (convert_to_integer): Don't do unsigned unless result or
1544         both inputs are unsigned.
1546         * fold-const.c (fold_convert): Don't call size_int_type_wide if
1547         input overflows.
1549         * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
1551         * varasm.c (output_constant): Recompute CODE after lang-specific fn.
1553 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
1555         * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
1556         check if either operand is divisible by C.
1557         (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
1558         If type is signed, consider negative numbers as well.
1560 2001-02-22  Richard Henderson  <rth@redhat.com>
1562         * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
1563         reach .text instead of gp-relative relocs.
1564         * config/ia64/crtend.asm (.init): Likewise.
1566 2001-02-22  Andreas Jaeger  <aj@suse.de>
1568         * extend.texi (C++ Attributes): Fix typo.
1570 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
1572         * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
1573         functions, drop current_function_args_info.words test.
1574         (ia64_compute_frame_size): Mark syscall_linkage functions as
1575         using eight input registers.
1577 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
1578         Bruce Korb  <bkorb@gnu.org>
1580         * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
1581         * fixinc/README: Document how to convert sed substitutions
1582         to format style c_fix-es.
1583         * fixinc/fixincl.x: regen
1585 2001-02-21  Bruce Korb  <bkorb@gnu.org>
1586             Rodney Brown  <RodneyBrown@mynd.com>
1588         * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
1589         * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
1590         machine restrictions
1591         * fixinc/fixincl.x: regen
1593 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1595         * cppfiles.c: Update comments.
1596         (_cpp_read_file): Don't check for NULL filenames any more.
1597         * cppinit.c (cpp_start_read): Don't do canonicalization of
1598         in_fname and out_fname.  Use the passed file name exclusively.
1599         (_cpp_handle_options): Don't treat "-" as a command line option,
1600         but as a normal filename.
1601         (_cpp_post_options): Canonicalize in_fname and out_fname.
1602         * cppmain.c (printer_init): Don't check out_fname for NULL.
1603         * c-lex.c (orig_filename): Rename cpp_filename for clarity.
1604         (init_c_lex): Update, and use "" to represent stdin to CPP.
1605         (yyparse): Update.
1607 2001-02-21  Kazu Hirata  <kazu@hxi.com>
1609         * config/h8300/h8300.md (iorsi3): Do not output an extra newline
1610         character.
1611         (xorsi3): Likewise.
1613 Wed Feb 21 19:16:26 CET 2001  Jan Hubicka  <jh@suse.cz>
1615         * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
1617 2001-02-21  Jason Merrill  <jason@redhat.com>
1619         * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
1620         (struct tree_decl): Add uninlinable bitfield.
1621         * c-decl.c (duplicate_decls): Set it.
1622         * integrate.c (function_cannot_inline_p): Check it.
1624         * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
1625         DW_AT_MIPS_linkage_name to abstract methods.
1626         (dwarf2out_abstract_function): Emit class context before calling
1627         set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
1628         (gen_subprogram_die): Remove obsolete code.
1629         (gen_member_die): Don't include clones in the member list.
1630         (gen_decl_die): Emit abstract info for clone origin.
1631         * dwarfout.c (output_type): Don't include clones in the member list.
1632         * dbxout.c (dbxout_type_methods): Ignore abstract methods.
1633         * toplev.c (note_deferral_of_defined_inline_function): Don't clear
1634         DECL_ABSTRACT on a function that already has it set.
1636         * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
1637         (get_subprogram_die): Pass it in.
1639 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
1641         * flow.c (mark_set_1): Make not_dead unsigned long.  For
1642         non-pseudos, use it as a bitmask of the hard regs that
1643         don't die.
1645 2001-02-20  Will Cohen  <wcohen@redhat.com>
1647         * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
1648         * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
1649         (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
1650         fixunstfsi_libfunc.
1652 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
1654         * stmt.c (expand_return): If an attempt is made to return the
1655         error_mar_node, treat the return like a return without a value.
1657 Mon Feb 19 20:24:50 2001  Jeffrey A Law  (law@cygnus.com)
1659         * pa.c (move_operand): Accept code to load the address of a
1660         symbol out of the DLT as a valid move operand.
1661         (print_operand, case 'A'): New to handle generating a DLT
1662         reference for a LO_SUM expression.
1663         * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
1664         * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
1666 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
1668         * README, cpp.texi, gcc.texi: Update version number to 3.0.
1669         * cpp.1, gcov.1, gcc.1: Regenerate.
1671 2001-02-19  Richard Henderson  <rth@redhat.com>
1673         * ifcvt.c (dead_or_predicable): Don't move code if eh regions
1674         would be disrupted.
1676 Mon Feb 19 10:11:53 2001  Jeffrey A Law  (law@cygnus.com)
1678         * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
1679         target_cpu_default.  Remove dead assignment to
1680         target_cpu_default.
1682 Mon Feb 19 16:46:56 CET 2001  Jan Hubicka  <jh@suse.cz>
1684         * regclass.c (contains_reg_of_mode): Make global.
1685         (init_reg_sets): Remove contains_reg_of_mode; take into account
1686         CLASS_MAX_NREGS when looking for the proper mode.
1687         (dump_regclass): Dump only classes considered for the pseudo.
1688         (regclass): Use contains_reg_of_mode.
1690 Mon Feb 19 16:40:45 CET 2001  Jan Hubicka  <jh@suse.cz>
1692         * gcc.c (do_spec_1): 'n' for printing notices.
1693         * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
1695 Mon Feb 19 16:20:04 CET 2001  Jan Hubicka  <jh@suse.cz>
1697         * reg-stack.c (next_flags_user): Use current_block->end
1698         (swap_rtx_condition): Look for next user if flags don't die;
1699         give up on CALL_INSNs; use current_block->end.
1701 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
1703         * invoke.texi (-fsquangle): Remove documentation.
1704         (-fname-mangling-version): Likewise.
1706 2001-02-18  Kazu Hirata  <kazu@hxi.com>
1708         * config/h8300/h8300.md: Update copyright.
1709         (andsi3): Do not output an extra newline character.
1711 Sun Feb 18 17:03:06 2001  Jeffrey A Law  (law@cygnus.com)
1713         * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
1714         ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
1715         (mostlyclean): Corresponding changes.
1716         * rtlanal.c (hard-reg-set.h): Include.
1717         (rtx_unstable_p): Do not treat the argument pointer specially
1718         if it is not a fixed register.
1719         (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
1721 Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1723         * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
1724         assignments from FP constants sonce 'Y' output code can't handle it.
1725         (eligible_for_sibcall_delay): Likewise.
1727         * invoke.texi (-I): Add note avoiding use for system header files.
1729         * final.c (output_operand_lossage): Use internal_error, not error.
1731 2001-02-18  Shane Nay  <shane@agendacomputing.com>
1733         * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
1734         structure shift insns.
1736 2001-02-18  Richard Henderson  <rth@redhat.com>
1738         * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
1740         * reload1.c (reload_cse_simplify_set): Fix typo.
1742 Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1744         * diagnostic.c (_fatal_insn): Decrement errorcount.
1746 2001-02-18  Alan Modra <alan@linuxcare.com.au>
1748         * pa.c (hppa_expand_prologue): Simplify code storing return
1749         pointer.  For large (>=8k) frames with a post_store, adjust stack
1750         pointer by 8k-64 first rather than by 64.  When testing with
1751         VAL_14_BITS_P, always use the actual value rather than the value
1752         negated.  Add blockage to prevent scheduling of spills before
1753         stack frame has been created.
1754         (hppa_expand_epilogue): Simplify code loading return pointer.
1755         Allow a slightly larger range for merge_sp_adjust_with_load case.
1756         When testing with VAL_14_BITS_P, always use the actual value.
1758         * pa.c (pa_adjust_insn_length): Check that block move
1759         pattern is a set before looking at operands.
1761 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
1763         * fold-const.c (fold_binary_op_with_conditional_arg): New
1764         function, split out from ...
1765         (fold): ... here.
1766         * tree.def (COND_EXPR): Document the use of VOID_TYPE for
1767         conditional arms that throw exceptions.
1769         * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
1770         looking at a BLOCK.
1772 2001-02-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1774         * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
1775         define HAVE_DECL_* to 1 to mask potential backup declarations.
1776         * configure: Regenerated.
1778 2001-02-17  Richard Henderson  <rth@redhat.com>
1780         * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
1781         when replacing a memory load with a register.
1783 2001-02-17  Joseph S. Myers  <jsm28@cam.ac.uk>
1785         * gcc.texi, invoke.texi: Link to GCC 3.0 version of
1786         c99status.html.
1788 2001-02-16  Richard Henderson  <rth@redhat.com>
1789             DJ Delorie  <dj@redhat.com>
1791         * jump.c (jump_optimize_1): When we delete a conditional jump
1792         preceeding a non-conditional jump to effectively the same place,
1793         make sure that the combined jump skips any clobber insns between
1794         the two labels.
1796 2001-02-16  Jason Merrill  <jason@redhat.com>
1798         * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
1799         NULL.
1800         (gen_subprogram_die): Don't abort on seeing a second definition if
1801         the previous one was abstract.  Don't replace an abstract instance
1802         in the lookup table.
1804         * dwarf2out.c (dwarf2out_abstract_function): Rename from
1805         gen_abstract_function.
1806         * dwarf2out.h: Declare it.
1807         * toplev.c (note_outlining_of_inline_function): New fn.
1808         * toplev.h: Declare it.
1809         * integrate.c (output_inline_function): Call it.
1810         * c-decl.c (duplicate_decls): Call it when redefining an extern
1811         inline.  Don't inline the new defn.
1813         * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
1815 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
1817         * objc/objc-act.c (start_class): Register implemented_classes with
1818         GC.
1820 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1822         * cppfiles.c (_cpp_make_system_header): Generate a file
1823         change callback.
1825 Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1827         * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
1829         * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
1830         do in memory.
1832 2001-02-15  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1834         * version.c: Bump to "3.0 20010215 (prerelease)".
1836 Thu Feb 15 15:15:29 2001  Alexandre Oliva  <aoliva@redhat.com>
1838         * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
1840 Thu Feb 15 00:20:31 CET 2001  Jan Hubicka  <jh@suse.cz>
1842         * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
1844         * invoke.texi (-mreg-alloc): Deprecate.
1846 2001-02-14  Richard Henderson  <rth@redhat.com>
1848         * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
1850 Wed Feb 14 23:35:57 CET 2001  Jan Hubicka  <jh@suse.cz>
1852         * regclass.c (init_reg_sets_1): Reinstall the optimization
1853         together with Matt Kraai's fix.
1855 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
1857         * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
1859 2001-02-14  Richard Henderson  <rth@redhat.com>
1861         * regclass.c (init_reg_sets_1): Revert last change.
1863 2001-02-14  Nathan Sidwell  <nathan@codesourcery.com>
1865         * extend.texi (Deprecated): Deprecate new initializer lists.
1867 2001-02-14  Nathan Sidwell  <nathan@codesourcery.com>
1869         * mkdeps.c (deps_add_default_target): Robustify. Add
1870         basename component only.
1871         * cpp.texi (-M): Describe how default target is generated.
1872         * invoke.texi (-M): Likewise.
1874 2001-02-13  Zack Weinberg  <zack@wolery.stanford.edu>
1876         * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
1877         's' slots in RTXen.
1878         * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
1879         * ggc.h (ggc_mark_if_gcable): Delete prototype.
1881 Wed Feb 14 01:03:14 CET 2001  Jan Hubicka  <jh@suse.cz>
1883         * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
1884         arrays.
1886 Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1888         * config/sparc/sparc.c (function_value): Treat all non-record
1889         aggregate types like used to treat UNION_TYPE.
1891 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
1893         * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
1894         (try_combine): Use it.
1896 2001-02-13  Richard Henderson  <rth@redhat.com>
1898         * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
1899         entire operator; replicate that and match_dup the operands.
1900         (cmp_ccx_arith_op_set): Likewise.
1901         (cmp_cc_arith_op_not_set): Likewise.
1902         (cmp_ccx_arith_op_not_set): Likewise.
1904 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
1906         * c-common.c (constant_fits_type_p): New function.
1907         (convert_and_check): Use it.
1909 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
1911         * Makefile.in (GXX_ABI_FLAG): Don't define.
1912         * configure.in (--enable-new-gxx-abi): Remove option.
1913         * config.in: Regenerated.
1914         * configure: Likewise.
1916 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
1918         * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
1919         basic block.
1920         (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
1921         regular basic block, and arrange for all edges into it to switch
1922         to normal mode.
1924 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1926         * Makefile.in (distclean): Do not remove .gdbinit.
1928 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
1930         * Makefile.in (gcc.o): Fix typos.
1931         (protize.o): Likewise.
1932         (unprotoize.o): Likewise.
1934 2001-02-11  Richard Henderson  <rth@redhat.com>
1936         * tree.c (build1): Check for null operand in last change.
1938 2001-02-11  Richard Henderson  <rth@redhat.com>
1940         * fold-const.c (split_tree): Don't assume a constant isn't splittable.
1941         (fold): Don't assume a constant isn't foldable.
1942         * tree.c (build): Set TREE_CONSTANT for an expression with no
1943         side-effects and constant operands.
1944         (build1): Likewise.
1946 2001-02-10  Richard Henderson  <rth@redhat.com>
1948         * jump.c (squeeze_notes): Revert 2000-05-12 change.
1950 2001-02-10  Anthony Green  <green@redhat.com>
1952         * cpp.texi (Standard Predefined): Add documentation for
1953         __OPTIMIZE_SIZE__.
1955         * c-common.c (combine_strings): Improve warning message.
1957 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
1959         * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
1960         --oformat.
1961         * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
1963 Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
1965         * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
1966         CYGWIN_CROSS_DIR.
1968 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
1970         * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
1971         fp_mode attribute.
1973 2001-02-09  Nick Clifton  <nickc@redhat.com>
1975         * config/arm/arm.md: Change output contraint on post inc
1976         load/store multiple patterns to be a read/write contraint.
1978 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
1980         * gcc.c (cpp_options): Delete .d files on error.  Don't delete
1981         .o files when using the -M options.
1983 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1984             David Edelsohn  <edelsohn@gnu.org>
1986         * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
1987         handle DImode constants.  Use one TOC entry for SImode and smaller
1988         constants, aligned properly.
1990 2001-02-08  Jason Merrill  <jason@redhat.com>
1992         * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
1993         about the SP adjustment for saving the static chain pointer.
1994         * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
1995         offset when setting a temporary CFA register.
1997 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
1999         * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
2000         powerpc-*-chorusos* .
2001         * config/rs6000/chorus.h : New file.
2002         * config/i386/chorus.h : New file.
2003         * config/sparc/chorus.h : New file.
2004         * config/sparc/t-chorus-elf : New file.
2006 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
2008         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
2009         * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
2010         * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
2011         (__WCHAR_TYPE__): Correct macro name.
2013 2001-02-08  Richard Henderson  <rth@redhat.com>
2015         * config/i386/i386.c (ix86_frame_pointer_required): New.
2016         (ix86_setup_frame_addresses): New.
2017         (struct machine_funciton): Add accesses_prev_frame.
2018         * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
2019         ix86_frame_pointer_required.
2020         (SUBTARGET_FRAME_POINTER_REQUIRED): New.
2021         (SETUP_FRAME_ADDRESSES): New.
2022         * config/i386/i386-protos.h: Update.
2023         * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
2024         from FRAME_POINTER_REQUIRED.
2025         * config/i386/svr3gas.h: Likewise.
2026         * config/i386/sysv3.h: Likewise.
2027         * config/i386/v3gas.h: Likewise.
2029 2001-02-08  Richard Henderson  <rth@redhat.com>
2031         * config/sparc/sparc.c (function_arg_record_value_3): Fix
2032         calculation of the number of integer registers required.
2033         (function_arg_record_value): Likewise.
2035 2001-02-08  Jason Merrill  <jason@redhat.com>
2037         * diagnostic.c (internal_error): Say "confused" after 1 error, not
2038         two.  Print file and line with "confused" message.
2040         * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
2042 Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2044         * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
2046 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
2048         * final.c (cleanup_subreg_operands): The address of a MEM can
2049         contain SUBREGs.
2051         * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
2052         for asms, too.
2054 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
2056         * gcc.texi (Incompatibilities): Update documentation of
2057         preprocessing numbers.
2059 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
2061         * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
2063 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
2065         * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
2067         * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
2068         * gcc.c (struct compiler): Add cpp_spec field.
2069         (input_file_compiler): New variable.
2070         (do_spec_1): Allow a particular compiler to handle `%C'
2071         specially.
2072         (main): Store the current compiler in input_file_compiler.
2073         * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
2075 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
2077         * cpphash.h (struct spec_nodes): Add n_true and n_false.
2078         * cppinit.c (cpp_create_reader): Initialize them.
2079         (append_include_chain): cxx_aware arg might be unused.
2080         * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
2081         keywords and give them their phase 7 meaning.  Pedwarn about
2082         this unless '__bool_true_false_are_defined' is defined.
2084 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
2086         * lcm.c (optimize_mode_switching): Emit mode_set before the
2087         JUMP_INSN of an abnormal edge.
2089 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
2091         * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
2092         a scheduling barrier at the end.
2094         * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
2096 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
2098         * config/sh/sh.md (reload_outsf): Removed.
2099         (movsf_ie): Introduce constraints for FPUL loads and stores.
2100         (reload_insf): Broaden the output constraint.
2102         * config/elfos.h (INT_ASM_OP): Don't define it if it's already
2103         defined.
2104         * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
2105         ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
2107 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
2109         * final.c: Revert my previous changes.
2110         * output.h: Make profile_label_no extern.
2111         * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
2112         for generating label.
2114 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
2116         * config/i386/djgpp.h: Add comments about standard paths.
2117         (MD_EXEC_PREFIX): Undefine before defining.
2118         (MD_STARTFILE_PREFIX): New.
2120 2001-01-30  Bruce Korb  <bkorb@gnu.org>
2122         fixinc/fixincl.c(process):  Emit error message only if appropriate :)
2123         (load_file): do not rely on load_file_data() to close file pointer
2124         fixinc/fixlib.c(load_file_data): do not close passed in file pointer
2125         fixinc/inclhack.def(irix_limits_const): add test_text
2127 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2129         * cppexp.c (parse_defined): Improve diagnostics for invalid
2130         syntax.
2132 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2134         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
2136 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
2138         * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
2139         * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
2140         * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
2141         (rs6000_output_symbol_ref): New function.
2142         (output_toc): Use VTABLE_NAME_P.
2144 Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2146         * print-tree.c (print_node, case PARM_DECL):
2147         Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
2149         * stor-layout.c (reference_types_internal): New variable.
2150         (internal_reference_types): New function.
2151         (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
2152         * tree.h (internal_reference_types): New declaration.
2154         * cse.c (find_best_addr): Fix typo in computing cost.
2156 Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2158         * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
2159         and this is the sum of a pointer and a constant, we know the result
2160         did not overflow.
2161         (num_sign_bit_copies, case PLUS): Likewise.
2162         * explow.c (convert_memory_address): Remove opposite SUBREG.
2163         * function.c (instantiate_new_reg): New function (from common code).
2164         (instantiate_virtual_regs_1): Call it.
2165         For PLUS, handle if (plus (subreg (virt-reg) (const_int))
2166         if pointers sign- or zero-extend.
2167         * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
2168         If pointers extend unsigned, use inside of SUBREG.
2169         (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
2171 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
2173         * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
2174         subdir of gcc_gxx_include_dir.
2175         (gcc_gxx_target_include_dir): Remove.
2177 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
2179         * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
2180         (dwarf2out_frame_debug_expr): Revise introductory comments to add
2181         a high-level description.
2183 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
2185         * final.c: Move the declaration of profile_label_no to ...
2186         * output.h: ... here.
2187         * function.c (expand_function_start): Call PROFILE_HOOK.
2188         * config/rs6000/aix.h: Define PROFILE_HOOK.
2189         * config/rs6000/rs6000-protos.h: output_profile_hook new.
2190         * config/rs6000/rs6000.c (output_profile_hook): Define.
2191         (output_prolog): Do nothing for ABI_AIX as it is taken care by
2192         output_profile_hook.
2193         tm.texi : Explain new macro PROFILE_HOOK.
2195 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
2197         * extend.texi (Extended Asm): Do not say that semicolon is always
2198         a valid line-breaking character for GNU assemblers.  Use
2199         newline-tab as the most commonly supported syntax.  Use
2200         newline-tab rather than semicolon in multi-insn examples.
2202 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2204         * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
2206 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2207             David Edelsohn  <edelsohn@gnu.org>
2209         * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
2210         code for AIX, even without flag_pic.
2212 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
2214         * c-typeck.c (common_type): push and pop binding level around
2215         calling common_type on function parameters.
2217 Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
2219         * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
2221 Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2223         * config/mips/mips.c (override_options): Fix typo in last change.
2224         (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
2225         (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
2227 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
2229         * invoke.texi (-fdump-class-layout): Document.
2230         (-fdump-translation-unit): Use `=' as filename separator.
2232 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
2234         * Makefile.in (s-mlib): Don't build multilibs if
2235         --disable-multilib.
2236         (DRIVER_DEFINES): Adjust accordingly.
2237         (gcc.o): Likewise.
2238         (protoize.o): Likewise.
2239         (unprotoize.o): Likewise.
2240         * configure.in: Recognize --enable-multilib.
2242 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
2244         * Makefile.in (DRIVER_DEFINES): Fix quoting.
2246         * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
2247         * configure.in: Remove --enable-libstdcxx_v3 support.
2248         * configure: Regenerated.
2250 Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2252         * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
2253         Call abort instead of fatal.
2254         (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
2255         * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
2256         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
2257         (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
2258         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
2259         * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
2261         * diagnostic.h (set_internal_error_function): Renamed.
2262         * toplev.h (internal_error): Renamed from fatal.
2263         (pfatal_with_name): Deleted.
2264         (fatal_io_error): Now has printf-style arguments.
2265         * diagnostic.c (pfatal_with_name): Deleted.
2266         (fatal_io_error): Rework to have args in printf-style.
2267         (set_internal_error_function): Renamed from set_fatal_function.
2268         (internal_error): Renamed from fatal.
2269         (error_recursion, fancy_abort): Call internal_error instead of fatal.
2270         * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
2271         * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
2272         * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
2273         * flow.c (verify_flow_info): Likewise.
2274         * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
2275         * config/mips/mips.c (save_restore_insns): Likewise.
2277         * except.c (duplicate_eh_handlers): Call abort instead of fatal.
2278         * flow.c (verify_flow_info): Likewise.
2279         * config/arm/arm.c (thumb_load_double_from_address): Likewise.
2280         * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
2281         (avr_normalize_condition): Likewise.
2282         * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
2283         * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
2284         (limit_reload_class, double_reg_to_memory): Likewise.
2285         (print_operand_address, emit_1600_code_shift): Likewise.
2286         (gen_tst_reg, gen_compare_reg): Likewise.
2287         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
2288         * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
2289         Deleted.
2290         * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
2292         * c-parse.in (methoddef): Call fatal_error instead of fatal.
2293         * objc/objc-act.c (build_ivar_chain): Likewise.
2294         * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
2295         pfatal_with_name.
2296         * graph.c (clean_graph_dump_file): Likewise.
2297         * profile.c (init_branch_prob): Likewise.
2298         * objc/objc-act.c (objc_init): Likewise.
2300         * config/arm/arm.c (arm_override_options): Make errors non-fatal.
2301         * config/avr/avr.c (avr_override_options): Likewise.
2302         * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
2303         * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
2304         * config/h8300/h8300.c (h8300_init_once): Likewise.
2305         * config/mips/mips.c (override_options): Likewise.
2306         * config/i386/i386.c (override_options): Likewise, rework.
2307         * config/m68k/m68k.c (override_options): Likewise.
2309         * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
2310         instead of fatal.
2311         * config/mips/mips.c (print_operand): Likewise.
2312         * hash.c (hash_allocate): Don't check for failure returns from
2313         obstack functions that can't fail.
2314         (hash_table_init_n, hash_table_init): Likewise; also now return void.
2315         * hash.h (hash_table_init_n, hash_table_init): Now return void.
2316         * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
2317         (get_object_reference): Likewise.
2319 2001-02-04  Nick Clifton  <nickc@redhat.com>
2321         * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
2322         StrongARM1110, 10TDMI, and 1020T.
2324 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2326         * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
2328 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
2330         * config/sh/sh.md (movdf load split): Pass register number to
2331         FP_OR_XD_REGISTER_P.
2333 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
2335         * cppinit.c (BC): New macro.
2336         (builtin_array): Add __GXX_WEAK__.
2337         * cpplib.h (builtin_type): Add BT_WEAK.
2338         * cppmacro.c (builtin_macro): Handle BT_WEAK.
2339         * defaults.h (SUPPORTS_ONE_ONLY): Define.
2340         * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
2342 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
2344         * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
2346 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2348         * cpphash.h: Rename _ALIGN POOL_ALIGN.
2349         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
2351 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2353         * cpphash.h: Rename ALIGN _ALIGN.
2354         * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
2356 Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
2358         * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
2359         compilation environment.
2360         * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
2361         control over location of cygwin includes and libs.
2363 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
2365         * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
2367 2001-02-02  lars brinkhoff  <lars@nocrew.org>
2369         * md.texi (Standard Names): remove reference to spur.md.
2371 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
2373         * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
2374         (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
2375         (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
2376         * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
2377         (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
2379 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2381         * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
2382         c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
2383         number before reload.
2384         (c4x_adjust_cost): Return zero before reload.
2385         * c4x.md (load_immed_address+1, load_immed_address+2): Do not
2386         split before reload.
2388 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2390         * c4x.c (c4x_hard_regno_rename_ok): New.
2391         * c4x-protos.h (c4x_hard_regno_rename_ok): New.
2392         * c4x.h (HARD_REGNO_RENAME_OK): Define.
2394 Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2396         * diagnostic.h: Add missing "extern" in all declarations.
2398 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
2400         * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
2401         as for gcc_gxx_include_dir.
2403 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2405         * cpp.texi, invoke.texi: Update -Wtraditional documentation.
2407 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
2409         * config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
2410         label before alignment to be used as the braf base address.
2411         * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
2412         branches.
2413         (casesi_jump_2): Require at least TARGET_SH2.
2415         * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
2416         truncation to 32-bit doubles on -m3e and -m4-single-only.
2418 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
2420         * gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
2421         the default when building a shared object.
2422         (init_spec): Use it.
2423         * testsuite/lib/g++.exp: Include the directory where libgcc
2424         is located to the LD_LIBRARY_PATH list.
2425         * invoke.texi (-shared-libgcc): Document the cases in which
2426         GCC defaults to using the shared libgcc.
2428 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
2430         * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
2431         unsigned is wide enough.
2432         (BITS_PER_SI): New.
2433         * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
2434         (si_to_float): Likewise.
2435         (float_to_si, float_to_usi): Use BITS_PER_SI.
2437 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
2439         * dwarf2out.c: Added explanation of abbreviations.
2440         (def_cfa_1): Added comments listing DWARF2 instructions.
2441         (cfa_temp_reg): Removed in favor of cfa_temp.
2442         (cfa_temp_value): Removed in favor of cfa_temp.
2443         (cfa_temp): New global variable.
2444         (dwarf2out_frame_debug_expr): Added extensive introductory
2445         comments explaining the function's transformations.  Revised to
2446         use cfa_temp.  Added some rtx checking.  Generalize IOR case.
2447         (dwarf2out_frame_debug): Revised to use cfa_temp.
2448         (output_aranges): Cast as "unsigned" to avoid warning.
2449         * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
2450         explain which instructions must be marked.
2452 2001-02-01  Richard Henderson  <rth@redhat.com>
2454         * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
2455         new instruction.
2457 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
2459         * config/sh/crt1.asm (main_k): Modified so that start calls
2460         ___setup_argv_and_call_main.
2462 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2464         * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
2465         * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
2466         and AVOID_LPASTE is cleared on meeting an unescaped newline.
2467         * cppmacro.c (builtin_macro): Set builtin flags here.
2468         (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
2469         (replace_args): Clarify intent.
2470         (cpp_get_token): Macro expansion tokens get the saved flags.
2471         Update.
2472         * cppmain.c (scan_buffer): Remove now-redundant print.printed
2473         check.
2475 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
2477         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
2478         2001-Jan-29.
2480 Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2482         * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
2483         returns Pmode pseudo, but we need ptr_mode.
2484         * explow.c (allocate_dynamic_stack_space): Use plus_constant.
2485         Remove bogus conversions; use HOST_WIDE_INT for size.
2486         Don't use TARGET if wrong mode.
2488         * config/i386/i386.c (ix86_compute_frame_size): Allow
2489         stack_alignment_needed to be non-default even if size is zero.
2491 2001-01-31  Alan Modra <alan@linuxcare.com.au>
2493         * (hppa_init_pic_save): Emit the pic offset table
2494         reg save after last_parm_insn.
2495         * pa.c (hppa_init_pic_save): New function.
2496         * pa.h (hppa_init_pic_save): Declare.
2497         * pa.md (call, call_value, sibcall, sibcall_value): Use
2498         the above instead of duplicated code.
2500         * pa.c (hppa_encode_label): Correct size of alloca buffer
2501         so we don't overrun it.  Correct leading `*' case.
2502         * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
2503         need to handle `*@'.
2504         (FUNCTION_NAME_P): Likewise.
2506 2001-01-31  Richard Henderson  <rth@redhat.com>
2508         * config.gcc (alpha-osf5): Use float-i128.h.
2510         * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
2511         * config/float-i32.h: Likewise.
2512         * config/float-i64.h: Likewise.
2513         * config/float-sh.h: Likewise.
2514         * config/float-sparc.h: Likewise.
2516 2001-01-31  DJ Delorie  <dj@redhat.com>
2518         * expmed.c (extract_bit_field): allow non-integral modes if we
2519         want to extract a whole register from itself.
2521 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
2523         * c-typeck.c (set_init_index): If first is equal to last, assume as
2524         if it was not a range at all.
2526 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
2528         * config/fp-bit.c: Include tm.h.
2529         (float_to_si): Don't assume SImode is 32-bits wide.
2530         (float_to_usi): Likewise.
2532 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
2534         * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
2535         incomplete type.
2536         (typename): Call pending_xref_error after parsing typed_typespecs.
2537         * c-decl.c (lookup_tag): Give error immediately rather than
2538         leaving it pending if the tag of the wrong type is in the same
2539         binding level.
2540         (xref_tag): Don't pedwarn for forward declarations of enum types
2541         here.
2542         * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
2543         and enum tags.
2545 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
2547         * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
2549 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
2551         * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
2552         (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
2554 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
2556         * cpphash.h (struct cpp_reader): New saved_flags.
2557         * cppmacro.c (cpp_get_token): Use saved_flags to remember
2558         to avoid a paste after a pasted token.
2560 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
2562         * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
2563         * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
2564         Wtype_MIN instead of LONG_MIN.
2566 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
2568         * fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
2569         README file.
2570         * fixinc/fixincl.x: Regenerated.
2571         * fixinc/inclhack.def (irix_limits_const): New definition to
2572         convert "const" to "__const" in limits.h.
2574 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
2576         * fixinc/genfixes (AG): Fix "autogen4" thinko.
2578 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
2580         * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
2581         when register dies in the insn.
2583 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2585         * diagnostic.c (fatal): Fix word wrap.
2587 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
2589         * combine.c (try_combine): Fix SUBREG setting for
2590         HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
2592 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2594         * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
2595         comparison codes.
2597 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
2599         * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
2600         is not NULL.
2601         * toplev.c (decode_W_option): Update warn_larger_than
2602         unconditionally for each processed switch.
2604 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2606         * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
2607         to NULL_RTX.
2608         (hppa_expand_prologue): Delete code to save pic offset table register
2609         in the function prologue.
2610         * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
2611         * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
2612         table register at the beginning of the function after the prologue.
2614 2001-01-29  lars brinkhoff  <lars@nocrew.org>
2616         * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
2618 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2619             Jeff Law <law@redhat.com>
2621         * pa.md (return): Revise comment for trivial return.
2622         (return_internal): Non-trivial return pattern for non-PIC code.
2623         (return_internal_pic): Non-trivial return pattern for PIC code.
2624         It uses the PIC register to ensure it is restored after
2625         function calls.
2626         (epilogue): Generate appropriate return for PIC and non-PIC code.
2628 Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
2630         * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
2632 2001-01-29  DJ Delorie  <dj@redhat.com>
2634         * combine.c (if_then_else_cond): Pass the correct mode to
2635         operand_subword() for constants.
2637 Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
2639         * config/i386/cygwin.h: Add w32api to include search.  Search different
2640         directories in a cross-build environment.
2642 2001-11-29  Tim Josling  <tej@melbpc.org.au>
2644         * tree.h (TYPE_STUB_DECL): Add documentation.
2646 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
2648         * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
2649         (sdbout_field_types): Likwise.  Fix use of host_integerp.
2651 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
2653         * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
2654         cygwin.h.
2656 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
2658         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
2659         to use flag_gnu_linker.
2661 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
2663         * cpplib.c (T_BAD_DIRECTIVE): Remove.
2664         (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
2666 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2668         * tree.c, tree.h (build_parse_node): Remove; was identical to
2669         build_nt.
2670         * c-lang.c (start_cdtor), objc/objc-act.c
2671         (build_module_descriptor): Use build_nt instead of
2672         build_parse_node.
2674 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
2676         * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
2677         (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
2678         not have any upper bits set.
2680 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
2682         * COPYING.LIB:  Update to LGPL 2.1 from the FSF.
2684 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2686         * stmt.c (estimate_case_costs): Use integer_minus_one_node.
2688         * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
2690         * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
2691         (integer_minus_one_node): Define.
2693 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
2695         * Makefile.in (bootstrap2-lean): Fix typo.
2697 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
2699         * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
2700         : Don't set fe_value.
2701         * cpplib.h (AVOID_LPASTE): New flag.
2702         (struct cpp_hashnode): Remove fe_value.
2703         * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
2704         * cppmacro.c (builtin_macro): Don't set flags here.
2705         (replace_args): Set AVOID_LPASTE flag on first token of an
2706         argument, and the token following it.
2707         (cpp_get_token): Set AVOID_LPASTE flag on first token of a
2708         macro expansion, and on the token following it.  Do it for
2709         builtins too.
2710         * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
2712 2001-01-27  Richard Henderson  <rth@redhat.com>
2714         * config/alpha/t-ieee: Remove multilibbing.
2715         (TARGET_LIBGCC2_CFLAGS): Add -mieee.
2717 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2719         * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
2721         * Makefile.in: Remove all dependencies on defaults.h.
2722         * builtins.c: Don't include defaults.h.
2723         * c-common.c: Likewise.
2724         * c-decl.c: Likewise.
2725         * c-pragma.c: Likewise.
2726         * c-typeck.c: Likewise.
2727         * combine.c: Likewise.
2728         * i386.c: Likewise.
2729         * frame-ia64.c: Likewise.
2730         * cppexp.c: Likewise.
2731         * crtstuff.c: Likewise.
2732         * dbxout.c: Likewise.
2733         * dwarf2out.c: Likewise.
2734         * dwarfout.c: Likewise.
2735         * emit-rtl.c: Likewise.
2736         * except.c: Likewise.
2737         * expr.c: Likewise.
2738         * final.c: Likewise.
2739         * frame-dwarf2.c: Likewise.
2740         * libgcc2.c: Likewise.
2741         * optabs.c: Likewise.
2742         * profile.c: Likewise.
2743         * sdbout.c: Likewise.
2744         * toplev.c: Likewise.
2745         * tradcif.y: Likewise.
2746         * tree.c: Likewise.
2747         * varasm.c: Likewise.
2749 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2751         * builtins.c (expand_builtin_fputs): Use size_one_node when
2752         transforming into fwrite.
2754 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
2756         * extend.texi (Attribute Syntax): New section.
2758 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
2760         * fixproto: Correctly install synthesised unistd.h and stdlib.h when
2761         they didn't need fixing.
2763 2001-01-27  Janis Johnson <janis@us.ibm.com>
2765         * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
2766         if appropriate.
2767         * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
2768         to remove macro definitions that are duplicated from elfos.h.
2770 2001-01-27  Richard Henderson  <rth@redhat.com>
2772         * config/i386/sco5gas.h: Move ...
2773         * config/usegas.h: ... here.
2774         * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
2776 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
2778         * c-typeck.c (struct constructor_stack): Add range_stack member.
2779         (really_start_incremental_init): Clear it.
2780         (push_init_level): Save constructor_range_stack and clear it if
2781         pushing explicit braces.
2782         (pop_init_level): abort if constructor_range_stack is non-zero at
2783         explicit closing brace.  Restore saved constructor_range_stack if
2784         not implicit.
2786 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
2788         * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
2789         into register was forced into memory.
2791 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
2793         * Makefile.in: Remove uses of + before $(MAKE).
2795 2001-01-26  Richard Henderson  <rth@redhat.com>
2797         * stmt.c (cost_table): Remove.
2798         (COST_TABLE, cost_table_initialized): New.
2799         (estimate_case_costs): Use the later instead of the former.
2800         (balance_case_nodes): Likewise.
2802 2001-01-26  Richard Henderson  <rth@redhat.com>
2804         * alias.c (objects_must_conflict_p): Read-only slots may not
2805         conflict despite having the same type.
2807 2001-01-27  Michael Hayes  <mhayes@redhat.com>
2809         * loop.c (loop_giv_reduce_benefit): Copy mode size into
2810         int variable.
2811         (check_ext_dependant_givs): Initialise u_start_val and
2812         u_end_val.
2813         (load_mems): Make last_max_reg unsigned.
2814         (try_swap_copy_prop): Use INSN_P and initialise set.
2816 Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
2818         * README.AVR : Removed.
2820 Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
2822         * pa-64.h (text_section): Remove declaration.
2824         * pa.md (return_internal): Remove mode on PIC register use.
2826 2001-01-25  lars brinkhoff  <lars@nocrew.org>
2828         * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
2829         ASM_CLOSE_PAREN): fix typos.
2831 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
2833         * acconfig.h: Define `const' to the empty string if neither
2834         __STDC__ nor __cplusplus is defined.
2835         * config.in: Regenerated.
2837 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
2839         * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
2840         * collect2.c (main): Delete importf.  Add ".obj" file extension.
2841         (GCC_CHECK_HDR): Handle AIX V5 new magic number.
2842         (aix_std_libs): Add additional AIX libraries to skip.
2843         * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
2844         * config/rs6000/aix51.h: New file.
2846 2001-01-25  Michael Hayes  <mhayes@redhat.com>
2848         * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
2849         (loop_insn_emit_before): No longer static.
2850         (move_movables): Replace emit_insn_after with loop_insn_emit_after.
2851         (loop_givs_rescan, load_mems): Likewise.
2852         (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
2853         (maybe_eliminate_biv_1):
2854         (move_movables): Replace emit_call_insn_before with
2855         loop_call_insn_hoist.
2856         * loop.h (loop_insn_emit_before): Add.
2857         * unroll.c (copy_loop_body): Replace emit_insn_before with
2858         loop_insn_emit_before.
2860 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
2862         * diagnostic.c (fatal): Request preprocessed source.
2864 Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
2866         * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
2867         olddecl has argument types and newdecl has none, use the argument
2868         types from olddecl.
2870 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
2872         * dwarf2out.c (prefix_of): New function.  Determine longest common
2873         prefix of the two arguments.  The units are whole path components.
2874         (output_file_names): When adding a new directory find the one entry
2875         with the longest common prefix already in the list.  Artificially
2876         generate entry if there is none for this prefix.
2877         Fix test to check whether the zeroth directory entry is used.
2879 Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
2881         * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
2882         Changed all callers.  Take it into account when deciding if a
2883         previously loaded value matches.
2885 2001-01-24  Richard Henderson  <rth@redhat.com>
2887         * reload.c (find_reloads_subreg_address): Fail the substitution
2888         if the resulting address is insufficiently aligned.
2890 2001-01-24  DJ Delorie  <dj@redhat.com>
2892         * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
2893         check the original operand's mode also.
2894         * simplify-rtx.c (simplify_ternary_operation): Ditto.
2896 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
2898         * c-parse.in (cast_expr): Move compound literals from here ...
2899         (primary): ... to here.  Use standard terminology "compound
2900         literal" instead of "constructor expression".
2902 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
2904         * gcc.1, cpp.1: Regenerate.
2906 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
2908         * calls.c (emit_library_call_value_1): Memory slot for
2909         pass-by-reference argument should have the mode of the argument,
2910         not of the pointer to it.
2912 2001-01-24  Tom Tromey  <tromey@redhat.com>
2914         * gcc.texi (G++ and GCC): Mention gcj manual.
2915         (Standards): Link to section of manual mentioning gcj/Java
2916         compatibility.
2918 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
2920         * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
2921         * cppinit.c (cpp_start_read): Remove deps_add_dep call.
2922         * tradcpp.c (main): Add -imacros or -include'd dependencies
2923         for -M*.
2924         * cpp.texi (-M, -MM): Document -M -include behaviour.
2926 2001-01-24  Roger Collins <roger@ProProject.com>
2928         * config/i386/xm-i386.h: Make __i386__ a boolean macro.
2930 2001-01-24  Will Cohen  <wcohen@redhat.com>
2932         * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
2933         whether registers are 32 bits or 64 bits in size.
2935 2001-01-24  Ben Elliston  <bje@redhat.com>
2937         * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
2939 2001-01-24  Richard Henderson  <rth@redhat.com>
2941         * config/alpha/alpha.md (builtin_longjmp_internal): New.
2942         (builtin_longjmp): Use it instead of emit_indirect_jump.
2944 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2946         * bb-reorder.c (make_reorder_chain_1): Handle case where
2947         jump edge goes to the same block as the fallthru edge.
2949 2001-01-23  Jim Wilson  <wilson@redhat.com>
2951         * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
2952         * frame.h (__ia64_personality_v1): Add prototype.
2953         * libgcc2.c (ia64_throw_helper): Change personality declaration to
2954         prototype form.  Add void * cast to first argument to personality
2955         call.
2956         * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
2957         (asctoe113): Likewise.
2958         * config/ia64/frame-ia64.c: Include eh-common.h.
2959         * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
2960         prototypes.
2961         * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
2962         to dump parameter.
2963         (itanium_split_issue): Add prototype.
2964         (gen_nop_type): Ifdef out.
2965         (find_best_packet): Initialize best_packet.
2966         (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
2967         result.
2968         * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
2969         * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
2970         (flushrs): Add explicit stop bit at end.
2971         * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
2972         trailing \ to >.
2974 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
2976         * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
2977         of EH symbols.
2978         * libgcc2.c (__terminate_func): Make variable static.
2979         (__terminate_set_func): New function to set __terminate_func.
2980         * libgcc2.h (__terminate_func_ptr): New typedef.
2981         (__terminate_set_func): New function.
2983 2001-01-23  Richard Henderson  <rth@redhat.com>
2985         * flow.c (init_propagate_block_info): Don't consider unchanging
2986         memories for dead frame store elimination.
2988 2001-01-23  Richard Henderson  <rth@redhat.com>
2990         * varasm.c (UNIQUE_SECTION): Move default implementation ...
2991         * defaults.h: ... here.
2993 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2995         * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
2997 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2999         * c-lex.c (lex_charconst): Fix typo: s/p/str.
3001 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3003         * rs6000.h (rs6000_return_addr): Move prototype from here...
3004         * rs6000-protos.h (rs6000_return_addr): ...to here.
3005         (rs6000_init_expanders): Delete prototype.
3007 2001-01-23  Nick Clifton  <nickc@redhat.com>
3009         * invoke.texi: Replace , with \, inside @gccoptlist macros.
3010         (Spec Files): Document %B and %j and %. and %v3 and %M and
3011         %{S*&T} spec switches.
3013 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3015         * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
3017 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
3018         Neil Booth  <neil@daikokuya.demon.co.uk>
3020         * cpperror.c: Merge handlers of PEDWARN and WARNING.
3021         Have -Werror make pedantic warnings errors, like the
3022         rest of GCC.
3024 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
3026         * c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
3028 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
3030         * integrate.h (struct inline_remap): Add compare_src, compare_mode.
3031         * integrate.c (expand_inline_function): Initialize them.
3032         (subst_constants): If changing COMPARE so that both its arguments
3033         will be VOIDmode and the comparison mode will be lost, note
3034         compare_mode.  Use the recorded compare_mode to optimize
3035         IF_THEN_ELSE.
3037 2001-01-23  Jason Merrill  <jason@redhat.com>
3039         * dwarf2out.c (new_die): Use xcalloc.
3040         (output_die): Abort rather than emit a local reference to offset 0.
3042 2001-01-17  Andrew Haley  <aph@redhat.com>
3044         * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
3045         of a saved register; return NULL instead.
3046         (copy_reg): Take a pointer to a source register rather than a
3047         frame_state.
3048         (next_stack_level): Remember the address in the stack frame of all
3049         saved registers.
3050         Use the saved register pointer array as the source of the CFA.
3051         (throw_helper): Rewrite.  Unwind once rather than twice and keep
3052         track of saved registers as we go.
3054 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3056         * c4x-protos.h (c4x_legitimize_reload_address): Remove.
3057         * c4x.c (c4x_legitimize_reload_address): Remove.
3058         * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
3059         reload address for ldp(k) insn.
3061 Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
3063         * pa.md (return_internal): Add a USE of the PIC register to ensure
3064         it is restored after each call.
3065         (return expander): Corresponding changes.
3067 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3069         * rs6000.h (INIT_EXPANDERS): Delete.
3070         (RETURN_ADDR_RTX): Call rs6000_return_addr().
3071         * rs6000.c (rs6000_override_options): Call *_machine_status from
3072         here...
3073         (rs6000_init_expanders): ...instead of here. Delete.
3074         (rs6000_mark_machine_status): New function.
3075         (rs6000_init_machine_status): Use xcalloc.
3076         (rs6000_return_addr): Generate RTX for the return address.
3077         (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
3078         (rs6000_stack_info): Use it.
3080 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
3082         * gthr-win32.h: Include errno.h to get a declaration for
3083         EINVAL and _mingw.h if the target is mingw32.
3085 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
3087         * cpp.texi: Correct typos.
3089 Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3091         * explow.c (probe_stack_range): Ensure value passed to
3092         stack_check_libfunc is ptr_mode, not Pmode.
3094 Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
3096         * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
3097         case, don't use operand_subword to calculate a SUBREG that is
3098         wider than a word.
3100         * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
3102 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3104         * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
3105         (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
3106         valid.  If not replace it by equivalent insns.
3108 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3110         * c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
3111         contains SYMBOL_REF, LABEL_REF and CONST_INT.
3112         (c4x_U_constraint, symbolic_address_operand): Likewise.
3113         (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
3114         memory.
3115         (c4x_r11_set_p, c4x_check_laj_p): New functions.
3116         * c4x-protos.h (c4x_check_laj_p): Add prototype.
3117         * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
3118         anulling slot because of silicon bug.
3119         (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
3121 2001-01-22  Alan Modra <alan@linuxcare.com.au>
3123         * cppexp.c (parse_charconst):  Change `mask' type to agree
3124         with parse_escape.
3126 2001-01-21  Richard Henderson  <rth@redhat.com>
3128         * config/i386/i386.c (ix86_asm_file_end): Disable putting
3129         pic_label_name in a linkonce section.
3131 2001-01-17  Philipp Thomas  <pthomas@suse.de>
3133         * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
3134         found in libintl.
3135         * configure: Regenerate.
3137 Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
3139         * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
3140         uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
3142 Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
3144         * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
3145         If REVERSE nonzero then condition code in X must be reversed.
3146         (encode_section_info): Optimise if/else.
3147         (avr_function_value): Fix formatting.
3149         * config/avr/avr.md (branch): Call to ret_cond_branch changed.
3150         (difficult_branch): Likewise.
3151         (rvbranch): Likewise.
3152         (difficult_rvbranch): Likewise.
3154         * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
3156         * config/avr/libgcc.S: Fix comment.
3158 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3160         * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
3162 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3164         * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
3166 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
3168         * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
3169         * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
3170         * configure, config.in: Regenerate.
3171         * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
3172         (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
3173         (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
3174         (doprint.o): New rule.
3176 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3178         * c-typeck.c (digest_init): Handle boolean types as scalars.
3180 Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3182         * stmt.c (expand_return): Don't return anything if size is zero.
3183         Delete redundant assignment to BYTES.
3184         * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
3186 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
3188         * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
3189         the same as the default library function names.
3190         * config/avr/avr.md: Document special characters after '%'.
3191         (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
3192         knowing which of the call-used registers are really clobbered.
3193         (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
3194         New.  Both quotient and remainder from one libgcc.S call.
3195         * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
3196         clobber as few registers as possible.
3197         * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
3199 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
3201         * cppmacro.c (funlike_invocation_p): Don't move back up to the
3202         context of the top of the stack.
3204 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
3206         * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
3207         (fixup_var_refs_insns): ...here.
3209 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
3211         * function.c (fixup_var_refs_insns): Break up into
3212         fixup_var_refs_insn [body of loop], fixup_var_refs_insns
3213         [loop over entire insn list], and fixup_var_refs_insns_with_hash
3214         [loop over hash table entries].
3215         (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
3216         fixup_var_refs_insns_with_hash, to match above changes.
3218 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3220         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
3221         (libgcc.a): Likewise.
3222         (stmp-multilib): Likewise.
3223         (STAGE2_FLAGS_TO_PASS): Likewise.
3225 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
3227         * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
3228         temporary if no_new_pseudos.
3230 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
3232         * cppinternals.texi: Update.
3234 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
3236         * arm.c (arm_init_builtins): Re-enable builtins.
3238 Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3240         * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
3241         * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
3242         element to be null, and always expect an EXPR_LIST.
3243         * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
3244         * sched-deps.c (sched_analyze_1): Likewise.
3245         * sched-rgn.c (check_live_1, update_live_1): Likewise.
3247         * regclass.c (max_set_parallel): New variable.
3248         (reg_scan): Take it into account in computation of max_parallel.
3249         (reg_scan_mark_refs, case SET): Compute it.
3251         * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
3252         args are REG.
3253         * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
3254         * function.c (assign_parms): Use INTVAL for a CONST_INT.
3256 2001-01-19  Jason Merrill  <jason@redhat.com>
3258         * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
3259         for the abstract instance of an inline function.
3261 Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
3262                           J"orn Rennecke <amylaar@redhat.com>
3264         * reload1.c (move2add_note_store): Treat all registers directly or
3265         indirectly derived from a base register as members of the same set
3266         of values.
3267         (reload_cse_move2add): Adjust accordingly.  Take mode and offset
3268         of base register into account.
3270 Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
3272         * alias.c (find_base_value): Recognize TRUNCATE.
3273         (record_set): In PLUS case, invalidate if other summand is also a
3274         base value.
3276 Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3278         * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
3279         entry to be EXPR_LIST.
3280         * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
3281         be an EXPR_LIST (but not null, which other code doesn't allow).
3282         (note_stores): Properly handle PARALLEL in SET.
3283         Recursively call for top-level PARALLEL.
3284         * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
3285         * sched-rgn.c (check_live_1, update_live_1): Likewise.
3287         * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
3289 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
3291         * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
3292         not pfile->skipping (== 0).
3294 2001-01-17  Nick Clifton  <nickc@redhat.com>
3296         * config/rs6000/rs6000.c: Add prototypes for {init|free}_
3297         machine_status.
3299 2001-01-17  Jim Wilson  <wilson@redhat.com>
3301         * invoke.texi (IA-64 options): Improve.
3303 2001-01-17  Tom Tromey  <tromey@redhat.com>
3305         * invoke.texi (Optimize Options): Use `{}' to around @samp
3306         argument.
3308 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
3310         * invoke.texi (-fno-guess-branch-probability): New option.
3312 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3314         * combine.c (try_combine): Don't set i3_subst_into_i2 for
3315         case of making new double-word constant.
3316         Revert last change: instead just test i3_subst_into_i2.
3318 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
3320         * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
3321         Use q constraints instead of r.
3323 Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
3325         * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
3326         (machine_function): Define.
3327         (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
3328         * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
3329         pa_free_machine_status): New functions.
3330         (override_options): Set {init,mark,free}_machine_status to above.
3331         (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
3332         PIC_OFFSET_TABLE_REGNUM_SAVED.
3333         * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
3334         PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
3335         * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
3336         references to PIC_OFFSET_TABLE_REGNUM_SAVED.
3337         * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
3339 2001-01-15  DJ Delorie  <dj@redhat.com>
3341         * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
3342         (cpp.1): Ditto.
3343         (gcc.1): Ditto.
3345 Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3347         * flow.c (propagate_on_insn): Make trying to delete a prologue
3348         or epilogue insn an ICE, not a warning.  Allow doing this if
3349         the current function returns with stack pointer depressed.
3351         * combine.c (try_combine): If i3_subst_into_i2, properly check for
3352         I3 having more than one SET.
3354 2001-01-16  Jim Wilson  <wilson@redhat.com>
3356         * invoke.texi: Document IA-64 options.
3358         * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
3359         (fixup_errata): Delete TARGET_A_STEP use.
3360         * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
3361         (TARGET_SWITCHES): Delete -ma-step option.
3362         * config/ia64/ia64.md (all FP patterns): Delete %B0.
3363         (movqicc_astep, movqi_internal_astep, movhicc_astep,
3364         movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
3365         movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
3366         movdfcc_astep, movdf_internal_astep, movtfcc_astep,
3367         movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
3368         Delete.
3369         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
3370         movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
3371         cmovsi_internal): Delete ! TARGET_A_STEP check.
3373 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3375         * gcc.texi (Bug Lists): Do not mention newsgroups nor the
3376         possibility to report bugs via postal mail. Change a URL and
3377         merge in a nearly duplicate statement...
3378         (Bug Reporting): ...from here.
3379         (Service): Refer to the Bug Reporting section instead of
3380         duplicating an URL.
3381         (Contributing): Remove trivial explanations concerning snapshots.
3383 2001-01-16  Alan Modra <alan@linuxcare.com.au>
3385         * cppmain.c (general_init): Don't use ANSI prototype.
3387 2001-01-16  Tom Tromey  <tromey@redhat.com>
3389         * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
3391 2001-01-16  Richard Henderson  <rth@redhat.com>
3393         * config/i386/i386.h: Fix comment typo.
3394         * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
3395         (ashr+compare patterns): Match CCGOCmode not CCNOmode.
3397 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
3399         * gcc.c:  Revert previous -fsyntax-only-related change; move
3400           to cp/g++spec.c.
3402 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
3404         * config/i386/i386.c (fcmov_comparison_operator): Only initialize
3405         inmode after checking GET_CODE (op).
3407 2001-01-16  Richard Henderson  <rth@redhat.com>
3409         * flow.c (struct propagate_block_info): Add mem_set_list_len.
3410         (MAX_MEM_SET_LIST_LEN): New.
3411         (propagate_one_insn): Update mem_set_list_len.
3412         (invalidate_mems_from_autoinc): Likewise.
3413         (invalidate_mems_from_set): Likewise.
3414         (mark_used_regs): Likewise.
3415         (init_propagate_block_info): Likewise.  Stop collecting memories
3416         when we reach MAX_MEM_SET_LIST_LEN.
3417         (mark_set_1): Likewise.
3419 2001-01-16  Richard Henderson  <rth@redhat.com>
3421         * unroll.c (precondition_loop_p): Fail if no iteration
3422         variable found.
3424 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
3426         * gcc.c:  When -fsyntax-only is given, do not complain about
3427           unused libraries.
3429 2001-01-15  Richard Henderson  <rth@redhat.com>
3431         * config/i386/i386.c (asm_output_function_prefix): Remove.
3432         (ix86_asm_file_end): New.
3433         (load_pic_register): Generate pic_label_name into a
3434         staticly allocated buffer.
3435         * config/i386/i386-protos.h: Update.
3436         * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
3437         (ASM_FILE_END): New.
3438         * config/i386/i386afe.h: New file.
3439         * config.gcc (i?86-*-elf) [tm_file]: Use it.
3440         (i?86-*-{freebsd,linux*,moss*}): Likewise.
3441         * config/elfos.h (ASM_FILE_END): Undef before redefinition.
3442         * config/i386/cygwin.h (ASM_FILE_END): Likewise.
3443         * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
3444         * config/i386/sco5.h (ASM_FILE_END): Likewise.
3445         * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
3447 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
3449         * Makefile.in (install-man): Remove explicit dependency on
3450         $(srcdir)/gcc.1.
3452         * configure.in, configure: Revert previous patch requiring perl
3453         5.6.0.
3455 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
3457         * toplev.c (flag_guess_branch_prob): New.
3458         (f_options): Add guess-branch-probability option.
3459         (rest_of_decl_compilation): Only estimate branch probability if
3460         flag set.
3461         (main): set flag_guess_branch_prob.
3463         * flags.h (flag_guess_branch_prob): New.
3465 2001-01-15  DJ Delorie  <dj@redhat.com>
3467         * gcc.texi (Makefile): Add documentation for Makefile targets.
3469 2001-01-15  Philip Blundell  <philb@gnu.org>
3471         * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
3472         (is_pic): Delete.
3473         * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
3474         (is_pic): Delete declaration.
3475         * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
3476         (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
3477         * config/arm/arm.md (builtin_setjmp_receiver): New.
3479 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
3481         * arm.c (use_return_insn): Don't try to determine the function type
3482         until after reload has completed.
3483         (arm_output_epilogue): Don't adjust the sp value recovered from the
3484         stack.
3485         (emit_multi_reg_push): Don't record dwarf information for the pc.
3486         * arm.md (eh_epilogue): The function type may have changed, so it
3487         needs to be recalculated.
3488         * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
3489         unwind tables on arm/netbsd.
3491 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
3493         * arm.md (cbranchsi4): Correct calculation of branch ranges.
3494         (negated_cbranchsi4): Likewise.
3496 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
3498         * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
3499         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
3500         (ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
3501         pass -mapcs-* options to assembler.
3502         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
3503         (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
3504         (ASM_SPEC): Call subtarget_extra_asm_spec.
3506 2001-01-15  Andreas Jaeger  <aj@suse.de>
3508         * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
3509         warnings.
3510         (ix86_expand_builtin): Likewise.
3512         * gencodes.c (output_predicate_decls): Make i size_t to avoid
3513         warning about comparison between signed and unsigned.
3515 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
3517         * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
3519 2001-01-14  Ralf Baechle <ralf@gnu.org>
3521         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
3522         SUBTARGET_CPP_SPEC apropriatly.
3524 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
3526         * varasm.c (make_decl_rtl): Fix typo in last change.
3528 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
3530         * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
3531         linker supports the init_priority C++ attribute.
3532         * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
3533         * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
3534         linker does not support init_priority C++ attribute.
3536 Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
3538         * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
3540 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3542         * c-parse.in (finish_parse): Add comment about cpp_destroy.
3543         * cp/lex.c (finish_parse): Similarly.
3544         * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
3545         Return the number of errors encountered.
3546         * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
3547         * cppmain.c (main): Don't call cpp_destroy.
3549 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
3551         * configure.in: Require at least perl 5.6.0 to regenerate
3552         manpages.
3553         * configure: Regenerate.
3555 2001-01-14  Richard Henderson  <rth@redhat.com>
3557         * genrecog.c (DT_veclen_ge): New.
3558         (add_to_sequence) [MATCH_PARALLEL]: Generate one.
3559         (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
3560         (nodes_identical_1): Handle DT_veclen_ge.
3561         (write_cond, debug_decision_2): Likewise.
3563 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
3565         * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
3566         with ...
3567         (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
3569 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3571         * cppmain.c (do_preprocessing): New function; most of the old
3572         main.
3573         (main): Call it to do most of the work.
3574         (cb): Move from global scope to set_callbacks ().
3575         (setup_callbacks): Get the callback pointer.
3576         (general_init, printer_init): Clean up code and comments.
3578 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
3580         * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
3581         compiling PIC.
3583 2001-01-14  Kazu Hirata  <kazu@hxi.com>
3585         * config/h8300/h8300.c (get_shift_alg): Update comments.
3587 Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3589         * ggc-page.c (alloc_annon): Call perror and correctly call exit.
3590         (alloc_page, ggc_alloc): Add casts to remove warnings.
3592 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
3594         * combine.c (simplify_comparison): Don't change `code' when
3595         can't reverse comparison.
3597 2001-01-14  Richard Henderson  <rth@redhat.com>
3599         * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
3600         update all call sites.  Return true for all non-label constants.
3602 Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
3604         * i386.c (ix86_expand_compare): Add bypass_test and second_test
3605         parameters.
3606         (ix86_expand_branch): Update.
3607         (ix86_expand_setcc): Update to handle multiple test conditions.
3608         (expand_int_movcc): Likewise.
3609         (expand_fp_movcc): Likewise.
3610         * i386-protos.h (ix86_expand_compare): New.
3611         * i386.md (andqi_?_slp, orqi_?_slp): New.
3612         (conditional trap expander): Update call to ix86_expand_compare.
3614 2001-01-14  Richard Henderson  <rth@redhat.com>
3616         * config/vax/vax.md: Use nonimmediate_operand instead of
3617         general_operand in destinations.
3619         * config/vax/vax.md (indirect_jump): Use register_operand.
3621         * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
3622         * config/vax/vax.md (call_pop): Turn into an expander.
3623         (call_value_pop): Likewise.
3624         (call, call_value): New.
3626 2001-01-14  Andreas Jaeger  <aj@suse.de>
3628         * config/i386/i386.c (ix86_split_fp_branch): Remove unused
3629         variables.
3630         (ix86_fp_compare_mode): Add unused attribute.
3631         (ix86_expand_fp_movcc): Remove unused variable.
3632         (ix86_expand_builtin): Make fcode unsigned.
3634         * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
3635         (expand_expr): Add cast to avoid signed warning.
3636         (store_field): Likewise.
3637         (store_constructor_field): Likewise.
3638         (store_constructor): Likewise.
3639         (store_expr): Likewise.
3640         (clear_storage): Likewise.
3641         (emit_group_store): Likewise.
3642         (emit_group_load): Likewise.
3644 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3646         * c-common.c: Move format checking code to ...
3647         * c-format.c: ... here.  New file.  Reorder some functions and
3648         declarations.
3649         (decl_handle_format_attribute, decl_handle_format_arg_attribute):
3650         New functions.
3651         * c-common.h (decl_handle_format_attribute,
3652         decl_handle_format_arg_attribute): Declare.
3653         * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
3654         (c-common.o): Adjust dependencies.
3655         (c-format.o): New list of dependencies.
3657 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
3659         * unroll.c (loop_iterations): If we cannot prove iteration variable
3660         is set once in each iteration, punt.
3662 Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
3664         * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
3665         (*strlenhi): Remove clobber (which was buggy) of output address.
3667 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3669         * Makefile.in (generated-manpages): Add gcc.1
3670         ($(srcdir)/gcc.1): New target.
3671         (maintainer-clean): Delete $(srcdir)/gcc.1.
3672         * gcc.texi: Add macros @gccoptlist and @gol.
3673         * invoke.texi: Include option summary in manpage.  Mark up option
3674         summary with @gccoptlist and @gol.  Use @r in one place where
3675         appropriate.
3676         * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
3677         * gcc.1: Generate from invoke.texi.
3679 2001-01-13  Richard Henderson  <rth@redhat.com>
3681         * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
3682         (struct page_entry): Add group member.
3683         (struct page_group): New.
3684         (struct globals): Add page_groups member.
3685         (alloc_anon): Only define for using mmap; remove valloc call.
3686         (page_group_index): New.
3687         (set_page_group_in_use): New.
3688         (clear_page_group_in_use): New.
3689         (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
3690         (free_page, release_pages): Likewise.
3691         * configure.in (with-gc): Default to ggc-page always.
3693 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
3695         * reload1.c (replace_pseudos_in_call_usage): Use
3696         reg_equiv_constant and reg_equiv_address, and don't try
3697         regno_reg_rtx first.
3699 2001-01-13  Richard Henderson  <rth@redhat.com>
3701         * ggc-page.c (alloc_page): Round up allocation size to one page.
3702         Set e->order on extra pages.
3704 2001-01-13  Richard Henderson  <rth@redhat.com>
3706         * genrecog.c (nodes_identical): Expand commentary.
3707         (write_switch): Watch out for identical nodes.
3709 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3711         * cppfiles.c (_cpp_fake_include): New function.
3712         * cpphash.h (_cpp_fake_include): New.
3713         * cpplib.c (do_line): Call _cpp_fake_include when entering
3714         header files in preprocessed input.
3715         * cppmain.c (cb_pragma_implementation): Remove handling.
3716         (setup_callbacks): Don't register pragmas.
3718 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3720         * extend.texi: Udate for CPP.
3722 2001-01-13  Andreas Jaeger  <aj@suse.de>
3724         * reload1.c: Add prototype for replace_pseudos_in_call_usage.
3726         * regmove.c: Add prototype for replace_in_call_usage.
3728 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3730         * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
3731         struct cpp_chunk, struct htab, struct toklist,
3732         struct cpp_context, CPP_STACK_MAX, struct lexer_state,
3733         struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
3734         CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
3735         ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
3736         (struct macro_args): Delete.
3737         * cpphash.h: See above.
3739 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3741         * cppmain.c (struct printer): Remove no_line_dirs.
3742         (options, cb): New.
3743         (main, setup_callbacks, scan_buffer, printer_init, cb_define)
3744         : Use options rather than CPP_OPTION.
3745         (setup_callbacks): Use cb rather than pfile->cb.
3746         (main): No need to check for a buffer.  Use cpp_errors.
3747         (printer_init): Don't set no_line_dirs.
3748         (maybe_print_line): Use options not no_line_dirs.
3749         (cb_file_change): Don't call print_line if -P.
3751 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3753         * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
3754         callbacks.
3755         * c-parse.in (finish_parse): Use cpp_errors.
3756         (__yylex): Use return value of cpp_pop_buffer.
3757         * cp/lex.c (finish_parse): Use cpp_errors.
3758         * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
3760 Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
3762         * README.AVR: URLs corrected.
3764 Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3766         * c-decl.c (start_function): Don't warn if old prototype is builtin
3767         that's not in C's namespace.
3768         * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
3769         (_bb): Add prototype for ctime.
3770         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
3772 Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
3774         * i386.c (ix86_fp_comparison_arithmetics_cost,
3775         ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
3776         ix86_fp_comparison_cost): New functions.
3777         (ix86_expand_fp_compare): Use the costs to choose best bethod; add
3778         two new parameters SECOND_TEST and BYPASS_TEST; allow generating
3779         two-branch sequences; make static.
3780         (ix86_use_fcomi_compare): Do decision according to the costs.
3781         (split_fp_branch): New.
3782         * i386.md (compare-and-branch patterns): Use split_fp_branch.
3783         * i386-protos.h (ix86_expand_fp_compare): Remove
3784         (ix86_split_fp_branch): Declare.
3786         * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
3787         and ix86_comparison_operator.
3789         * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
3790         to make it cheaper.
3792         * i386.c (put_condition_code): Output properly the unordered/ordered
3793         compares in fp case.
3794         (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
3796         * tm.texi (REVERSE_CONDITION): Document.
3797         * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
3798         in -ffast-math mode.
3799         * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
3801 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
3803         * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
3805         * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
3806         optimized away.
3808         * config/sh/sh.c (mova_p): Fix test for mova_const.
3810 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3812         * fix-header.c (read_scan_file): Use cpp_get_callbacks and
3813         cpp_get_options rather than dereferencing pfile and using
3814         CPP_OPTION.
3815         * scan-decls.c (scan_decls): Use return value of
3816         cpp_pop_buffer rather than CPP_BUFFER.
3818 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3820         * cppinit.c (cpp_handle_option): help_only is now part of the
3821         cpp_options structure.
3822         * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
3823         cpp_set_callbacks): New functions.
3824         * cpplib.h (cpp_callbacks): Break out as a named structure.
3825         (cpp_options): Move help_only here from cpp_reader.
3826         (CPP_FATAL_ERRORS): Update to use cpp_errors.
3827         (cpp_errors, cpp_get_options, cpp_get_callbacks,
3828         cpp_set_callbacks): New prototypes.
3829         * cppmain.c (main): Update for help_only.
3831 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3833         * Makefile.in (info, maintainer-clean, install-info, uninstall):
3834         Also build and remove and install and uninstall c-tree.info and
3835         cppinternals.info.
3836         ($(srcdir)/gcc.info): Add dependency on contrib.texi.
3837         ($(srcdir)/cppinternals.info): New target.
3838         * c-tree.texi: Change file name used when makeinfo used without -o
3839         from ir.info to c-tree.info.  Add info directory entry.
3840         * cppinternals.texi: Add info directory entry.
3841         * .cvsignore: Update.
3843 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
3845         * c-typeck.c (store_init_value): Don't require constant initializer
3846         elements with -pedantic -std=c99.
3847         (digest_init): Change error about non-constant initializer elements
3848         into pedwarn.
3849         (constructor_range_end): Remove.
3850         (constructor_incremental, designator_depth,
3851         designator_errorneous): New variables.
3852         (struct constructor_stack): Remove range_end, add incremental.
3853         (struct constructor_range_stack, constructor_range_stack): New.
3854         (struct initializer_stack): Add constructor_range_stack.
3855         (finish_init): Set it.
3856         (start_init): Likewise.  require_constant_elements for non-static
3857         trees only if not flag_isoc99.
3858         (really_start_incremental_init): Remove constructor_range_end, add
3859         constructor_incremental.
3860         (pop_init_level): Likewise.
3861         (push_init_level): Likewise.  If implicit and the subobject had some
3862         value set already, preinitialize the level with it.
3863         Warn about missing braces only if not pushing due to designators.
3864         (set_designator, push_range_stack): New functions.
3865         (set_init_label): Use them.
3866         (set_init_index): Likewise.  Remove constructor_range_end.
3867         Error if designator index is outside of array bounds.
3868         (add_pending_init): Compare values of purpose index trees, not the
3869         trees themselves.  Allow overwriting of already initialized element.
3870         Issue a warning if it had side-effects.
3871         (set_nonincremental_init, set_nonincremental_init_from_string): New
3872         functions.
3873         (pending_init_member): Rename to...
3874         (find_init_member): ...this function.  Call set_nonincremental_init
3875         if necessary.  Compare values of purpose index trees, not the trees
3876         themselves.  Return the actual value, not just non-zero if something
3877         is found.
3878         (output_init_element): Remove checks for duplicates.
3879         If field has zero size, only check the initializer for correctness.
3880         Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
3881         if constructor_incremental is zero.  Change error about initializers
3882         not computable at load time into pedwarn.
3883         (output_pending_init_elements): Compare bit positions, not
3884         FIELD_DECLs to take into account zero-sized fields.
3885         (process_init_element): Use constructor_range_stack to fill all
3886         ranges in the designator lists from current level up.
3887         * extend.texi: Update documentation for labeled elements.
3889 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
3891         * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
3892         to function usage for arguments passed by reference.  Optimize
3893         callee-copied arguments.
3894         * regmove.c (replace_in_call_usage): New function.
3895         (fixup_match_1): Call it.
3896         * cse.c (cse_insn): Canonicalize registers in function usage.
3897         * reload1.c (replace_pseudos_in_call_usage): New function.
3898         (reload): Call it.
3900         * Makefile.in: Reverted yesterday's wrong patch.  Installed the
3901         right version.
3903 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
3905         * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
3906         not XEXP (tmp, 0).
3908 2001-01-12  DJ Delorie  <dj@redhat.com>
3910         * Makefile.in (bootstrap): rename stages to be mnemonic.  Add
3911         restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
3912         targets.
3914 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3916         * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
3917         tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
3918         -std options alongside references to -ansi.  Update some
3919         documentation for C99.
3920         * cpp.1: Regenerate.
3922 2001-01-12  Andreas Jaeger  <aj@suse.de>
3924         * haifa-sched.c (restore_line_notes): Remove argument block B
3925         since it's unused.
3926         * sched-ebb.c (schedule_ebb): Change caller.
3927         * sched-rgn.c (schedule_region): Likewise.
3928         * sched-int.h (restore_line_notes): Adjust prototype.
3930         * loop.h: Remove wrong declaration of doloop_condition_get.
3932 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
3934         * extend.texi:  Move C++-extension-related node from the C section
3935           into the C++ section.
3937 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3939         * extend.texi: Refer to an array of pointers to functions instead
3940         of one of functions.
3942 Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
3943                               Jan Hubicka  <jh@suse.cz>
3945         * combine.c (reversed_comparison): Fix typo in last patch.
3946         Check X for NULL.
3947         (combine_reversed_comparison_code): Make static to follow
3948         prototype declaration.
3950 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
3952         * install.texi:  Remove misplaced duplicate entry.
3954 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
3956         * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
3958 Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
3960         * final.c: (leaf_function_p): Fix typo.
3962 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
3964         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
3965         Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
3966         which you have.
3967         (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
3968         * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
3969         mmap_anon, and valloc is available.
3970         * ggc-page.c: Restructure ifdef logic to match new autoconf
3971         spec.  Don't throw away the test page in init_ggc.
3973         * configure, config.in: Regenerate.
3975 2001-01-12  Michael Hayes  <mhayes@redhat.com>
3977         * loop.h (total_biv_increment): Constify iv_class pointer.
3978         (struct induction): Replace `mem_mode' with `mem' rtx.
3979         * unroll.c (total_biv_increment): Constify iv_class pointer.
3980         * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
3981         (find_mem_givs, combine_givs_p): Likewise.
3982         (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
3984 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
3986         * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
3987         LastError.
3988         (__gthread_getspecific): Ditto.
3990 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
3992         * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
3993         put_condition_code): Convert fp comparison codes to integer
3994         before handling.
3995         (ix86_expand_fp_compare): Postnote the fp comparison code converison
3996         to final.
3998         * i386.c (unsigned_comparison, no_comparison_operator): Kill.
3999         * i386-protos.h (no_comparison_operator): Kill.
4001         * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
4003         * combine.c (REVERSIBLE_CC_MODE): Remove.
4004         (reversible_comparison_p): Remove.
4005         (combine_reversed_comparison_code): New.
4006         (reversed_comparison): New.
4007         (combine_simplify_rtx): Use
4008         combine_reversed_comparison_code/reversed_comparison instead
4009         of reversible_comparison_p.
4010         (simplify_if_then_else): Likewise.
4011         (simplify_set): Likewise.
4012         (simplify_logical): Likewise.
4013         (if_then_else_cond): Likewise.
4014         (known_cond): Likewise.
4015         (simplify_comparison): Likewise.
4017 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
4019         * builtins.c (std_expand_builtin_va_start): Handle varargs when
4020         sizeof (int) is larger than sizeof(__word__).
4022 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4024         * cppinit.c (do_includes): Fix typo.
4026 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4028         * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
4029         in S_REGS does not occur because not all sources are possible
4030         when a S_REGS is a destination (sometimes needs a clobber).
4031         (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
4032         (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
4033         (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
4034         (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
4035         (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
4036         (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
4037         (lshrdi_const1, lshrsi3_const16): Likewise.
4038         (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
4039         (*movhi_68hc12, *movqi_68hc12): Likewise.
4040         (movstrictqi): Make sure reloading in D_REGS as a destination
4041         does not happen.
4043 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4045         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
4047 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4049         * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
4050         -D, -U and -A, and don't initialize the builtins.
4051         (do_includes): Error if -include or -imacros with -fpreprocessed.
4052         * cppmain.c (cb_define, cb_undef): Unconditionally process
4053         the callback.
4054         * tradcpp.c (main): Fix typo.
4056 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
4058          * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
4059            (read_name_map): Use IS_ABSOLUTE_PATH.
4060          * tradcpp.c (get_filename): Likewise.
4062 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4064         * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
4065         (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
4066         (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
4067         (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
4068         (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
4069         (cmphi_z_used): Don't use '@' for the output.
4070         (tstqi_z_used): Likewise.
4071         (cmpqi_z_used): Likewise.
4072         (one_cmplsi2): Likewise.
4074 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
4076         * config/sh/sh.c (barrier_align): Recognize branch around far
4077         branch and redundant insn.
4079 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
4081         * invoke.texi: Restore documentation of the drivers' switches -MD
4082         and -MMD.
4084 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
4086         * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
4088         * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
4089         check-objc//%): Support parallel testing of multilibs.
4090         (TESTSUITEDIR): Set to testsuite by default, but override for
4091         parallel testing.
4092         (check-gcc, check-g++, check-g77, check-objc): Enter
4093         $(TESTSUITEDIR).
4095 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
4097         * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
4098         * sched-deps.c (deps_may_trap_p): Likewise.
4099         * basic-block.h: Remove a comment.
4100         * flow.c (PROP_POSTRELOAD): Remove.
4101         (update_life_info): Don't add it to prop_flags.
4102         (mark_set_1): Lose the code that was enabled by it.
4104 2001-01-11  Michael Hayes  <mhayes@redhat.com>
4106         * flow.c (flow_call_edges_add): New.
4107         * basic_block.h (flow_call_edges_add): New.
4109 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
4111         * reload1.c (move2add_note_store): Update reg_set_luid even if
4112         base reg remains the same.
4114 2001-01-10  Nick Clifton  <nickc@redhat.com>
4116         * config/d30v/d30v.c (d30v_init_machine_status): Initialise
4117         machine_function structure to zero.
4118         Add prototypes for machine_status functions.
4120 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
4122         * c-common.h (CTI_VOID_LIST): Remove.
4123         (void_list_node): Likewise.
4124         * tree.h (TI_VOID_LIST_NODE): New enumeral.
4125         (void_list_node): New macro.
4126         * config/arm/arm.c (arm_init_builtins): Use void_list_node.
4127         * config/i386/i386.c (ix86_init_builtins): Likewise.
4128         * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
4130 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
4132         * Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
4133         * cppinit.c (cpp_start_read): Update comment, remove unneeded
4134         if statement.
4135         * tradcpp.c: Include mkdeps.h.
4136         (deps, print_deps_phony_targets, deps_append, output_deps,
4137         init_dependency_output, output_deps): New.
4138         (deps_buffer, deps_allocated_size, deps_size, deps_column,
4139         deps_output): Delete.
4140         (print_deps_missing_files): Rename deps_missing_files.
4141         (inhibit_output): Make global.
4142         (main): Delete inhibit_output, deps_stream, deps_target.
4143         Use mkdeps functionality in the same way as cpplib.  Remove
4144         -g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
4145         -M and -MM.  Remove old handling of deps via deps_out, and
4146         old reading of environment variables.
4147         (get_filename): Update to use deps_add_dep.
4149 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
4151         * output.h (make_function_rtl): Remove prototype.
4152         (make_decl_rtl): Likewise.
4153         * varasm.c (make_function_rtl): Remove.
4154         (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
4155         than from a third parameter.
4156         * tree.h (make_decl_rtl): Remove last parameter.
4157         * c-decl.c (builtin_function): Remove last argument in call to
4158         make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
4159         (start_function): Likewise.
4160         * except.c (call_get_eh_context): Likewise.
4161         * expr.c (emit_block_move): Likewise.
4162         (clear_storage): Likewise.
4163         * profile.c (output_func_start_profiler): Likewise.
4164         * toplev.c (rest_of_decl_compilation): Likewise.
4165         * objc/objc-act.c (create_builtin_decl): Likewise.
4166         (synth_module_prologue): Likewise.
4167         (generate_static_reference): Likewise.
4168         (build_selector_reference_decl): Likewise.
4169         (build_class_reference_decl): Likewise.
4170         (build_objc_string_decl): Likewise.
4171         (build_protocol_reference): Likewise.
4173 2001-01-10  Richard Henderson  <rth@redhat.com>
4175         * hwint.h: Revert yesterday's change.
4177 2001-01-10  Nick Clifton  <nickc@redhat.com>
4179         * function.h (save_machine_status): Delete.
4180         (restore_machine_status): Delete.
4181         Amend comment describing {init|mark|free}_machine_status.
4183         * function.c (save_machine_status): Delete.
4184         (restore_machine_status): Delete.
4185         Amend comment describing {init|mark|free}_machine_status.
4186         (push_function_context_to): Remove invocation of
4187         save_machine_status.
4188         (pop_function_context_from): Remove invocation of
4189         restore_machine_status.
4191         * emit-rtl.c (init_emit_once): Amend comment describing
4192         {init|mark|free}_machine_status.
4194         * tm.texi (Per-Function Data): New node.  Describe the
4195         INIT_EXPANDERS macro and the {init|mark|free}_machine_status
4196         function pointers.
4198 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
4200         * cppinit.c (OPT_g): Remove.
4201         (cpp_handle_option): Update for removed -g3.
4202         (print_help): Update.
4203         * cpplib.h (struct cpp_options): Remove debug_output.
4204         * cppmain.c (setup_callbacks, cb_define): Update.
4205         * gcc.c (cpp_options): Translate -g3 to -dD.
4207 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
4209         * config/i960/i960.md: Change modifier to + on the zero_extract
4210         pattern after the (rotate -2 reg) canonicalization pattern.
4212 2001-01-10  Richard Henderson  <rth@redhat.com>
4214         * config/alpha/alpha.c (alpha_free_machine_status): New.
4215         (override_options): Install it.
4216         (alpha_mark_machine_status): Verify machine non-null.
4217         * config/i386/i386.c (ix86_free_machine_status): New.
4218         (override_options): Install it.
4219         (ix86_init_machine_status): Use xcalloc.
4220         (ix86_mark_machine_status): Verify machine non-null.
4221         * config/ia64/ia64.c (ia64_free_machine_status): New.
4222         (ia64_override_options): Install it.
4223         (ia64_mark_machine_status): Verify machine non-null.
4225 Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
4227         * function.c (instantiate_virtual_regs): Instantiate virtual
4228         registers found in CALL_INSN_FUNCTION_USAGE.
4230 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4232         * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
4233         equivalent to -ansi in disabling -Di386.
4235 Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
4237         * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
4238         new functions.
4239         (ix86_expand_fp_compare): Make trivial use of new infrastructure.
4241 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
4243         * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
4245 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4247         * invoke.texi: Document that -fcond-mismatch isn't supported for
4248         C++.
4250 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
4252         * gcc.texi: Define macro gcctabopt.
4253         * invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
4254         @command, @env and @option in some places where appropriate.  Use
4255         @gcctabopt where appropriate.  Put URLs and email addresses inside
4256         @w.
4258 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
4260         * gcc.c (cpp_options): Set MD file name from output
4261         filename, if specified.
4262         (suffix_subst): New static variable.
4263         (do_spec): Clear it.
4264         (do_spec_1, case '.'): Handle new `%.suffix' spec.
4265         Clear it.
4266         (give_switch): Handle suffix_subst.
4268 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
4270         * invoke.texi:  Fix another typo.
4272 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
4274         * invoke.texi:  Fix typo.
4276 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
4278         * c-lang.c (lang_hooks): Update.
4279         (lang_decode_option): Remove.
4280         (lang_init_options): Rename c_init_options.
4281         * toplev.c (main): Use lang_hooks for lang_init_options
4282         and lang_decode_option.
4283         * toplev.h (lang_hooks): Add 2 new hooks.
4284         * tree.h: Remove lang_init_options and lang_decode_option.
4285         * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
4286         * cp/decl2.c: Similarly.
4287         * cp/lex.c (lang_init_options): Rename cxx_init_options.
4288         (lang_hooks): Update.
4289         * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
4290         for consistency.
4291         (lang_init_options): Rename ffe_init_options.
4292         (lang_hooks): Update.
4293         (lang_decode_option): Remove.
4294         * java/lang.c (lang_init_options): Rename java_init_options.
4295         (lang_decode_option): Rename java_decode_option.
4296         (lang_hooks): Update.
4297         * objc/objc-act.c (lang_init_options): Rename objc_init_options.
4298         (lang_decode_option): Rename objc_decode_option.
4299         (lang_hooks): Update.
4301 2001-01-09  Nick Clifton  <nickc@redhat.com>
4303         * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
4304         (d30v_return_addr_rtx): Delete.
4305         (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
4306         cfun->machine structure.
4307         (struct machine_function): Move to d30v.h
4308         (d30v_save_machine_status): Delete.
4309         (d30v_restore_machine_status): Delete.
4310         (d30v_init_machine_status): New Function.
4311         (d30v_mark_machine_status): New Function.
4312         (d30v_free_machine_status): New Function.
4313         (d30v_init_expanders): Use new functions.
4314         (d30v_return_addr): Use ra_rtx field in cfun->machine.
4315         (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
4316         d30v_return_addr_rtx.
4318         * config/d30v/d30v.h (struct_machine): Move here.
4319         Add eh_epilogue_sp_ofs field.
4321         *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
4322         field in cfun->machine structure.
4324 Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4326         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
4327         PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
4328         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
4330 Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
4332         * objc/lang-options.h: Remove bogus reference to
4333         Java trademark.
4335 2001-01-09  Kazu Hirata  <kazu@hxi.com>
4337         * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
4338         return the result.
4340 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
4342         * reload.c (find_reloads_address): Check for eliminable registers
4343                   when substituting a constant expression for a pseudo.
4345 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
4347         * c-common.c (enum format_type): Add format_type_error.
4348         (decode_format_type): New function.
4349         (decl_attributes): Use it.
4350         (format_kind_info): Adjust comment.
4352 2001-01-09  David O'Brien  <obrien@BSDi.com>
4354         * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
4355         i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
4356         files in tm_file.
4357         * config/i386/gnu.h: Don't include required platform specific .h files,
4358         tm.h will do it instead.
4359         * config/i386/i386elf.h: Likewise.
4360         * config/i386/linux.h: Likewise.
4361         * config/i386/moss.h: Likewise.
4362         * config/mips/gnu.h: Likewise.
4364 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4366         * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
4367         (rs6000-ibm-aix3.[01]*): Likewise.
4368         (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
4369         (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
4370         (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
4371         (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
4372         (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
4373         (powerpc-*-eabiaix*): Likewise.
4374         (powerpc-*-eabisim*): Likewise.
4375         (powerpc-*-elf*): Likewise.
4376         (powerpc-*-eabi*): Likewise.
4377         (powerpc-*-rtems*): Likewise.
4378         (powerpc-*-linux*libc1): Likewise.
4379         (powerpc-*-linux*): Likewise.
4380         (powerpc-wrs-vxworks*): Likewise.
4381         (powerpcle-wrs-vxworks*): Likewise.
4382         (powerpcle-*-sysv*): Likewise.
4383         (powerpcle-*-elf*): Likewise.
4384         (powerpcle-*-eabisim*): Likewise.
4385         (powerpcle-*-eabi*): Likewise.
4386         (powerpcle-*-solaris2*): Likewise.
4387         * config/rs6000/aix31.h: Delete includes.
4388         * config/rs6000/aix3newas.h: Likewise.
4389         * config/rs6000/aix41.h: Likewise.
4390         * config/rs6000/aix43.h: Likewise.
4391         * config/rs6000/beos.h: Likewise.
4392         * config/rs6000/rtems.h: Likewise.
4393         * config/rs6000/sysv4.h: Likewise.
4395 2001-01-09  Kazu Hirata  <kazu@hxi.com>
4397         * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
4398         Change an argument mode of machine_mode to shift_mode of
4399         shift_mode.  Remove an extra error check.
4400         (emit_a_shift): Adopt to the new calling prototype of
4401         get_shift_alg.
4402         (function_prologue): Fix code for a monitor
4403         function.  Support H8/S.
4404         (function_epilogue): Do not output pop for a monitor function.
4406 2001-01-09  Nick Clifton  <nickc@redhat.com>
4408         * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
4409         (setup_incoming_varargs): Use sysv_varargs_p field of the
4410         cfun->machine structure.
4411         (struct machine_function): Move to rs6000.h
4412         (rs6000_save_machine_status): Delete.
4413         (rs6000_restore_machine_status): Delete.
4414         (rs6000_init_machine_status): New Function.
4415         (rs6000_free_machine_status): New Function.
4416         (rs6000_init_expanders): Use new functions.
4418         * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
4419         export.
4420         (struct machine_function): Move here.
4422         * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
4423         sysv_varargs_p field of the cfun->machine structure.
4425         * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
4426         Remove prototype.
4427         (rs6000_restore_machine_status): Remove prototype.
4429 2001-01-09  Richard Henderson  <rth@redhat.com>
4431         * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
4432         reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
4433         * sched-deps.c (sched_analyze_1): Update uses of struct deps.
4434         (sched_analyze_2, sched_analyze_insn): Likewise.
4435         (sched_analyze, init_deps): Likewise.
4436         (free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
4437         * sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
4438         (compute_block_backward_dependences): Update propagate_deps call.
4440 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
4442         * gcc.c (process_command): Set switches[n_switches].ordering to 0.
4444 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4446         * cppinit.c (OPT_MD, OPT_MMD): Restore.
4447         (cpp_handle_option): Handle them.
4448         (cpp_post_options): Ensure one of -M or -MM is specified with
4449         any other -M? option.
4450         (init_dependency_output): Suppress output with -MG.
4452 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4454         * cpp.texi: Update.
4455         * invoke.texi: Update.
4457 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
4459         * sh.md (reload_outsf): Generate recognizable patterns for
4460         TARGET_SH3E.
4462 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4464         * c-lang.c (lang_hooks): Update.
4465         (lang_init): Rename c_init.
4466         (lang_finish): Remove.
4467         * toplev.c (compile_file): Use lang_hooks for lang_init ()
4468         and lang_finish ().
4469         * toplev.h (lang_hooks): Add init () and finish ().
4470         * tree.h (lang_init, lang_finish): Remove.
4471         * cp/tree.h (lang_init, lang_finish): Remove.
4472         * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
4473         * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
4474         lang_hooks): New.
4475         (lang_init, lang_finish): Remove.
4476         * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
4477         (lang_hooks): Update.
4478         * java/lang.c (lang_init): Rename java_init.
4479         (lang_finish): Remove.
4480         (lang_hooks): Update.
4481         * objc/objc-act.c (lang_init): Rename objc_init.
4482         (lang_finish): Remove.
4483         (lang_hoooks): Update.
4485 20001-01-09  Graham Stott  <grahams@redhat.com>
4487         * cppfiles.c (_cpp_execute_include): Move `len` initialisation
4488         after `ptr` is initialised.
4490 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
4492         * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
4493         (INITIALIZE_TRAMPOLINE): Adjust accordingly.
4494         * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
4495         stack adjusts, instead of r3.
4497 2001-01-09  Michael Hayes  <mhayes@redhat.com>
4499         * flow.c (flow_loop_scan): Break out of ...
4500         (flow_loops_find) ... here.
4501         * basic-block.h (flow_loop_scan): New.
4502         (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
4503         (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
4505 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
4507         * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
4508         macro_buffer_len.
4509         * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
4510         realloc()ing macro_buffer.
4512         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
4513         if it's wider than long and the target's long is wider than the
4514         host's.
4516 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
4518         Remove support for using UWIN as a host machine.
4519         * configure.in: Issue an error message.
4520         * configure: Regenerated.
4521         * config.gcc: Remove xm_* UWIN configury.
4522         * config/i386/xm-uwin.h: Remove.
4524 2001-01-08  Nick Clifton  <nickc@redhat.com>
4526         * config/v850/v850.c (ra_rtx): Delete.
4527         (v850_save_machine_status): Delete.
4528         (v850_restore_machine_status): Delete.
4529         (v850_init_machine_status): New function.
4530         (v850_mark_machine_status): New function.
4531         (v850_free_machine_status): New function.
4532         (v850_return_addr): Use ra_rtx field in machine structure.
4533         (v850_init_expanders): Use new functions.
4535         * config/v850/v850-protos.h: Fix prototypes for v850_output_*
4536         * config/v850/v850.c: Change arguments to v850_output+* functions
4537         to take a const char *, to avoid compile time warning.
4538         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
4539         (USER_LABEL_PREFIX): Redefine.
4541 2000-01-08  Jim Wilson  <wilson@redhat.com>
4543         * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
4544         1 to unsigned HOST_WIDE_INT before left shift.
4546 2001-01-08  Nick Clifton  <nickc@redhat.com>
4548         * config/arm/arm.c (arm_mark_machine_status): Check to see if
4549         the machine structure has been allocated.
4550         (arm_free_machine_status): New function: Free the machine
4551         specific function structure.
4553 2001-01-08  Richard Henderson  <rth@redhat.com>
4555         * jump.c (simplejump_p): Revert last change.
4557 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4559         * cppinit.c (init): Rename init_library.
4560         (cpp_create_reader): Update.
4561         * gcc.c (cpp_options): If -o given, use it as the target of
4562         any -M options.
4564 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
4566         * arm.c (arm_arch5e): New variable.
4567         (all_cores): XScale is a 5TE device.
4568         (arm_override_options): Set arm_arch5e.
4569         (arm_init_builtins): __builtin_prefetch is in arch5e.
4570         * arm.h (arm_arch5e): Declare it.
4572         * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
4574         * arm.md (define_constants): Add defines for UNSPEC and
4575         UNSPEC_VOLATILE insns.  Update all users.
4576         (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
4577         * arm.c (multi_register_push, note_invalid_constants)
4578         (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
4579         * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
4580         (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
4582 Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
4584         * jump.c (jump_optimize_1): Use reversed_comparison_code
4585         instead of can_reverse_comparison_p.
4586         (jump_back_p): Likewise.
4587         (invert_exp_1): Likewise.
4588         (thread_jumps): Likewise.
4589         * simplify-rtx.c (simplify_unary_operation): Likewise.
4590         (simplify_ternary_operation): Likewise.
4591         * cse.c (find_comparison_args): Convert to use
4592         can_reverse_comparison_p.
4593         (record_jump_equiv): Likewise.
4595 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
4597         * arm.h (HARD_REGNO_RENAME_OK): Delete.
4598         (EPILOGUE_USES): Define.
4599         (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
4600         automatically stack the LR if it isn't live.
4602 Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
4604         * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
4605         properly.
4607 Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
4609         * ggc-page.c (max_alignment): New structure.
4610         (MAX_ALIGNMENT): New macro.
4611         (init_ggc): Use it to round up the sizes in the
4612         extra_order_size_table.
4614 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4616         * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
4617         after reload.
4619 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4621         * builtins.def (BUILT_IN_FPRINTF): New entry.
4623         * c-common.c (c_expand_builtin_fprintf): New function.
4624         (init_function_format_info): Handle __builtin_fprintf.
4625         (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
4626         (c_expand_builtin): Handle BUILT_IN_FPRINTF.
4628         * c-decl.c (duplicate_decls): Adjust comment.
4630         * extend.texi (fprintf): Document new builtin.
4632 2001-01-07  Richard Henderson  <rth@redhat.com>
4634         * jump.c (simplejump_p): Recognize any single_set jump
4635         of the proper form.
4637 2001-01-07  Richard Henderson  <rth@redhat.com>
4639         * configure.in (slibdir): Accept an --with-slibdir option.
4640         Use "test" not "[" in configure.  Default to $(libdir).
4642         * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
4643         fix typo in rm -f.
4644         * config/t-aix43 (SHLIB_INSTALL): Likewise.
4645         * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
4646         (SHLIB_LINK): Create links for the soname.
4647         * config/mips/t-iris6: Likewise.
4648         * config/sparc/t-slibgcc: Likewise.
4649         * config/sparc/t-slibgcc-sld: Likewise.
4651 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
4653         * config/i386/i386.c (constant_call_address_operand): Accept
4654         (const (plus (symbol_ref) (const_int))).
4655         * config/i386/i386.h (PREDICATE_CODES): Add CONST for
4656         constant_call_address_operand.
4658 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4660         * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
4661         and LONG_LONG_TYPE_SIZE > 32.
4663 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4665         * jump.c (reversed_comparison_code_parts): Fix typo introduced by
4666         the previous change.
4668 Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
4670         * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
4671         New.
4672         (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
4673         (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
4674         * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
4675         Declare.
4677 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4679         * fix-header.c (read_scan_file): s/pfile/scan_in/.
4681 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4683         * c-lang.c (c_post_options): Call cpp_post_options.
4684         * objc/objc-act.c (objc_post_options): Similarly.
4685         * cppmain.c (main): Similarly.
4686         * fix-header.c (read_scan_file): Similarly.
4687         * cppinit.c (cpp_start_read): Move option consistency checks
4688         to cpp_post_options.  Don't call init_dependency_output.
4689         If needed, add default target and main file dependency.
4690         (OPT_MD, OPT_MMD): Remove.
4691         (OPT_MF): New.
4692         (cpp_handle_option): Update for OPT_* changes.
4693         (cpp_post_options): New.
4694         (init_dependency_output): Command line -MF overrides environment
4695         variables.  Don't set default target etc.  Suppress output
4696         if dependencies are going to stdout.
4697         (print_help): Update.
4698         * cpplib.h (cpp_post_options): New.
4699         * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
4701 Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
4703         * jump.c (comparison_dominates_p): Support unordered compares.
4705 Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
4707         * simplify-rtx.c (simplify_relational_operation): Always simplify
4708         ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
4709         and UNGE.
4711 Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
4713         * combine.c (combine_simplify_rtx): Recognize the unordered compares.
4714         (nonzero_bits): Likewise.
4715         (simplify_comparison): Likewise.
4716         (num_sign_bit_copies): Likewise; return more sane value depending
4717         on STORE_FLAG_VALUE.
4718         (known_cond): Do not assume EQ to be always true for equivalent
4719         operands.
4721 Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
4723         * cse.c (fold_rtx): Handle unordered comparisons.
4725 Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
4727         * rtlanal.c (set_of_1): New static function.
4728         (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
4729          reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
4730          reg_set_last_last_regno): Remove.
4731         (set_of): New global function.
4732         (set_of_data): New structure.
4733         (reg_set_p, reg_set_last): Revamp for set_of.
4734         * rtl.h (set_of): New.
4736 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4738         * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
4739         * extend.texi: Document _Exit builtin.
4741 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4743         * (initialize, initialize_builtins,
4744         initialize_dependency_output, initialize_standard_includes):
4745         Rename s/initialize/init. Update.
4746         (init_dependency_output): Move to after
4747         cpp_handle_options, the correct location temporally at least.
4748         (opt_comp): Move next to init (), its caller.  Fix prototype.
4749         (init): Make "initialized" local scope.
4750         (cpp_create_reader): Always call init ().
4751         (cpp_start_read): Update.
4752         (output_deps): New function, broken out of cpp_finish.
4753         (cpp_finish): Break out output_deps.
4755 2001-01-07  Richard Henderson  <rth@redhat.com>
4757         * collect2.c (COFF specific stuff): Revert 12-06 patch
4758         to prototype system functions.
4760 2001-01-07  Michael Hayes  <mhayes@redhat.com>
4762         * hard-reg-set.h: Add multiple include guard.
4763         * basic-block.h (struct loop): Add `sink' field.
4764         * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
4765         (emit_iv_add_mult): Delete.
4766         (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
4767         (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
4768         (unroll_loop): Remove end_insert_before argument.
4769         * loop.c (loop_givs_rescan): Remove end_insert_before argument.
4770         (maybe_eliminate_biv_1): Likewise.
4771         (emit_iv_add_mult): Delete.
4772         (gen_add_mult, loop_regs_update): New.
4773         (loop_insn_emit_after, loop_insn_emit_before): New.
4774         (loop_insn_sink, loop_insn_sink_or_swim): New.
4775         (emit_iv_add_mult): Delete.
4776         (scan_loop): Set loop->sink.
4777         (loop_givs_reduce): Use loop_insn_sink and its ilk.
4778         (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
4779         (maybe_eliminate_biv_1): Likewise.
4780         (maybe_eliminate_biv_1): Add basic block argument.
4781         * unroll.c (unroll_loop): Remove end_insert_before argument.
4782         (find_splittable_regs): Likewise.
4783         (find_splittable_regs): Use loop_insn_sink and its ilk.
4784         (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
4786 2001-01-07  Michael Hayes  <mhayes@redhat.com>
4788         * loop.h (loop_insn_hoist): New prototype.
4789         * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
4790         (move_movables, loop_givs_rescan): Use loop_insn_hoist.
4791         (check_dbra_loop, load_mems): Likewise.
4792         * unroll.c (unroll_loop, find_splittable_regs): Likewise.
4793         (find_splittable_givs): Likewise.
4795 2001-01-07  Michael Hayes  <mhayes@redhat.com>
4797         * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
4799 2001-01-07  Richard Henderson  <rth@redhat.com>
4801         * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
4803 2001-01-07  Richard Henderson  <rth@redhat.com>
4805         * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
4806         NO_SHARED_LIBGCC_MULTILIB as required for the target.
4807         * gcc.c (init_spec): Massage the existing libgcc_spec into a
4808         variant that handles a shared libgcc.
4809         (process_command): Always validate -{static,shared}-libgcc.
4810         (do_spec_1): New 'M' case.
4811         * invoke.text (Link Options): Document -{static,shared}-libgcc.
4813 2001-01-07  Richard Henderson  <rth@redhat.com>
4815         * Makefile.in (slibdir): New variable.
4816         (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
4817         (installdirs): Create slibdir.
4818         (install-libgcc, install-multilib): Defer to libgcc.mk.
4819         * configure.in (slibdir): Substitute.
4820         * mklibgcc.in (install): New target.
4822         * config/t-linux (SHLIB_LINK): Create links for the soname.
4823         (SHLIB_INSTALL): New.
4824         * config/alpha/t-osf4 (SHLIB_INSTALL): New.
4825         * config/mips/t-iris6 (SHLIB_INSTALL): New.
4826         * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
4827         * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
4828         * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
4830 2001-01-07  Richard Henderson  <rth@redhat.com>
4832         * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
4833         * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
4834         * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
4836 2001-01-07  Michael Hayes  <mhayes@redhat.com>
4838         * loop.c (count_loop_regs_set): Delete.
4839         (load_mems_and_recount_loop_regs_set): Delete.
4840         (loop_regs_scan): Merge common code from count_loop_regs_set,
4841         scan_loop, and load_mems_and_recount_loop_regs_set.
4842         (scan_loop): Call load_mems directly and loop_regs_scan
4843         again if new registers created.
4845 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4847         * toplev.c (main): Call the front-end specific post_options
4848         hook if one is given.
4849         * toplev.h (struct_lang_hooks, lang_hooks): New.
4850         * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
4851         for the C front end.
4852         * cp/decl2.c (cxx_post_options, lang_hooks): Implement
4853         lang_hooks for the C++ front end.
4854         * objc/objc-act.c (objc_post_options, lang_hooks): Implement
4855         lang_hooks for the ObjC front end.
4856         * f/com.c (lang_hooks): Hooks for the Fortran front end.
4857         * java/lang.c (lang_hooks): Hooks for the Java front end.
4859 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4861         * c-lex.c (init_c_lex): Request #define / #undef callbacks
4862         for verbose DWARF[2] debugging.
4863         (cb_define, cb_undef): The new callbacks.
4864         * toplev.h (debug_define, debug_undef): Make const correct.
4865         * toplev.c (debug_define, debug_undef): Similarly.  Do not
4866         perform the verbosity tests here anymore.
4868 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
4870         * reload.c (subst_reloads): Take INSN argument.  When
4871         replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
4872         * reload.h (subst_reloads): Adjust prototype.
4873         * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
4874         * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
4875         present in JUMP_INSNs and copy them to JUMP_LABEL.
4876         * flow.c (find_label_refs, find_basic_blocks_1): Skip
4877         JUMP_INSNs and insns with REG_LABELs that are followed by
4878         JUMP_INSNs with the same REG_LABEL.
4879         * sched-rgn.c (is_cfg_nonregular): Likewise.
4880         * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
4881         note is available.
4882         * unroll.c (unroll_loop): Look for REG_LABEL notes in
4883         JUMP_INSNs too.
4884         * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
4886 2001-01-06  Richard Henderson  <rth@redhat.com>
4888         * loop.c (scan_loop): Use xcalloc for the regs array.
4889         (load_mems_and_recount_loop_regs_set): Zero the new memory
4890         received from xrealloc.
4892 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4894         * mkdeps.c (deps_add_dep): Fix vector re-allocation.
4896 Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
4898         * integrate.c (copy_rtx_and_substitute): When copying
4899         an ignored return value, strip REG_FUNCTION_VALUE_P.
4901 2001-01-06  Michael Hayes  <mhayes@redhat.com>
4903         * loop.c (debug_biv, debug_giv): New.
4904         (loop_biv_dump): Break out from ...
4905         (record_biv): ... here.
4906         (loop_giv_dump): Break out from ...
4907         (record_giv): ... here.
4908         (loop_bivs_check): Use print_simple_rtl.
4909         * unroll.c (loop_iterations): Use print_simple_rtl.
4911 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4913         * pa.md (return, return_internal): Modify patterns to prevent regrename
4914         mucking with the return pointer.
4916 2001-01-05  Richard Henderson  <rth@redhat.com>
4918         * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
4920 Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
4922         * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
4923         version supplied by Matteo Frigo.
4925 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4927         * cpp.texi: Update for -MQ.
4928         * cppinit.c (cpp_create_reader): Always create pfile->deps.
4929         (cpp_cleanup): Always free pfile->deps.
4930         (initialize_dependency_output): Don't create pfile->deps.
4931         (cpp_handle_option): Similarly.
4932         (OPT_MQ): New.
4933         * gcc.c (cpp_options): Handle -MQ.
4934         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
4935         * mkdeps.c (base_name): Remove.
4936         (deps_init): Don't allocate vector space until it's needed.
4937         (deps_free): Only free vectors if allocated.
4938         (deps_add_target, deps_add_dep): Update for initial allocation.
4939         (deps_add_default_target): Don't strip to the base_name.
4941 2001-01-05  DJ Delorie <dj@redhat.com>
4943         * config/v850/v850.h (RETURN_ADDR_RTX): Define.
4944         (INIT_EXPANDERS): Define.
4946         * config/v850/v850.c (struct machine_function): Define.
4947         (v850_save_machine_status): New function.
4948         (v850_restore_machine_status): New function.
4949         (v850_return_addr): New function.
4950         (v850_init_expanders): New function.
4952         * config/v850/v850-protos.h: Add prototypes for v850_return_addr
4953         and v850_init_expanders.
4955 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
4957         * cpplib.h (struct cpp_reader): Add help_only field.
4958         * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
4959         (cpp_handle_option): Set pfile->help_only if we see -h,
4960         --help, -target-help, or --version.  Print version string but
4961         do not set help_only if we see -v or -version.  Make text
4962         printed by -v match that printed by (-)-version.
4964         * cppmain.c (main): Exit after option parsing if
4965         pfile->help_only is true.
4967         * toplev.c (independent_decode_option): Call print_version,
4968         then exit, if we see --version (but not -version).
4969         (print_version): Split lengthy message into two lines.
4971 2001-01-05  Nick Clifton  <nickc@redhat.com>
4973         * config/v850/v850.c (v850_encode_data_area): Use alloca to create
4974         temporary string for initialisation before calling ggc_alloc_string.
4976 2001-01-06  Michael Hayes  <mhayes@redhat.com>
4978         * rtl.h (print_simple_rtl): New.
4979         * print-rtl.c (print_simple_rtl): New.
4980         (flag_simple): New.
4981         (print_rtx): Disable printing of flags and modes, etc.,
4982         if `flag_simple` nonzero.
4984 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
4986         * function.c (fixup_var_refs): Use push_to_full_sequence where
4987         possible.
4989 2001-01-05  Michael Meissner  <meissner@redhat.com>
4991         * flags.h (flag_reorder_blocks): Add declaration.
4992         (flag_rename_block): Ditto.
4994 2001-01-05  DJ Delorie  <dj@redhat.com>
4996         * function.c (reorder_blocks): Make sure the flags are all reset
4997         before using them to mark blocks, else a second invocation will
4998         corrupt the block chain.
4999         (reorder_blocks_0): New, resets the flags.
5001 Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
5003         * cse.c (find_comparison_args): Stop if the argument is known to
5004         be constant.
5006 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
5008         * config/sh/sh.md (movdf): When splitting load into pair of
5009         registers, don't clobber the register used in the address too
5010         early.
5012 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
5014         * varasm.c (mark_constant_pool): Improve initial comments.
5015         (mark_constants): Move marking of constants to mark_constant.
5016         (mark_constant): New function to recursively mark all constants
5017         referred to by a constant.
5019 2001-01-05  Catherine Moore  <clm@redhat.com>
5021         * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
5023 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
5025         * cp/lang-options.h:  Bring comment in line with reality.
5026         * f/lang-options.h:  Likewise.
5027         * java/lang-options.h:  Likewise.
5028         * objc/lang-options.h:  Likewise.
5029         * ch/lang-options.h:  Likewise.
5030         * f/g77.texi:  And update the manual.
5032 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
5033             Denis Chertykov  <denisc@overta.ru>
5035         * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
5036         * config/avr/avr.c (avr_peep2_scratch_safe): New function.
5037         * config/avr/avr.md (all peepholes that request a scratch register):
5038         Call it, FAIL the peephole if not safe (in interrupt functions).
5040 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
5042         * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
5044 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
5046         * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
5047         Define.
5048         * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
5049         BUILT_IN_CREAL and BUILT_IN_CIMAG.
5050         * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
5051         conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
5052         (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
5053         BUILT_IN_CIMAG.
5054         * extend.texi: Document these builtins.
5056 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
5058         * c-common.c (lang_get_alias_set): Say we know nothing of
5059         VECTOR_TYPE aliasing.
5061         * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
5063 2001-01-05  Bruce Korb  <bkorb@gnu.org>
5065         * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
5066         their x* equivalent versions for atexit-less systems
5067         * fixinc/fixincl.c(main): do not return from main() on atexit-less
5068         systems (or any other system any more).
5070 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
5072         * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
5073         output operands.  Use arm_hard_register_operand for operand 4.
5074         (stmsi_postinc): Similarly.
5075         (ldmsi): Use arm_hard_register_operand for opernand 2.
5076         (stmsi): Similarly.
5077         * arm.c (arm_hard_register_operand): New function.
5078         * arm-protos.h (arm_hard_register_operand): Prototype it.
5080         * arm.h (HARD_REGNO_RENAME_OK): Define.
5082 Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
5084         * simplify-rtx.c (cfc_args): add "unordered" field.
5085         (check_fold_consts): Set unordered field.
5086         (simplify_relational_operation): Simplify the unordered
5087         comparisons.
5089         * reg-stack.c (swap_rtx_condition): Ensure that the transformation
5090         is valid.
5092         * emit-rtl.c (try_split): Fix code to mark labels.
5093         * jump.c (mark_jump_label): Make global.
5094         * rtl.h (mark_jump_label): Declare.
5096         * predict.c (estimate_probability): Handle unordred comparisons.
5098 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5100         * cpp.texi: Update for -MP.  Clarify behaviour of -MT.
5101         * cppinit.c (initialize_dependency_output):  Update.
5102         (cpp_finish): Output dummy targets for -MP.
5103         (OPT_MP): New.
5104         (cpp_handle_option): Handle -MP.  Don't quote -MT options.
5105         * cpplib.h (struct cpp_options): Add deps_phony_targets.
5106         * gcc.c (cpp_options): Update to handle -MP.
5107         * mkdeps.c (deps_add_target, deps_add_default_target): Update
5108         to quote only the default target.
5109         (deps_phony_targets): Insert a preceding newline.  Rename from
5110         deps_dummy_targets for consistency.
5111         * mkdeps.h: Update
5113 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
5115         * calls.c (emit_library_call_value_1): Support
5116         INIT_CUMULATIVE_LIBCALL_ARGS.
5117         * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
5119 2001-01-04  Richard Henderson  <rth@redhat.com>
5121         * c-decl.c (finish_struct): Detect flexible array members
5122         used in an inappropriate context.
5123         * c-typeck.c (really_start_incremental_init): Special case
5124         constructor_max_index for zero length arrays.
5125         (pop_init_level): Allow initialization of flexible array
5126         members.  Deprecate initialization of zero length arrays.
5127         Don't issue missing initializer warning for flexible array
5128         members or zero length arrays.
5129         (process_init_element): Don't dereference null DECL_SIZE.
5130         * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
5131         Don't abort for empty constructors.  Use size_binop
5132         (output_constructor): Add commentary regarding zero length
5133         array futures.  Abort if we try to initialize an array of
5134         unspecified length with a non-empty constructor in the middle
5135         of a structure.
5137         * extend.texi (Zero Length): Update and clarify documentation
5138         on static initialization.
5140 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5142         * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
5143         with more than 32767 words of local storage.
5145 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5147         * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
5148         for 'abs', 'labs', and 'fabs'.
5149         (c4x_expand_builtin): Likewise.
5150         * config/c4x/c4x.h (enum c4x_builtins): Likewise.
5152 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
5154         * config/sh/sh.md (prget, prset): New insn types.
5155         (return delay slot): Dont' allow prset.
5156         (call, sfunc delay slot): Don't allow prget.
5157         (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
5158         for prset and prget.
5160 2001-01-05  Michael Hayes  <mhayes@redhat.com>
5162         * loop.h (struct loop_reg): New.
5163         (struct loop_regs): Change to use array of `struct loop_reg'.
5164         * loop.c: Replace assortment of varrays with single regs array.
5165         (count_one_set): Delete may_not_move array argument
5166         and use regs array instead.  All caller's changed.
5167         (count_loop_regs_set): Delete may_not_move and single_usage
5168         arguments and use regs array instead.  All caller's changed.
5169         (find_single_use_in_loop): Replace usage array argument with pointer
5170         to regs structure.  All caller's changed.
5171         (loop_optimize): Delete `moved_once' array.
5173 2001-01-05  Michael Hayes  <mhayes@redhat.com>
5175         * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
5176         Use it instead of loop_info->has_call for scanning loop mems.
5177         (check_dbra_loop): Replace loop_info->has_call test with
5178         loop_info->has_nonconst_call.
5180 2000-01-04  Matthew Hiller  <hiller@redhat.com>
5182         * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
5183         for TARGET_SH3E.
5185 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
5187         * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
5188         use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
5190 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
5192         * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
5193         (flag_short_double, flag_short_wchar): Define.
5194         (c_common_nodes_and_builtins): Create many tree nodes shared
5195         between C and C++ here instead of in cp/decl.c and ...
5196         * c-decl.c (init_decl_processing): ... here.
5197         (SIZE_TYPE, WCHAR_TYPE): Don't define.
5198         (flag_short_double, flag_short_wchar): Don't define.
5199         (record_builtin_type): New function.
5200         (build_void_list_node): New function.
5201         * c-common.h (flag_short_double, flag_short_wchar,
5202         record_builtin_type, build_void_list_node): Declare.
5204 Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
5206         * integrate.c (expand_inline_function): Don't put a virtual
5207         register into the reg map.
5209         * function.c (fixup_var_refs_1): If force_operand didn't put
5210         the address into the target, move it there.
5212 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
5214         Special-case tree_decl/tree_list allocations.
5215         * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
5216         (OBJECT_SIZE): New macro.
5217         (NUM_EXTRA_ORDER): Likewise.
5218         (extra_order_size_table): New variable.
5219         (NUM_ORDERS): New macro.
5220         (objects_per_page_table): New variable.
5221         (object_size_table): New variable.
5222         (G.pages): Use NUM_ORDERS to bound the array.
5223         (G.page_tails): Likewise.
5224         (DIV_ROUND_UP): Remove.
5225         (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
5226         (alloc_page): Use OBJECT_SIZE.
5227         (size_lookup): Don't make it const.
5228         (ggc_alloc): Use OBJECT_SIZE.
5229         (ggc_set_mark): Likewise.
5230         (ggc_get_size): Likewise.
5231         (init_ggc): Set up the object_size_table, objects_per_page_table,
5232         and adjust size_lookup.
5233         (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
5234         (ggc_pop_context): Use NUM_ORDERS.
5235         (clear_marks): Likewise.
5236         (sweep_pages): Likewise.
5237         (poison_pages): Likewise.
5238         (ggc_print_statistics): Use OBJECT_SIZE.
5240 Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5242         * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
5243         Only call array_size_for_constructor if last field and array type
5244         with no upper bound.
5246 2001-01-04  Philip Blundell  <philb@gnu.org>
5248         * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
5249         from bit 31 downwards, if this requires no more insns.
5250         (count_insns_for_constant): New helper function for above.
5252 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
5254         * gencodes.c (output_predicate_decls): Remove empty initializer.
5256 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
5258         * tree.c (copy_node): Remove documentation about obstacks.
5259         (buidl1): Check that nobody tries to build 2-argument nodes this
5260         way.
5262 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5264         * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
5265         fp_high_losum_p.
5267         * gencodes.c (output_predicate_decls): Fill empty initializer
5268         braces.
5270 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
5272         * tradcpp.c (deps_file, print_deps_missing_files): New variables.
5273         (main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
5274         or -MM.
5275         (do_include): Handle missing headers like cpp0.
5276         * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
5277         paths with first include pathname.  Don't strcat to uninitialized
5278         string.
5280 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
5282         * regrename.c (regrename_optimize): Don't rename from frame pointer
5283         if frame_pointer_needed.
5284         (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
5285         * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
5286         (ia64_reorg): Use it instead of scheduling if ! optimize.
5287         (errata_emit_nops): Properly call asm_noperands.
5288         (ia64_sched_reorder): Finish cycle if we see an asm.
5289         (ia64_variable_issue): Clear scheduling state after asms.
5291 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
5293         * cpp.texi: Update for -MT.
5294         * cppinit.c (initialize_dependency_output): Add a default
5295         target if none has been given already.
5296         (no_tgt, OPT_MT): New.
5297         (cpp_handle_option): Handle -MT.  Update -M etc.
5298         * cpplib.h (struct cpp_options): Remove deps_target.
5299         * gcc.c (cpp_options): Handle -MT.
5300         * mkdeps.c (struct deps): Move from mkdeps.h.
5301         (deps_calc_target): Rename deps_add_default_target.  Add a
5302         default target if none has been specified already.
5303         * mkdeps.h (struct deps): Move to mkdeps.c.
5304         (deps_calc_target): Rename deps_add_default_target.
5306 2000-01-03  Richard Henderson  <rth@redhat.com>
5308         * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
5309         Remove dead code.
5310         * c-typeck.c (push_init_level): Move checks for flexible array
5311         members and zero length arrays ...
5312         (pop_init_level): ... here.  Silently discard empty initializations.
5313         Remove dead code.
5314         * varasm.c (output_constructor): Update for sizeof change to
5315         zero-length arrays.
5317         * extend.texi (Zero Length): Clarify semantics.
5319 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
5321         * configure.in (tm.h): Include isns-codes.h last.
5322         * configure: Rebuilt.
5324 2001-01-03  Richard Henderson  <rth@redhat.com>
5326         * config/alpha/alpha.md (addvsi3, addvdi3): New.
5327         (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
5329 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5331         * tradcpp.c (main): Make sure finclude() is called with a valid
5332         indepth value while handling -include.
5334 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
5336         * gencodes.c (output_predicate_decls): New function.
5337         (main): Call it.
5338         * machmode.h (GET_MODE_MASK): Arrange for it to be defined
5339         even if it is not the first time machmode.h is #included.
5340         * config/sh/sh.c (fpul_operand): Declare MODE argument.
5341         * tm.texi (PREDICATE_CODES): Document predicate declarations.
5342         * gcc.texi (Copyright): Added 2001.
5344 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
5346         * c-common.c (c_common_lang_init): New function.  Warn if format
5347         warning options which only have effects when used with -Wformat
5348         are used without -Wformat.
5349         * c-common.h (c_common_lang_init): Declare.
5350         * c-lang.c (lang_init): Call c_common_lang_init.
5351         * objc/objc-act.c (lang_init): Call c_common_lang_init.
5353 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
5355         * configure.in: Check for the mktemp command.
5356         * configure: Regenerate.
5357         * gccbug.in: Use a separate temporary file $TEMP0 for one use of
5358         $TEMP.  Create temporary files with mktemp, if available at
5359         configure time; otherwise use set -C.  Remove temporary files
5360         before exit.
5362 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
5364         * configure.in: Require at least texinfo 4.0.  Check for whether
5365         Pod::Man is sufficiently recent to regenerate GCC manpages.
5366         * configure:  Regenerate.
5367         * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
5368         on #!.
5369         (GENERATED_MANPAGES): Define.
5370         (generated-manpages): New target.  Depend on cpp.1 as well as
5371         gcov.1.
5372         (install-man): Depend on $(GENERATED_MANPAGES) (defined by
5373         configure to generated-manpages or empty) rather than on the
5374         manpages directly.  Remove execute permission from installed
5375         gcov.1 as well as cpp.1.
5376         * cpp.1, gcov.1: Regenerate.
5378 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5380         * builtins.c (expand_builtin_strncmp): Use host_integerp and
5381         tree_low_cst.  Allow using cmpstrsi in more cases.
5383 Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5385         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
5386         sized types.
5388 Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
5390         * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
5391         * Makefile.in (HOST_CFLAGS): Mention build-make.
5393 Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5395         * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
5396         as JUMP_INSN.
5398 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
5400         * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
5401         a REG rtx.
5403         * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
5404         callers changed.
5406         * alias.c (throughout): Use ORIGINAL_REGNO when accessing
5407         reg_base_value and reg_known_value arrays.
5408         (init_alias_analysis): Add more cases to detect known values.
5409         * sched-deps.c (deps_may_trap_p): New function.
5410         (sched_analyze_2): Use it.
5412 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
5414         * combine.c (simplify_shift_const): Even if we're sign-extracting,
5415         don't discard an ASHIFTRT if we're shifting in a wider mode.
5417 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5419         * toplev.c (rest_of_compilation): Don't print basic block information
5420         when CFG isn't up to date.
5422 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
5424         * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
5425         (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
5426         (UNALIGNED_SHORT_ASM_OP): Define.
5427         (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
5429 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
5431         * fold-const.c (fold_convert): Fix typo.
5433 2001-01-02  Richard Henderson  <rth@redhat.com>
5435         * c-common.h (ASM_INPUT_P): New.
5436         * c-parse.in (asm): Set it when needed.
5437         * c-semantics.c (genrtl_asm_stmt): Test it instead of the
5438         existance of an operand.
5440 Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
5442         * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
5443         (dwarf2out_frame_debug_expr): Likewise.
5444         (mem_loc_descriptor): Handle PRE and POST_MODIFY.
5446 Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
5448         * i386.c (ix86_split_to_parts): Return number of part required;
5449         handle TFmodes.
5450         (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
5451         TFmodes.
5452         (ix86_split_long_move): Use number of part returned
5453         by ix86_split_to_parts
5454         * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
5455         New macros.
5456         (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
5457         (LONG_DOUBLE_TYPE_SIZE): Change from constant.
5458         (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
5459         (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
5460         (ALIGN_MODE_128): Add TFmode.
5461         (IS_STACK_MODE): Likewise.
5462         (HARD_REGNO_NREGS): TFmode needs 3 registers.
5463         (HARD_REGNO_OK): Support TFmodes.
5464         (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
5465         * i386.md (scheduler definitions): Use memory operand to determine
5466         fst/fld instructions; use mode attribute to determine real mode of
5467         the instruction.
5468         (*tf): New patterns, expanders and splitters; based on XFmode patterns.
5469         * invoke.texi (128bit-long-double, 96bit-long-double): Document.
5471 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
5473         * tree.def (TRUTH_NOT_EXPR): Improve documentation.
5475 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
5477         * expr.c (store_constructor_field): Update ALIGN before calling
5478         store_constructor.
5480 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
5482         * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
5483         host_integerp.
5485 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
5487         * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
5488         incomplete type.
5490 Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
5492         * c-decl.c (start_function): Don't warn on third parameter to main.
5494 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5496         * tsystem.h: Define HAVE_DECL_GETOPT.
5498 2001-01-02  Philip Blundell  <pb@futuretv.com>
5500         * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
5501         of input operand.
5503 2001-01-02  Richard Henderson  <rth@redhat.com>
5505         * alpha.md (*ze_and_ne): Duplicate insn condition to split.
5507 2001-01-02  Andreas Jaeger  <aj@suse.de>
5509         * c-decl.c (c_decode_option): Remove support of
5510         -Wmissing-noreturn.
5512         * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
5513         (W_options): Add -Wmissing-noreturn here.
5515         * flow.c: Define lang_missing_noreturn_ok_p.
5516         (check_function_return_warnings): Use it.
5518         * c-common.h: Declare lang_missing_noreturn_ok_p.
5520         * c-lang.c (c_missing_noreturn_ok_p): New function.
5521         (lang_init): Set lang_missing_noreturn_ok_p.
5523         * invoke.texi (Warning Options): Document this.
5525 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
5527         * extend.texi (C++ Extensions):  New node for C++ attributes;
5528           describe init_priority and com_interface.
5529         * invoke.texi:  Remove -finit-priority as it now has zero effect.
5530         * install.texi:  Fix xref syntax.
5531         * md.texi:  Likewise.
5533 Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5535         * config.gcc (sparc64-wrs-vxworks*): New case.
5536         * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
5538         * config/sparc/sparc.c (sparc_override_options): Do support different
5539         pointer and architecture size.
5540         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
5541         (POINTERS_EXTEND_UNSIGNED): Define.
5542         (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
5543         (FUNCTION_MODE): Define to be Pmode.
5544         * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
5546         * function.c (expand_function_end): Properly handle DECL_RESULT
5547         and copy when ptr_mode != Pmode.
5548         * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
5550 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5552         * c-common.c (c_common_nodes_and_builtins): Set prototype
5553         parameters for __builtin_fputs, __builtin_fputc and
5554         __builtin_fwrite.  Don't declare plain fputc as a builtin.
5556 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5558         * loop.c (add_label_notes): Increment the label usage count when
5559         a note is added to an insn which refers to a CODE_LABEL.
5560         * gcse.c (add_label_notes): Likewise.
5562 2001-01-01  Andreas Jaeger  <aj@suse.de>
5564         * loop.c (scan_loop): Use xmalloc to allocate movables.
5566 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
5568         * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
5569         * reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
5570         * reload1.c (REGISTER_MOVE_COST): Likewise.
5571         * regclass.c (REGISTER_MOVE_COST): Likewise.
5572         (move_cost, may_move_in_cost, may_move_out_cost): Add mode
5573         dimension.  Adjust all users.
5574         (init_reg_sets_1): Iterate on all modes.
5575         * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
5576         * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
5577         * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
5578         * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
5579         * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
5580         * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
5581         * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
5582         * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
5583         * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
5584         * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
5585         * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
5586         * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
5587         * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
5588         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
5589         * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
5590         * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
5591         * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
5592         * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
5593         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
5594         * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
5595         * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
5596         * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
5597         * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
5598         * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
5599         * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
5600         * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
5601         * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
5603 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
5605         * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
5606         arg VARIES_P.  Call it with extra arg.
5607         (true_dependence): Likewise.
5608         * rtl.h (rtx_addr_can_trap_p): Declare.
5609         (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
5610         prototypes.
5611         * rtlanal.c (rtx_addr_can_trap_p): No longer static.
5612         (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
5613         pic offset table register if it's zero.  All callers changed.
5614         (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
5616 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5618         * explow.c (convert_memory_address, case SYMBOL_REF): Copy
5619         STRING_POOL_ADDRESS_P.
5621         * config/sparc/sparc.c (input_operand): Properly test for short op.
5623         * config.gcc (sparc-*-elf): Include sparc/sol2.h.
5624         (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
5625         (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
5626         * config/sparc/elf.h: No longer include sol2.h.
5627         * config/sparc/lifeelf.h: No longer include sparc/elf.h.
5628         * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
5630         * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
5632 2001-01-01  Michael Hayes  <mhayes@redhat.com>
5634         * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
5635         (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
5636         (record_initial): Likewise.
5637         * unroll.c (copy_loop_body, loop_iterations): Likewise.
5638         (remap_split_bivs): Likewise.
5640 2001-01-01  Michael Hayes  <mhayes@redhat.com>
5642         * loop.c (loop_ivs_free): New function.
5643         (strength_reduce): Break out from...
5645 2001-01-01  Michael Hayes  <mhayes@redhat.com>
5647         * loop.h (struct iv): New.
5648         (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
5649         (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
5650         'reg_biv_class' fields with 'regs' and 'n_regs'.
5651         (struct ivs): Rename 'loop_iv_list' field to 'list'.
5652         * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
5653         * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
5655 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
5657         * resource.c (mark_referenced_resources): Abort() before
5658         attempting to mark a pseudo register.
5659         (mark_set_resources): Likewise.
5661 2001-01-01  Michael Hayes  <mhayes@redhat.com>
5663         * loop.h (REG_IV_CLASS): New accessor macro.
5664         * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
5665         * unroll.c (REG_IV_CLASS): Likewise.
5667 See ChangeLog.4 for earlier changes.