1 2000-12-13 Bruce Korb <bkorb@gnu.org>
3 * fixinc/Makefile.in(*): substantial rewrite to accommodate systems
4 that cannot handle bi-directional pipes, viz. BeOS and DOS.
5 * fixinc/fixlib.h(IGNORE_ARG): new macro
6 (STATIC): define for all of fixinc to use
7 * fixinc/fixfixes.c(*): eliminate unused arg warnings
8 * fixinc/fixtests.c(*): ditto
9 * fixinc/fixincl.c(start_fixer): chain_open now uses const arg list
10 * fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE
11 warning. Also, eliminate the ``#ifdef emacs'' stuff.
12 (re_syntax_options): make global as it is declared so.
13 * fixinc/mkfixinc.sh: process the argument list more consistently
14 (beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess
15 * fixinc/procopen.c(globals): include "fixlib.h" for std defs
16 * fixinc/server.c(globals): ditto
17 * fixinc/server.h(defines): ditto
19 2000-12-13 Neil Booth <neil@daikokuya.demon.co.uk>
21 * tradcpp.c (special_symbol): Improve test for definedness,
22 though it is still not perfect.
23 (do_define): Don't define illegal macro names.
25 2000-12-07 Aldy Hernandez <aldyh@redhat.com>
27 * config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits
28 if changing into .bss section.
29 * config/mips/elf64.h: same.
30 * config/mips/iris6.h: same.
31 * config/mips/netbsd.h: same.
32 * config/mips/openbsd.h: same.
34 2000-12-13 Neil Booth <neil@daikokuya.demon.co.uk>
36 * cppfiles.c (read_name_map): Return null if open () fails.
37 (remap_filename): Simplify logic. Add ICE if it doesn't work
38 as expected. Perform secondary lookup attempt on base filename
41 Wed Dec 13 19:48:04 MET 2000 Jan hubicka <jh@suse.cz>
43 * flow.c (notice_stack_pointer_modification_1): Notice midifications
44 using PRE_MODIFY and POST_MODIFY.
46 Wed Dec 13 17:25:32 MET 2000 Jan Hubicka <jh@suse.cz>
48 * genoutput.c (process_template): Add sanity checking for '@' templates.
50 2000-12-13 Bernd Schmidt <bernds@redhat.co.uk>
52 * simplify-rtx.c (cselib_finish): Free reg_values and used_regs
55 2000-12-12 Mike Stump <mrs@wrs.com>
57 * Makefile.in (distclean): Remove safe-ctype.c as well.
59 2000-12-12 Brad Lucier <lucier@math.purdue.edu>
61 * tradcpp.c (do_error): Cast difference of pointers to int
64 2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
66 * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here...
67 * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here.
69 2000-12-12 Jim Wilson <wilson@redhat.com>
71 * rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
73 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
75 * configure.in: Simplify language enabling/disabling code.
77 * ch/config-lang.in (target_libs): Set.
78 (build_by_default): Set to no.
79 * cp/config-lang.in (target_libs): Set.
80 * f/config-lang.in (target_libs): Set.
81 * java/config-lang.in (target_libs): Set.
82 * objc/config-lang.in (target_libs): Set.
84 2000-12-12 Neil Booth <neil@daikokuya.demon.co.uk>
86 * tradcpp.c (enum node_type): Add T_ERROR.
87 (do_error): New function.
88 (directive_table): Add #error handler.
90 2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
92 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
94 * configure: Regenerated.
95 * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
96 * config/rs6000/rs6000.c (rs6000_unique_section): Use
99 Mon Dec 11 13:51:09 2000 Jeffrey A Law (law@cygnus.com)
101 * pa.c (cmpib_comparison_operator): Remove GEU and LTU.
102 * pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
105 2000-12-11 Bruce Korb <bkorb@gnu.org>
107 * fixinc/fixincl.tpl: initialize all fields for warnings
108 * fixinc/fixincl.x: regenerate
110 2000-12-11 Neil Booth <neilb@earthling.net>
112 * tradcpp.h: For tradcpp, NUL is not whitespace.
114 2000-12-11 Neil Booth <neilb@earthling.net>
116 * fix-header.c (read_scan_file): Macro expansion is not a file buffer.
118 2000-12-05 Marek Michalkiewicz <marekm@linux.org.pl>
120 * config/avr/avr.c (compare_condition, compare_sign_p): New functions.
121 (compare_diff_p, compare_eq_p): Call compare_condition.
122 (out_tsthi, out_tstsi): Call compare_sign_p.
123 (avr_progmem_p): Check for error_mark_node.
125 2000-12-11 Neil Booth <neilb@earthling.net>
127 * cpperror.c (print_location): New function.
128 (print_containing_files): Simplify.
129 (_cpp_begin_message): Simplify and use print_location.
130 * cppfiles.c (stack_include_file): Update.
131 (_cpp_pop_file_buffer): Update.
132 * cpphash.h (struct cpp_buffer): New members
133 include_stack_listed and type.
134 * cpplib.c (_cpp_handle_directive): Buffer->inc is not null.
135 (run_directive): Take buffer type. cpp_push_buffer cannot fail.
136 (_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef,
137 handle_assertion): Update.
138 (cpp_push_buffer): Take a buffer type and file name.
139 (cpp_pop_buffer): Update. Clear include_stack_listed.
140 * cpplib.h (input_stack_listing_current): Remove.
141 (enum cpp_buffer_type): New.
142 (cpp_push_buffer): New prototype.
143 * cppmacro.c (builtin_macro): Simplify; buffer cannot be null.
144 * fix-header.c (read_scan_file): Update.
146 2000-12-10 Robert Lipe <robertlipe@usa.net>
148 * install.texi (i*86-*-sco3.2v5*): Remove information duplicated
151 2000-12-10 Richard Henderson <rth@redhat.com>
153 * genrecog.c (find_operand): Handle 'V' format code.
154 (find_matching_operand): New.
155 (validate_pattern): Accept '=' for an in-out operand if there
156 is another operand with a matching constraint.
158 * config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
161 2000-12-10 Richard Henderson <rth@redhat.com>
163 * genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
165 2000-12-09 Richard Henderson <rth@redhat.com>
167 * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and
168 STRICT_LOW_PART as SET_DEST have in-out constraints.
170 2000-12-09 Joseph S. Myers <jsm28@cam.ac.uk>
172 * c-common.c (check_function_format): Don't suggest adding format
173 attributes to functions with no parameter to which to add them.
175 2000-12-09 Nick Clifton <nickc@redhat.com>
177 * config/arm/arm.c (arm_expand_prologue): Mark the generated
178 insn not the set as being DWARF2_FRAME_RELATED_P.
180 2000-12-09 Laurynas Biveinis <lauras@softhome.net>
182 * Makefile.in: use $(build_exeext) for all build
183 system executable targets.
185 2000-12-09 Laurynas Biveinis <lauras@softhome.net>
187 * install.texi: remove i[345]86-*-winnt3.5 section.
188 * configur.bat: removed.
189 * config/msdos: directory removed.
191 2000-12-09 Neil Booth <neilb@earthling.net>
193 * cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
194 * cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
195 * cpplex.c (parse_identifier): Improve diagnostic.
196 (_cpp_lex_token): Return unconditionally at the end of a directive.
197 * cpplib.c (read_flag): Verify legality of each flag.
198 (end_directive): Resotre pfile->skipping before skip_rest_of_line.
199 (do_line): Use the new read_flag.
200 * cppmacro.c (struct cpp_macro, parse_arg, replace_args,
201 check_macro_redefinition, parse_params): Rename var_args to
204 2000-12-09 Joseph S. Myers <jsm28@cam.ac.uk>
206 * .cvsignore: Add info files.
208 2000-12-08 Laurynas Biveinis <lauras@softhome.net>
210 * config/winnt: Remove obsolete directory.
211 * install.texi (Configurations): Remove obsolete documentation for
214 2000-12-08 Joseph S. Myers <jsm28@cam.ac.uk>
216 * configure.in: Don't define INSTALL_INFO.
217 * configure: Regenerate.
218 * Makefile.in (INSTALL_INFO): Remove.
219 (info): Depend on info files in source directory.
220 (cpp.info, gcc.info, c-tree.info): Build info files in source
222 (distclean): Don't remove info files.
223 (maintainer-clean): Remove info files from source directory.
224 (install-normal): Depend on install-info.
225 (install-info): Install info files from source directory, if they
227 * texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
229 2000-12-08 Alexandre Oliva <aoliva@redhat.com>
231 * lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
232 before taking its NOTE_LINE_NUMBER.
234 2000-12-08 Nick Clifton <nickc@redhat.com>
236 * config/arm/arm.md (load_indirect_jump): Add pool ranges.
238 * extend.texi: Document ARM "interrupt" function attribute.
239 Mention that the ARM also support the "naked" function
242 * config/arm/arm-protos.h (arm_current_func_type): Add
245 * config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
246 (struct machine_function): Add 'func_type' field.
247 Define bit values for 'func_type' field.
248 (ARM_FUNC_TYPE): New macro.
249 (IS_INTERRUPT): New macro.
250 (IS_VOLATILE): New macro.
251 (IS_NAKED): New macro.
252 (IS_NESTED): New macro.
253 (ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
255 * config/arm/arm.c (isr_attribute_args): New Structure. A
256 list of "interrupt" function attribute modifiers.
257 (arm_isr_value): New Function: Returns the type of the current
259 (arm_compute_func_type): New Function: Computes the type of
260 the current function.
261 (arm_current_func_type): New Function: Returns the type of the
263 (use_return_insn): Use arm_current_func_type.
264 (arm_valid_type_attribute_p): Accept "interrupt" function
266 (arm_comp_type_attributes): Check "interrupt" attributes.
267 (arm_valid_machine_decl): Accept "interrupt" function
269 (arm_function_ok_for_sibcall): Do not allow interrupt
270 functions to use sibcalls.
271 (arm_naked_function_p): Delete.
272 (print_multi_reg): Remove redundant parameter 'hat'.
273 (arm_compute_save_reg_mask): New Function: Compute a bit mask
274 of registers saved during the current function's prologue.
275 (output_arm_return_instruction): Use arm_current_func_type.
276 Generate return instruction when LR is not poppsed off the
278 (arm_volatile_func): Delete.
279 (output_arm_prologue): Use arm_current_func_type and
280 arm_compute_save_reg_mask.
281 Note presernce of interrupt functions.
282 (arm_output_epilogue): Use arm_current_func_type and
283 arm_compute_save_reg_mask.
284 (arm_expand_prologue): Use arm_current_func_type and
285 arm_compute_save_reg_mask.
286 (arm_init_machine_status): Initialise func_type field, if
288 (thumb_expand_prologue): Use arm_current_func_type.
289 (output_thumb_prologue): Use arm_current_func_type.
291 2000-12-08 Brad Lucier <lucier@math.purdue.edu>
293 * tradcpp.c (do_include): Make pointer differences 64-bit clean.
295 Fri Dec 8 08:23:29 2000 J"orn Rennecke <amylaar@redhat.com>
297 * fp-bit.c (_fpmul_parts): Use USItype variables as inputs
300 2000-12-07 Mike Stump <mrs@wrs.com>
302 * Makefile.in (distclean): Remove alloca.c hashtab.c.
304 2000-12-07 Zack Weinberg <zack@wolery.stanford.edu>
306 * Makefile.in (HOST_RTL): Add safe-ctype.o.
307 (safe-ctype.o): New rule.
308 * system.h: Include safe-ctype.h, not ctype.h. No need to
311 * cpphash.h: Zap IStable and related macros. Define is_* in
312 terms of safe-ctype.h macros.
313 * cppinit.c: Delete the IStable and all related code.
315 * tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
316 is_space arrays. Delete initialize_char_syntax. Change all
317 references to the above arrays to use macros instead.
318 * tradcpp.h: Define is_idchar, is_idstart, is_space, and
319 is_nvspace in terms of safe_ctype.h's macros.
320 * tradcif.y: is_idchar, is_idstart are macros not arrays.
322 * config/i370/i370.c, config/winnt/dirent.c,
323 config/winnt/fixinc-nt.c, config/winnt/ld.c:
324 Use uppercase ctype macros. If we included ctype.h,
325 include safe-ctype.h instead.
327 * fixinc/fixfixes.c: Use uppercase ctype macros. Don't test
328 ISLOWER(c) before calling TOUPPER(c).
329 * fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
330 * fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h. No need to
331 wrap ctype macros. Don't test ISUPPER(x) before calling TOLOWER(x).
333 2000-12-07 DJ Delorie <dj@redhat.com>
335 * c-decl.c (grokdeclarator): preserve previous alignments when
336 rebuilding array types.
338 2000-12-07 Neil Booth <neilb@earthling.net>
340 * cppfiles.c (struct include_file): Move from cpphash.h.
341 (_cpp_never_reread): New function.
342 (open_file, read_include_file): Use it.
343 (stack_include_file): Set the buffer's sysp according to the
344 path in which the file was found.
345 (find_include_file): Don't set sysp.
346 (cpp_make_system_header, actual_directory): Update.
347 (_cpp_execute_include): Do #include_next lookup handling here,
348 not in cpplib.c. Use _cpp_never_reread.
349 * cpphash.h (struct_include_file): Remove.
350 (struct cpp_buffer): New member sysp.
351 (CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
352 (_cpp_never_reread): New.
353 * cpplib.c (read_line_number): Rename read_flag. Rework slightly.
354 (end_directive): Clear line_extension flag.
355 (_cpp_handle_directive): Set line_extension flag for #number.
356 (do_include_next): Handle path lookup in _cpp_execute_include.
357 (do_line): Cleanup to use read_flag. Don't allow flags in #line.
358 (_cpp_do_file_change): Update.
359 (do_pragma_once): Use cpp_never_reread. Clean up.
360 * cpplib.h (struct lexer_state): New member line_extension.
362 2000-12-07 Richard Henderson <rth@redhat.com>
364 * flow.c (calculate_global_regs_live): Force the stack pointer live
365 after reload as well.
367 2000-12-07 Bruce Korb <bkorb@gnu.org>
369 * fixinc/Makefile.*(exeext): the variables are exeext, the
370 substitution expression is build_exeext.
372 2000-12-07 Neil Booth <neilb@earthling.net>
374 * c-common.c (parse_in): Make a cpp_reader *.
375 * cppfiles.c (_cpp_fake_include): Remove.
376 * cpphash.h: Similarly.
377 * cpplib.c (do_line): Don't call _cpp_fake_include. A valid
378 #line always creates a callback; FC_RENAME if there are no
380 * fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
381 The first EOF must be our get_char buffer.
383 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
385 * c-common.c (warn_format_security): New variable.
386 (check_format_info): Warn about non-literal formats with no format
387 arguments if either -Wformat-nonliteral or -Wformat-security is
389 (set_Wformat): Set warn_format_security for settings other than 1.
390 * c-common.h (warn_format_security): Declare.
391 * c-decl.c (c_decode_option): Decode -Wformat-security and
392 -Wno-format-security.
393 * invoke.texi: Document -Wformat-security.
394 * toplev.c (documented_lang_options): Include -Wformat-security
395 and -Wno-format-security.
397 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
399 * c-common.c (check_format_info): Warn for non-constant format
400 strings with strftime formats if -Wformat-nonliteral. Where the
401 format can convert arguments, if the format is not a string
402 literal and there are no arguments to the format, give a different
403 warning message from the general non-string-literal case.
405 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
407 * c-common.c (format_wanted_type): Add reading_from_flag.
408 (print_char_table): Mark %s and %S formats with flag "R".
409 (check_format_info_main): Set up reading_from_flag appropriately.
410 If aflag, always set writing_in_flag rather than relying on the
411 format used being a scanf format and so having it set.
412 (check_format_types): Check for formats reading through null
415 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
417 * invoke.texi (-Wformat): Document what format features are
420 2000-12-06 Kazu Hirata <kazu@hxi.com>
422 * config/h8300/h8300.h: Fix formatting.
424 2000-12-06 Joel Sherrill <joel@OARcorp.com>
426 * config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
427 h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
428 * config.gcc (*-rtems*): Add support for gthr-rtems.h.
429 * gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
430 config/h8300/rtems.h, config/mips/rtems.h: New files.
432 2000-12-06 Mark Kettenis <kettenis@gnu.org>
434 * config.gcc: Reorganize handling of *-*-gnu*, to share target
435 specific make details with Linux. Update comments to clarify
436 the distinction between GNU/Linux and GNU/Hurd.
438 Wed Dec 6 19:22:02 2000 Jeffrey A Law (law@cygnus.com)
440 * contrib.texi: Fix my email address. Update Per's
441 list of contributions.
443 2000-12-06 Rodney Brown <RodneyBrown@mynd.com>
445 * c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.
446 * collect2.c (scan_libraries): Remove unused `ch'.
447 (COFF specific stuff): Prototype ldgetname. Declare and prototype
448 ldbtread and ldclose.
450 * config/alpha/osf.h: Standarize copyright statement.
451 * config/arc/arc.h: Likewise.
452 * config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise.
453 * config/arm/arm.c config/arm/arm.h: Likewise.
454 * config/elxsi/elxsi.h: Likewise.
455 * config/i386/sco.h: Likewise.
456 * config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise.
457 * config/m68k/m68kv4.h config/m68k/next21.h: Likewise.
458 * config/m68k/sun3.h: Likewise.
459 * config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise.
460 * config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise.
461 * config/romp/romp.h: Likewise.
462 * config/rs6000/aix41.h: Likewise.
463 * config/sparc/sysv4.h: Likewise.
464 * config/we32k/we32k.c config/we32k/we32k.h: Likewise.
465 * fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise.
466 * cpplib.h cppexp.c cselib.h profile.c: Likewise.
467 * longlong.h: Likewise.
468 * libgcc2.c: Likewise.
470 2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
472 * machmode.def: Use correct definition for BITSIZE on targets where
475 2000-12-06 Bruce Korb <bkorb@gnu.org>
477 * fixinc/Makefile.*: Reduce differences to (ultimately) reduce
480 2000-12-06 J. David Anglin <dave@hiauly1.hia.nrc.ca>
482 * pa.c: Include expr.h before c-tree.h.
483 (remove_useless_addtr_insns): Use reverse_condition_maybe_unordered
484 instead of reverse_condition.
485 (print_operand): Correct predicates for GT, GE, LT and LE. Add
486 predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and
488 (cmpib_comparison_operator): Add GEU and LTU codes.
489 * pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator.
490 * pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered,
491 bordered): New float conditional branch patterns.
493 Wed Dec 6 21:03:41 2000 J"orn Rennecke <amylaar@redhat.com>
495 * final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
497 2000-12-06 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
499 * cpplex.c (skip_escaped_newlines): Don't warn for spaces between
500 backslash and newline, when inside a comment.
502 2000-12-06 Joseph S. Myers <jsm28@cam.ac.uk>
504 * invoke.texi: Use @table @samp instead of @itemize @minus for
505 table of language standards. Fix use of @pxref. From Zack
506 Weinberg. Also exclude specs documentation from generated
507 manpage, and create separate ENVIRONMENT section.
509 2000-12-06 Michael Matz <matzmich@cs.tu-berlin.de>
511 * gcse.c (compute_pre_data): Kill trapping expressions in
512 destination blocks of abnormal edges.
514 2000-12-05 Richard Sandiford <r.sandiford@redhat.com>
516 * config/mn10300/mn10300.c (mn10300_print_reg_list): Added.
517 (mn10300_get_live_callee_saved_regs): Likewise.
518 (mn10300_gen_multiple_store): Likewise.
519 (store_multiple_operation): Likewise.
520 (expand_prologue): Use mn10300_gen_multiple_store().
521 * config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added.
522 (mn10300_get_live_callee_saved_regs): Likewise.
523 (mn10300_gen_multiple_store): Likewise.
524 (store_multiple_operation): Likewise.
525 * config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL
526 tied to store_multiple_operation().
528 Tue Dec 5 20:09:14 2000 Jeffrey A Law (law@cygnus.com)
530 * builtins.c (expand_builtin_setjmp_setup): Set
531 current_function_has_nonlocal_label.
533 2000-12-05 Neil Booth <neilb@earthling.net>
535 * cppfiles.c (stack_include_file): Push zero-length buffers
536 in case of failure. Return void, as we don't fail any more.
537 (read_include_file): Check for files we shouldn't re-read.
538 Don't return an error code; errors are implied by marking the
540 (_cpp_execute_include): Move the recursion and in-macro checks
541 here. Update for stack_include_file not failing.
542 * cpplib.c (cpp_push_buffer): Always succeed, since
543 _cpp_execute_include performs the recursion check. Tidy up.
544 * cpplib.h (cpp_push_buffer): Update prototype.
546 2000-12-05 Alexandre Oliva <aoliva@redhat.com>
548 * sched-vis.c (visual_tbl_line_length): New variable.
549 (get_visual_tbl_length): Set it.
550 (visualize_stall_cycles): Don't let stalls overrun
551 visual_tbl_line_length.
553 2000-12-05 Geoffrey Keating <geoffk@redhat.com>
555 * global.c (global_conflicts): Allow for a REG_UNUSED note
556 with a different mode to the REG set in the insn.
558 2000-12-05 Kaveh R. Ghazi <ghazi@teal.rutgers.edu>
560 * Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
562 * fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
564 2000-12-05 Bruce Korb <bkorb@gnu.org>
566 * fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
569 2000-12-05 Richard Earnshaw <rearnsha@arm.com>
571 * fixinc/mkfixinc.sh: Run fixinc on netbsd.
572 * fixinc/inclhack.def (machine/ansi.h): Run this rule on all files,
573 to cope with aliased copies.
574 * fixinc/fixincl.x: Regenerate.
576 2000-12-05 Bernd Schmidt <bernds@redhat.co.uk>
578 * sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
579 * sched-rgn.c: Likewise.
580 (rgn_print_insn): Fix output.
582 2000-12-05 Bruce Korb <bkorb@gnu.org>
584 * fixinc/Makefile.*: make these more consistent
585 * fixinc/mkfixincl.sh: enable BeOS fixincludes
587 2000-12-05 Richard Henderson <rth@redhat.com>
589 * stmt.c (warn_if_unused_value): Move side effects test earlier.
591 2000-12-05 Alan Modra <alan@linuxcare.com.au>
593 * bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
596 2000-12-05 Richard Henderson <rth@redhat.com>
598 * flow.c (calculate_global_regs_live): Only force stack pointer
599 live before reload. Force pic register live before reload.
600 (insn_dead_p): Don't protect pic references from deletion.
602 2000-12-05 Joseph S. Myers <jsm28@cam.ac.uk>
604 * invoke.texi: Add support for using texi2pod.pl. Don't use
607 2000-12-04 Nick Clifton <nickc@redhat.com>
609 * config/arm/arm.c (arm_override_options): Test 'insn_flags' not
610 'tune_flags' for XScale nature.
611 Remove spurious test of HARD_FLOAT and XScale flags.
613 * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
614 contraint, accidentally changed during XScale contribution.
616 * config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
617 not create these functions if the target architecture does not
618 support Thumb instructions.
620 2000-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
622 * ONEWS: New file with the current contents of NEWS up to EGCS
624 * NEWS: Generate automatically from online release notes from EGCS
625 1.0 to GCC 2.95.2, using ../contrib/gennews.
627 2000-12-04 Neil Booth <neilb@earthling.net>
629 * tradcif.y: Move lexptr to top of file. Add rule to handle
630 assertions in conditional expressions.
631 * tradcpp.c (parse_answer): Assertions do not need to go to
632 end of line in conditional directives.
633 (parse_assertion): Get first character of identifiers correct.
634 (test_assertion): New function.
635 * tradcpp.h (test_assertion): New prototype.
637 2000-12-01 Rodney Brown <RodneyBrown@mynd.com>
639 * config.gcc: Fix typo for UnixWare 7.
641 2000-12-03 Phil Edwards <pme@sources.redhat.com>
643 * invoke.texi: Replace `pedwarns' with clearer text.
645 2000-12-04 Bruce Korb <bkorb@gnu.org>
647 * fixinc/Makefile.*(clean): don't clean autogenerated files.
648 (mainainer-clean): clean autogenerated files
650 2000-12-04 DJ Delorie <dj@redhat.com>
652 * md.texi: Add overview, clarify match_dup and define_expand.
654 2000-12-04 DJ Delorie <dj@redhat.com>
656 * print-tree.c (print_node): Target-specific builtins print
659 2000-12-04 Jason Merrill <jason@redhat.com>
661 * stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
664 * diagnostic.c (report_problematic_module): s/function/module/.
666 * c-lex.h: Remove decl for check_newline.
668 2000-12-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
670 * README.APOLLO: Remove obsolete file.
672 2000-12-04 Neil Booth <neilb@earthling.net>
674 * cppinternals.texi: New file.
676 2000-12-04 Neil Booth <neilb@earthling.net>
678 * cppfiles.c (cpp_make_system_header): Take 2 booleans,
679 and operate on current buffer.
680 (cpp_read_file): Rename _cpp_read_file.
681 * cpplib.c (do_line, do_pragma_system_header): Update calls to
682 cpp_make_system_header.
683 * fix-header.c: Similarly.
684 * cpphash.h (_cpp_read_file): Move from...
685 * cpplib.h: ... here.
686 * cppinit.c (do_includes, cpp_start_read): Update appropriately.
688 2000-12-03 Kaveh R. Ghazi <ghazi@teal.rutgers.edu>
690 * builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
691 Handle another transformation.
693 2000-12-03 Nick Clifton <nickc@redhat.com>
695 * config.gcc: Add support for StrongARM targets.
696 * config/arm/t-strongarm-elf: New file.
697 * config/arm/t-strongarm-coff: New file.
698 * config/arm/t-strongarm-pe: New file.
699 * config/arm/strongarm-pe.h: New file.
701 2000-12-03 Nick Clifton <nickc@redhat.com>
703 * NEWS: Mention XScale has been added.
704 * config.gcc: Add support for XScale targets.
705 * config/arm/arm.h: Add support for XScale processor.
706 * config/arm/arm.c: Add support for XScale processor.
707 * config/arm/arm.md: Add support for XScale processor.
708 * config/arm/t-xscale-elf: New file.
709 * config/arm/t-xscale-coff: New file.
710 * config/arm/xscale-elf.h: New file.
711 * config/arm/xscale-coff.h: New file.
713 2000-12-03 Richard Henderson <rth@redhat.com>
715 * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
716 unless exception handling is enabled, and if not using sjlj.
718 * builtins.c (expand_builtin_setjmp_setup): New.
719 (expand_builtin_setjmp_receiver): New.
720 (expand_builtin_setjmp): Split out _setup and _receiver functions.
721 Move argument parsing in from ...
722 (expand_builtin): ... here.
723 * except.c (receive_exception_label): Branch around receiver
724 unless new-style exceptions. Call expand_builtin_setjmp_receiver.
725 (start_dynamic_handler): Call expand_builtin_setjmp_setup.
726 * expr.h: Update builtin setjmp decls.
728 2000-12-03 Bruce Korb <bkorb@gcc.org>
730 * fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
731 build machine name. Default to the target.
733 2000-12-03 Laurynas Biveinis <lauras@softhome.net>
735 * Makefile.in: use $(build_canonical), not $(canonical_build).
737 2000-12-03 Bernd Schmidt <bernds@redhat.co.uk>
739 * Makefile.in (OBJS): Add sched-rgn.o.
740 (sched-rgn.o): New rule. * haifa-sched.c (sched_verbose): No
742 (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
743 INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
744 UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
745 MAX_BLOCKAGE_COST): Move to sched-int.h.
746 (MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
747 IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
748 FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
749 OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
750 rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
751 RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
752 debug_regions, find_single_block_region, find_rgns, too_large,
753 init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
754 bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
755 extract_bitlst, bblst, struct candidate, candidate_table,
756 bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
757 SRC_PROB, target_bb, split_edges, compute_trg_info,
758 debug_candidate, debug_candidates, bbset, bbset_size, dom,
759 IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
760 rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
761 EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
762 compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
763 IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
764 MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
765 update_live, set_spec_fed, is_pfree, find_conditional_protection,
766 is_conditionally_protected, may_trap_exp, haifa_classify_insn,
767 is_prisky, is_exception_free, add_branch_dependences,
768 propagate_deps, compute_block_backward_dependences,
769 debug_dependencies, is_cfg_nonregular, build_control_flow,
770 new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
771 BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
772 UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
773 CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
774 target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
775 can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
776 rgn_rank, region_sched_info): Move to sched-rgn.c.
777 (debug_reg_vector): Delete useless function.
778 (get_bb_head_tail): Likewise.
779 (insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
780 no_real_insns_p, rm_line_notes, save_line_notes,
781 restore_line_notes, rm_redundant_line_notes, sched_init): No
783 (rm_line_notes, save_line_notes, restore_line_notes,
784 schedule_block, set_priorities): Change argument to be a real
785 basic block, not one of haifa's "bb"s. All callers changed
786 (rm_other_notes): Initialize note_list here, not in
788 (sched_finish): New function, called from schedule_insn. * *
789 sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
790 INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
791 UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
792 MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
793 (get_block_head_tail, no_real_insns_p, rm_line_notes,
794 save_line_notes, restore_line_notes, rm_redundant_line_notes,
795 rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
796 sched_init, sched_finish, ready_add, insn_cost): Declare.
798 2000-12-03 Laurynas Biveinis <lauras@softhome.net>
799 Bruce Korb <bkorb@gnu.org>
801 * Makefile.in: pass $(build_canonical) to mkfixinc.sh.
802 * fixinc/mkfixinc.sh: accept build system name as an argument.
803 Use it for choosing the fix build method. Use the target for
804 selecting special fix rules.
806 2000-12-03 Bernd Schmidt <bernds@redhat.co.uk>
808 * Makefile.in (OBJS): Add sched-deps.o.
809 (sched-deps.o): New rule.
810 * haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
812 (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
814 (SIZE_FOR_MODE): Delete unused macro.
815 (reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
816 reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
817 anti_dependency_cache, output_dependency_cache,
818 forward_dependency_cache): Variables moved to sched-deps.c.
819 (add_dependence, remove_dependence, find_insn_list,
820 find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
821 sched_analyze_insn, sched_analyze_1, sched_analyze_2,
822 sched_analyze, group_leader, compute_forward_dependences,
823 init_deps, free_deps, init_dependency_caches, free_dependency_caches):
824 Functions moved to sched-deps.c.
825 (schedule_region): Call init_deps_global and finish_deps_global
826 instead of directly manipulating dependency data structures.
827 * sched-deps.c: New file.
828 (init_deps_global, finish_deps_global): New functions.
829 * sched-int.h (struct haifa_insn_data, struct deps): Moved here from
832 (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
835 * Makefile.in (OBJS): Add sched-vis.o.
836 (sched-vis.o): New rule.
837 * haifa-sched.c (get_unit_last_insn): New function.
838 (sched_dump, insn_unit, actual_hazard_this_instance): No longer
840 (schedule_block): Call visualize_alloc and visualize_free. Delete
841 spurious return statement.
842 (init_target_units, insn_print_units, get_visual_tbl_length,
843 init_block_visualization, print_block_visualization, safe_concat,
844 visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
845 print_exp, print_value, print_pattern, print_insn, target_units,
846 MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
847 n_vis_no_unit, vis_no_unit): Move scheduling visualization
848 functions/variables...
849 * sched-vis.c: ...here. New file.
850 (visualize_alloc, visualize_free): New functions.
851 (visualize_scheduled_insns, visualize_stall_cycles,
852 print_block_visualization): Lose basic block argument. All callers
854 (visualize_scheduled_insns): Use new function get_unit_last_insn.
855 * sched-int.h (current_sched_info, sched_dump): Declare.
856 (init_target_units, insn_print_units, init_block_visualization,
857 print_block_visualization, visualize_scheduled_inns,
858 visualize_no_unit, visualize_stall_cycles, visualize_alloc,
859 visualize_free): Declare functions.
861 * sched-int.h: New file.
862 * Makefile.in (haifa-sched.o): Depend on it.
863 * haifa-sched.c: Include it.
864 (no_real_insns_p): New function.
865 (current_sched_info): New static variable.
866 (__inline, HAIFA_INLINE): Moved to sched-int.h.
867 (get_block_head_tail): Minor cleanup.
868 (init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
869 rgn_print_insn, rgn_rank): New functions, broken out of
870 rank_for_schedule, schedule_insn and schedule_block, where they
871 are now called through function pointers in current_sched_info.
872 (queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
873 print_insn): To display uid and block number, call the print_insn
874 function pointer in current_schedule_info.
875 (region_sched_info): New static variable.
876 (sched_target_n_insns, sched_n_insns, target_n_insns): New global
877 variables, moved out of schedule_block.
878 (schedule_block): Return void. All callers changed.
879 Move some of the setup code into schedule_region. Get head/tail
880 from current_sched_info, and update it when done.
881 (schedule_region): Slightly rearranged, some code moved here from
882 schedule_block. Call no_real_insns_p to avoid doing work for a
883 block that consists only of notes and labels.
884 (schedule_insns): Initialize current_sched_info.
886 2000-12-03 Neil Booth <neilb@earthling.net>
888 * cppmacro.c (funlike_invocation_p): Re-disable macros enabled
889 by contexts drops AFTER argument pre-expansion, so that they
890 remain enabled during argument pre-expansion.
891 (_cpp_pop_context): Unconditionally re-enable a macro when
892 dropping a context level.
894 2000-12-03 Manfred Hollstein <manfredh@redhat.com>
896 * arm/t-linux (MULTILIB_OPTIONS): Comment.
897 (MULTILIB_DIRNAMES): Likewise.
898 (EXTRA_MULTILIB_PARTS): Likewise.
900 (INSTALL_LIBGCC): Likewise.
902 2000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
904 * builtins.c (expand_builtin_strcat, expand_builtin_strncat,
905 expand_builtin_strspn, expand_builtin_strcspn): New functions.
906 (expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
907 BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
909 * builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
910 BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
912 * c-common.c (c_common_nodes_and_builtins): Declare builtin
913 strcat, strncat, strspn and strcspn.
914 (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
916 * extend.texi (strcat, strcspn, strncat, strspn): Document new
919 2000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
921 * builtins.c (expand_builtin_strcmp): Use const*_rtx when
922 expanding strcmp at compile-time. Add another transformation.
923 (expand_builtin_strncmp): Add more transformations. Call
924 expand_builtin_memcmp, not expand_builtin_strcmp, under
925 appropriate conditions if HAVE_cmpstrsi.
927 2000-12-02 David Edelsohn <edelsohn@gnu.org>
929 * rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
931 (cr logic): Really make operands sequential.
933 2000-12-02 Geoffrey Keating <geoffk@redhat.com>
935 * c-common.c (combine_strings): When the ISO C standard specifies
936 the maximum length of a string, it doesn't include the trailing
939 * cpplib.c (do_ifdef): Add check_eol() call.
940 (do_ifndef): Likewise.
942 2000-12-02 Daniel Berlin <dberlin@redhat.com>
943 Bruce Korb <bkorb@gnu.org>
945 * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
946 * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
947 * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
948 * fixinc/fixfix.c(wrap_fix): avoid wrapping files that
949 use the "__need_" hackery. It breaks them.
950 * fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
951 Sometimes on DOS and BeOS the temp output file cannot be opened.
952 Skip the file noisily. Ought to be fixed instead.
954 2000-12-02 Bruce Korb <bkorb@gnu.org>
956 From: 2000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
958 * fixfixes.c (emit_gnu_type, format_write): Prototype.
959 (format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
960 custom uppercase ctype macros.
961 * fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
962 Use gcc's custom uppercase ctype macros.
964 (machine_matches): Add static prototype and constify variable.
965 (create_file, test_test, egrep_test): Add static prototype.
966 (quoted_file_exists): Likewise, and constify parameters.
967 (extract_quoted_files, internal_fix, start_fixer, fix_applies,
968 write_replacement, test_for_changes): Add static prototype.
969 (write_replacement, test_for_changes): Delete excess argument to
971 * fixtests.c (test): Make static.
972 * server.c (load_data, sig_handler, server_setup, find_shell): Add
974 (sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
976 2000-12-02 Bruce Korb <bkorb@gnu.org>
978 * fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
979 (per Laurynas Biveinis <lauras@softhome.net>)
981 2000-12-02 Richard Earnshaw <rearnsha@arm.com>
983 * arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
985 (REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
986 (REGNO_OK_FOR_FOR_BASE_P): Delete.
987 (ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
988 both strict and non-strict uses.
989 (REG_MODE_OK_FOR_BASE_P): Define in terms of above.
990 (ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
991 (REG_OK_FOR_INDEX_P): Define in terms of above.
992 (REG_OK_FOR_BASE_P): Delete.
993 (REG_OK_FOR_PRE_POST_P): Delete.
994 (ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
995 (ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
996 (ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
997 (THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
998 (ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes. Use ARM
999 specific variants rather than general ones. Use ARM_REG_OK_FOR_BASE_P
1000 in pre/post increment cases.
1001 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
1002 (ARM_LEGITIMIZE_ADDRESS): Similarly.
1003 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
1004 * arm.c (legitimate_pic_address): Similarly.
1006 2000-12-02 Neil Booth <neilb@earthling.net>
1008 * tradcpp.c (struct answer, parse_assertion, parse_answer,
1009 canonicalize_text, find_answer): New.
1010 (do_assert, do_unassert): Provide appropriate function bodies.
1011 (union hashval): New member answers.
1013 2000-11-23 Marek Michalkiewicz <marekm@linux.org.pl>
1015 * config/avr/avr.md: Document UNSPEC usage.
1016 (*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
1017 Make operand 0 input only, clobber it. Use UNSPEC, not a bogus
1018 MEM for program memory word reference. Do not add the label to
1019 the table index in each of the asm output templates, instead ...
1020 (casesi): ... do it in RTL. Adjust to match the above change.
1022 2000-12-02 Bernd Schmidt <bernds@redhat.co.uk>
1024 * c-common.c (PTRDIFF_TYPE): Provide default here, ...
1025 * c-decl.c: ... not here.
1027 * haifa-sched.c (sched_dump): Renamed from dump. All users changed.
1028 (old_max_uid): New variable.
1029 (compute_forward_dependences): Renamed from
1030 compute_block_forward_dependences; changed to accept block head and
1031 tail instead of block number. Caller changed.
1032 (free_deps, init_dependency_caches, free_dependency_caches,
1033 init_regions, sched_init): New functions, split out from
1034 schedule_insns and compute_block_backward_dependences.
1036 2000-12-02 Neil Booth <neilb@earthling.net>
1038 * cppexp.c (parse_number): Update diagnostic test.
1040 2000-12-02 Bernd Schmidt <bernds@redhat.co.uk>
1042 * reload1.c (free_for_value_p): New function, frontend to
1043 reload_reg_free_for_value_p. All callers of the latter now call
1044 this function with an additional mode argument.
1046 2000-12-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1048 * install.texi (Configurations): Remove obsolete documentation for
1051 2000-12-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1053 * install.texi (Installation): Remove obsolete description for
1054 libstdc++ which is now an integral part of GCC.
1056 2000-12-01 Jim Blandy <jimb@redhat.com>
1058 * dbxout.c (dbxout_parms): Correctly describe parameters passed by
1059 invisible reference in registers, but then spilled to the stack.
1060 Remove code to emit a second stab for such parameters; it attempts
1061 to describe the value's location by introducing a synthetic C++
1062 `reference' type, and then saying the stack slot has that
1063 reference type. This loses type information (breaking GDB's
1064 `ptype' command, among other things) just to describe a location
1065 which stabs can represent correctly in other ways.
1067 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
1069 * final.c (output_addr_const) <PLUS>: Don't assume at least one
1070 operand is a CONST_INT.
1072 * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
1073 (machine_dependent_reorg): Split all insns.
1074 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
1075 reg_class_contents[SIBCALL_REGS].
1076 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
1077 * config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
1078 call_value_pcrel, call, call_value, sibcall): Match even when
1080 (sibcalli_pcrel, sibcall_pcrel): Likewise. Use constraint `k'
1082 (sibcalli): Likewise.
1084 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
1086 * c-common.c (warn_format, warn_format_y2k,
1087 warn_format_extra_args, warn_format_nonliteral): Define.
1088 (check_format_info): Check warn_format_nonliteral and
1089 warn_format_extra_args.
1090 (check_format_info_main): Check warn_format_y2k.
1091 (set_Wformat): New function.
1092 * c-common.h (warn_format_y2k, warn_format_extra_args,
1093 warn_format_nonliteral, set_Wformat): Declare.
1094 * c-decl.c (warn_format): Remove definition.
1095 (c_decode_option): Handle -Wformat-nonliteral,
1096 -Wno-format-extra-args and -Wno-format-y2k, and negated versions.
1098 * invoke.texi: Document these new options and -Wformat=2.
1099 * toplev.c (documented_lang_options): Add these new options.
1101 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
1103 * builtins.def (BUILT_IN_IMAXABS): Add.
1104 * builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
1105 * c-common.c (c_common_nodes_and_builtins): Create builtin
1106 functions __builtin_imaxabs, and plain imaxabs unless
1107 flag_no_nonansi_builtin outside C99 mode.
1108 (expand_tree_builtin): Handle BUILT_IN_IMAXABS.
1109 * extend.texi: Document builtin imaxabs.
1111 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
1113 * c-common.c: Include "defaults.h".
1114 (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
1115 (c_common_nodes_and_builtins): Create string_type_node,
1116 const_string_type_node, wint_type_node, intmax_type_node,
1117 uintmax_type_node, default_function_type, ptrdiff_type_node and
1118 unsigned_ptrdiff_type_node.
1119 * c-common.h (identifier_global_value): Declare.
1120 * c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
1121 (init_decl_processing): Don't create string_type_node,
1122 const_string_type_node, wint_type_node, intmax_type_node,
1123 uintmax_type_node, default_function_type, ptrdiff_type_node and
1124 unsigned_ptrdiff_type_node.
1125 (identifier_global_value): New function.
1127 2000-12-01 Neil Booth <neilb@earthling.net>
1129 * cppinit.c (initialize): Forgotten prototype.
1130 * cpplex.c (_cpp_lex_token): Loop until not skipping.
1131 Always clear PREV_WHITE upon meeting a new line.
1132 * cpplib.c (end_directive): Set pfile->skipping after
1134 * cpplib.h (cpp_reader): Remove macro_pos.
1135 * cppmacro.c (cpp_get_line): Don't do anything special inside
1137 (parse_arg): Add PREV_WHITE if a token appears after new lines.
1138 (funlike_invocation_p): Save and restore the output position
1139 over a successful check for a '('.
1140 (enter_macro_context): Delete uses of macro_pos.
1141 (cpp_get_token): Don't use pfile->skipping.
1143 2000-12-01 Phil Edwards <pme@sources.redhat.com>
1145 * diagnostic.c: Fix typos in comments.
1146 * diagnostic.h: Likewise.
1148 2000-11-30 Phil Edwards <pme@sources.redhat.com>
1150 * rtl.texi (Machine Modes): Document BImode and OImode.
1152 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
1154 * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
1157 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
1159 * c-decl.c (grokdeclarator): If pedantic, warn about arrays with
1160 incomplete element type.
1161 (grokparms): Before checking for incomplete parameter type, check
1162 the type isn't error_mark_node.
1164 2000-12-01 Jakub Jelinek <jakub@redhat.com>
1166 * builtins.c (target_char_cast): New function.
1167 (expand_builtin_strchr): Use it.
1168 (expand_builtin_strrchr): Use it.
1169 (builtin_memset_read_str): New function.
1170 (expand_builtin_memset): Use target_char_cast.
1171 Try to optimize memset with second argument non-zero using
1174 2000-11-30 Marek Michalkiewicz <marekm@linux.org.pl>
1176 * install.texi (avr): Replace incomplete list of supported MCU
1177 types with a link to the current one ...
1178 * invoke.texi (AVR Options): ... here. Update -mmcu= to list
1179 all supported MCU types. Document -minit-stack= default.
1180 Document new options -mno-tablejump, -mtiny-stack.
1181 * md.texi (AVR family): Fix typo in 'w' constraint letter
1182 description. Document 'q'. Update 'O'.
1184 2000-12-01 Bernd Schmidt <bernds@redhat.co.uk>
1186 * combine.c (cant_combine_insn_p): Only disallow insns involving
1187 hard regs if they are reg-reg moves.
1188 (try_combine, can_combine_p, combinable_i3pat): Delete old
1189 SMALL_REGISTER_CLASSES tests.
1191 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
1193 * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
1194 whether X is a CONST_INT.
1195 (addsubcosts): Likewise.
1197 * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
1199 (ARG_POINTER_REGNUM): Set to AP_REG.
1201 2000-11-30 Alexandre Oliva <aoliva@redhat.com>
1203 * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
1204 splits): Only match on TARGET_SH4.
1206 * combine.c (try_combine): Disregard USEs when updating LOG_LINKS
1207 of subsequent insns.
1209 2000-11-30 Richard Henderson <rth@redhat.com>
1211 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
1212 * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
1214 2000-11-30 Richard Henderson <rth@redhat.com>
1216 * config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
1217 (DO_SELECT_SECTION): New.
1218 (SELECT_SECTION): Use it.
1219 (UNIQUE_SECTION_P): New.
1220 (UNIQUE_SECTION): New.
1222 2000-11-30 Alexandre Oliva <aoliva@redhat.com>
1224 * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
1225 from va_list before using it.
1227 2000-11-30 Michael Matz <matzmich@cs.tu-berlin.de>
1229 * flow.c (make_edge): Early out, if no flags to set.
1230 (calculate_global_regs_live): Clear out garbage only when necessary.
1232 * simplify-rtx.c (varray_type used_regs): New.
1233 (clear_table): Use it to only clear necessary items.
1234 (cselib_lookup, cselib_record_set): Remember newly set items.
1235 (cselib_update_varray_sizes, cselib_init): Initialize and grow
1238 * local-alloc.c (update_equiv_regs): New local `cleared_regs'.
1239 Move clearing of dead regs out of insn-loop.
1241 2000-11-30 Richard Henderson <rth@redhat.com>
1243 * calls.c (expand_call): Emit queued insns before creating
1244 the tail recursion sequence.
1246 2000-11-30 J. David Anglin <dave.anglin@nrc.ca>
1247 Bruce Korb <bkorb@gnu.org>
1249 * fixinc/inclhack.def(): prevent dual double definition protection
1250 * fixinc/fixincl.x: regenerate
1252 2000-11-29 Loren J. Rittle <ljrittle@acm.org>
1254 * fixinc/Makefile.in (fixincl.x): Explicitly state the
1255 location of the generated file.
1257 2000-11-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1259 * README.FRESCO: Remove obsolete file.
1261 2000-11-30 Mark Kettenis <kettenis@gnu.org>
1263 * config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
1264 TARGET_LIBGCC2_CFLAGS): Remove. We now use the settings from
1265 config/t-linux for the Hurd.
1267 2000-11-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1269 * config/mn10200/udivmod.c, config/mn10200/divmod.c,
1270 config/mn10200/udivmodsi4.c: Moved from here.
1271 * config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
1272 * config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
1273 C division functions.
1274 * config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
1276 Thu Nov 30 01:12:52 2000 Jeffrey A Law (law@cygnus.com)
1278 * pa.md (conditional moves): Avoid holes in operand list.
1279 (mod, umod patterns): Similarly.
1280 (variable extract/shift patterns): Similarly.
1282 2000-11-30 Neil Booth <neilb@earthling.net>
1284 * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
1285 maybe_objc_check_decl, build_objc_string_object,
1286 objc_declare_alias, objc_declare_class, build_message_expr,
1287 build_protocol_expr, build_selector_expr, build_encode_expr,
1288 get_class_ivars, start_class, start_protocol): Remove
1289 redundant code, assuming doing_objc_thang is true.
1291 2000-11-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
1293 * pa.c (restore_unscaled_index_insn_codes): Delete procedure.
1294 (record_unscaled_index_insn_codes): Likewise.
1295 (unscaled_index_insn_codes): Delete.
1296 (max_unscaled_index_insn_codes_uid): Delete.
1297 (output_function_prologue, output_function_epilogue, pa_reorg):
1298 Don't use the unscaled index insn hack.
1300 * pa.md: Remove hack from all index insns to reverse the operand
1301 order of frame and stack pointer references incorrectly created
1304 * function.h (emit_status): Delete member regno_pointer_flag and
1305 rename regno_pointer_flag_length to regno_pointer_align_length.
1306 Delete define for REGNO_POINTER_FLAG.
1307 * integrate.h (inline_remap): Delete member regno_pointer_flag.
1308 Add member x_regno_reg_rtx.
1309 * rtl.h (rtx_def): Use frame_related bit to indicate register is
1310 a pointer in REG expressions. Define REG_POINTER macro.
1311 * alias.c (find_base_value, find_base_term): Use REG_POINTER
1312 instead of REGNO_POINTER_FLAG.
1313 * combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
1314 * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
1315 of regno_pointer_flag_length. Remove code which refers to
1317 (mark_reg_pointer): Use REG_POINTER.
1318 (free_emit_status): Remove code which refers to regno_pointer_flag.
1319 (init_emit, mark_emit_status): Likewise.
1320 * flow.c (dump_flow_info): Likewise.
1321 * function.c (preserve_temp_slots): Likewise.
1322 * integrate.c (expand_inline_function, copy_rtx_and_substitute):
1323 Use x_regno_reg_rtx instead of regno_pointer_flag for function
1324 pointer determination in map.
1325 * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
1326 * predict.c (estimate_probability): Likewise.
1327 * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
1328 * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
1329 regno_pointer_flag for function pointer determination in map.
1330 * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
1332 * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
1334 (restore_unscaled_index_insn_codes): Revise comment.
1336 * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
1338 2000-11-30 Joseph S. Myers <jsm28@cam.ac.uk>
1340 * extend.texi: Update documentation for attributes.
1342 2000-11-29 David O'Brien <obrien@FreeBSD.org>
1344 * config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
1345 (ASM_DECLARE_OBJECT_NAME): Same.
1346 (ASM_FILE_END): Same.
1347 (ASM_FINISH_DECLARE_OBJECT): Same.
1348 (ASM_IDENTIFY_GCC): Same.
1349 (ASM_IDENTIFY_LANGUAGE): Same.
1350 (ASM_OUTPUT_CONSTRUCTOR): Same.
1351 (ASM_OUTPUT_DEF): Same.
1352 (ASM_OUTPUT_DESTRUCTOR): Same.
1353 (ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
1354 (ASM_OUTPUT_SECTION_NAME): Same.
1355 (ASM_WEAKEN_LABEL): Same.
1356 (BSS_SECTION_ASM_OP): Same.
1357 (COMMON_ASM_OP): Same.
1358 (CONST_SECTION_ASM_OP): Same.
1359 (CONST_SECTION_FUNCTION): Same.
1360 (CTORS_SECTION_ASM_OP): Same.
1361 (DTORS_SECTION_ASM_OP): Same.
1363 (FINI_SECTION_ASM_OP): Same.
1364 (IDENT_ASM_OP): Same.
1365 (IDENT_ASM_OP): Same.
1366 (INIT_SECTION_ASM_OP): Same.
1368 (MAX_OFILE_ALIGNMENT): Same.
1369 (SBSS_SECTION_ASM_OP): Same.
1370 (SDATA_SECTION_ASM_OP): Same.
1371 (SECTION_FUNCTION_TEMPLATE): Same.
1372 (SELECT_SECTION): Same.
1373 (SE_CONST_SECTION): Same.
1374 (SIZE_ASM_OP): Same.
1375 (SKIP_ASM_OP): Same.
1376 (STRING_ASM_OP): Same.
1377 (STRING_LIMIT): Same.
1378 (TYPE_ASM_OP): Same.
1379 (TYPE_OPERAND_FMT): Same.
1381 2000-11-29 Neil Booth <neilb@earthling.net>
1383 * c-decl.c (c_decode_option): Don't handle -lang-objc.
1384 * objc/lang-options.h: Remove -lang-objc.
1385 * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
1386 * objc/objc-act.c (lang_init_options): Set c_language.
1388 2000-11-29 Jakub Jelinek <jakub@redhat.com>
1390 * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
1393 2000-11-29 Neil Booth <neilb@earthling.net>
1395 * c-pragma.c (init_pragma): Update for parse_in type change.
1397 2000-11-29 Laurynas Biveinis <lauras@softhome.net>
1399 * configure.in: recognize DOS-style absolute paths.
1401 2000-11-29 Jakub Jelinek <jakub@redhat.com>
1403 * expr.h (store_by_pieces): Add prototype.
1404 (can_store_by_pieces): Likewise.
1405 * expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
1406 (can_store_by_pieces): New.
1407 (store_by_pieces): New.
1408 (clear_by_pieces): New.
1409 (clear_by_pieces_1): New.
1410 (store_by_pieces_1): Renamed from clear_by_pieces, handle storing
1411 arbitrary compiler generated constants into memory block.
1412 (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
1413 * builtins.c (c_readstr): New.
1414 (builtin_memcpy_read_str): New.
1415 (expand_builtin_memcpy): If src is string constant and
1416 emit_block_move would move it by pieces, compute integer constants
1417 from the string and store it into memory block instead.
1418 (builtin_strncpy_read_str): New.
1419 (expand_builtin_strncpy): If N is not constant zero and c_strlen does
1420 not return INTEGER_CST, don't optimize.
1421 If N is larger than strlen(src) + 1, try to copy the string
1422 including padding with store_by_pieces.
1423 (expand_builtin_strcmp): If both arguments have side effects, don't
1425 (expand_builtin_fputs): If STR has side effects, don't optimize.
1427 2000-11-29 Richard Earnshaw <rearnsha@arm.com>
1429 * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
1430 Add use of link register.
1432 2000-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
1434 * extend.texi: Update documentation for default format attributes.
1436 Tue Nov 28 21:56:45 2000 Jeffrey A Law (law@cygnus.com)
1438 * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
1439 a list, to keep track of the sections.
1441 2000-11-28 Nick Clifton <nickc@redhat.com>
1443 * config/arm/arm.md (pic_load_addr): Split into
1444 pic_load_addr_arm and pic_load_addr_thumb.
1446 * config/arm/arm.c (legitimize_pic_address): Generate either
1447 ARM or Thumb versions of pic_load_addr.
1448 (arm_finalize_pic): Generate either ARM or Thumb versions of
1451 2000-11-28 Richard Henderson <rth@redhat.com>
1453 * calls.c (expand_call): Defer const/pure NO_DEFER_POP until
1454 after sibcall do_pending_stack_adjust.
1456 Wed Nov 29 00:08:23 2000 J"orn Rennecke <amylaar@redhat.com>
1458 * jump.c (delete_insn): Check that REG_LABEL note actually contains
1461 2000-11-28 Neil Booth <neilb@earthling.net>
1463 * c-common.h: Remove flag_digraphs.
1464 * c-decl.c: Remove flag_digraphs.
1465 (c_decode_option): Don't set it.
1466 * c-lex.c (init_c_lex): Don't do anything for digraphs.
1468 2000-11-28 Richard Henderson <rth@redhat.com>
1470 * c-parse.in (finish_parse): Update for parse_in type change.
1473 2000-11-28 Neil Booth <neilb@earthling.net>
1475 * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
1476 indicating whether to scan all buffers on the stack or
1478 * cppinit.c (do_includes): Update.
1479 * cppmain.c (main): Update.
1480 * cpplib.h: Update prototype.
1482 2000-11-28 Richard Henderson <rth@redhat.com>
1484 * genoutput.c (validate_insn_operands): New.
1485 (gen_insn): Call it.
1487 * config/alpha/alpha.md (divmodsi_internal): Renumber operands.
1488 (divmoddi_internal): Likewise.
1489 * config/arm/arm.md (andsi3_compare0_scratch): Likewise.
1490 * config/i960/i960.md (branch patterns): Likewise.
1491 * config/ia64/ia64.md (tbit_and_0): Likewise.
1492 (tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
1493 * config/m68k/m68k.md (zero_extract memory patterns): Likewise.
1494 * config/mips/mips.md (divmodsi4_internal): Likewise.
1495 (divmoddi4_internal): Likewise.
1496 * config/rs6000/rs6000.md (call patterns): Likewise.
1497 * config/sh/sh.md (movsi_y): Likewise.
1498 * config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
1500 2000-11-28 Richard Henderson <rth@redhat.com>
1502 * config.gcc: Kill residual pyramid support.
1504 2000-11-28 Neil Booth <neilb@earthling.net>
1506 * c-lex.h (parse_in): Change parse_in to a cpp_reader *.
1507 * c-decl.c (c_decode_option): Update to match.
1508 * c-lex.c (init_c_lex, yyparse): Update to match.
1509 * c-lang.c (lang_init_options): Use cpp_create_reader.
1510 * cppinit.c (cpp_init): Rename initialize.
1511 (cpp_reader_init): Rename cpp_create_reader. Create the
1512 reader. Initialize cpplib if appropriate.
1513 * cpplib.h (cpp_create_reader) New prototype.
1514 (cpp_init, cpp_reader_init): Delete prototypes.
1515 * cppmain.c (general_init, setup_callbacks): New functions.
1517 * fix-header.c (scan_in): Change type to cpp_reader *.
1518 (read_scan_file): Update for new cpplib interface and scan_in type.
1520 * cp/decl.c (parse_in): Change to cpp_reader *.
1521 (lang_decode_option): Update.
1522 * cp/lex.c (lang_init_options): Use new cpplib interface.
1523 (init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
1524 * cp/spew.c (read_token): Update.
1525 * objc/objc-act.c (lang_init_options): Update new cpplib interface.
1527 2000-11-28 Jakub Jelinek <jakub@redhat.com>
1529 * loop.c (load_mems): Avoid using next_label to find end_label. If
1530 jumping outside of the loop (other than loop end), don't hoist MEMs
1533 2000-11-28 Jan Hubicka <jh@suse.cz>
1535 * calls.c (expand_call): Don't disable tail recursion based
1538 2000-11-28 Neil Booth <neilb@earthling.net>
1540 * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
1541 (struct directive): Drop 4th argument from handlers.
1542 (do_define, do_line, do_include, do_undef, do_else, do_elif,
1543 do_endif): Similarly.
1544 (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
1545 (do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
1546 (make_definition, make_undef): Take a const char*.
1547 (make_assertion): New function.
1548 (struct directive_table): Update.
1549 (main): Handle -A command line argument.
1550 (handle_directive): Drop fourth handler argument.
1552 2000-11-28 Bernd Schmidt <bernds@redhat.co.uk>
1554 * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
1555 is anything but REG or MEM, but look inside STRICT_LOW_PART.
1557 Tue Nov 28 09:53:50 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1559 * system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
1560 (IS_ABSOLUTE_PATHNAME): New macro.
1561 * gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
1563 2000-11-28 Jakub Jelinek <jakub@redhat.com>
1565 * config/i386/i386.md (truncxfsf2_2): Fix predicate.
1567 2000-11-27 Jim Wilson <wilson@redhat.com>
1569 * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
1571 2000-11-27 Matthias Klose <doko@cs.tu-berlin.de>
1573 * extend.texi (Nested Functions): Update URL of Usenix paper.
1575 2000-11-27 Mark Mitchell <mark@codesourcery.com>
1577 * function.c (free_after_compilation): Clear x_clobber_return_insn.
1579 2000-11-27 Neil Booth <neilb@earthling.net>
1581 * cppinit.c (cpp_reader_init): Remove handling of warn_paste
1582 command line options.
1583 (cpp_handle_option): Similarly.
1584 * cpplib.h (struct cpp_options): Remove warn_paste.
1585 * cppmacro.c (paste_tokens): Apart from assembler, make
1586 unpasteable token warning mandatory.
1588 2000-11-27 Neil Booth <neilb@earthling.net>
1590 * tradcpp.c (enum pending_dir_t, struct pending_dir): New.
1591 (main): Allocate a pending directive set of these. Use it.
1592 Merge handling of -D and -U. Update handling of pending
1593 directives. Free the memory after use.
1595 2000-11-27 Bernd Schmidt <bernds@redhat.co.uk>
1597 * flow.c (entry_exit_blocks): Add entry for cond_local_set.
1598 (struct propagate_block_info): Add new member cond_local_set.
1599 (propagate_block): Accept new arg cond_local_set. All callers
1601 (init_propagate_block_info): Likewise.
1602 (calculate_global_regs_live): Allocate & free cond_local_set. Always
1603 rescan if there's overlap between cond_local_set and new_live_at_end.
1604 (mark_set_1): Set bits either in cond_local_set or local_set, as
1606 * basic-block.h (struct basic_block_def): New field cond_local_set.
1607 (propagate_block, init_propagate_block_info): Update prototypes.
1609 Mon Nov 27 17:29:44 2000 kaz Kojima <kkojima@rr.iij4u.or.jp>
1611 * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
1614 2000-11-27 Richard Earnshaw <rearnsha@arm.com>
1616 * arm.c (select_dominance_cc_mode): Handle new way that combine
1617 canonicalizes conditional compares.
1618 (arm_select_cc_mode): Likewise.
1619 * arm.md: Garbage collect some dead code.
1620 (cmp_and, cmp_ior): New patterns.
1621 (splitter for conditional move with inverted false): Use cond_exec
1622 and handle unordered comparisons.
1624 Mon Nov 27 17:22:56 MET 2000 Jan Hubicka <jh@suse.cz>
1626 * i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
1627 * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
1628 * i386.md (float?i?f, int/fp operations): Rewrite spliters to use
1629 ix86_force_to_memory and ix86_free_from_memory.
1631 2000-11-27 Richard Earnshaw <rearnsha@arm.com>
1633 * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
1634 arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
1635 anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
1636 one_cmpldi2): Merge with splitters to create define_insn_and_split
1637 patterns. Remove redundant splits.
1638 (peephole2 for add:SI of invalid immediate): New.
1639 (peephole2 for minus:SI of invalid immediate): New.
1640 (peephole2 for ior:SI of invalid immediate): New.
1641 (peephole for merge of move and compare): Convert ot peephole2.
1642 (addsf3, adddf3): Mark as commutative.
1644 * arm.md (thumb peephole for merging stack adjustments): Convert to
1647 2000-11-27 Bernd Schmidt <bernds@redhat.co.uk>
1649 * haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
1651 * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
1652 (reload_cse_simplify_operands): Do nothing about operands where both
1653 the operand and the match_operand fail to give us a mode.
1654 * simplify-rtx.c (wrap_constant): New function.
1655 (entry_and_rtx_equal_p): Except integer constants to come wrapped in a
1656 CONST describing the proper mode.
1657 (rtx_equal_for_cselib_p): Pass down modes to recursive calls of
1659 (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
1660 htab_find_slot_with_hash.
1661 (cselib_lookup): Likewise.
1663 Based on a patch from Geoff Keating <geoffk@redhat.com>:
1664 * loop.c (basic_induction_var): If a REG is set from something
1665 that is not a biv, then the REG is not a biv. Even if it is
1666 earlier set from something that is a biv.
1668 2000-11-27 Alexandre Oliva <aoliva@redhat.com>
1670 * configure.in (extra_objs): Enclose extra_headers in quotes.
1671 * configure: Rebuilt.
1673 2000-11-27 Neil Booth <neilb@earthling.net>
1675 * c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
1676 Combine into the new function cb_change_file.
1677 (init_c_lex): Update.
1678 * cppfiles.c (stack_include_file): Use _cpp_do_file_change.
1679 (cpp_syshdr_flags): Delete.
1680 * cpphash.h (_cpp_do_file_change): New prototype.
1681 Move struct cpp_buffer here from...
1682 * cpplib.h (struct cpp_buffer): ... here.
1683 (enum cpp_fc_reason, struct cpp_file_loc,
1684 struct_cpp_file_change, change_file): New.
1685 (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
1686 * cpplib.c (do_line): Update for new cb_change_file callback.
1687 (_cpp_do_file_change): New function.
1688 (_cpp_pop_buffer): Update to use it.
1689 * cppmain.c (move_printer): Delete.
1690 (main): Set up single callback cb_change_file.
1691 (cb_enter_file, cb_leave_file, cb_rename_file): Delete.
1692 (cb_change_file): New.
1693 * fix-header.c (cur_file, cb_change_file): New.
1694 (recognized_function, read_scan_file): Update.
1695 * scan-decls.c (scan_decls): Update.
1696 * scan.h (recognized_function): Update prototype.
1698 2000-11-26 Mark Mitchell <mark@codesourcery.com>
1700 * tree.h (mark_tree_hashtable): New function.
1701 * tree.c (mark_tree_hashtable_entry): New function.
1702 (mark_tree_hashtable): Likewise.
1704 2000-11-27 Michael Meissner <meissner@redhat.com>
1706 * d30v-protos.h (srelational_si_operator): Correctly spell
1708 (urelational_si_operator): Ditto.
1709 (relational_si_operator): Ditto.
1710 (d30v_expand_prologue): Add prototype.
1711 (d30v_expand_epilogue): Ditto.
1713 * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
1715 * d30v.md (movcccc_*): Delete now unused patterns.
1716 (64 bit comparison splitters): Rewrite to use COND_EXEC instead of
1718 (define_cond_exec): Use 'b' to select branch flags.
1720 2000-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1722 * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
1724 (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
1726 * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
1728 * c-common.c (c_common_nodes_and_builtins): Declare builtin
1729 strncpy and strncmp.
1731 * extend.texi (strncmp, strncpy): Document new builtins.
1733 2000-11-26 Mark Mitchell <mark@codesourcery.com>
1735 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
1736 a list, to keep track of the sections.
1737 * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
1738 parameter provided will always be a canonical string.
1740 2000-11-26 Neil Booth <neilb@earthling.net>
1742 * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
1745 2000-11-26 Joseph S. Myers <jsm28@cam.ac.uk>
1747 * makefile.vms: Remove EGCS references.
1749 2000-11-26 Ulrich Drepper <drepper@redhat.com>
1751 * dwarf2out.c (output_file_names): New function. Compute minimal
1752 combination of directory and file name table and emit them.
1753 (output_line_info): Remove code to emit directory and file name
1754 table and call output_file_names instead.
1755 (file_info_cmp): Helper function to sort directory names.
1757 2000-11-26 Neil Booth <neilb@earthling.net>
1759 * cpplib.h (struct cpp_reader): Remove lang_asm.
1760 (struct cpp_options): Remove c89. New members lang,
1762 * cppexp.c (parse_number): Use them.
1763 * cpphash.h (VALID_SIGN): Use them.
1764 * cppinit.c (set_lang, cpp_start_read): Update.
1765 * cpplex.c (parse_string, _cpp_lex_token): Update.
1766 * cpplib.c (_cpp_handle_directive): Update.
1767 * cppmacro.c (parse_args): Update.
1768 * cppmain.c (scan_buffer): Update.
1770 Sun Nov 26 10:02:37 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1772 * fold-const.c (fold, case CONVERT_EXPR): Always return tree of
1775 2000-11-26 Neil Booth <neilb@earthling.net>
1777 * Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
1778 * c-decl.c: Remove parse_in declaration.
1779 * c-lang.c: Similarly.
1780 * c-lex.c: Similarly.
1781 * c-parse.in: Similarly.
1782 * c-pragma.c: Similarly.
1783 * configure.in: Similarly.
1784 * cp/Make-lang.in: Similarly.
1785 * cp/spew.c: Similarly.
1786 * cp/decl2.c: Remove check for lang-c++ option.
1787 * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
1788 * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
1789 * c-lex.h: Add declaration of parse_in.
1790 * cppinit.c: Call set_lang after allocating pfile->pending.
1791 * configure: Regenerate.
1793 2000-11-25 Zack Weinberg <zack@wolery.stanford.edu>
1795 * combine.c (try_combine): Remove redundant test.
1797 2000-11-25 Richard Henderson <rth@redhat.com>
1799 * c-common.h (DECL_C_HARD_REGISTER): New.
1800 * c-decl.c (finish_decl): Set it for asm register variables.
1801 * c-semantics.c (emit_local_var): Test it when instantiating one.
1803 2000-11-25 Richard Henderson <rth@redhat.com>
1805 * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
1806 lineno for the start of the function.
1808 2000-11-25 Richard Henderson <rth@redhat.com>
1810 * dwarf2out.c (file_table, file_table_allocated): Remove.
1811 (file_table_allocated): Remove.
1812 (struct file_table): New.
1813 (decl_file_table, line_file_table): New.
1814 (print_dwarf_line_table): Use them.
1815 (size_of_line_prolog): Likewise.
1816 (output_line_info): Likewise.
1817 (add_src_coords_attributes): Likewise.
1818 (gen_subprogram_die): Likewise.
1819 (gen_variable_die): Likewise.
1820 (dwarf2out_add_library_unit_info): Likewise.
1821 (dwarf2out_line): Likewise.
1822 (lookup_filename): Take a struct file_table argument.
1823 (init_file_table): New.
1824 (dwarf2out_init): Use it.
1826 2000-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
1828 * invoke.texi: Update sequence points references.
1830 2000-11-25 Neil Booth <neilb@earthling.net>
1832 * c-common.c: Remove USE_CPPLIB conditional inclusions.
1833 * c-common.h: Similarly.
1834 * c-decl.c: Similarly.
1835 * c-lang.c: Similarly.
1836 * c-lex.c: Similarly.
1837 * c-parse.in: Similarly.
1838 * c-pragma.c: Similarly.
1839 * c-pragma.h: Similarly.
1841 * toplev.c: Similarly.
1842 * cp/cp-tree.h: Similarly.
1843 * cp/decl2.c: Similarly.
1844 * cp/lang-specs.h: Similarly.
1845 * cp/lex.c: Similarly.
1846 * cp/lex.h: Similarly.
1847 * cp/spew.c: Similarly.
1848 * java/lang-options.h: Similarly.
1849 * objc/lang-specs.h: Similarly.
1850 * objc/objc-act.c: Similarly.
1852 * configure.in: Remove configure option.
1853 * config.in: Regenerate.
1854 * configure: Regenerate.
1856 2000-11-25 Richard Henderson <rth@redhat.com>
1858 * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
1859 Revert 2000-11-22 change.
1861 2000-11-25 Bernd Schmidt <bernds@redhat.co.uk>
1863 * config/i386/i386.h (FIXED_REGS): Make the three flags registers
1866 2000-11-25 Philipp Thomas <pthomas@suse.de>
1867 * configure.in (ALL_LINGUAS): Remove en_GB and add sv.
1868 * configure: Rebuilt.
1870 2000-11-25 Jakub Jelinek <jakub@redhat.com>
1872 * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
1873 Handle CONST_INT as second argument.
1874 * config/sparc/sparc.c (set_extends): Remove first argument.
1875 Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
1877 (sparc_check_64): Abort if first argument is not REG.
1878 If it is DImode REG, look at the lower register of the register
1881 * config/sparc/sparc.c (load_pic_register, restore_regs,
1882 output_return, sparc_v8plus_shift, sparc_function_profiler,
1883 sparc_function_block_profiler, sparc_block_profiler): Fix output
1886 2000-11-25 Alexandre Oliva <aoliva@redhat.com>
1888 * config/sh/sh.h (TARGET_NONE): New.
1889 (TARGET_SWITCHES): For all variant-selecting switch, use
1890 TARGET_NONE to reset all other variant-selecting switch. Added
1891 empty strings to avoid warnings.
1892 (TARGET_DEFAULT): Set to SH1_BIT.
1894 * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
1897 * gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
1898 (sibcall_pcrel): New insn_and_split.
1899 (sibcall, sibcall_value, sibcall_epilogue): New expands.
1901 * config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
1902 symPLT_label2reg, call, call_value): Don't set
1903 current_function_uses_pic_offset_table.
1904 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
1905 PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
1906 takes it into account.
1907 (FINALIZE_PIC): Delete, useless.
1908 (LEGITIMATE_CONSTANT_P): Delete, unused.
1909 * config/sh/sh.c (sh_expand_prologue): Don't use
1910 current_function_uses_pic_offset_table. Don't special-case
1911 PIC_OFFSET_TABLE_REGNUM. Initialize it if it's ever live and
1913 (sh_expand_epilogue, initial_elimination_offset): Don't
1914 special case PIC_OFFSET_TABLE_REGNUM.
1916 2000-11-25 Alexandre Oliva <aoliva@redhat.com>, NIIBE Yutaka <gniibe@m17n.org>
1918 * config/sh/sh-protos.h (symbol_ref_operand): Declare.
1919 * config/sh/sh.md (UNSPEC_CALLER): New constant.
1920 (calli_pcrel, call_valuei_pcrel): Use PIC_REG.
1921 (call_pcrel, call_value_pcrel): New insn_and_splits.
1922 (call, call_value): Use them.
1923 (call_site): New expand.
1924 (sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
1925 * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
1926 Output call_site label.
1927 (PREDICATE_CODES): Added symbol_ref_operand.
1928 * config/sh/sh.c (symbol_ref_operand): Define.
1929 * emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
1930 to CALL_INSNs in the split sequence.
1932 2000-11-24 Nick Clifton <nickc@redhat.com>
1934 * config.gcc (v850-*-*): Define c_target_objs and
1937 * config/v850/t-v850: Define how to build v850-c.o
1939 * config/v850/v850.h (struct data_area_stack_element): Move
1940 definition here from v850.c.
1942 * config/v850v850.c: Include gcc.h to avoid compile time
1944 (push_data_area): Move to v850-c.c.
1945 (pop_data_area): Move to v850-c.c.
1946 (mark_current_function_as_interrupt): Move to v850-c.c.
1947 (GHS_default_section_names): Allow to be exported.
1948 (GHS_current_section_names): Allow to be exported.
1949 (data_area_stack_elements): Allow to be exported.
1950 (ghs_pragma_section): Move to v850-c.c.
1951 (ghs_pragma_interrupt): Move to v850-c.c.
1952 (ghs_pragma_starttda): Move to v850-c.c.
1953 (ghs_pragma_startsda): Move to v850-c.c.
1954 (ghs_pragma_startzda): Move to v850-c.c.
1955 (ghs_pragma_endtda): Move to v850-c.c.
1956 (ghs_pragma_endsda): Move to v850-c.c.
1957 (ghs_pragma_endzda): Move to v850-c.c.
1959 * config/v850/v850-c.c: New file: Contains v850 specific
1960 pragma parsing functions.
1962 2000-11-24 Nick Clifton <nickc@redhat.com>
1964 * config.gcc (extra_objs): Remove duplicate description.
1965 (c_target_objs): New variable. Contains target specific
1966 object files for the gcc C compiler only.
1967 (cxx_target_objs): New variable. Contains target specific
1968 object files for the gxx C++ compiler only.
1970 * configure.in (c_target_objs): Substitute in the makefile.
1971 (cxx_target_objs): Substitute in the makefile.
1972 * configure: Regenerate.
1974 * Makefile.in (C_TARGET_OBJS): Define and initialise from
1976 (CXX_TARGET_OBJS): Define and initialise from
1978 (C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
1980 * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
1982 * tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
1983 about how the use of the 'c_lex' function requires the use of
1984 the target specific, language specific object files feature of
1985 the configuration mechanism.
1987 Fri Nov 24 18:50:58 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1989 * gcc.c (process_command): Use F_OK, not R_OK.
1991 2000-11-24 Arno J. Klaassen <arno@heho.snv.jussieu.fr>
1993 * flow.c (print_rtl_and_abort): Remove ANSIism.
1995 Fri Nov 24 19:54:36 2000 Alexandre Oliva <aoliva@redhat.com>
1997 * config/sh/sh.h (GENERAL_REGISTER_P,
1998 GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
1999 FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros. Use them
2001 (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
2002 * config/sh/sh.c: Use new macros.
2003 * config/sh/sh.md: Likewise.
2005 Fri Nov 24 19:46:16 2000 Alexandre Oliva <aoliva@redhat.com>
2007 * config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
2008 instead of just MACH_REG in DImode. Always refer to FPSCR_REG
2011 Fri Nov 24 22:37:41 2000 Denis Chertykov <denisc@overta.ru>
2013 * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
2015 (machine_dependent_reorg): Wrong optimization based on
2016 NOTICE_UPDATE_CC removed.
2018 Fri Nov 24 19:48:09 2000 J"orn Rennecke <amylaar@redhat.com>
2020 * jump.c (delete_computation): Re-instate deletion of feeding insn.
2021 (delete_insn): Look for REG_LABEL notes.
2022 (redirect_tablejump): Delete feeding insns.
2024 2000-11-24 Bernd Schmidt <bernds@redhat.co.uk>
2026 * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
2027 call_value_pop_1): Make sure operand numbers are contiguous.
2029 * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
2031 * reload1.c (conflicts_with_override): New function.
2032 (emit_input_reload_insns): Use it to tighten test for validity
2033 of substituting into output of previous insn.
2035 * haifa-sched.c (struct ready_list): New.
2036 (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
2038 (schedule_insn): Replace args READY and N_READY with a pointer to a
2039 ready_list; return void. Use the new functions to access the ready
2040 list. All callers changed.
2041 (queue_to_ready, debug_ready_list): Likewise.
2042 (schedule_block): Initialize a ready_list structure. Use new
2043 functions to access it.
2044 (max_priority): Remove unused variable.
2045 (schedule_insn): Don't set it.
2047 * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
2049 * combine.c (cant_combine_insn_p): New function.
2050 (try_combine): Use it.
2052 * Makefile.in (c-common.o): Depend on $(OBSTACK_H).
2053 * c-common.c (c-obstack.c): Include "obstack.h".
2054 (struct reverse_tree): Delete.
2055 (reverse_list, reverse_max_depth): Delete.
2056 (build_reverse_tree, common_ancestor, modify_ok): Delete functions.
2057 (struct tlist, struct tlist_cache): New.
2058 (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
2059 (add_tlist, merge_tlist, verify_tree, warning_candidate_p,
2060 warn_for_collisions, warn_for_collisions_1, new_tlist): New
2062 (verify_sequence_points): Rewritten.
2063 * fold-const.c (fold): Don't lose possibly important sequence
2064 points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
2066 2000-11-24 Richard Sandiford <rsandifo@redhat.com>
2068 * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
2069 when reversing a register-to-register copy. Reversal now disabled
2070 when the previous instruction has a REG_EQUIV.
2072 2000-11-24 Nathan Sidwell <nathan@codesourcery.com>
2074 * c-parse.in (unary_expr): Move VA_ARG from here ...
2075 (primary): ... to here.
2077 2000-11-23 Graham Stott <grahams@redhat.com>
2079 * expr.c (store_constructor): If a field is non addressable and
2080 the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
2082 2000-11-23 Bernd Schmidt <bernds@redhat.co.uk>
2084 * flow.c (print_rtl_and_abort): New function.
2085 (verify_wide_reg, verify_local_live_at_start): Try to dump more
2086 information before aborting.
2088 2000-11-23 Alexandre Oliva <aoliva@redhat.com>
2090 * emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
2091 is narrower than requested mode.
2092 (gen_highpart): Abort if register mode is narrower than
2095 2000-11-23 Graham Stott <grahams@redhat.com>
2097 * cse.c (cse_insn): Initialise all regcost variables.
2098 Fix a typo add missing '='.
2099 Only compare costs if there is a replacement insn.
2101 Thu Nov 23 04:33:33 2000 Alexandre Oliva <aoliva@redhat.com>
2103 * final.c (output_addr_const) [LABEL_REF]: Simplify.
2104 [MINUS]: Enclose non-CONST_INTs in parentheses.
2105 [default]: Try OUTPUT_ADDR_CONST_EXTRA.
2106 * tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
2107 * varasm.c (decode_rtx_const) [CONST]: If it's not something
2108 PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
2109 instead of abort()ing.
2110 * sh.c (output_pic_addr_const): Removed. Fixed all callers.
2111 * sh.h (OUTPUT_ADDR_CONST_EXTRA): New. Handle the UNSPECs
2112 formerly handled in output_pic_addr_const.
2113 * sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
2114 operands of MINUS in CONSTs so that decode_rtx_const() will
2117 Thu Nov 23 04:10:30 2000 Alexandre Oliva <aoliva@redhat.com>
2119 * config/sh/sh.md (mova_const): New pattern.
2120 (GOTaddr2picreg): Use it.
2121 * config/sh/sh.c (broken_move): Match it.
2122 (mova_p): Don't match it.
2123 (machine_dependent_reorg): Adjust it.
2125 Thu Nov 23 02:09:09 2000 Alexandre Oliva <aoliva@redhat.com>
2127 * config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
2128 Moved most register-number #defines...
2129 * config/sh/sh.md (define_constants): ... here. Use macros to
2130 refer to registers and unspecs.
2131 * config/sh/sh.c: Likewise.
2133 Thu Nov 23 01:01:32 2000 J"orn Rennecke <amylaar@redhat.com>
2135 * Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
2136 (rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
2137 (alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
2138 (splay-tree.o, hash.o): Likewise.
2140 (rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
2141 (bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
2142 (hashtab.o): Likewise.
2143 (gcov.o): Depend on $(CONFIG_H).
2144 * configure.in: #include insn-codes.h in tm.h.
2146 2000-11-22 Nick Clifton <nickc@redhat.com>
2148 * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
2149 const char * to avoid a compile time warning.
2151 * config/arm/arm.md (define_constants): Define symbolic names for
2152 the link register, last integer register and the fake CC register.
2153 Update patterns to use these symbolic names.
2155 2000-11-22 Neil Booth <neilb@earthling.net>
2157 * cpplex.c (trigraph_ok): Ensure we don't warn twice.
2158 * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
2160 2000-11-22 Richard Henderson <rth@redhat.com>
2162 * haifa-sched.c (sched_analyze_1): Don't special-case calls
2163 for clobbering registers.
2164 (sched_analyze_2): Likewise.
2165 (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
2167 2000-11-22 Chris Demetriou <cgd@sibyte.com>
2168 Neil Booth <neilb@earthling.net>
2170 * gcc.c (validate_switches): Validate multiple switches named
2171 in '|' (or) expressions in specs.
2172 (handle_braces): If more than 1 alternative in a '|' spec
2173 matches, call do_spec1 just once.
2175 2000-11-22 Michael Meissner <meissner@redhat.com>
2177 * d30v.h (TARGET_SWITCHES): Add documentation strings.
2178 (TARGET_OPTIONS): Ditto.
2179 (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
2182 Wed Nov 22 06:40:56 2000 Jeffrey A Law (law@cygnus.com)
2184 * pa.c (hppa_encode_label): Account for addition of encoding
2185 character when allocating persistent space for the new label
2188 2000-11-22 Zack Weinberg <zack@wolery.stanford.edu>
2190 * Makefile.in, config.gcc, configure.in: Expunge remaining
2191 traces of facility for running MD files through C preprocessor.
2193 2000-11-22 Joseph S. Myers <jsm28@cam.ac.uk>
2195 * gcov.texi: Add magic comments for texi2pod.pl.
2196 * Makefile.in: Add rules to generate and install gcov.1.
2197 * gcov.1: New (generated) file.
2199 2000-11-21 Richard Henderson <rth@redhat.com>
2201 * regrename.c (scan_rtx_reg): Terminate the chain rather than
2202 abort on mark_read with NO_REGS.
2204 2000-11-21 Mike Stump <mrs@wrs.com>
2206 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
2207 compilation with older compilers, such as /bin/cc on SunOS.
2208 * fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
2210 2000-11-21 Richard Henderson <rth@redhat.com>
2212 * varasm.c (record_constant): Pad the constructed
2213 constant_descriptor appropriately.
2215 Wed Nov 22 00:52:55 2000 J"orn Rennecke <amylaar@redhat.com>
2217 * rtl.h (traverse_md_constants): Declare.
2218 (struct md_constant): Define.
2219 * Makefile.in (HOST_RTL): Add hashtab.o .
2220 (OBJS): Add hashtab.o .
2221 (hashtab.o): New rule.
2222 (rtl.o): Depends on HASHTAB_H.
2223 * rtl.c (hashtab.h): #include.
2224 (md_constants): New static variable.
2225 (def_hash, def_name_eq_p, read_constants): New static functions.
2226 (traverse_md_constants): New function.
2227 (read_name): Do constant expansion.
2228 (read_rtx): Recognize define_constants.
2229 * gencodes.c (print_md_constant): New function.
2230 (main): Emit #defines for all constant definitions encountered.
2231 * md.texi (Constant Definitions): New node.
2232 * gensupport.c (xcalloc): New function.
2234 2000-11-21 Richard Henderson <rth@redhat.com>
2236 * config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
2237 * config/alpha/alpha-protos.h: Declare it.
2238 * config/alpha/alpha.md (abstf_internal): Use it.
2239 (negtf_internal): Likewise.
2240 (andnotdi3): Unstar the name.
2241 (movtf_internal): Add o/G alternative.
2243 2000-11-21 Zack Weinberg <zack@wolery.stanford.edu>
2245 * stringpool.c (stringpool_statistics): Also report number and
2246 percentage of entries which are identifiers.
2248 2000-11-21 Diego Novillo <dnovillo@redhat.com>
2250 * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
2251 visited before visiting it.
2253 2000-11-21 Nick Clifton <nickc@redhat.com>
2255 * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
2256 TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
2258 * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
2260 2000-11-21 Richard Henderson <rth@redhat.com>
2262 * c-common.c (c_unsafe_for_reeval): New function.
2263 (add_c_tree_codes): Register it.
2264 * c-common.h: Declare it.
2265 * tree.c (lang_unsafe_for_reeval): New hook.
2266 (unsafe_for_reeval): Call it.
2267 * tree.h: Declare it.
2269 2000-11-21 Richard Henderson <rth@redhat.com>
2271 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
2274 2000-11-21 Neil Booth <neilb@earthling.net>
2276 * do_includes: Revert to using cpp_read_file.
2278 2000-11-21 Bernd Schmidt <bernds@redhat.co.uk>
2280 * loop.c (consec_sets_giv): If the reg we're examining is anything
2281 but UNKNOWN_INDUCT, do nothing.
2282 Reset the reg's type to UNKNOWN_INDUCT before returning.
2284 Mostly from Vladimir Makarov (vmakarov@redhat.com)
2285 * ia64.md (attr itanium_class): Define insn types as described in
2287 (all insn patterns): Use itanium_class, not type attributes.
2288 Occasionally split alternatives as necessary.
2289 (attr type): Compute from new attr itanium_class.
2291 2000-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2293 * tradcpp.c (output_line_command): Mark system headers as such in
2296 2000-11-21 Jakub Jelinek <jakub@redhat.com>
2298 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Sparc has .file/.loc
2299 support in as as well.
2300 * configure: Regenerate.
2302 2000-11-20 Richard Henderson <rth@redhat.com>
2304 * c-lex.c (orig_filename): New variable.
2305 (init_c_lex): Set it. Move call to cpp_start_read ...
2306 (yyparse): ... here. New function.
2307 * c-parse.in (yyparse_1): Rename the parser entry point.
2308 * c-tree.h: Declare it.
2310 2000-11-21 Jakub Jelinek <jakub@redhat.com>
2312 * expr.c (do_compare_and_jump): If op0 was replaced by promoted
2313 integer constant, use type of op1 for comparison.
2315 2000-11-20 Stan Shebs <shebs@apple.com>
2317 * config/rs6000/xm-darwin.h: New file, Darwin host definitions.
2318 * config/rs6000/x-darwin: New file, Darwin host fragment.
2319 * config.gcc (powerpc-*-darwin*): New host.
2320 * system.h (HAVE_DESIGNATED_INITIALIZERS): Allow this to be
2321 overridden by a config file.
2323 2000-11-20 Neil Booth <neilb@earthling.net>
2325 * cppmacro.c (paste_tokens): Rename from paste_payloads.
2326 Change token type after pasting spellings.
2327 (paste_all_tokens): Use it.
2328 * gcc.dg/cpp/paste2.c: Update test.
2329 * objc/execute/paste.m: New test.
2331 2000-11-20 Richard Henderson <rth@redhat.com>
2333 * dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
2334 dwarf_subscr_data_formats bits.
2335 * dwarfout.c (simple_type_size_in_bits): Handle a type with
2336 no computed size as size zero.
2337 (field_byte_offset): Likewise.
2338 (subscript_data_attribute): Handle a range with no upper bound.
2340 2000-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2342 * gansidecl.h (const): Check __STDC__ before undef'ing `const'.
2344 2000-11-20 Joseph S. Myers <jsm28@cam.ac.uk>
2346 * c-typeck.c (build_conditional_expr): When merging type
2347 qualifiers for conditional expressions between a pointer and a
2348 pointer to a void type, merge the qualifiers on the target types
2349 rather than the pointer type. Remove obsolete conditioned out
2352 2000-11-20 Neil Booth <neilb@earthling.net>
2354 * c-lang.c (lang_init_options): Update call to
2356 * cppmain.c (main): Similarly.
2357 * fix-header.c (read_scan_file): Similarly.
2358 * cp/lex.c (lang_init_options): Similarly.
2359 * objc/objc-act.c (lang_init_options): Similarly.
2360 * cppexp.c (parse_number): Only warn for unextended C89.
2361 * cppinit.c (set_lang): New function.
2362 (cpp_reader_init): Take a LANG argument and pass it to set_lang.
2363 (COMMAND_LINE_OPTIONS): New option std=c++98.
2364 (cpp_handle_option): Use set_lang.
2365 * cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
2366 * cppib.h (enum_c_lang): New enumeration. Update comments.
2368 2000-11-20 Will Cohen <wcohen@redhat.com>
2370 * calls.c (expand_call): Clear target only when target is in
2371 hard register and current_function_check_memory_usage is set.
2373 2000-11-20 Bernd Schmidt <bernds@redhat.co.uk>
2375 * toplev.c (rest_of_compilation): Run optimize_mode_switching even
2377 * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
2379 2000-11-19 Richard Henderson <rth@redhat.com>
2381 * crtstuff.c (force_to_data): Use array size 1 not 0.
2383 * dwarf2out.c (simple_type_size_in_bits): Handle a type with
2384 no computed size as size zero.
2385 (field_byte_offset): Likewise.
2387 2000-11-20 Joseph S. Myers <jsm28@cam.ac.uk>
2389 * config.gcc: Fix another typo.
2391 2000-11-19 Richard Henderson <rth@redhat.com>
2393 * c-decl.c (grokdeclarator): Support flexible array members.
2394 Use open-ended ranges for these and zero-length arrays.
2395 * c-typeck.c (push_init_level): Validate the context of
2396 initialization of a zero-length array.
2397 * tree.c (int_fits_type_p): Be prepared for missing bounds.
2398 * varasm.c (array_size_for_constructor): New.
2399 (output_constructor): Use it for arrays of unspecified length.
2400 * extend.texi (Zero Length): Mention C99 flexible array members.
2401 Document initialization in a top-level struct as valid.
2403 2000-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
2405 * config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
2407 * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
2408 stdarg and varargs functions.
2410 2000-11-19 Zack Weinberg <zack@wolery.stanford.edu>
2412 * gcc.c (process_command): Define 'j' variable when
2413 MODIFY_TARGET_NAME is defined.
2415 2000-11-19 Richard Henderson <rth@redhat.com>
2417 * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
2419 2000-11-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2421 * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
2422 calculation and allocation.
2424 2000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2426 * builtins.c (c_getstr): Constify variable.
2427 * gmon-sol2.c (_mcleanup): Comment out #endif labels.
2428 * conflict.c (const_conflict_graph_arc): New typedef.
2429 (arc_hash, arc_eq): Avoid needlessly casting away const-ness.
2430 * cppmacro.c (builtin_macro): Likewise.
2431 * dwarf2out.c (output_comp_unit): Constify variable.
2432 * fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
2433 * protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
2434 * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
2436 * tradcpp.c (rescan, do_line, macroexpand, macarg): Use
2437 ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
2438 * varasm.c (const_str_htab_hash, const_str_htab_eq,
2439 compare_constant_1, record_constant_1): Constify.
2441 2000-11-18 Richard Henderson <rth@redhat.com>
2443 * c-decl.c (grokdeclarator): Special case the creation of an
2444 index for a zero-length array.
2445 * tree.c (build_index_type): Revert Oct 20 change.
2447 2000-11-18 Marek Michalkiewicz <marekm@linux.org.pl>
2449 * config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
2450 * config/avr/avr.c (jump_tables_size): New variable.
2451 (function_prologue): Initialize it as 0.
2452 (function_epilogue): Add it to function_size.
2453 (avr_output_addr_vec_elt): New function. Count words in jump
2454 tables in jump_tables_size. Move code ...
2455 * config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
2456 Call avr_output_addr_vec_elt instead.
2457 * config/avr/avr.md (tablejump): Remove disabled define_expand.
2459 2000-11-18 Mark Mitchell <mark@codesourcery.com>
2461 * configure.in: Make --enable-new-gxx-abi the default.
2462 * configure: Likewise.
2464 2000-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2466 * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
2468 * tradcif.y: Include tradcpp.h. Constify. Make functions static.
2469 Move extern function declarations to tradcpp.h.
2471 * tradcpp.c: Likewise.
2473 * tradcpp.h: New file.
2475 2000-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
2477 * c-decl.c (check_for_loop_decls): New function.
2478 * c-parse.in (for_init_stmt): New.
2479 (select_or_iter_stmt): Use for_init_stmt.
2480 * c-tree.h (check_for_loop_decls): New declaration.
2482 2000-11-18 Neil Booth <neilb@earthling.net>
2484 * cppinit.c: Update comments.
2485 (cpp_reader_init): Make -imacro and -include use the standard
2486 #include "" search path.
2487 (do_includes): New function.
2489 2000-11-18 Ben Elliston <bje@redhat.com>
2491 * config/sh/crt1.asm (start_l): Move PC-relative move instruction
2492 out of a branch delay slot.
2494 2000-11-17 Richard Henderson <rth@redhat.com>
2496 * config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
2497 (ASM_SPEC): Disable and enable .mdebug based on -gstabs.
2498 (ASM_FILE_START): Only write out ecoff .file directive if
2499 emitting mdebug debugging.
2501 2000-11-17 Richard Henderson <rth@redhat.com>
2503 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New. Detect
2504 whether as accepts .file/.loc and produces dwarf2 line info.
2505 * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
2506 the assembler supports it.
2507 * config.in, configure: Regenerate.
2509 2000-11-17 Richard Henderson <rth@redhat.com>
2511 * fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
2513 2000-11-17 Jim Wilson <wilson@redhat.com>
2515 * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
2516 Don't clear need_barrier is next_insn is a CALL_INSN, or has
2517 instruction type B or UNKNOWN.
2519 2000-11-17 Neil Booth <neilb@earthling.net>
2521 * cpperror.c (print_file_and_line): Don't display line number if 0.
2523 2000-11-17 Zack Weinberg <zack@wolery.stanford.edu>
2525 * ggc.h: Delete ggc_add_string_root and ggc_mark_string. Add
2526 digit_vector and digit_string.
2527 * stringpool.c (digit_vector): New.
2528 (ggc_alloc_string): Use digit_string.
2530 * stmt.c (digit_strings): Delete.
2531 (init_stmt): Do not initialize digit_strings.
2532 (expand_asm_operands): Use ggc.h's digit_string macro.
2533 * toplev.c (mark_file_stack): Delete.
2534 (compile_file): Don't call init_tree_codes.
2535 (main): No need to make the file stack a GC root.
2536 * tree.c (init_tree_codes): Delete.
2537 * tree.h (init_tree_codes): Delete.
2539 * c-lex.c: Don't include ggc.h.
2540 (mark_splay_tree_node, mark_splay_tree): Delete.
2541 (init_c_lex): No need to ggc_strdup string constant. Don't add
2542 file_info_tree to GGC roots.
2543 (cb_enter_file, cb_rename_file): No need to ggc_strdup
2546 * Makefile.in (c-lex.o): No longer depends on $(GGC_H).
2548 * dbxout.c (dbxout_init),
2549 dwarf2out.c (dwarf2out_line),
2550 ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
2551 varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
2552 xcoffout.c (xcoffout_source_file),
2553 i386.c (load_pic_register):
2554 Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
2556 * except.c (create_rethrow_ref),
2557 profile.c (init_edge_profiler),
2558 toplev.c (compile_file),
2559 varasm.c (named_section, assemble_static_space,
2560 assemble_trampoline_template, output_constant_def, force_const_mem),
2561 i386.c (load_pic_register),
2562 ia64.c (ia64_encode_section_info),
2563 rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
2564 rs6000_emit_prologue, rs6000_emit_epilogue),
2565 rs6000.md (load_toc_aix_si, load_toc_aix_di):
2566 Change ggc_alloc_string (var, -1) to ggc_strdup (var).
2568 * profile.c (output_func_start_profiler),
2570 i386.c (load_pic_register): No need to ggc_strdup string constant.
2572 2000-11-17 Hans-Peter Nilsson <hp@axis.com>
2574 * Makefile.in (config.status): Depend on config.gcc.
2575 * configure.in <for machine in $build $host $target>: Move
2576 contents of loop into config.gcc, removing autoconf quoting.
2577 Fix changequote bug for alpha*-*-vxworks*.
2578 * configure: Regenerate.
2581 2000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
2583 * c-parse.in (if_prefix): Find the filename and line number at
2584 $-2 and $-1 respectively.
2585 * diagnostic.c (error_recursion): Add missing newline, use
2586 fputs, translate string.
2588 2000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
2590 * stringpool.c: New file.
2591 * ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
2592 (ggc_alloc_string): Now in stringpool.o.
2593 * ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
2594 * ggc.h: Delete prototype of ggc_add_string_root. #define
2595 ggc_add_string_root and ggc_mark_string to nothing. Prototype
2596 init_stringpool and stringpool_statistics.
2597 (ggc_alloc_string): Returns a const char *.
2598 * tree.c (hash_table, do_identifier_warnings): Delete.
2599 (init_obstacks): Don't initialize the identifier hash table.
2600 (get_identifier, maybe_get_identifier, start_identifier_warnings,
2601 set_identifier_size): Now in stringpool.c.
2602 * tree.h (struct tree_string): Constify pointer field.
2603 (approx_sqrt): Prototype.
2605 * Makefile.in (stringpool.o): Add rule, mention in OBJS.
2607 * toplev.c (approx_sqrt): New function.
2608 (compile_file): Call stringpool_statistics if mem_report is on.
2609 (main): Call init_stringpool.
2611 * builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
2612 (process_directive), c-typeck.c (constructor_asmspec, struct
2613 initializer_stack, start_init), except.c (create_rethrow_ref),
2614 stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
2615 (built_in_filename), varasm,c (in_named_name,
2616 assemble_static_space, struct constant_descriptor, struct
2617 deferred_string, struct pool_constant, force_const_mem),
2618 i386.c (pic_label_name, global_offset_table_name), rs6000.c
2619 (rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
2621 * c-common.c (combine_strings): Combine strings in scratch
2622 buffer, then pass to build_string.
2623 * optabs.c (init_libfuncs), profile.c (init_edge_profiler,
2624 output_func_start_profiler), stmt.c (init_stmt), alpha.c
2625 (alpha_need_linkage), arm.c (arm_encode_call_attribute),
2626 i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
2627 rs6000.c (rs6000_encode_section_info): Create string in
2628 scratch buffer, then pass to ggc_alloc_string.
2630 * stmt.c (expand_asm_operands): If we must adjust the
2631 constraint strings, do so by creating a new one, not by
2632 modifying the old one in place. Constify some char *s.
2633 * config/pa/pa.c (hppa_encode_label): Drop unnecessary second
2634 argument. Create string in scratch buffer, then pass to
2636 * config/pa/pa-protos.h: Update prototype.
2637 * config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
2638 hppa_encode_label takes only one argument.
2640 2000-11-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2642 * mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
2645 * cpplib.c (glue_header_name): Likewise.
2647 * fixincl.c (run_compiles, start_fixer): Likewise.
2649 * fixlib.c (load_file_data): Likewise.
2651 * mkdeps.c (munge): Likewise.
2653 2000-11-17 Hans-Peter Nilsson <hp@axis.com>
2655 * defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
2656 trailing ';'. Fix formatting.
2658 2000-11-16 Jim Wilson <wilson@redhat.com>
2660 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
2661 Shift masks left by one to avoid conflict.
2663 * config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
2666 2000-11-16 Nick Clifton <nickc@redhat.com>
2668 * config/arm/arm.c (output_arm_prologue): Note nested functions.
2669 (arm_expand_prologue): For nested functions preserve the
2670 static chain register during stack frame creation.
2672 * config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
2673 (ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
2674 with a stack frame there is a 4 byte gap between the arg
2675 pointer and the hard frame pointer (used to preserve the
2676 static chain register during stack frame creation).
2678 2000-11-16 DJ Delorie <dj@redhat.com>
2680 * rtl.c (read_rtx): Provide suitable names for unnamed
2681 define_insn and define_insn_and_split patterns, based on file
2684 2000-11-15 Neil Booth <neilb@earthling.net>
2686 * cpplib.c (start_directive, end_directive): New functions.
2687 (_cpp_handle_directive, run_directive): Use them.
2688 (_cpp_handle_directive): Don't -Wtraditional on indented
2690 (_cpp_push_buffer): Don't re-clear was_skipping.
2691 * cpplib.h (struct cpp_reader): New member la_saved.
2692 * cppmacro.c (cpp_get_token): Don't interpret _Pragma in
2695 gcc.dg/cpp/_Pragma1.c: Update.
2696 gcc.dg/cpp/_Pragma2.c: New test.
2698 2000-11-15 Mark Mitchell <mark@codesourcery.com>
2700 * toplev.c (wrapup_global_declarations): Don't write out
2701 artificial static variables that aren't needed.
2703 2000-11-15 Bernd Schmidt <bernds@redhat.co.uk>
2705 * ia64.c (struct group): New structure.
2706 (last_group): New static array.
2707 (group_idx): New static variable.
2708 (emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
2709 New static functions.
2710 (emit_insn_group_barriers): Initialize and keep track of group_idx
2712 Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
2713 Replace all calls to emit_insn_after that emit a group barrier to use
2714 emit_group_barrier_after.
2715 * ia64.h (MASK_B_STEP): New.
2716 (other MASK_XXX macros): Renumbered.
2717 (TARGET_B_STEP): New.
2718 (TARGET_SWITCHES): Add -mb-step.
2720 2000-11-15 Fred Fish <fnf@be.com>
2722 * fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
2723 machines for which fixincludes is not needed.
2724 * config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
2726 2000-11-15 Jason Merrill <jason@redhat.com>
2728 * diagnostic.c (finish_abort): New fn.
2729 (fancy_abort, error_recursion): Use it.
2730 * toplev.c (crash_signal): Likewise.
2731 * diagnostic.h: Declare it.
2733 2000-11-13 Andrew Haley <aph@redhat.com>
2735 * tree.c (build_type_no_quals): New function.
2736 * tree.h (build_type_no_quals): Declare.
2737 * c-common.c (c_get_alias_set): When considering type
2738 compatibility for pointer types, ignore cv-qualifiers anywhere in
2741 2000-11-15 Graham Stott <grahams@redhat.com>
2743 * regrename.c (scan_rtx_rtx): Skip to the next chain on
2744 encountering a terminated chain.
2746 2000-11-14 Mark Mitchell <mark@codesourcery.com>
2748 * configure.in: Move check for V3 above check for C++ header-file
2750 * configure: Regenerated.
2752 2000-11-14 DJ Delorie <dj@redhat.com>
2754 * config/v850/v850.c: Remove obstacks.
2756 Tue Nov 14 21:54:31 2000 Marek Michalkiewicz <marekm@linux.org.pl> & Denis Chertykov <denisc@overta.ru>
2758 * config/avr/avr.c (avr_case_values_threshold): New.
2759 (avr_override_options): Set it depending on options, make it large
2760 when not optimizing to work around "unable to generate reloads".
2762 * config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
2763 (EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
2764 executable if not AVR_MEGA. Make sure jump tables are word-aligned.
2765 (JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
2766 (ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
2767 (avr_case_values_threshold): Declare as extern int.
2768 (CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
2770 * config/avr/avr.md (tablejump): Removed.
2771 (*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
2772 (*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
2773 index in the table, not multiplied by 2.
2774 (casesi): Change to match the above insns. Always enable.
2776 * config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
2777 Change to expect the word address of the table, multiply it by 2
2778 here and not in the caller. Change "adiw" to faster "inc".
2780 2000-11-14 Neil Booth <neilb@earthling.net>
2782 * cppexp.c (parse_defined): Call cpp_get_token not
2785 * cpplex.c (cpp_output_line): Similarly.
2786 * cpplib.c (glue_header_name, do_line, do_ident,
2787 parse_answer, parse_assertion): Similarly.
2788 (_cpp_handle_diretive): Don't save to lookaheads
2789 when processing directives.
2790 * cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
2792 (funlike_invocation_p): Don't save to lookaheads
2793 when pre-expanding arguments.
2794 (_cpp_get_token): Delete.
2795 (cpp_get_token): Merge contents of _cpp_get_token.
2797 2000-11-14 Jakub Jelinek <jakub@redhat.com>
2799 * builtins.c (expand_builtin_setjmp): Set
2800 current_function_calls_setjmp.
2801 (expand_builtin_longjmp): Set current_function_calls_longjmp.
2803 * config/sparc/sparc.md (builtin_setjmp_setup): New expand.
2804 (do_builtin_setjmp_setup): New insn.
2806 Tue Nov 14 12:34:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2808 * tree.c (get_unwidened): Use host_integerp and tree_low_cst.
2809 (int_fits_type_p): For variable bounds, call force_fit_type.
2811 2000-11-14 Jakub Jelinek <jakub@redhat.com>
2813 * varasm.c (struct deferred_string): New structure.
2814 (const_str_htab): New variable.
2815 (STRHASH): New macro.
2816 (mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
2817 constr_str_htab_eq, const_str_htab_del): New functions.
2818 (output_constant_def): Add DEFER argument, defer string
2819 constants until mark_constant_pool time if requested.
2820 (mark_constant_pool): Walk the insn chain even if const_str_htab is
2822 (mark_constants): If a SYMBOL_REF for deferred string is found,
2823 output it and remove from hash table.
2824 (output_addressed_constants): Set DEFER to 0 in call to
2825 output_constant_def.
2826 * rtl.h (STRING_POOL_ADDRESS_P): Define.
2827 (output_constant_def): Adjust prototype.
2828 * expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
2830 2000-11-14 Chandrakala Chavva <cchavva@redhat.com>
2832 * optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
2833 signed types if flag_trapv.
2835 2000-11-14 Zack Weinberg <zack@wolery.stanford.edu>
2837 * tradcpp.c, tradcif.y: Update FSF mailing address, delete
2840 2000-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
2842 * c-common.h (CTI_C_SIZE_TYPE): Update comment.
2844 2000-11-14 Jakub Jelinek <jakub@redhat.com>
2846 * varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
2847 to array of pool_constnat pointers.
2848 (struct pool_constant): Add next_sym and label members.
2849 (struct pool_sym): Remove.
2850 (init_varasm_status): Change pool_sym into pool_constant.
2851 (mark_pool_constant): Mark pc->label string as well.
2852 (mark_pool_sym_hash_table): Remove.
2853 (mark_varasm_status): Remove it from caller as well.
2854 (free_varasm_status): Don't free pool_sym structures.
2855 (force_const_mem): Don't allocate pool_sym structure, instead
2856 fill pool->label and chain it into rtx_sym hash table.
2857 (find_pool_constant, mark_constant_pool): Use pool_constant instead
2860 2000-11-14 Jakub Jelinek <jakub@redhat.com>
2862 * reload1.c (emit_input_reload_insns): Honour forcing of constants
2863 into memory by PREFERRED_RELOAD_CLASS NO_REGS.
2865 2000-11-14 Michael Matz <matzmich@cs.tu-berlin.de>
2867 * dominance.c: New file.
2868 * Makefile.in (OBJS): Add dominance.o.
2870 * flow.c (compute_flow_dominators): Remove.
2871 (compute_immediate_dominators): Remove.
2872 (compute_immediate_postdominators): Remove.
2873 * basic-block.h: Remove their prototypes.
2874 (calculate_dominance_info): Add prototype.
2876 * dce.c (eliminate_dead_code): Change calls to above functions.
2877 Don't compute dominators but only immediate dominators.
2878 * flow.c (flow_loops_find): Change callers.
2879 * gcse.c (compute_code_hoist_data): Likewise.
2880 * haifa-sched.c (schedule_insns): Likewise.
2881 * ifcvt.c (if_convert): Likewise.
2882 * ssa.c (convert_to_ssa): Likewise, and only compute immediate
2885 2000-11-14 Richard Henderson <rth@redhat.com>
2887 * stmt.c (warn_if_unused_value): Don't warn if the expression
2890 * c-typeck.c (c_sizeof): Fold result to c_size_type_node.
2891 (c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
2893 2000-11-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2895 * loop.c (basic_induction_var): Revert accidental checkin.
2897 2000-11-13 Hans-Peter Nilsson <hp@axis.com>
2899 * c-lex.c (cb_leave_file): Harmonize conditions and order of
2900 statements to those of process_directive for (action == act_pop).
2902 * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
2904 * local-alloc.c (equiv_init_movable_p): References to CC0 are not
2907 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2909 * c-parse.in (stmts_and_decls): Deprecate use of label at end of
2912 2000-11-13 Neil Booth <neilb@earthling.net>
2914 * cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
2915 cases return without MI check.
2916 * cpplib.c (do_diagnostic): Take boolean of whether to
2917 print the directive name.
2918 (do_error, do_warning): Update.
2919 (do_pragma_dependency): Use it.
2920 * cpplib.h (VARARGS_FIRST): Delete.
2921 (struct cpp_token): Delete integer.
2922 * cppmacro.c (enter_macro_context): Move disabled check
2924 (_cpp_get_token): Simplify into a single loop.
2926 2000-11-13 Richard Earnshaw <rearnsha@arm.com>
2928 * configure.in: Use 'test -f' not '[ -e'.
2929 * configure: Regenerated.
2931 2000-11-13 DJ Delorie <dj@redhat.com>
2933 * config/mn10300/mn10300.md (store_movm): Note which registers are
2934 really used or clobbered.
2936 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2938 * c-parse.in (ends_in_label): Remove from %union and %type.
2939 (decls, stmts, lineno_stmt_or_labels, xstmts,
2940 lineno_stmt_or_label, stmt_or_label): Remove.
2941 (stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
2942 lineno_stmt_decl_or_labels_ending_decl,
2943 lineno_stmt_decl_or_labels_ending_label,
2944 lineno_stmt_decl_or_labels_ending_error,
2945 lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
2946 lineno_stmt, lineno_label): New.
2947 (compstmt_nostart): Use compstmt_contents_nonempty.
2949 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2951 * c-common.c (boolean_increment): New function.
2952 * c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
2953 CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
2954 (c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
2955 (boolean_increment): Declare.
2956 * c-convert.c (convert): Allow for BOOLEAN_TYPE.
2957 * c-decl.c (init_decl_processing): Create boolean nodes.
2958 (finish_struct): Allow for _Bool bitfields.
2959 * c-parse.in (reswords): Add _Bool.
2960 (rid_to_yy): Allow for RID_BOOL.
2961 * c-typeck.c (default_conversion): Make booleans promote to int.
2962 (convert_arguments, build_unary_op, build_modify_expr,
2963 convert_for_assignment): Allow for booleans.
2964 * ginclude/stdbool.h: Make conforming to C99.
2966 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2968 * c-parse.in (c99_block_start, c99_block_end,
2969 c99_block_lineno_labeled_stmt): New.
2970 (simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
2971 (stmt): Split off selection and iteration statements into...
2972 (select_or_iter_stmt): New. Use c99_block_lineno_labeled_stmt.
2974 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2976 * invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
2979 2000-11-13 Richard Earnshaw <rearnsha@arm.com>
2981 * arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
2982 Rewrite to avoid use of match_dup. Don't try to tie registers that
2983 are not in the same mode.
2985 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2987 * invoke.texi: Update lists of languages and suffixes supported.
2989 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2991 * configure.in: Take toplevel configure arguments from the
2992 environment to create configargs.h and substitute
2993 gcc_config_arguments, taking account of any existing configargs.h
2995 * configure: Regenerate.
2996 * gccbug.in: Include toplevel configure arguments in gccbug.
2998 2000-11-13 Richard Earnshaw <rearnsha@arm.com>
3000 * varasm.c (struct constant_descriptor): Put CONTENTS inside a
3001 union to make it well-aligned. Update all uses.
3003 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
3005 * c-parse.in (initelt): Give appropriate pedantic warnings,
3006 depending on flag_isoc99, for non-ISO syntax and for C99 syntax
3008 (designator): If pedantic, pedwarn for a designator specifying a
3010 * c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
3012 * extend.texi: Document the C99 syntax as the preferred syntax,
3013 and the pre-2.5 syntax as obsolete. Mention use of designator
3014 lists for nested subobjects.
3016 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
3018 * diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
3019 Add ATTRIBUTE_PRINTF.
3020 * tradcpp.c (v_message, warning, error, fatal, error_with_line):
3021 Add ATTRIBUTE_PRINTF*.
3023 2000-11-12 Mark Mitchell <mark@codesourcery.com>
3025 * function.c (assign_parms): When calling put_var_into_stack, make
3026 sure that there are no hidden pending sequences.
3028 2000-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3030 * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
3031 BUILT_IN_RINDEX. Add missing checks for BUILT_IN_STRCHR and
3034 * builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
3036 * c-common.c (c_common_nodes_and_builtins): Declare index and
3037 rindex when nonansi builtins are allowed.
3039 * extend.texi (index, rindex): Document new builtins.
3041 2000-11-12 Mark Mitchell <mark@codesourcery.com>
3043 * configure.in: Turn on libstdc++ V3 by default.
3044 * configure: Regenerated.
3046 * fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
3048 2000-11-12 Jakub Jelinek <jakub@redhat.com>
3050 * reload1.c (set_label_offsets): Go inside of PARALLELs.
3052 2000-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
3054 * invoke.texi: Clean up option summary.
3056 2000-11-12 Nick Clifton <nickc@redhat.com>
3058 * config/mcore/mcore.c: Fix comment formating, and adjust sequence
3059 of #include headers.
3061 2000-11-12 Marc Espie <espie@openbsd.org>
3063 * configure.in: Fix filds test.
3066 2000-11-12 Mark Mitchell <mark@codesourcery.com>
3068 * jump.c (delete_computation): Don't assume that just becuase an
3069 instruction sets a register, that register is dead.
3071 2000-11-12 Neil Booth <neilb@earthling.net>
3073 * cppexp.c: Don't worry about pfile->skipping.
3074 * cpplib.c (struct if_stack): Make was_skipping unsigned char.
3075 (cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
3076 for handled directives.
3077 (skip_rest_of_line): Use _cpp_lex_token after popping contexts
3078 and releasing lookaheads.
3079 (do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
3080 (do_else, do_elif, push_conditional): Update logic.
3081 (do_endif): Set buffer->was_skipping rather than pfile->skipping.
3082 (unwind_if_stack): Inline into cpp_pop_buffer.
3083 (cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
3084 * cpplex.c (_cpp_lex_token): Clear skipping on EOF. Handle
3085 multiple-include optimisation.
3086 * cpplib.h (struct cpp_buffer): New member was_skipping.
3087 * cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping. This
3088 works because skipping == 0 in directives.
3089 (_cpp_release_lookahead): Renamed from release_lookahead.
3090 (cpp_get_token): No need to check skipping as _cpp_get_token does
3091 this for us. No need to handle MI optimisation.
3093 Sat Nov 11 21:14:02 2000 Mark P Mitchell <mark@codesourcery.com>
3095 * fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
3096 declarations that use `__MATH_EXCEPTION' in their prototypes, too.
3097 * fixinc/fixincl.x: Regenerated.
3099 2000-11-11 Bruce Korb <bkorb@gnu.org>
3101 * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
3102 (avoid_wchar_t_type): ditto
3103 * fixinc/fixinc.irix: obsoleted
3105 2000-11-11 Zack Weinberg <zack@wolery.stanford.edu>
3107 * configure.in: Don't add $outputs to all_lang_makefiles. Add
3108 $srcdir/$s/Makefile.in if it exists.
3109 * configure: Regenerate.
3111 Sat Nov 11 18:41:20 2000 Mark P Mitchell <mark@codesourcery.com>
3113 * fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
3115 2000-11-11 Jason Merrill <jason@redhat.com>
3117 * function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
3118 give the parm a register and then call put_var_into_stack.
3119 * stmt.c (expand_decl): Likewise.
3121 2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
3123 * gcc.texi: Adjust wording.
3125 2000-11-11 Mark Mitchell <mark@codesourcery.com>
3127 * fixinc/inclhack.def (avoid_wchar_t_type): New fix.
3128 * fininc/fixincl.x: Regenerated.
3130 2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
3132 * invoke.texi: Correct spelling of -foptimize-register-move.
3134 2000-11-11 Neil Booth <neilb@earthling.net>
3136 Remove CPP_PLACEMARKERs.
3138 * cppexp.c (lex): Don't handle CPP_PLACEMARKER.
3139 * cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol
3140 * cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer):
3142 * cpplib.h: Remove CPP_PLACEMARKER.
3143 (struct lexer_state): Rename skip_newlines to next_bol.
3144 * cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER.
3145 Simplify prev_white handling as a result.
3146 (paste_all_tokens): Don't worry about CPP_PLACEMARKERs.
3147 (parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs.
3148 (parse_args): Similarly. Update argument count tests.
3149 (enter_macro_context): Return 2 to indicate an empty macro.
3150 (replace_args): Don't bother pre-expanding an empty argument.
3151 Handle placemarkers and ## extension during pre-expansion.
3152 (cpp_get_token): Handle empty macro expansions. Don't worry
3153 about CPP_PLACEMARKERs.
3154 (_cpp_create_definition): Empty macros are now empty.
3155 (cpp_macro_defintion): Don't special case empty macros.
3156 * scan-decls.c: Don't bother with CPP_PLACEMARKERs.
3157 * c-lex.c: Similarly.
3159 2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
3161 * gcc.texi, invoke.texi: Add new section discussing language
3162 standards; link to it where appropriate; refer to ISO C instead of
3165 2000-11-11 Alexandre Oliva <aoliva@redhat.com>
3167 * builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
3170 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
3173 2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
3175 * gcc.texi, gcov.texi: Update dates and version numbers.
3177 2000-11-10 Zack Weinberg <zack@wolery.stanford.edu>
3179 * configure.in: Remove AC_PROG_LEX and AC_PROG_YACC. Look for
3180 flex and bison, specifically, first in a unified build and
3181 then installed on the system.
3182 * Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@. Rename
3183 LEXFLAGS to FLEXFLAGS. Adjust ORDINARY_FLAGS_TO_PASS to
3186 (collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
3187 cppdefault.o): Remove pointless sed munging of source file
3190 2000-11-10 Bernd Schmidt <bernds@redhat.co.uk>
3192 * reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER
3193 for address reloads. Push replacements for REG_INC notes.
3194 (regno_clobbered_p): New arg SETS. Examine SETs if it's nonzero. All
3196 * reload1.c (choose_reload_regs): Registers set in the insn can't be
3197 used for RELOAD_OTHER reloads.
3199 2000-11-10 Mark Mitchell <mark@codesourcery.com>
3201 * c-dump.h: New file.
3203 2000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3205 * alpha.c (check_float_value): Use memcpy, not bcopy.
3206 * arm.c (output_move_double): Likewise.
3208 * m88k.c (legitimize_operand): Likewise.
3209 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
3210 * m88k.md: Likewise.
3211 * mips.c (override_options): Likewise.
3212 * mips.md: Likewise.
3213 * romp.c (output_fpops): Likewise.
3214 * rs6000.c (rs6000_override_options): Likewise.
3216 * vax.c (check_float_value): Likewise.
3218 * emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
3219 * expmed.c (synth_mult): Likewise.
3220 * final.c (add_bb_string): Likewise.
3221 * genattr.c (main): Likewise.
3222 * genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
3224 * jump.c (thread_jumps): Likewise.
3225 * prefix.c (save_string): Likewise.
3226 * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
3227 * regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
3228 * reload1.c (reload, eliminate_regs): Likewise.
3230 2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
3232 * gcc.texi (Service): Update to reflect current practice and
3233 location of the GNU service directory.
3235 2000-11-09 Bernd Schmidt <bernds@redhat.co.uk>
3237 * regrename.c (build_def_use): Mark contents of REG_INC notes as
3238 needing replacement.
3240 * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit
3241 a no-op move if regs are equal.
3242 * toplev.c (rest_of_compilation): Do the noop moves elimination pass
3243 when calling jump after post-reload splitting.
3245 2000-11-09 Jan van Male <jan.vanmale@fenk.wau.nl>
3247 * c-tree.texi: Fix typos.
3248 * extend.texi: Likewise
3249 * gcov.texi: Likewise
3250 * rtl.texi: Likewise
3253 2000-11-09 Hans-Peter Nilsson <hp@axis.com>
3255 * c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
3256 in_system_header and flags[1] before dereferencing flags[2].
3258 2000-11-09 Matthew Hiller <hiller@redhat.com>
3260 * reload1.c (reload_combine): Fixed calculation of
3261 first_index_reg, last_index_reg.
3263 2000-11-09 Mark Mitchell <mark@codesourcery.com>
3265 * c-dump.c (dequeue_and_dump): Dump function bodies.
3267 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
3268 (c-dump.o): New target.
3269 * c-common.h (flag_dump_translation_unit): New variable.
3270 (C_TYPE_QUALS): New macro.
3271 (strip_array_types): New function.
3272 (DECL_C_BIT_FIELD): New macro.
3273 (SET_DECL_C_BIT_FIELD): Likewise.
3274 (CLEAR_DECL_C_BIT_FIELD): Likewise.
3275 (dump_info_p): New typedef.
3276 (dump_tree_fn): Likewise.
3277 (lang_dump_tree): New variable.
3278 (dump_node_to_file): New function.
3279 * c-common.c (flag_dump_translation_unit): Define it.
3280 (strip_array_types): New function.
3281 * c-decl.c (c_decode_option): Handle -fdump-translation-unit.
3282 * c-lang.c (finish_file): Call dump_node_to_file if
3283 flag_dump_translation_unit.
3284 * c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
3285 * c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
3286 * c-dump.c: New file.
3288 2000-11-09 Christopher Faylor <cgf@cygnus.com>
3290 * config/i386/cygwin.h: Add mingw startfile prefix.
3292 2000-11-09 Richard Henderson <rth@redhat.com>
3294 * flow.c (invalidate_mems_from_set): Split out from ...
3295 (mark_set_1): ... here.
3296 (try_pre_increment_1): Use it. Use propagate_block_delete_insn
3297 instead of turning insn into a NOTE_INSN_DELETED.
3299 2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
3301 * extend.texi, invoke.texi: Move documentation of builtin versions
3302 of C library functions to one place and update.
3304 2000-11-09 Richard Henderson <rth@redhat.com>
3306 * fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
3307 the types themselves to discover type equivalence.
3309 2000-11-09 Mike Stump <mrs@wrs.com>
3311 * Makefile.in (distclean): Remove a few extra leftovers.
3313 2000-11-09 Richard Henderson <rth@redhat.com>
3315 * recog.c (validate_replace_rtx_1): Consider subregs when
3316 replacing a register with a constant inside a sign/zero_extend.
3318 * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3320 2000-11-09 Geoffrey Keating <geoffk@redhat.com>
3322 * c-decl.c (finish_struct): When a structure is completed,
3323 check all its variant types for completeness.
3325 2000-11-09 Neil Booth <neilb@earthling.net>
3327 * cpphash.c: Move cpp_defined here from cpplib.c.
3328 * cpplib.c: Update comments, move cpp_defined to cpphash.c.
3329 * cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
3330 * cppmacro.c (cpp_get_token): Update comments, no need now
3331 to catch the CPP_EOF meaning EOL case.
3333 2000-11-08 Geoffrey Keating <geoffk@redhat.com>
3335 * config/sparc/sparc.c (sparc_va_arg): When the required alignment
3336 is more than that provided, copy to a temporary.
3338 2000-11-09 Alexandre Oliva <aoliva@redhat.com>
3340 * mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
3341 interpreting $out as a macro assignment.
3342 * Makefile.in (T_TARGET): New auxiliary macro and target.
3343 (all): Add a target right in the beginning, so that we don't build
3344 T_TARGET by default.
3346 2000-11-09 Graham Stott <grahams@redhat.com>
3348 * config/i386/i386.md (mmx_pinsrw): Output operands in correct
3349 order for -mintel-syntax. Remove comment now that the operand
3350 order has been checked.
3351 (mmx_pextrw): Likewise.
3352 (mmx_pshufw): Likewise.
3354 2000-11-09 Jakub Jelinek <jakub@redhat.com>
3356 * builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
3357 (c_getstr): New function.
3358 (expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
3359 If both arguments are constant string, optimize out.
3360 (expand_builtin_strchr, expand_builtin_strrchr): New functions.
3361 (expand_builtin_strpbrk): Use c_getstr, do nothing if
3362 -fcheck-memory-usage.
3363 (expand_builtin_fputs): Likewise.
3364 (expand_builtin_strcmp): Add MODE argument.
3365 Use even if !HAVE_cmpstrsi.
3366 Optimize the case when both arguments are constant strings.
3367 (expand_builtin): Adjust expand_builtin_strcmp caller.
3368 Call expand_builtin_strchr and expand_builtin_strrchr.
3369 * c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
3371 * builtins.def (BUILT_IN_STRRCHR): Add.
3373 2000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3375 * fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
3377 2000-11-09 Joseph S. Myers <jsm28@cam.ac.uk>
3379 * calls.c (expand_call, emit_library_call_value_1), collect2.c
3380 (scan_prog_file), config/a29k/a29k.c (print_operand),
3381 config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
3382 instead of bcopy ().
3383 * real.h: Use memcmp () instead of bcmp ().
3384 * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
3385 (split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
3386 ultrasparc_sched_init, ultrasparc_sched_reorder),
3387 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
3388 instead of bzero ().
3389 * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
3390 instead of rindex ().
3391 * configure.in: Don't check for bzero, bcmp, index or rindex.
3392 * configure, config.in: Regenerate.
3393 * system.h: Don't include declarations for bzero, bcmp, index or
3395 * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
3396 bzero, bcmp, index or rindex.
3398 Wed Nov 8 21:58:20 2000 Christopher Faylor <cgf@cygnus.com>
3400 * config/i386/cygwin.h: Add -no-win32 switch. Separate -mno-cygwin
3401 include and library paths from -mcygwin case. Parameterize some
3402 declarations to avoid warnings. Use standard locations for include and
3405 2000-11-08 Nick Clifton <nickc@redhat.com>
3407 * config/arm/arm.md (mulsidi3adddi): Change output operand
3408 constraint from "=&" to "+&".
3409 (umulsidi3adddi): Change output operand constraint from "=&" to
3412 2000-11-08 Richard Henderson <rth@redhat.com>
3414 * flow.c (init_propagate_block_info): Protect the rtx stored in
3415 mem_set_list from modification by find_auto_inc.
3416 (mark_set_1): Likewise.
3418 2000-11-08 Neil Booth <neilb@earthling.net>
3420 Move directive handling into the lexer itself.
3422 * cpplex.c (_cpp_lex_token): Handle directives directly.
3423 In the case of a directive interrupting a function-like
3424 macro invocation, use extra_char since read_ahead is
3425 used to store the '#'. Return a CPP_EOF in this case.
3426 * cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
3427 (cpp_get_token): Don't handle directives here.
3428 * cpplib.h: Remove CPP_DHASH token type.
3430 Wed Nov 8 21:53:41 MET 2000 Jan Hubicka <jh@suse.cz>
3432 * regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
3433 formed using PRE_MODIFY too.
3435 2000-11-08 Mark Mitchell <mark@codesourcery.com>
3437 * c-tree.texi (VAR_DECL): Describe representation of GCC's
3438 extension for placing variables in particular registers.
3440 * c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
3441 unprototyped C functions with no parameters.
3443 2000-11-08 Jakub Jelinek <jakub@redhat.com>
3445 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
3446 before passing to fprintf.
3448 2000-11-08 Jakub Jelinek <jakub@redhat.com>
3450 * function.c (expand_function_start): Cast GET_MODE_SIZE to
3451 HOST_WIDE_INT before negating it.
3453 2000-11-08 Jakub Jelinek <jakub@redhat.com>
3455 * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL