OSDN Git Service

Use one makefile for fixinc
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2000-12-13  Bruce Korb  <bkorb@gnu.org>
2
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
18
19 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
20
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.
24         
25 2000-12-07  Aldy Hernandez  <aldyh@redhat.com>
26
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.
33
34 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
35
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
39         only.
40
41 Wed Dec 13 19:48:04 MET 2000  Jan hubicka  <jh@suse.cz>
42
43         * flow.c (notice_stack_pointer_modification_1): Notice midifications
44         using PRE_MODIFY and POST_MODIFY.
45
46 Wed Dec 13 17:25:32 MET 2000  Jan Hubicka  <jh@suse.cz>
47
48         * genoutput.c (process_template): Add sanity checking for '@' templates.
49
50 2000-12-13  Bernd Schmidt  <bernds@redhat.co.uk>
51
52         * simplify-rtx.c (cselib_finish): Free reg_values and used_regs
53         varrays.
54
55 2000-12-12  Mike Stump  <mrs@wrs.com>
56
57         * Makefile.in (distclean): Remove safe-ctype.c as well.
58
59 2000-12-12  Brad Lucier <lucier@math.purdue.edu>
60
61         * tradcpp.c (do_error): Cast difference of pointers to int
62         for error message.
63
64 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
65
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.
68
69 2000-12-12  Jim Wilson  <wilson@redhat.com>
70
71         * rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
72
73 2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
74
75         * configure.in: Simplify language enabling/disabling code.
76         * configure: Rebuilt.
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.
83
84 2000-12-12  Neil Booth  <neil@daikokuya.demon.co.uk>
85
86         * tradcpp.c (enum node_type): Add T_ERROR.
87         (do_error): New function.
88         (directive_table): Add #error handler.
89
90 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
91
92         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
93         for powerpc*-*-*.
94         * configure: Regenerated.
95         * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
96         * config/rs6000/rs6000.c (rs6000_unique_section): Use
97         STRIP_NAME_ENCODING.
98
99 Mon Dec 11 13:51:09 2000  Jeffrey A Law  (law@cygnus.com)
100
101         * pa.c (cmpib_comparison_operator): Remove GEU and LTU.
102         * pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
103         changes.
104
105 2000-12-11  Bruce Korb  <bkorb@gnu.org>
106
107         * fixinc/fixincl.tpl: initialize all fields for warnings
108         * fixinc/fixincl.x: regenerate
109
110 2000-12-11  Neil Booth  <neilb@earthling.net>
111
112         * tradcpp.h: For tradcpp, NUL is not whitespace.
113
114 2000-12-11  Neil Booth  <neilb@earthling.net>
115
116         * fix-header.c (read_scan_file): Macro expansion is not a file buffer.
117
118 2000-12-05  Marek Michalkiewicz  <marekm@linux.org.pl>
119
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.
124
125 2000-12-11  Neil Booth  <neilb@earthling.net>
126
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.
145
146 2000-12-10  Robert Lipe <robertlipe@usa.net>
147
148         * install.texi (i*86-*-sco3.2v5*): Remove information duplicated
149         in html version.
150
151 2000-12-10  Richard Henderson  <rth@redhat.com>
152
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.
157
158         * config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
159         for op1 to op0.
160
161 2000-12-10  Richard Henderson  <rth@redhat.com>
162
163         * genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
164
165 2000-12-09  Richard Henderson  <rth@redhat.com>
166
167         * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and 
168         STRICT_LOW_PART as SET_DEST have in-out constraints.
169
170 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
171
172         * c-common.c (check_function_format): Don't suggest adding format
173         attributes to functions with no parameter to which to add them.
174
175 2000-12-09  Nick Clifton  <nickc@redhat.com>
176
177         * config/arm/arm.c (arm_expand_prologue): Mark the generated
178         insn not the set as being DWARF2_FRAME_RELATED_P.
179
180 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
181
182         * Makefile.in: use $(build_exeext) for all build
183         system executable targets.
184
185 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
186
187         * install.texi: remove i[345]86-*-winnt3.5 section.
188         * configur.bat: removed.
189         * config/msdos: directory removed.
190
191 2000-12-09  Neil Booth  <neilb@earthling.net>
192
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
202         variadic.
203
204 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
205
206         * .cvsignore: Add info files.
207
208 2000-12-08 Laurynas Biveinis <lauras@softhome.net>
209
210         * config/winnt: Remove obsolete directory.
211         * install.texi (Configurations): Remove obsolete documentation for
212         Windows NT.
213
214 2000-12-08  Joseph S. Myers  <jsm28@cam.ac.uk>
215
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
221         directory.
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
226         exist.
227         * texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
228
229 2000-12-08  Alexandre Oliva  <aoliva@redhat.com>
230
231         * lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
232         before taking its NOTE_LINE_NUMBER.
233
234 2000-12-08  Nick Clifton  <nickc@redhat.com>
235
236         * config/arm/arm.md (load_indirect_jump): Add pool ranges.
237
238         * extend.texi: Document ARM "interrupt" function attribute.
239         Mention that the ARM also support the "naked" function
240         attribute.
241
242         * config/arm/arm-protos.h (arm_current_func_type): Add
243         prototype.
244
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.
254
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
258         interrupt function.
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
262         current function.
263         (use_return_insn): Use arm_current_func_type.
264         (arm_valid_type_attribute_p): Accept "interrupt" function
265         attribute.
266         (arm_comp_type_attributes): Check "interrupt" attributes.
267         (arm_valid_machine_decl): Accept "interrupt" function
268         attribute.
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
277         stack.
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
287         necessary.
288         (thumb_expand_prologue): Use arm_current_func_type.
289         (output_thumb_prologue): Use arm_current_func_type.
290
291 2000-12-08  Brad Lucier <lucier@math.purdue.edu>
292
293         * tradcpp.c (do_include): Make pointer differences 64-bit clean.
294
295 Fri Dec  8 08:23:29 2000  J"orn Rennecke <amylaar@redhat.com>
296
297         * fp-bit.c (_fpmul_parts): Use USItype variables as inputs
298         for multiplies.
299
300 2000-12-07  Mike Stump  <mrs@wrs.com>
301
302         * Makefile.in (distclean): Remove alloca.c hashtab.c.
303
304 2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
305
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
309         wrap ctype macros.
310
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.
314
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.
321
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.
326
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).
332
333 2000-12-07  DJ Delorie  <dj@redhat.com>
334
335         * c-decl.c (grokdeclarator): preserve previous alignments when
336         rebuilding array types.
337
338 2000-12-07  Neil Booth  <neilb@earthling.net>
339
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.
361
362 2000-12-07  Richard Henderson  <rth@redhat.com>
363
364         * flow.c (calculate_global_regs_live): Force the stack pointer live
365         after reload as well.
366
367 2000-12-07  Bruce Korb  <bkorb@gnu.org>
368
369         * fixinc/Makefile.*(exeext): the variables are exeext, the
370         substitution expression is build_exeext.
371
372 2000-12-07  Neil Booth  <neilb@earthling.net>
373
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
379         #line flags.
380         * fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
381         The first EOF must be our get_char buffer.
382
383 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
384
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
388         specified.
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.
396
397 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
398
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.
404
405 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
406
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
413         pointers.
414
415 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
416
417         * invoke.texi (-Wformat): Document what format features are
418         checked.
419
420 2000-12-06  Kazu Hirata  <kazu@hxi.com>
421
422         * config/h8300/h8300.h: Fix formatting.
423
424 2000-12-06      Joel Sherrill <joel@OARcorp.com>
425
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.
431
432 2000-12-06  Mark Kettenis  <kettenis@gnu.org>
433
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.
437
438 Wed Dec  6 19:22:02 2000  Jeffrey A Law  (law@cygnus.com)
439
440         * contrib.texi: Fix my email address.  Update Per's
441         list of contributions.
442
443 2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
444
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.
449
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.
469
470 2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
471
472         * machmode.def: Use correct definition for BITSIZE on targets where
473         BITS_PER_UNIT != 8.
474
475 2000-12-06  Bruce Korb  <bkorb@gnu.org>
476
477         * fixinc/Makefile.*: Reduce differences to (ultimately) reduce
478         the number of them.
479
480 2000-12-06  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
481
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
487         ORDERED.
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.
492
493 Wed Dec  6 21:03:41 2000  J"orn Rennecke <amylaar@redhat.com>
494
495         * final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
496
497 2000-12-06  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
498
499         * cpplex.c (skip_escaped_newlines): Don't warn for spaces between
500         backslash and newline, when inside a comment.
501
502 2000-12-06  Joseph S. Myers  <jsm28@cam.ac.uk>
503
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.
508
509 2000-12-06  Michael Matz  <matzmich@cs.tu-berlin.de>
510
511         * gcse.c (compute_pre_data): Kill trapping expressions in
512         destination blocks of abnormal edges.
513
514 2000-12-05  Richard Sandiford  <r.sandiford@redhat.com>
515
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().
527
528 Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
529
530         * builtins.c (expand_builtin_setjmp_setup): Set
531         current_function_has_nonlocal_label.
532
533 2000-12-05  Neil Booth  <neilb@earthling.net>
534
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
539         file NEVER_REREAD.
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.
545
546 2000-12-05  Alexandre Oliva  <aoliva@redhat.com>
547
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.
552
553 2000-12-05  Geoffrey Keating  <geoffk@redhat.com>
554
555         * global.c (global_conflicts): Allow for a REG_UNUSED note
556         with a different mode to the REG set in the insn.
557
558 2000-12-05  Kaveh R. Ghazi  <ghazi@teal.rutgers.edu>
559
560         * Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
561
562         * fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
563
564 2000-12-05  Bruce Korb  <bkorb@gnu.org>
565
566         * fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
567         GNU/Linux.
568
569 2000-12-05  Richard Earnshaw  <rearnsha@arm.com>
570
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.
575
576 2000-12-05  Bernd Schmidt  <bernds@redhat.co.uk>
577
578         * sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
579         * sched-rgn.c: Likewise.
580         (rgn_print_insn): Fix output.
581
582 2000-12-05  Bruce Korb  <bkorb@gnu.org>
583
584         * fixinc/Makefile.*: make these more consistent
585         * fixinc/mkfixincl.sh: enable BeOS fixincludes
586
587 2000-12-05  Richard Henderson  <rth@redhat.com>
588
589         * stmt.c (warn_if_unused_value): Move side effects test earlier.
590
591 2000-12-05  Alan Modra <alan@linuxcare.com.au>
592
593         * bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
594         when using sjlj.
595
596 2000-12-05  Richard Henderson  <rth@redhat.com>
597
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.
601
602 2000-12-05  Joseph S. Myers  <jsm28@cam.ac.uk>
603
604         * invoke.texi: Add support for using texi2pod.pl.  Don't use
605         @multitable.
606
607 2000-12-04  Nick Clifton  <nickc@redhat.com>
608
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.
612
613         * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
614         contraint, accidentally changed during XScale contribution.
615
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.
619
620 2000-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
621
622         * ONEWS: New file with the current contents of NEWS up to EGCS
623         1.1.
624         * NEWS: Generate automatically from online release notes from EGCS
625         1.0 to GCC 2.95.2, using ../contrib/gennews.
626
627 2000-12-04  Neil Booth  <neilb@earthling.net>
628
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.
636
637 2000-12-01  Rodney Brown  <RodneyBrown@mynd.com>
638
639         * config.gcc: Fix typo for UnixWare 7.
640
641 2000-12-03  Phil Edwards  <pme@sources.redhat.com>
642
643         * invoke.texi:  Replace `pedwarns' with clearer text.
644
645 2000-12-04  Bruce Korb  <bkorb@gnu.org>
646
647         * fixinc/Makefile.*(clean):  don't clean autogenerated files.
648         (mainainer-clean): clean autogenerated files
649
650 2000-12-04  DJ Delorie  <dj@redhat.com>
651
652         * md.texi: Add overview, clarify match_dup and define_expand.
653
654 2000-12-04  DJ Delorie  <dj@redhat.com>
655
656         * print-tree.c (print_node): Target-specific builtins print
657         numbers, not names.
658
659 2000-12-04  Jason Merrill  <jason@redhat.com>
660
661         * stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
662         MODE_VECTOR_FLOAT.
663
664         * diagnostic.c (report_problematic_module): s/function/module/.
665
666         * c-lex.h: Remove decl for check_newline.
667
668 2000-12-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
669
670         * README.APOLLO: Remove obsolete file.
671
672 2000-12-04  Neil Booth  <neilb@earthling.net>
673
674         * cppinternals.texi: New file.
675
676 2000-12-04  Neil Booth  <neilb@earthling.net>
677
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.
687
688 2000-12-03  Kaveh R. Ghazi  <ghazi@teal.rutgers.edu>
689
690         * builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
691         Handle another transformation.
692
693 2000-12-03  Nick Clifton  <nickc@redhat.com>
694
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.
700
701 2000-12-03  Nick Clifton  <nickc@redhat.com>
702
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.
712
713 2000-12-03  Richard Henderson  <rth@redhat.com>
714
715         * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
716         unless exception handling is enabled, and if not using sjlj.
717
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.
727
728 2000-12-03  Bruce Korb  <bkorb@gcc.org>
729
730         * fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
731         build machine name.  Default to the target.
732
733 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
734
735         * Makefile.in: use $(build_canonical), not $(canonical_build).
736
737 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
738
739         * Makefile.in (OBJS): Add sched-rgn.o.
740         (sched-rgn.o): New rule.  * haifa-sched.c (sched_verbose): No
741         longer static.
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
782         longer static.
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
787         schedule_region.
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.
797
798 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
799             Bruce Korb  <bkorb@gnu.org>
800
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.
805
806 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
807
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
811         sched-int.h.
812         (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
813         sched-int.h.
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
830         haifa-sched.c.
831         (h_i_d): Declare.
832         (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
833         from haifa-sched.c.
834
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
839         static.
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
853         changed.
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.
860
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.
885
886 2000-12-03  Neil Booth  <neilb@earthling.net>
887
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.
893
894 2000-12-03  Manfred Hollstein  <manfredh@redhat.com>
895
896         * arm/t-linux (MULTILIB_OPTIONS): Comment.
897         (MULTILIB_DIRNAMES): Likewise.
898         (EXTRA_MULTILIB_PARTS): Likewise.
899         (LIBGCC): Likewise.
900         (INSTALL_LIBGCC): Likewise.
901
902 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
903
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.
908
909         * builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
910         BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
911
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'.
915
916         * extend.texi (strcat, strcspn, strncat, strspn): Document new
917         builtins.
918
919 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
920
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.
926
927 2000-12-02  David Edelsohn  <edelsohn@gnu.org>
928
929         * rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
930         instruction.
931         (cr logic): Really make operands sequential.
932
933 2000-12-02  Geoffrey Keating  <geoffk@redhat.com>
934
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
937         zero byte.
938
939         * cpplib.c (do_ifdef): Add check_eol() call.
940         (do_ifndef): Likewise.
941
942 2000-12-02  Daniel Berlin  <dberlin@redhat.com>
943             Bruce Korb  <bkorb@gnu.org>
944
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.
953
954 2000-12-02  Bruce Korb  <bkorb@gnu.org>
955
956         From: 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
957
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.
963         (main): Prototype.
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
970         `create_file'.
971         * fixtests.c (test): Make static.
972         * server.c (load_data, sig_handler, server_setup, find_shell): Add
973         static prototype.
974         (sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
975
976 2000-12-02  Bruce Korb  <bkorb@gnu.org>
977
978         * fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
979         (per Laurynas Biveinis  <lauras@softhome.net>)
980
981 2000-12-02  Richard Earnshaw  <rearnsha@arm.com>
982
983         * arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
984         macros.
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.
1005
1006 2000-12-02  Neil Booth  <neilb@earthling.net>
1007
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.
1012
1013 2000-11-23  Marek Michalkiewicz  <marekm@linux.org.pl>
1014
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.
1021
1022 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
1023
1024         * c-common.c (PTRDIFF_TYPE): Provide default here, ...
1025         * c-decl.c: ... not here.
1026
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.
1035
1036 2000-12-02  Neil Booth  <neilb@earthling.net>
1037
1038         * cppexp.c (parse_number): Update diagnostic test.
1039
1040 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
1041
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.
1045
1046 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1047
1048         * install.texi (Configurations): Remove obsolete documentation for
1049         hppa*-*-*.
1050
1051 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1052
1053         * install.texi (Installation): Remove obsolete description for
1054         libstdc++ which is now an integral part of GCC.
1055
1056 2000-12-01  Jim Blandy  <jimb@redhat.com>
1057
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.
1066
1067 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
1068
1069         * final.c (output_addr_const) <PLUS>: Don't assume at least one
1070         operand is a CONST_INT.
1071
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
1079         not optimizing.
1080         (sibcalli_pcrel, sibcall_pcrel): Likewise.  Use constraint `k'
1081         for call address.
1082         (sibcalli): Likewise.
1083
1084 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1085
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.
1097         Use set_Wformat.
1098         * invoke.texi: Document these new options and -Wformat=2.
1099         * toplev.c (documented_lang_options): Add these new options.
1100
1101 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1102
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.
1110
1111 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1112
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.
1126
1127 2000-12-01  Neil Booth  <neilb@earthling.net>
1128
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
1133         skip_rest_of_line.
1134         * cpplib.h (cpp_reader): Remove macro_pos.
1135         * cppmacro.c (cpp_get_line): Don't do anything special inside
1136         macros.
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.
1142
1143 2000-12-01  Phil Edwards  <pme@sources.redhat.com>
1144
1145         * diagnostic.c:  Fix typos in comments.
1146         * diagnostic.h:  Likewise.
1147
1148 2000-11-30  Phil Edwards  <pme@sources.redhat.com>
1149
1150         * rtl.texi (Machine Modes):  Document BImode and OImode.
1151
1152 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1153
1154         * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
1155         .FPP.
1156
1157 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1158
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.
1163
1164 2000-12-01  Jakub Jelinek  <jakub@redhat.com>
1165
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
1172         store_by_pieces.
1173
1174 2000-11-30  Marek Michalkiewicz  <marekm@linux.org.pl>
1175
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'.
1183
1184 2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
1185
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.
1190
1191 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
1192
1193         * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
1194         whether X is a CONST_INT.
1195         (addsubcosts): Likewise.
1196
1197         * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
1198         mis-used XINT.
1199         (ARG_POINTER_REGNUM): Set to AP_REG.
1200
1201 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
1202
1203         * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
1204         splits): Only match on TARGET_SH4.
1205
1206         * combine.c (try_combine): Disregard USEs when updating LOG_LINKS
1207         of subsequent insns.
1208
1209 2000-11-30  Richard Henderson  <rth@redhat.com>
1210
1211         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
1212         * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
1213
1214 2000-11-30  Richard Henderson  <rth@redhat.com>
1215
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.
1221
1222 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
1223
1224         * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
1225         from va_list before using it.
1226
1227 2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
1228
1229         * flow.c (make_edge): Early out, if no flags to set.
1230         (calculate_global_regs_live): Clear out garbage only when necessary.
1231
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
1236         used_regs.
1237
1238         * local-alloc.c (update_equiv_regs): New local `cleared_regs'.
1239         Move clearing of dead regs out of insn-loop.
1240
1241 2000-11-30  Richard Henderson  <rth@redhat.com>
1242
1243         * calls.c (expand_call): Emit queued insns before creating
1244         the tail recursion sequence.
1245
1246 2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
1247             Bruce Korb  <bkorb@gnu.org>
1248
1249         * fixinc/inclhack.def(): prevent dual double definition protection
1250         * fixinc/fixincl.x: regenerate
1251
1252 2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
1253
1254         * fixinc/Makefile.in (fixincl.x): Explicitly state the
1255         location of the generated file.
1256
1257 2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1258
1259         * README.FRESCO: Remove obsolete file.
1260
1261 2000-11-30  Mark Kettenis  <kettenis@gnu.org>
1262
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.
1266
1267 2000-11-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1268
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.
1275
1276 Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
1277
1278         * pa.md (conditional moves): Avoid holes in operand list.
1279         (mod, umod patterns): Similarly.
1280         (variable extract/shift patterns): Similarly.
1281
1282 2000-11-30  Neil Booth  <neilb@earthling.net>
1283
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.
1290
1291 2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1292
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.
1299
1300         * pa.md: Remove hack from all index insns to reverse the operand
1301         order of frame and stack pointer references incorrectly created
1302         in the reload pass.
1303
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
1316         regno_pointer_flag.
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
1331         REG_POINTER.
1332         * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
1333         Use REG_POINTER.
1334         (restore_unscaled_index_insn_codes): Revise comment.
1335
1336         * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
1337
1338 2000-11-30  Joseph S. Myers  <jsm28@cam.ac.uk>
1339
1340         * extend.texi: Update documentation for attributes.
1341
1342 2000-11-29  David O'Brien  <obrien@FreeBSD.org>
1343
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.
1362         (ESCAPES): Same.
1363         (FINI_SECTION_ASM_OP): Same.
1364         (IDENT_ASM_OP): Same.
1365         (IDENT_ASM_OP): Same.
1366         (INIT_SECTION_ASM_OP): Same.
1367         (INT_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.
1380
1381 2000-11-29  Neil Booth  <neilb@earthling.net>
1382
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.
1387
1388 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
1389
1390         * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
1391         tests.
1392
1393 2000-11-29  Neil Booth  <neilb@earthling.net>
1394
1395         * c-pragma.c (init_pragma): Update for parse_in type change.
1396
1397 2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
1398
1399         * configure.in: recognize DOS-style absolute paths.
1400
1401 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
1402
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
1424         optimize.
1425         (expand_builtin_fputs): If STR has side effects, don't optimize.
1426
1427 2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
1428
1429         * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
1430         Add use of link register.
1431
1432 2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1433
1434         * extend.texi: Update documentation for default format attributes.
1435
1436 Tue Nov 28 21:56:45 2000  Jeffrey A Law  (law@cygnus.com)
1437
1438         * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
1439         a list, to keep track of the sections.
1440
1441 2000-11-28  Nick Clifton  <nickc@redhat.com>
1442
1443         * config/arm/arm.md (pic_load_addr): Split into
1444         pic_load_addr_arm and pic_load_addr_thumb.
1445
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
1449         pic_load_addr.
1450
1451 2000-11-28  Richard Henderson  <rth@redhat.com>
1452
1453         * calls.c (expand_call): Defer const/pure NO_DEFER_POP until
1454         after sibcall do_pending_stack_adjust.
1455
1456 Wed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
1457
1458         * jump.c (delete_insn): Check that REG_LABEL note actually contains
1459         a CODE_LABEL.
1460
1461 2000-11-28  Neil Booth  <neilb@earthling.net>
1462
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.
1467
1468 2000-11-28  Richard Henderson  <rth@redhat.com>
1469
1470         * c-parse.in (finish_parse): Update for parse_in type change.
1471         (_yylex): Likewise.
1472
1473 2000-11-28  Neil Booth  <neilb@earthling.net>
1474
1475         * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
1476         indicating whether to scan all buffers on the stack or
1477         just one.
1478         * cppinit.c (do_includes): Update.
1479         * cppmain.c (main): Update.
1480         * cpplib.h: Update prototype.
1481
1482 2000-11-28  Richard Henderson  <rth@redhat.com>
1483
1484         * genoutput.c (validate_insn_operands): New.
1485         (gen_insn): Call it.
1486
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.
1499
1500 2000-11-28  Richard Henderson  <rth@redhat.com>
1501
1502         * config.gcc: Kill residual pyramid support.
1503
1504 2000-11-28  Neil Booth  <neilb@earthling.net>
1505
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.
1516         (main): Use them.
1517         * fix-header.c (scan_in): Change type to cpp_reader *.
1518         (read_scan_file): Update for new cpplib interface and scan_in type.
1519
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.
1526
1527 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
1528
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
1531         out of loop.
1532
1533 2000-11-28  Jan Hubicka  <jh@suse.cz>
1534
1535         * calls.c (expand_call): Don't disable tail recursion based
1536         on the loop nest.
1537
1538 2000-11-28  Neil Booth  <neilb@earthling.net>
1539
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.
1551
1552 2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
1553
1554         * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
1555         is anything but REG or MEM, but look inside STRICT_LOW_PART.
1556
1557 Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1558
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.
1562
1563 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
1564
1565         * config/i386/i386.md (truncxfsf2_2): Fix predicate.
1566
1567 2000-11-27  Jim Wilson  <wilson@redhat.com>
1568
1569         * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
1570
1571 2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
1572
1573         * extend.texi (Nested Functions): Update URL of Usenix paper.
1574
1575 2000-11-27  Mark Mitchell  <mark@codesourcery.com>
1576
1577         * function.c (free_after_compilation): Clear x_clobber_return_insn.
1578
1579 2000-11-27  Neil Booth  <neilb@earthling.net>
1580
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.
1587
1588 2000-11-27  Neil Booth  <neilb@earthling.net>
1589
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.
1594
1595 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
1596
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
1600         changed.
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
1605         appropriate.
1606         * basic-block.h (struct basic_block_def): New field cond_local_set.
1607         (propagate_block, init_propagate_block_info): Update prototypes.
1608
1609 Mon Nov 27 17:29:44 2000  kaz Kojima <kkojima@rr.iij4u.or.jp>
1610
1611         * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
1612         T register.
1613
1614 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
1615
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.
1623
1624 Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
1625
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.
1630
1631 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
1632
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.
1643
1644         * arm.md (thumb peephole for merging stack adjustments): Convert to
1645         peephole2.
1646
1647 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
1648
1649         * haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
1650
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
1658         cselib_lookup.
1659         (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
1660         htab_find_slot_with_hash.
1661         (cselib_lookup): Likewise.
1662
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.
1667
1668 2000-11-27  Alexandre Oliva  <aoliva@redhat.com>
1669
1670         * configure.in (extra_objs): Enclose extra_headers in quotes.
1671         * configure: Rebuilt.
1672
1673 2000-11-27  Neil Booth  <neilb@earthling.net>
1674
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.
1697
1698 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
1699
1700         * tree.h (mark_tree_hashtable): New function.
1701         * tree.c (mark_tree_hashtable_entry): New function.
1702         (mark_tree_hashtable): Likewise.
1703
1704 2000-11-27  Michael Meissner  <meissner@redhat.com>
1705
1706         * d30v-protos.h (srelational_si_operator): Correctly spell
1707         function.
1708         (urelational_si_operator): Ditto.
1709         (relational_si_operator): Ditto.
1710         (d30v_expand_prologue): Add prototype.
1711         (d30v_expand_epilogue): Ditto.
1712
1713         * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
1714
1715         * d30v.md (movcccc_*): Delete now unused patterns.
1716         (64 bit comparison splitters): Rewrite to use COND_EXEC instead of
1717         IF_THEN_ELSE.
1718         (define_cond_exec): Use 'b' to select branch flags.
1719
1720 2000-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1721
1722         * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
1723         functions.
1724         (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
1725
1726         * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
1727
1728         * c-common.c (c_common_nodes_and_builtins): Declare builtin
1729         strncpy and strncmp.
1730
1731         * extend.texi (strncmp, strncpy): Document new builtins.
1732
1733 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
1734
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.
1739
1740 2000-11-26  Neil Booth  <neilb@earthling.net>
1741
1742         * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
1743         current buffer.
1744
1745 2000-11-26  Joseph S. Myers  <jsm28@cam.ac.uk>
1746
1747         * makefile.vms: Remove EGCS references.
1748
1749 2000-11-26  Ulrich Drepper  <drepper@redhat.com>
1750
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.
1756
1757 2000-11-26  Neil Booth  <neilb@earthling.net>
1758
1759         * cpplib.h (struct cpp_reader): Remove lang_asm.
1760         (struct cpp_options): Remove c89. New members lang,
1761         extended_numbers.
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.
1769
1770 Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1771
1772         * fold-const.c (fold, case CONVERT_EXPR): Always return tree of
1773         proper type.
1774
1775 2000-11-26  Neil Booth  <neilb@earthling.net>
1776
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.
1792
1793 2000-11-25  Zack Weinberg  <zack@wolery.stanford.edu>
1794
1795         * combine.c (try_combine): Remove redundant test.
1796
1797 2000-11-25  Richard Henderson  <rth@redhat.com>
1798
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.
1802
1803 2000-11-25  Richard Henderson  <rth@redhat.com>
1804
1805         * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
1806         lineno for the start of the function.
1807
1808 2000-11-25  Richard Henderson  <rth@redhat.com>
1809
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.
1825
1826 2000-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1827
1828         * invoke.texi: Update sequence points references.
1829
1830 2000-11-25  Neil Booth  <neilb@earthling.net>
1831
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.
1840         * gcc.c: 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.
1851
1852         * configure.in: Remove configure option.
1853         * config.in: Regenerate.
1854         * configure: Regenerate.
1855
1856 2000-11-25  Richard Henderson  <rth@redhat.com>
1857
1858         * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
1859         Revert 2000-11-22 change.
1860
1861 2000-11-25  Bernd Schmidt  <bernds@redhat.co.uk>
1862
1863         * config/i386/i386.h (FIXED_REGS): Make the three flags registers
1864         fixed.
1865
1866 2000-11-25  Philipp Thomas  <pthomas@suse.de>
1867         * configure.in (ALL_LINGUAS): Remove en_GB and add sv.
1868         * configure: Rebuilt.
1869
1870 2000-11-25  Jakub Jelinek  <jakub@redhat.com>
1871
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
1876         MOV.
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
1879         pair.
1880
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
1884         formatting.
1885
1886 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>
1887
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.
1893
1894         * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
1895         insn-codes.h.
1896
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.
1900
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
1912         PIC is enabled.
1913         (sh_expand_epilogue, initial_elimination_offset): Don't
1914         special case PIC_OFFSET_TABLE_REGNUM.
1915
1916 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>, NIIBE Yutaka  <gniibe@m17n.org>
1917
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.
1931
1932 2000-11-24  Nick Clifton  <nickc@redhat.com>
1933
1934         * config.gcc (v850-*-*): Define c_target_objs and
1935         cxx_target_objs.
1936
1937         * config/v850/t-v850: Define how to build v850-c.o
1938
1939         * config/v850/v850.h (struct data_area_stack_element): Move
1940         definition here from v850.c.
1941
1942         * config/v850v850.c: Include gcc.h to avoid compile time
1943         warning.
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.
1958
1959         * config/v850/v850-c.c: New file: Contains v850 specific
1960         pragma parsing functions.
1961
1962 2000-11-24  Nick Clifton  <nickc@redhat.com>
1963
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.
1969
1970         * configure.in (c_target_objs): Substitute in the makefile.
1971         (cxx_target_objs): Substitute in the makefile.
1972         * configure: Regenerate.
1973
1974         * Makefile.in (C_TARGET_OBJS): Define and initialise from
1975         c_target_objs.
1976         (CXX_TARGET_OBJS): Define and initialise from
1977         cxx_target_objs.
1978         (C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
1979
1980         * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
1981
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.
1986
1987 Fri Nov 24 18:50:58 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1988
1989         * gcc.c (process_command): Use F_OK, not R_OK.
1990
1991 2000-11-24  Arno J. Klaassen  <arno@heho.snv.jussieu.fr>
1992
1993         * flow.c (print_rtl_and_abort): Remove ANSIism.
1994
1995 Fri Nov 24 19:54:36 2000  Alexandre Oliva  <aoliva@redhat.com>
1996
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
2000         all over.
2001         (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
2002         * config/sh/sh.c: Use new macros.
2003         * config/sh/sh.md: Likewise.
2004
2005 Fri Nov 24 19:46:16 2000  Alexandre Oliva  <aoliva@redhat.com>
2006
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
2009         in PSImode.
2010
2011 Fri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
2012
2013         * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
2014         fixed.
2015         (machine_dependent_reorg): Wrong optimization based on
2016         NOTICE_UPDATE_CC removed.
2017
2018 Fri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
2019
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.
2023
2024 2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
2025
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.
2028
2029         * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
2030
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.
2034
2035         * haifa-sched.c (struct ready_list): New.
2036         (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
2037         functions.
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.
2046
2047         * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
2048
2049         * combine.c (cant_combine_insn_p): New function.
2050         (try_combine): Use it.
2051
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
2061         static functions.
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.
2065
2066 2000-11-24  Richard Sandiford  <rsandifo@redhat.com>
2067
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.
2071
2072 2000-11-24  Nathan Sidwell  <nathan@codesourcery.com>
2073
2074         * c-parse.in (unary_expr): Move VA_ARG from here ...
2075         (primary): ... to here.
2076
2077 2000-11-23  Graham Stott  <grahams@redhat.com>
2078
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.
2081
2082 2000-11-23  Bernd Schmidt  <bernds@redhat.co.uk>
2083
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.
2087
2088 2000-11-23  Alexandre Oliva  <aoliva@redhat.com>
2089
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
2093         requested mode.
2094
2095 2000-11-23  Graham Stott  <grahams@redhat.com>
2096
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.
2100
2101 Thu Nov 23 04:33:33 2000  Alexandre Oliva  <aoliva@redhat.com>
2102
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
2115         accept them.
2116
2117 Thu Nov 23 04:10:30 2000  Alexandre Oliva  <aoliva@redhat.com>
2118
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.
2124
2125 Thu Nov 23 02:09:09 2000  Alexandre Oliva  <aoliva@redhat.com>
2126
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.
2132
2133 Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
2134
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.
2139         GCONFIG_H: New.
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.
2145
2146 2000-11-22  Nick Clifton  <nickc@redhat.com>
2147
2148         * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
2149         const char * to avoid a compile time warning.
2150
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.
2154
2155 2000-11-22  Neil Booth  <neilb@earthling.net>
2156
2157         * cpplex.c (trigraph_ok): Ensure we don't warn twice.
2158         * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
2159
2160 2000-11-22  Richard Henderson  <rth@redhat.com>
2161
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.
2166
2167 2000-11-22  Chris Demetriou  <cgd@sibyte.com>
2168             Neil Booth  <neilb@earthling.net>
2169
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.
2174
2175 2000-11-22  Michael Meissner  <meissner@redhat.com>
2176
2177         * d30v.h (TARGET_SWITCHES): Add documentation strings.
2178         (TARGET_OPTIONS): Ditto.
2179         (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
2180         -O3.
2181
2182 Wed Nov 22 06:40:56 2000  Jeffrey A Law  (law@cygnus.com)
2183
2184         * pa.c (hppa_encode_label): Account for addition of encoding
2185         character when allocating persistent space for the new label
2186         name.
2187
2188 2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
2189
2190         * Makefile.in, config.gcc, configure.in: Expunge remaining
2191         traces of facility for running MD files through C preprocessor.
2192
2193 2000-11-22  Joseph S. Myers  <jsm28@cam.ac.uk>
2194
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.
2198
2199 2000-11-21  Richard Henderson  <rth@redhat.com>
2200
2201         * regrename.c (scan_rtx_reg): Terminate the chain rather than
2202         abort on mark_read with NO_REGS.
2203
2204 2000-11-21  Mike Stump  <mrs@wrs.com>
2205
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.
2209
2210 2000-11-21  Richard Henderson  <rth@redhat.com>
2211
2212         * varasm.c (record_constant): Pad the constructed
2213         constant_descriptor appropriately.
2214
2215 Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
2216
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.
2233
2234 2000-11-21  Richard Henderson  <rth@redhat.com>
2235
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.
2242
2243 2000-11-21  Zack Weinberg  <zack@wolery.stanford.edu>
2244
2245         * stringpool.c (stringpool_statistics): Also report number and
2246         percentage of entries which are identifiers.
2247
2248 2000-11-21  Diego Novillo  <dnovillo@redhat.com>
2249
2250         * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
2251         visited before visiting it.
2252
2253 2000-11-21  Nick Clifton  <nickc@redhat.com>
2254
2255         * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
2256         TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
2257
2258         * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
2259
2260 2000-11-21  Richard Henderson  <rth@redhat.com>
2261
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.
2268
2269 2000-11-21  Richard Henderson  <rth@redhat.com>
2270
2271         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
2272         references as well.
2273
2274 2000-11-21  Neil Booth  <neilb@earthling.net>
2275
2276         * do_includes: Revert to using cpp_read_file.
2277
2278 2000-11-21  Bernd Schmidt  <bernds@redhat.co.uk>
2279
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.
2283
2284         Mostly from Vladimir Makarov (vmakarov@redhat.com)
2285         * ia64.md (attr itanium_class): Define insn types as described in
2286         Itanium docs.
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.
2290
2291 2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2292
2293         * tradcpp.c (output_line_command): Mark system headers as such in
2294         `line' commands.
2295
2296 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
2297
2298         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Sparc has .file/.loc
2299         support in as as well.
2300         * configure: Regenerate.
2301
2302 2000-11-20  Richard Henderson  <rth@redhat.com>
2303
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.
2309
2310 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
2311
2312         * expr.c (do_compare_and_jump): If op0 was replaced by promoted
2313         integer constant, use type of op1 for comparison.
2314
2315 2000-11-20  Stan Shebs  <shebs@apple.com>
2316
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.
2322
2323 2000-11-20  Neil Booth  <neilb@earthling.net>
2324
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.
2330
2331 2000-11-20  Richard Henderson  <rth@redhat.com>
2332
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.
2339
2340 2000-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2341
2342         * gansidecl.h (const): Check __STDC__ before undef'ing `const'.
2343
2344 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2345
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
2350         code.
2351
2352 2000-11-20  Neil Booth  <neilb@earthling.net>
2353
2354         * c-lang.c (lang_init_options): Update call to
2355         cpp_reader_init.
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.
2367
2368 2000-11-20  Will Cohen  <wcohen@redhat.com>
2369
2370         * calls.c (expand_call): Clear target only when target is in
2371         hard register and current_function_check_memory_usage is set.
2372
2373 2000-11-20  Bernd Schmidt  <bernds@redhat.co.uk>
2374
2375         * toplev.c (rest_of_compilation): Run optimize_mode_switching even
2376         if not optimizing.
2377         * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
2378
2379 2000-11-19  Richard Henderson  <rth@redhat.com>
2380
2381         * crtstuff.c (force_to_data): Use array size 1 not 0.
2382
2383         * dwarf2out.c (simple_type_size_in_bits): Handle a type with
2384         no computed size as size zero.
2385         (field_byte_offset): Likewise.
2386
2387 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2388
2389         * config.gcc: Fix another typo.
2390
2391 2000-11-19  Richard Henderson  <rth@redhat.com>
2392
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.
2402
2403 2000-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2404
2405         * config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
2406
2407         * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
2408         stdarg and varargs functions.
2409
2410 2000-11-19  Zack Weinberg  <zack@wolery.stanford.edu>
2411
2412         * gcc.c (process_command): Define 'j' variable when
2413         MODIFY_TARGET_NAME is defined.
2414
2415 2000-11-19  Richard Henderson  <rth@redhat.com>
2416
2417         * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
2418
2419 2000-11-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2420
2421         * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
2422         calculation and allocation.
2423
2424 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2425
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
2435         away const-ness.
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.
2440
2441 2000-11-18  Richard Henderson  <rth@redhat.com>
2442
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.
2446
2447 2000-11-18  Marek Michalkiewicz  <marekm@linux.org.pl>
2448
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.
2458
2459 2000-11-18  Mark Mitchell  <mark@codesourcery.com>
2460
2461         * configure.in: Make --enable-new-gxx-abi the default.
2462         * configure: Likewise.
2463
2464 2000-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2465
2466         * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
2467
2468         * tradcif.y: Include tradcpp.h.  Constify.  Make functions static.
2469         Move extern function declarations to tradcpp.h.
2470
2471         * tradcpp.c: Likewise.
2472
2473         * tradcpp.h: New file.
2474
2475 2000-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2476
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.
2481
2482 2000-11-18  Neil Booth  <neilb@earthling.net>
2483
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.
2488
2489 2000-11-18  Ben Elliston  <bje@redhat.com>
2490
2491         * config/sh/crt1.asm (start_l): Move PC-relative move instruction
2492         out of a branch delay slot.
2493
2494 2000-11-17  Richard Henderson  <rth@redhat.com>
2495
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.
2500
2501 2000-11-17  Richard Henderson  <rth@redhat.com>
2502
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.
2508
2509 2000-11-17  Richard Henderson  <rth@redhat.com>
2510
2511         * fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
2512
2513 2000-11-17  Jim Wilson  <wilson@redhat.com>
2514
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.
2518
2519 2000-11-17  Neil Booth  <neilb@earthling.net>
2520
2521         * cpperror.c (print_file_and_line): Don't display line number if 0.
2522
2523 2000-11-17  Zack Weinberg  <zack@wolery.stanford.edu>
2524
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.
2529
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.
2538
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
2544         ip->nominal_fname.
2545
2546         * Makefile.in (c-lex.o): No longer depends on $(GGC_H).
2547
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.
2555
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).
2567
2568         * profile.c (output_func_start_profiler),
2569         tree.c (make_node),
2570         i386.c (load_pic_register): No need to ggc_strdup string constant.
2571
2572 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
2573
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.
2579         * config.gcc: New.
2580
2581 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
2582
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.
2587
2588 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
2589
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.
2604
2605         * Makefile.in (stringpool.o): Add rule, mention in OBJS.
2606
2607         * toplev.c (approx_sqrt): New function.
2608         (compile_file): Call stringpool_statistics if mem_report is on.
2609         (main): Call init_stringpool.
2610
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 *.
2620
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.
2629
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
2635         ggc_alloc_string.
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.
2639
2640 2000-11-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2641
2642         * mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
2643         malloc/realloc.
2644
2645         * cpplib.c (glue_header_name): Likewise.
2646
2647         * fixincl.c (run_compiles, start_fixer): Likewise.
2648
2649         * fixlib.c (load_file_data): Likewise.
2650
2651         * mkdeps.c (munge): Likewise.
2652
2653 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
2654
2655         * defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
2656         trailing ';'.  Fix formatting.
2657
2658 2000-11-16  Jim Wilson  <wilson@redhat.com>
2659
2660         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
2661         Shift masks left by one to avoid conflict.
2662
2663         * config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
2664         DECL_EXTERNAL set.
2665
2666 2000-11-16  Nick Clifton  <nickc@redhat.com>
2667
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.
2671
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).
2677
2678 2000-11-16  DJ Delorie  <dj@redhat.com>
2679
2680         * rtl.c (read_rtx): Provide suitable names for unnamed
2681         define_insn and define_insn_and_split patterns, based on file
2682         and line numbers.
2683
2684 2000-11-15  Neil Booth  <neilb@earthling.net>
2685
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
2689         null directives.
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
2693         directives.
2694
2695         gcc.dg/cpp/_Pragma1.c: Update.
2696         gcc.dg/cpp/_Pragma2.c: New test.
2697
2698 2000-11-15  Mark Mitchell  <mark@codesourcery.com>
2699
2700         * toplev.c (wrapup_global_declarations): Don't write out
2701         artificial static variables that aren't needed.
2702
2703 2000-11-15  Bernd Schmidt  <bernds@redhat.co.uk>
2704
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
2711         and last_group.
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.
2719
2720 2000-11-15  Fred Fish  <fnf@be.com>
2721
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.
2725
2726 2000-11-15  Jason Merrill  <jason@redhat.com>
2727
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.
2732
2733 2000-11-13  Andrew Haley  <aph@redhat.com>
2734
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
2739         a pointer chain.
2740
2741 2000-11-15  Graham Stott  <grahams@redhat.com>
2742
2743         * regrename.c (scan_rtx_rtx): Skip to the next chain on
2744         encountering a terminated chain.
2745
2746 2000-11-14  Mark Mitchell  <mark@codesourcery.com>
2747
2748         * configure.in: Move check for V3 above check for C++ header-file
2749         directory.
2750         * configure: Regenerated.
2751
2752 2000-11-14  DJ Delorie  <dj@redhat.com>
2753
2754         * config/v850/v850.c: Remove obstacks.
2755
2756 Tue Nov 14 21:54:31 2000  Marek Michalkiewicz  <marekm@linux.org.pl> & Denis Chertykov  <denisc@overta.ru>
2757
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".
2761
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.
2769
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.
2775
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".
2779
2780 2000-11-14  Neil Booth  <neilb@earthling.net>
2781
2782         * cppexp.c (parse_defined): Call cpp_get_token not
2783         _cpp_get_token.
2784         (lex): Similarly.
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
2791         _cpp_get_token.
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.
2796
2797 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
2798
2799         * builtins.c (expand_builtin_setjmp): Set
2800         current_function_calls_setjmp.
2801         (expand_builtin_longjmp): Set current_function_calls_longjmp.
2802
2803         * config/sparc/sparc.md (builtin_setjmp_setup): New expand.
2804         (do_builtin_setjmp_setup): New insn.
2805
2806 Tue Nov 14 12:34:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2807
2808         * tree.c (get_unwidened): Use host_integerp and tree_low_cst.
2809         (int_fits_type_p): For variable bounds, call force_fit_type.
2810
2811 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
2812
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
2821         not empty.
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.
2829
2830 2000-11-14  Chandrakala Chavva  <cchavva@redhat.com>
2831
2832         * optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
2833         signed types if flag_trapv.
2834
2835 2000-11-14  Zack Weinberg  <zack@wolery.stanford.edu>
2836
2837         * tradcpp.c, tradcif.y: Update FSF mailing address, delete
2838         reference to GPLv1.
2839
2840 2000-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
2841
2842         * c-common.h (CTI_C_SIZE_TYPE): Update comment.
2843
2844 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
2845
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
2858         of pool_sym.
2859
2860 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
2861
2862         * reload1.c (emit_input_reload_insns): Honour forcing of constants
2863         into memory by PREFERRED_RELOAD_CLASS NO_REGS.
2864
2865 2000-11-14  Michael Matz  <matzmich@cs.tu-berlin.de>
2866
2867         * dominance.c: New file.
2868         * Makefile.in (OBJS): Add dominance.o.
2869
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.
2875
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
2883         dominators.
2884
2885 2000-11-14  Richard Henderson  <rth@redhat.com>
2886
2887         * stmt.c (warn_if_unused_value): Don't warn if the expression
2888         has side effects.
2889
2890         * c-typeck.c (c_sizeof): Fold result to c_size_type_node.
2891         (c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
2892
2893 2000-11-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2894
2895         * loop.c (basic_induction_var): Revert accidental checkin.
2896
2897 2000-11-13  Hans-Peter Nilsson  <hp@axis.com>
2898
2899         * c-lex.c (cb_leave_file): Harmonize conditions and order of
2900         statements to those of process_directive for (action == act_pop).
2901
2902         * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
2903
2904         * local-alloc.c (equiv_init_movable_p): References to CC0 are not
2905         movable.
2906
2907 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2908
2909         * c-parse.in (stmts_and_decls): Deprecate use of label at end of
2910         compound statement.
2911
2912 2000-11-13  Neil Booth  <neilb@earthling.net>
2913
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
2923         to _cpp_get_token.
2924         (_cpp_get_token): Simplify into a single loop.
2925
2926 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
2927
2928         * configure.in:  Use 'test -f' not '[ -e'.
2929         * configure: Regenerated.
2930
2931 2000-11-13  DJ Delorie  <dj@redhat.com>
2932
2933         * config/mn10300/mn10300.md (store_movm): Note which registers are
2934         really used or clobbered.
2935
2936 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2937
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.
2948
2949 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2950
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.
2965
2966 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2967
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.
2973
2974 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2975
2976         * invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
2977         -time): Update.
2978
2979 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
2980
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.
2984
2985 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2986
2987         * invoke.texi: Update lists of languages and suffixes supported.
2988
2989 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2990
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
2994         if reconfiguring.
2995         * configure: Regenerate.
2996         * gccbug.in: Include toplevel configure arguments in gccbug.
2997
2998 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
2999
3000         * varasm.c (struct constant_descriptor): Put CONTENTS inside a
3001         union to make it well-aligned.  Update all uses.
3002
3003 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3004
3005         * c-parse.in (initelt): Give appropriate pedantic warnings,
3006         depending on flag_isoc99, for non-ISO syntax and for C99 syntax
3007         outside C99 mode.
3008         (designator): If pedantic, pedwarn for a designator specifying a
3009         range of elements.
3010         * c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
3011         these cases.
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.
3015
3016 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
3017
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*.
3022
3023 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
3024
3025         * function.c (assign_parms): When calling put_var_into_stack, make
3026         sure that there are no hidden pending sequences.
3027
3028 2000-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3029
3030         * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
3031         BUILT_IN_RINDEX.  Add missing checks for BUILT_IN_STRCHR and
3032         BUILT_IN_STRRCHR.
3033
3034         * builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
3035
3036         * c-common.c (c_common_nodes_and_builtins): Declare index and
3037         rindex when nonansi builtins are allowed.
3038
3039         * extend.texi (index, rindex): Document new builtins.
3040
3041 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
3042
3043         * configure.in: Turn on libstdc++ V3 by default.
3044         * configure: Regenerated.
3045
3046         * fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
3047
3048 2000-11-12  Jakub Jelinek  <jakub@redhat.com>
3049
3050         * reload1.c (set_label_offsets): Go inside of PARALLELs.
3051
3052 2000-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3053
3054         * invoke.texi: Clean up option summary.
3055
3056 2000-11-12  Nick Clifton  <nickc@redhat.com>
3057
3058         * config/mcore/mcore.c: Fix comment formating, and adjust sequence
3059         of #include headers.
3060
3061 2000-11-12  Marc Espie <espie@openbsd.org>
3062
3063         * configure.in: Fix filds test.
3064         * configure: Regen.
3065
3066 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
3067
3068         * jump.c (delete_computation): Don't assume that just becuase an
3069         instruction sets a register, that register is dead.
3070
3071 2000-11-12  Neil Booth  <neilb@earthling.net>
3072
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.
3092
3093 Sat Nov 11 21:14:02 2000  Mark P Mitchell  <mark@codesourcery.com>
3094
3095         * fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
3096         declarations that use `__MATH_EXCEPTION' in their prototypes, too.
3097         * fixinc/fixincl.x: Regenerated.
3098
3099 2000-11-11  Bruce Korb  <bkorb@gnu.org>
3100
3101         * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
3102         (avoid_wchar_t_type): ditto
3103         * fixinc/fixinc.irix: obsoleted
3104
3105 2000-11-11  Zack Weinberg  <zack@wolery.stanford.edu>
3106
3107         * configure.in: Don't add $outputs to all_lang_makefiles.  Add
3108         $srcdir/$s/Makefile.in if it exists.
3109         * configure: Regenerate.
3110
3111 Sat Nov 11 18:41:20 2000  Mark P Mitchell  <mark@codesourcery.com>
3112
3113         * fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
3114
3115 2000-11-11  Jason Merrill  <jason@redhat.com>
3116
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.
3120
3121 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3122
3123         * gcc.texi: Adjust wording.
3124
3125 2000-11-11  Mark Mitchell  <mark@codesourcery.com>
3126
3127         * fixinc/inclhack.def (avoid_wchar_t_type): New fix.
3128         * fininc/fixincl.x: Regenerated.
3129
3130 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3131
3132         * invoke.texi: Correct spelling of -foptimize-register-move.
3133
3134 2000-11-11  Neil Booth  <neilb@earthling.net>
3135
3136         Remove CPP_PLACEMARKERs.
3137
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):
3141                    Similarly.
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.
3158
3159 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3160
3161         * gcc.texi, invoke.texi: Add new section discussing language
3162         standards; link to it where appropriate; refer to ISO C instead of
3163         ANSI C.
3164
3165 2000-11-11  Alexandre Oliva  <aoliva@redhat.com>
3166
3167         * builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
3168         into account.
3169
3170         * config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
3171         modes.
3172
3173 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3174
3175         * gcc.texi, gcov.texi: Update dates and version numbers.
3176
3177 2000-11-10  Zack Weinberg  <zack@wolery.stanford.edu>
3178
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
3184         match.
3185
3186         (collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
3187         cppdefault.o): Remove pointless sed munging of source file
3188         name.
3189
3190 2000-11-10  Bernd Schmidt  <bernds@redhat.co.uk>
3191
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
3195         callers changed.
3196         * reload1.c (choose_reload_regs): Registers set in the insn can't be
3197         used for RELOAD_OTHER reloads.
3198
3199 2000-11-10  Mark Mitchell  <mark@codesourcery.com>
3200
3201         * c-dump.h: New file.
3202
3203 2000-11-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3204
3205         * alpha.c (check_float_value): Use memcpy, not bcopy.
3206         * arm.c (output_move_double): Likewise.
3207         * arm.md: 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.
3215         * sh.md: Likewise.
3216         * vax.c (check_float_value): Likewise.
3217
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):
3223         Likewise.
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.
3229
3230 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3231
3232         * gcc.texi (Service): Update to reflect current practice and
3233         location of the GNU service directory.
3234
3235 2000-11-09  Bernd Schmidt  <bernds@redhat.co.uk>
3236
3237         * regrename.c (build_def_use): Mark contents of REG_INC notes as
3238         needing replacement.
3239
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.
3244
3245 2000-11-09  Jan van Male  <jan.vanmale@fenk.wau.nl>
3246
3247         * c-tree.texi: Fix typos.
3248         * extend.texi: Likewise
3249         * gcov.texi: Likewise
3250         * rtl.texi: Likewise
3251         * tm.texi: Likewise
3252
3253 2000-11-09  Hans-Peter Nilsson  <hp@axis.com>
3254
3255         * c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
3256         in_system_header and flags[1] before dereferencing flags[2].
3257
3258 2000-11-09  Matthew Hiller <hiller@redhat.com>
3259
3260         * reload1.c (reload_combine): Fixed calculation of
3261         first_index_reg, last_index_reg.
3262
3263 2000-11-09  Mark Mitchell  <mark@codesourcery.com>
3264
3265         * c-dump.c (dequeue_and_dump): Dump function bodies.
3266
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.
3287
3288 2000-11-09  Christopher Faylor <cgf@cygnus.com>
3289
3290         * config/i386/cygwin.h: Add mingw startfile prefix.
3291
3292 2000-11-09  Richard Henderson  <rth@redhat.com>
3293
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.
3298
3299 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3300
3301         * extend.texi, invoke.texi: Move documentation of builtin versions
3302         of C library functions to one place and update.
3303
3304 2000-11-09  Richard Henderson  <rth@redhat.com>
3305
3306         * fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
3307         the types themselves to discover type equivalence.
3308
3309 2000-11-09  Mike Stump  <mrs@wrs.com>
3310
3311         * Makefile.in (distclean): Remove a few extra leftovers.
3312
3313 2000-11-09  Richard Henderson  <rth@redhat.com>
3314
3315         * recog.c (validate_replace_rtx_1): Consider subregs when
3316         replacing a register with a constant inside a sign/zero_extend.
3317
3318         * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3319
3320 2000-11-09  Geoffrey Keating  <geoffk@redhat.com>
3321
3322         * c-decl.c (finish_struct): When a structure is completed,
3323         check all its variant types for completeness.
3324
3325 2000-11-09  Neil Booth  <neilb@earthling.net>
3326
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.
3332
3333 2000-11-08  Geoffrey Keating  <geoffk@redhat.com>
3334
3335         * config/sparc/sparc.c (sparc_va_arg): When the required alignment
3336         is more than that provided, copy to a temporary.
3337
3338 2000-11-09  Alexandre Oliva  <aoliva@redhat.com>
3339
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.
3345
3346 2000-11-09  Graham Stott  <grahams@redhat.com>
3347
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.
3353
3354 2000-11-09  Jakub Jelinek  <jakub@redhat.com>
3355
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
3370         builtins.
3371         * builtins.def (BUILT_IN_STRRCHR): Add.
3372
3373 2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3374
3375         * fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
3376
3377 2000-11-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3378
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
3394         rindex.
3395         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
3396         bzero, bcmp, index or rindex.
3397
3398 Wed Nov  8 21:58:20 2000  Christopher Faylor <cgf@cygnus.com>
3399
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
3403         lib dirs.
3404
3405 2000-11-08  Nick Clifton  <nickc@redhat.com>
3406
3407         * config/arm/arm.md (mulsidi3adddi): Change output operand
3408         constraint from "=&" to "+&".
3409         (umulsidi3adddi): Change output operand constraint from "=&" to
3410         "+&".
3411
3412 2000-11-08  Richard Henderson  <rth@redhat.com>
3413
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.
3417
3418 2000-11-08  Neil Booth  <neilb@earthling.net>
3419
3420         Move directive handling into the lexer itself.
3421
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.
3429
3430 Wed Nov  8 21:53:41 MET 2000  Jan Hubicka  <jh@suse.cz>
3431
3432         * regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
3433         formed using PRE_MODIFY too.
3434
3435 2000-11-08  Mark Mitchell  <mark@codesourcery.com>
3436
3437         * c-tree.texi (VAR_DECL): Describe representation of GCC's
3438         extension for placing variables in particular registers.
3439
3440         * c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
3441         unprototyped C functions with no parameters.
3442
3443 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
3444
3445         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
3446         before passing to fprintf.
3447
3448 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
3449
3450         * function.c (expand_function_start): Cast GET_MODE_SIZE to
3451         HOST_WIDE_INT before negating it.
3452
3453 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
3454
3455         * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL