OSDN Git Service

637029bb2f74c48fba6b68753d7c75d3487fcf8b
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2
3         * tradcpp.c (special_symbol): Improve test for definedness,
4         though it is still not perfect.
5         (do_define): Don't define illegal macro names.
6         
7 2000-12-07  Aldy Hernandez  <aldyh@redhat.com>
8
9         * config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits
10         if changing into .bss section.
11         * config/mips/elf64.h: same.
12         * config/mips/iris6.h: same.
13         * config/mips/netbsd.h: same.
14         * config/mips/openbsd.h: same.
15
16 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
17
18         * cppfiles.c (read_name_map): Return null if open () fails.
19         (remap_filename): Simplify logic.  Add ICE if it doesn't work
20         as expected. Perform secondary lookup attempt on base filename
21         only.
22
23 Wed Dec 13 19:48:04 MET 2000  Jan hubicka  <jh@suse.cz>
24
25         * flow.c (notice_stack_pointer_modification_1): Notice midifications
26         using PRE_MODIFY and POST_MODIFY.
27
28 Wed Dec 13 17:25:32 MET 2000  Jan Hubicka  <jh@suse.cz>
29
30         * genoutput.c (process_template): Add sanity checking for '@' templates.
31
32 2000-12-13  Bernd Schmidt  <bernds@redhat.co.uk>
33
34         * simplify-rtx.c (cselib_finish): Free reg_values and used_regs
35         varrays.
36
37 2000-12-12  Mike Stump  <mrs@wrs.com>
38
39         * Makefile.in (distclean): Remove safe-ctype.c as well.
40
41 2000-12-12  Brad Lucier <lucier@math.purdue.edu>
42
43         * tradcpp.c (do_error): Cast difference of pointers to int
44         for error message.
45
46 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
47
48         * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here...
49         * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here.
50
51 2000-12-12  Jim Wilson  <wilson@redhat.com>
52
53         * rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
54
55 2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
56
57         * configure.in: Simplify language enabling/disabling code.
58         * configure: Rebuilt.
59         * ch/config-lang.in (target_libs): Set.
60         (build_by_default): Set to no.
61         * cp/config-lang.in (target_libs): Set.
62         * f/config-lang.in (target_libs): Set.
63         * java/config-lang.in (target_libs): Set.
64         * objc/config-lang.in (target_libs): Set.
65
66 2000-12-12  Neil Booth  <neil@daikokuya.demon.co.uk>
67
68         * tradcpp.c (enum node_type): Add T_ERROR.
69         (do_error): New function.
70         (directive_table): Add #error handler.
71
72 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
73
74         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
75         for powerpc*-*-*.
76         * configure: Regenerated.
77         * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
78         * config/rs6000/rs6000.c (rs6000_unique_section): Use
79         STRIP_NAME_ENCODING.
80
81 Mon Dec 11 13:51:09 2000  Jeffrey A Law  (law@cygnus.com)
82
83         * pa.c (cmpib_comparison_operator): Remove GEU and LTU.
84         * pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
85         changes.
86
87 2000-12-11  Bruce Korb  <bkorb@gnu.org>
88
89         * fixinc/fixincl.tpl: initialize all fields for warnings
90         * fixinc/fixincl.x: regenerate
91
92 2000-12-11  Neil Booth  <neilb@earthling.net>
93
94         * tradcpp.h: For tradcpp, NUL is not whitespace.
95
96 2000-12-11  Neil Booth  <neilb@earthling.net>
97
98         * fix-header.c (read_scan_file): Macro expansion is not a file buffer.
99
100 2000-12-05  Marek Michalkiewicz  <marekm@linux.org.pl>
101
102         * config/avr/avr.c (compare_condition, compare_sign_p): New functions.
103         (compare_diff_p, compare_eq_p): Call compare_condition.
104         (out_tsthi, out_tstsi): Call compare_sign_p.
105         (avr_progmem_p): Check for error_mark_node.
106
107 2000-12-11  Neil Booth  <neilb@earthling.net>
108
109         * cpperror.c (print_location): New function.
110         (print_containing_files): Simplify.
111         (_cpp_begin_message): Simplify and use print_location.
112         * cppfiles.c (stack_include_file): Update.
113         (_cpp_pop_file_buffer): Update.
114         * cpphash.h (struct cpp_buffer): New members
115         include_stack_listed and type.   
116         * cpplib.c (_cpp_handle_directive): Buffer->inc is not null.
117         (run_directive): Take buffer type.  cpp_push_buffer cannot fail.
118         (_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef,
119         handle_assertion): Update.
120         (cpp_push_buffer): Take a buffer type and file name.
121         (cpp_pop_buffer): Update.  Clear include_stack_listed.
122         * cpplib.h (input_stack_listing_current): Remove.
123         (enum cpp_buffer_type): New.
124         (cpp_push_buffer): New prototype.
125         * cppmacro.c (builtin_macro): Simplify; buffer cannot be null.
126         * fix-header.c (read_scan_file): Update.
127
128 2000-12-10  Robert Lipe <robertlipe@usa.net>
129
130         * install.texi (i*86-*-sco3.2v5*): Remove information duplicated
131         in html version.
132
133 2000-12-10  Richard Henderson  <rth@redhat.com>
134
135         * genrecog.c (find_operand): Handle 'V' format code.
136         (find_matching_operand): New.
137         (validate_pattern): Accept '=' for an in-out operand if there
138         is another operand with a matching constraint.
139
140         * config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
141         for op1 to op0.
142
143 2000-12-10  Richard Henderson  <rth@redhat.com>
144
145         * genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
146
147 2000-12-09  Richard Henderson  <rth@redhat.com>
148
149         * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and 
150         STRICT_LOW_PART as SET_DEST have in-out constraints.
151
152 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
153
154         * c-common.c (check_function_format): Don't suggest adding format
155         attributes to functions with no parameter to which to add them.
156
157 2000-12-09  Nick Clifton  <nickc@redhat.com>
158
159         * config/arm/arm.c (arm_expand_prologue): Mark the generated
160         insn not the set as being DWARF2_FRAME_RELATED_P.
161
162 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
163
164         * Makefile.in: use $(build_exeext) for all build
165         system executable targets.
166
167 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
168
169         * install.texi: remove i[345]86-*-winnt3.5 section.
170         * configur.bat: removed.
171         * config/msdos: directory removed.
172
173 2000-12-09  Neil Booth  <neilb@earthling.net>
174
175         * cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
176         * cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
177         * cpplex.c (parse_identifier): Improve diagnostic.
178         (_cpp_lex_token): Return unconditionally at the end of a directive.
179         * cpplib.c (read_flag): Verify legality of each flag.
180         (end_directive): Resotre pfile->skipping before skip_rest_of_line.
181         (do_line): Use the new read_flag.
182         * cppmacro.c (struct cpp_macro, parse_arg, replace_args,
183         check_macro_redefinition, parse_params): Rename var_args to
184         variadic.
185
186 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
187
188         * .cvsignore: Add info files.
189
190 2000-12-08 Laurynas Biveinis <lauras@softhome.net>
191
192         * config/winnt: Remove obsolete directory.
193         * install.texi (Configurations): Remove obsolete documentation for
194         Windows NT.
195
196 2000-12-08  Joseph S. Myers  <jsm28@cam.ac.uk>
197
198         * configure.in: Don't define INSTALL_INFO.
199         * configure: Regenerate.
200         * Makefile.in (INSTALL_INFO): Remove.
201         (info): Depend on info files in source directory.
202         (cpp.info, gcc.info, c-tree.info): Build info files in source
203         directory.
204         (distclean): Don't remove info files.
205         (maintainer-clean): Remove info files from source directory.
206         (install-normal): Depend on install-info.
207         (install-info): Install info files from source directory, if they
208         exist.
209         * texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
210
211 2000-12-08  Alexandre Oliva  <aoliva@redhat.com>
212
213         * lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
214         before taking its NOTE_LINE_NUMBER.
215
216 2000-12-08  Nick Clifton  <nickc@redhat.com>
217
218         * config/arm/arm.md (load_indirect_jump): Add pool ranges.
219
220         * extend.texi: Document ARM "interrupt" function attribute.
221         Mention that the ARM also support the "naked" function
222         attribute.
223
224         * config/arm/arm-protos.h (arm_current_func_type): Add
225         prototype.
226
227         * config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
228         (struct machine_function): Add 'func_type' field.
229         Define bit values for 'func_type' field.
230         (ARM_FUNC_TYPE): New macro.
231         (IS_INTERRUPT): New macro.
232         (IS_VOLATILE): New macro.
233         (IS_NAKED): New macro.
234         (IS_NESTED): New macro.
235         (ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
236
237         * config/arm/arm.c (isr_attribute_args): New Structure.  A
238         list of "interrupt" function attribute modifiers.
239         (arm_isr_value): New Function: Returns the type of the current
240         interrupt function.
241         (arm_compute_func_type): New Function: Computes the type of
242         the current function.
243         (arm_current_func_type): New Function: Returns the type of the
244         current function.
245         (use_return_insn): Use arm_current_func_type.
246         (arm_valid_type_attribute_p): Accept "interrupt" function
247         attribute.
248         (arm_comp_type_attributes): Check "interrupt" attributes.
249         (arm_valid_machine_decl): Accept "interrupt" function
250         attribute.
251         (arm_function_ok_for_sibcall): Do not allow interrupt
252         functions to use sibcalls.
253         (arm_naked_function_p): Delete.
254         (print_multi_reg): Remove redundant parameter 'hat'.
255         (arm_compute_save_reg_mask): New Function: Compute a bit mask
256         of registers saved during the current function's prologue.
257         (output_arm_return_instruction): Use arm_current_func_type.
258         Generate return instruction when LR is not poppsed off the
259         stack.
260         (arm_volatile_func): Delete.
261         (output_arm_prologue): Use arm_current_func_type and
262         arm_compute_save_reg_mask.
263         Note presernce of interrupt functions.
264         (arm_output_epilogue): Use arm_current_func_type and
265         arm_compute_save_reg_mask.
266         (arm_expand_prologue): Use arm_current_func_type and
267         arm_compute_save_reg_mask.
268         (arm_init_machine_status): Initialise func_type field, if
269         necessary.
270         (thumb_expand_prologue): Use arm_current_func_type.
271         (output_thumb_prologue): Use arm_current_func_type.
272
273 2000-12-08  Brad Lucier <lucier@math.purdue.edu>
274
275         * tradcpp.c (do_include): Make pointer differences 64-bit clean.
276
277 Fri Dec  8 08:23:29 2000  J"orn Rennecke <amylaar@redhat.com>
278
279         * fp-bit.c (_fpmul_parts): Use USItype variables as inputs
280         for multiplies.
281
282 2000-12-07  Mike Stump  <mrs@wrs.com>
283
284         * Makefile.in (distclean): Remove alloca.c hashtab.c.
285
286 2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
287
288         * Makefile.in (HOST_RTL): Add safe-ctype.o.
289         (safe-ctype.o): New rule.
290         * system.h: Include safe-ctype.h, not ctype.h.  No need to
291         wrap ctype macros.
292
293         * cpphash.h: Zap IStable and related macros.  Define is_* in
294         terms of safe-ctype.h macros.
295         * cppinit.c: Delete the IStable and all related code.
296
297         * tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
298         is_space arrays.  Delete initialize_char_syntax.  Change all
299         references to the above arrays to use macros instead.
300         * tradcpp.h: Define is_idchar, is_idstart, is_space, and
301         is_nvspace in terms of safe_ctype.h's macros.
302         * tradcif.y: is_idchar, is_idstart are macros not arrays.
303
304         * config/i370/i370.c, config/winnt/dirent.c,
305         config/winnt/fixinc-nt.c, config/winnt/ld.c:
306         Use uppercase ctype macros.  If we included ctype.h,
307         include safe-ctype.h instead.
308
309         * fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
310         ISLOWER(c) before calling TOUPPER(c).
311         * fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
312         * fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
313         wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
314
315 2000-12-07  DJ Delorie  <dj@redhat.com>
316
317         * c-decl.c (grokdeclarator): preserve previous alignments when
318         rebuilding array types.
319
320 2000-12-07  Neil Booth  <neilb@earthling.net>
321
322         * cppfiles.c (struct include_file): Move from cpphash.h.
323         (_cpp_never_reread): New function.
324         (open_file, read_include_file): Use it.
325         (stack_include_file): Set the buffer's sysp according to the
326         path in which the file was found.
327         (find_include_file): Don't set sysp.
328         (cpp_make_system_header, actual_directory): Update.
329         (_cpp_execute_include): Do #include_next lookup handling here,
330         not in cpplib.c.  Use _cpp_never_reread.
331         * cpphash.h (struct_include_file): Remove.
332         (struct cpp_buffer): New member sysp.
333         (CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
334         (_cpp_never_reread): New.
335         * cpplib.c (read_line_number): Rename read_flag.  Rework slightly.
336         (end_directive): Clear line_extension flag.
337         (_cpp_handle_directive): Set line_extension flag for #number.
338         (do_include_next): Handle path lookup in _cpp_execute_include.
339         (do_line): Cleanup to use read_flag.  Don't allow flags in #line.
340         (_cpp_do_file_change): Update.
341         (do_pragma_once): Use cpp_never_reread.  Clean up.
342         * cpplib.h (struct lexer_state): New member line_extension.
343
344 2000-12-07  Richard Henderson  <rth@redhat.com>
345
346         * flow.c (calculate_global_regs_live): Force the stack pointer live
347         after reload as well.
348
349 2000-12-07  Bruce Korb  <bkorb@gnu.org>
350
351         * fixinc/Makefile.*(exeext): the variables are exeext, the
352         substitution expression is build_exeext.
353
354 2000-12-07  Neil Booth  <neilb@earthling.net>
355
356         * c-common.c (parse_in): Make a cpp_reader *.
357         * cppfiles.c (_cpp_fake_include): Remove.
358         * cpphash.h: Similarly.
359         * cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
360         #line always creates a callback; FC_RENAME if there are no
361         #line flags.
362         * fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
363         The first EOF must be our get_char buffer.
364
365 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
366
367         * c-common.c (warn_format_security): New variable.
368         (check_format_info): Warn about non-literal formats with no format
369         arguments if either -Wformat-nonliteral or -Wformat-security is
370         specified.
371         (set_Wformat): Set warn_format_security for settings other than 1.
372         * c-common.h (warn_format_security): Declare.
373         * c-decl.c (c_decode_option): Decode -Wformat-security and
374         -Wno-format-security.
375         * invoke.texi: Document -Wformat-security.
376         * toplev.c (documented_lang_options): Include -Wformat-security
377         and -Wno-format-security.
378
379 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
380
381         * c-common.c (check_format_info): Warn for non-constant format
382         strings with strftime formats if -Wformat-nonliteral.  Where the
383         format can convert arguments, if the format is not a string
384         literal and there are no arguments to the format, give a different
385         warning message from the general non-string-literal case.
386
387 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
388
389         * c-common.c (format_wanted_type): Add reading_from_flag.
390         (print_char_table): Mark %s and %S formats with flag "R".
391         (check_format_info_main): Set up reading_from_flag appropriately.
392         If aflag, always set writing_in_flag rather than relying on the
393         format used being a scanf format and so having it set.
394         (check_format_types): Check for formats reading through null
395         pointers.
396
397 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
398
399         * invoke.texi (-Wformat): Document what format features are
400         checked.
401
402 2000-12-06  Kazu Hirata  <kazu@hxi.com>
403
404         * config/h8300/h8300.h: Fix formatting.
405
406 2000-12-06      Joel Sherrill <joel@OARcorp.com>
407
408         * config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
409         h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
410         * config.gcc (*-rtems*): Add support for gthr-rtems.h.
411         * gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
412         config/h8300/rtems.h, config/mips/rtems.h: New files.
413
414 2000-12-06  Mark Kettenis  <kettenis@gnu.org>
415
416         * config.gcc: Reorganize handling of *-*-gnu*, to share target
417         specific make details with Linux.  Update comments to clarify
418         the distinction between GNU/Linux and GNU/Hurd.
419
420 Wed Dec  6 19:22:02 2000  Jeffrey A Law  (law@cygnus.com)
421
422         * contrib.texi: Fix my email address.  Update Per's
423         list of contributions.
424
425 2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
426
427         * c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.
428         * collect2.c (scan_libraries): Remove unused `ch'.
429         (COFF specific stuff): Prototype ldgetname.  Declare and prototype
430         ldbtread and ldclose.
431
432         * config/alpha/osf.h: Standarize copyright statement.
433         * config/arc/arc.h: Likewise.
434         * config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise.
435         * config/arm/arm.c config/arm/arm.h: Likewise.
436         * config/elxsi/elxsi.h: Likewise.
437         * config/i386/sco.h: Likewise.
438         * config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise.
439         * config/m68k/m68kv4.h config/m68k/next21.h: Likewise.
440         * config/m68k/sun3.h: Likewise.
441         * config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise.
442         * config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise.
443         * config/romp/romp.h: Likewise.
444         * config/rs6000/aix41.h: Likewise.
445         * config/sparc/sysv4.h: Likewise.
446         * config/we32k/we32k.c config/we32k/we32k.h: Likewise.
447         * fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise.
448         * cpplib.h cppexp.c cselib.h profile.c: Likewise.
449         * longlong.h: Likewise.
450         * libgcc2.c: Likewise.
451
452 2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
453
454         * machmode.def: Use correct definition for BITSIZE on targets where
455         BITS_PER_UNIT != 8.
456
457 2000-12-06  Bruce Korb  <bkorb@gnu.org>
458
459         * fixinc/Makefile.*: Reduce differences to (ultimately) reduce
460         the number of them.
461
462 2000-12-06  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
463
464         * pa.c: Include expr.h before c-tree.h.
465         (remove_useless_addtr_insns): Use reverse_condition_maybe_unordered
466         instead of reverse_condition.
467         (print_operand): Correct predicates for GT, GE, LT and LE.  Add
468         predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and
469         ORDERED.
470         (cmpib_comparison_operator): Add GEU and LTU codes.
471         * pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator.
472         * pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered,
473         bordered): New float conditional branch patterns.
474
475 Wed Dec  6 21:03:41 2000  J"orn Rennecke <amylaar@redhat.com>
476
477         * final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
478
479 2000-12-06  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
480
481         * cpplex.c (skip_escaped_newlines): Don't warn for spaces between
482         backslash and newline, when inside a comment.
483
484 2000-12-06  Joseph S. Myers  <jsm28@cam.ac.uk>
485
486         * invoke.texi: Use @table @samp instead of @itemize @minus for
487         table of language standards.  Fix use of @pxref.  From Zack
488         Weinberg.  Also exclude specs documentation from generated
489         manpage, and create separate ENVIRONMENT section.
490
491 2000-12-06  Michael Matz  <matzmich@cs.tu-berlin.de>
492
493         * gcse.c (compute_pre_data): Kill trapping expressions in
494         destination blocks of abnormal edges.
495
496 2000-12-05  Richard Sandiford  <r.sandiford@redhat.com>
497
498         * config/mn10300/mn10300.c (mn10300_print_reg_list): Added.
499         (mn10300_get_live_callee_saved_regs): Likewise.
500         (mn10300_gen_multiple_store): Likewise.
501         (store_multiple_operation): Likewise.
502         (expand_prologue): Use mn10300_gen_multiple_store().
503         * config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added.
504         (mn10300_get_live_callee_saved_regs): Likewise.
505         (mn10300_gen_multiple_store): Likewise.
506         (store_multiple_operation): Likewise.
507         * config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL
508         tied to store_multiple_operation().
509
510 Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
511
512         * builtins.c (expand_builtin_setjmp_setup): Set
513         current_function_has_nonlocal_label.
514
515 2000-12-05  Neil Booth  <neilb@earthling.net>
516
517         * cppfiles.c (stack_include_file): Push zero-length buffers
518         in case of failure.  Return void, as we don't fail any more.
519         (read_include_file): Check for files we shouldn't re-read.
520         Don't return an error code; errors are implied by marking the
521         file NEVER_REREAD.
522         (_cpp_execute_include): Move the recursion and in-macro checks
523         here.  Update for stack_include_file not failing.
524         * cpplib.c (cpp_push_buffer): Always succeed, since
525         _cpp_execute_include performs the recursion check.  Tidy up.
526         * cpplib.h (cpp_push_buffer): Update prototype.
527
528 2000-12-05  Alexandre Oliva  <aoliva@redhat.com>
529
530         * sched-vis.c (visual_tbl_line_length): New variable.
531         (get_visual_tbl_length): Set it.
532         (visualize_stall_cycles): Don't let stalls overrun
533         visual_tbl_line_length.
534
535 2000-12-05  Geoffrey Keating  <geoffk@redhat.com>
536
537         * global.c (global_conflicts): Allow for a REG_UNUSED note
538         with a different mode to the REG set in the insn.
539
540 2000-12-05  Kaveh R. Ghazi  <ghazi@teal.rutgers.edu>
541
542         * Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
543
544         * fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
545
546 2000-12-05  Bruce Korb  <bkorb@gnu.org>
547
548         * fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
549         GNU/Linux.
550
551 2000-12-05  Richard Earnshaw  <rearnsha@arm.com>
552
553         * fixinc/mkfixinc.sh: Run fixinc on netbsd.
554         * fixinc/inclhack.def (machine/ansi.h): Run this rule on all files,
555         to cope with aliased copies.
556         * fixinc/fixincl.x: Regenerate.
557
558 2000-12-05  Bernd Schmidt  <bernds@redhat.co.uk>
559
560         * sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
561         * sched-rgn.c: Likewise.
562         (rgn_print_insn): Fix output.
563
564 2000-12-05  Bruce Korb  <bkorb@gnu.org>
565
566         * fixinc/Makefile.*: make these more consistent
567         * fixinc/mkfixincl.sh: enable BeOS fixincludes
568
569 2000-12-05  Richard Henderson  <rth@redhat.com>
570
571         * stmt.c (warn_if_unused_value): Move side effects test earlier.
572
573 2000-12-05  Alan Modra <alan@linuxcare.com.au>
574
575         * bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
576         when using sjlj.
577
578 2000-12-05  Richard Henderson  <rth@redhat.com>
579
580         * flow.c (calculate_global_regs_live): Only force stack pointer
581         live before reload.  Force pic register live before reload.
582         (insn_dead_p): Don't protect pic references from deletion.
583
584 2000-12-05  Joseph S. Myers  <jsm28@cam.ac.uk>
585
586         * invoke.texi: Add support for using texi2pod.pl.  Don't use
587         @multitable.
588
589 2000-12-04  Nick Clifton  <nickc@redhat.com>
590
591         * config/arm/arm.c (arm_override_options): Test 'insn_flags' not
592         'tune_flags' for XScale nature.
593         Remove spurious test of HARD_FLOAT and XScale flags.
594
595         * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
596         contraint, accidentally changed during XScale contribution.
597
598         * config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
599         not create these functions if the target architecture does not
600         support Thumb instructions.
601
602 2000-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
603
604         * ONEWS: New file with the current contents of NEWS up to EGCS
605         1.1.
606         * NEWS: Generate automatically from online release notes from EGCS
607         1.0 to GCC 2.95.2, using ../contrib/gennews.
608
609 2000-12-04  Neil Booth  <neilb@earthling.net>
610
611         * tradcif.y: Move lexptr to top of file.  Add rule to handle
612         assertions in conditional expressions.
613         * tradcpp.c (parse_answer): Assertions do not need to go to
614         end of line in conditional directives.
615         (parse_assertion): Get first character of identifiers correct.
616         (test_assertion): New function.
617         * tradcpp.h (test_assertion): New prototype.
618
619 2000-12-01  Rodney Brown  <RodneyBrown@mynd.com>
620
621         * config.gcc: Fix typo for UnixWare 7.
622
623 2000-12-03  Phil Edwards  <pme@sources.redhat.com>
624
625         * invoke.texi:  Replace `pedwarns' with clearer text.
626
627 2000-12-04  Bruce Korb  <bkorb@gnu.org>
628
629         * fixinc/Makefile.*(clean):  don't clean autogenerated files.
630         (mainainer-clean): clean autogenerated files
631
632 2000-12-04  DJ Delorie  <dj@redhat.com>
633
634         * md.texi: Add overview, clarify match_dup and define_expand.
635
636 2000-12-04  DJ Delorie  <dj@redhat.com>
637
638         * print-tree.c (print_node): Target-specific builtins print
639         numbers, not names.
640
641 2000-12-04  Jason Merrill  <jason@redhat.com>
642
643         * stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
644         MODE_VECTOR_FLOAT.
645
646         * diagnostic.c (report_problematic_module): s/function/module/.
647
648         * c-lex.h: Remove decl for check_newline.
649
650 2000-12-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
651
652         * README.APOLLO: Remove obsolete file.
653
654 2000-12-04  Neil Booth  <neilb@earthling.net>
655
656         * cppinternals.texi: New file.
657
658 2000-12-04  Neil Booth  <neilb@earthling.net>
659
660         * cppfiles.c (cpp_make_system_header): Take 2 booleans,
661         and operate on current buffer.
662         (cpp_read_file): Rename _cpp_read_file.
663         * cpplib.c (do_line, do_pragma_system_header): Update calls to
664         cpp_make_system_header.
665         * fix-header.c: Similarly.
666         * cpphash.h (_cpp_read_file): Move from...
667         * cpplib.h: ... here.
668         * cppinit.c (do_includes, cpp_start_read): Update appropriately.
669
670 2000-12-03  Kaveh R. Ghazi  <ghazi@teal.rutgers.edu>
671
672         * builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
673         Handle another transformation.
674
675 2000-12-03  Nick Clifton  <nickc@redhat.com>
676
677         * config.gcc: Add support for StrongARM targets.
678         * config/arm/t-strongarm-elf: New file.
679         * config/arm/t-strongarm-coff: New file.
680         * config/arm/t-strongarm-pe: New file.
681         * config/arm/strongarm-pe.h: New file.
682
683 2000-12-03  Nick Clifton  <nickc@redhat.com>
684
685         * NEWS: Mention XScale has been added.
686         * config.gcc: Add support for XScale targets.
687         * config/arm/arm.h: Add support for XScale processor.
688         * config/arm/arm.c: Add support for XScale processor.
689         * config/arm/arm.md: Add support for XScale processor.
690         * config/arm/t-xscale-elf: New file.
691         * config/arm/t-xscale-coff: New file.
692         * config/arm/xscale-elf.h: New file.
693         * config/arm/xscale-coff.h: New file.
694
695 2000-12-03  Richard Henderson  <rth@redhat.com>
696
697         * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
698         unless exception handling is enabled, and if not using sjlj.
699
700         * builtins.c (expand_builtin_setjmp_setup): New.
701         (expand_builtin_setjmp_receiver): New.
702         (expand_builtin_setjmp): Split out _setup and _receiver functions.
703         Move argument parsing in from ...
704         (expand_builtin): ... here.
705         * except.c (receive_exception_label): Branch around receiver
706         unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
707         (start_dynamic_handler): Call expand_builtin_setjmp_setup.
708         * expr.h: Update builtin setjmp decls.
709
710 2000-12-03  Bruce Korb  <bkorb@gcc.org>
711
712         * fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
713         build machine name.  Default to the target.
714
715 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
716
717         * Makefile.in: use $(build_canonical), not $(canonical_build).
718
719 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
720
721         * Makefile.in (OBJS): Add sched-rgn.o.
722         (sched-rgn.o): New rule.  * haifa-sched.c (sched_verbose): No
723         longer static.
724         (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
725         INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
726         UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
727         MAX_BLOCKAGE_COST): Move to sched-int.h.
728         (MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
729         IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
730         FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
731         OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
732         rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
733         RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
734         debug_regions, find_single_block_region, find_rgns, too_large,
735         init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
736         bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
737         extract_bitlst, bblst, struct candidate, candidate_table,
738         bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
739         SRC_PROB, target_bb, split_edges, compute_trg_info,
740         debug_candidate, debug_candidates, bbset, bbset_size, dom,
741         IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
742         rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
743         EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
744         compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
745         IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
746         MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
747         update_live, set_spec_fed, is_pfree, find_conditional_protection,
748         is_conditionally_protected, may_trap_exp, haifa_classify_insn,
749         is_prisky, is_exception_free, add_branch_dependences,
750         propagate_deps, compute_block_backward_dependences,
751         debug_dependencies, is_cfg_nonregular, build_control_flow,
752         new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
753         BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
754         UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
755         CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
756         target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
757         can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
758         rgn_rank, region_sched_info): Move to sched-rgn.c.
759         (debug_reg_vector): Delete useless function.
760         (get_bb_head_tail): Likewise.
761         (insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
762         no_real_insns_p, rm_line_notes, save_line_notes,
763         restore_line_notes, rm_redundant_line_notes, sched_init): No
764         longer static.
765         (rm_line_notes, save_line_notes, restore_line_notes,
766         schedule_block, set_priorities): Change argument to be a real
767         basic block, not one of haifa's "bb"s.  All callers changed
768         (rm_other_notes): Initialize note_list here, not in
769         schedule_region.
770         (sched_finish): New function, called from schedule_insn.  * *
771         sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
772         INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
773         UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
774         MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
775         (get_block_head_tail, no_real_insns_p, rm_line_notes,
776         save_line_notes, restore_line_notes, rm_redundant_line_notes,
777         rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
778         sched_init, sched_finish, ready_add, insn_cost): Declare.
779
780 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
781             Bruce Korb  <bkorb@gnu.org>
782
783         * Makefile.in: pass $(build_canonical) to mkfixinc.sh.
784         * fixinc/mkfixinc.sh: accept build system name as an argument.
785         Use it for choosing the fix build method.  Use the target for
786         selecting special fix rules.
787
788 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
789
790         * Makefile.in (OBJS): Add sched-deps.o.
791         (sched-deps.o): New rule.
792         * haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
793         sched-int.h.
794         (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
795         sched-int.h.
796         (SIZE_FOR_MODE): Delete unused macro.
797         (reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
798         reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
799         anti_dependency_cache, output_dependency_cache,
800         forward_dependency_cache): Variables moved to sched-deps.c.
801         (add_dependence, remove_dependence, find_insn_list,
802         find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
803         sched_analyze_insn, sched_analyze_1, sched_analyze_2,
804         sched_analyze, group_leader, compute_forward_dependences,
805         init_deps, free_deps, init_dependency_caches, free_dependency_caches):
806         Functions moved to sched-deps.c.
807         (schedule_region): Call init_deps_global and finish_deps_global
808         instead of directly manipulating dependency data structures.
809         * sched-deps.c: New file.
810         (init_deps_global, finish_deps_global): New functions.
811         * sched-int.h (struct haifa_insn_data, struct deps): Moved here from
812         haifa-sched.c.
813         (h_i_d): Declare.
814         (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
815         from haifa-sched.c.
816
817         * Makefile.in (OBJS): Add sched-vis.o.
818         (sched-vis.o): New rule.
819         * haifa-sched.c (get_unit_last_insn): New function.
820         (sched_dump, insn_unit, actual_hazard_this_instance): No longer
821         static.
822         (schedule_block): Call visualize_alloc and visualize_free.  Delete
823         spurious return statement.
824         (init_target_units, insn_print_units, get_visual_tbl_length,
825         init_block_visualization, print_block_visualization, safe_concat,
826         visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
827         print_exp, print_value, print_pattern, print_insn, target_units,
828         MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
829         n_vis_no_unit, vis_no_unit): Move scheduling visualization
830         functions/variables...
831         * sched-vis.c: ...here.  New file.
832         (visualize_alloc, visualize_free): New functions.
833         (visualize_scheduled_insns, visualize_stall_cycles,
834         print_block_visualization): Lose basic block argument.  All callers
835         changed.
836         (visualize_scheduled_insns): Use new function get_unit_last_insn.
837         * sched-int.h (current_sched_info, sched_dump): Declare.
838         (init_target_units, insn_print_units, init_block_visualization,
839         print_block_visualization, visualize_scheduled_inns,
840         visualize_no_unit, visualize_stall_cycles, visualize_alloc,
841         visualize_free): Declare functions.
842
843         * sched-int.h: New file.
844         * Makefile.in (haifa-sched.o): Depend on it.
845         * haifa-sched.c: Include it.
846         (no_real_insns_p): New function.
847         (current_sched_info): New static variable.
848         (__inline, HAIFA_INLINE): Moved to sched-int.h.
849         (get_block_head_tail): Minor cleanup.
850         (init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
851         rgn_print_insn, rgn_rank): New functions, broken out of
852         rank_for_schedule, schedule_insn and schedule_block, where they
853         are now called through function pointers in current_sched_info.
854         (queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
855         print_insn): To display uid and block number, call the print_insn
856         function pointer in current_schedule_info.
857         (region_sched_info): New static variable.
858         (sched_target_n_insns, sched_n_insns, target_n_insns): New global
859         variables, moved out of schedule_block.
860         (schedule_block): Return void.  All callers changed.
861         Move some of the setup code into schedule_region.  Get head/tail
862         from current_sched_info, and update it when done.
863         (schedule_region): Slightly rearranged, some code moved here from
864         schedule_block.  Call no_real_insns_p to avoid doing work for a
865         block that consists only of notes and labels.
866         (schedule_insns): Initialize current_sched_info.
867
868 2000-12-03  Neil Booth  <neilb@earthling.net>
869
870         * cppmacro.c (funlike_invocation_p): Re-disable macros enabled
871         by contexts drops AFTER argument pre-expansion, so that they
872         remain enabled during argument pre-expansion.
873         (_cpp_pop_context): Unconditionally re-enable a macro when
874         dropping a context level.
875
876 2000-12-03  Manfred Hollstein  <manfredh@redhat.com>
877
878         * arm/t-linux (MULTILIB_OPTIONS): Comment.
879         (MULTILIB_DIRNAMES): Likewise.
880         (EXTRA_MULTILIB_PARTS): Likewise.
881         (LIBGCC): Likewise.
882         (INSTALL_LIBGCC): Likewise.
883
884 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
885
886         * builtins.c (expand_builtin_strcat, expand_builtin_strncat,
887         expand_builtin_strspn, expand_builtin_strcspn): New functions.
888         (expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
889         BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
890
891         * builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
892         BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
893
894         * c-common.c (c_common_nodes_and_builtins): Declare builtin
895         strcat, strncat, strspn and strcspn.
896         (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
897
898         * extend.texi (strcat, strcspn, strncat, strspn): Document new
899         builtins.
900
901 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
902
903         * builtins.c (expand_builtin_strcmp): Use const*_rtx when
904         expanding strcmp at compile-time.  Add another transformation.
905         (expand_builtin_strncmp): Add more transformations.  Call
906         expand_builtin_memcmp, not expand_builtin_strcmp, under
907         appropriate conditions if HAVE_cmpstrsi.
908
909 2000-12-02  David Edelsohn  <edelsohn@gnu.org>
910
911         * rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
912         instruction.
913         (cr logic): Really make operands sequential.
914
915 2000-12-02  Geoffrey Keating  <geoffk@redhat.com>
916
917         * c-common.c (combine_strings): When the ISO C standard specifies
918         the maximum length of a string, it doesn't include the trailing
919         zero byte.
920
921         * cpplib.c (do_ifdef): Add check_eol() call.
922         (do_ifndef): Likewise.
923
924 2000-12-02  Daniel Berlin  <dberlin@redhat.com>
925             Bruce Korb  <bkorb@gnu.org>
926
927         * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
928         * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
929         * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
930         * fixinc/fixfix.c(wrap_fix): avoid wrapping files that
931         use the "__need_" hackery.  It breaks them.
932         * fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
933         Sometimes on DOS and BeOS the temp output file cannot be opened.
934         Skip the file noisily.  Ought to be fixed instead.
935
936 2000-12-02  Bruce Korb  <bkorb@gnu.org>
937
938         From: 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
939
940         * fixfixes.c (emit_gnu_type, format_write): Prototype.
941         (format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
942         custom uppercase ctype macros.
943         * fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
944         Use gcc's custom uppercase ctype macros.
945         (main): Prototype.
946         (machine_matches): Add static prototype and constify variable.
947         (create_file, test_test, egrep_test): Add static prototype.
948         (quoted_file_exists): Likewise, and constify parameters.
949         (extract_quoted_files, internal_fix, start_fixer, fix_applies,
950         write_replacement, test_for_changes): Add static prototype.
951         (write_replacement, test_for_changes): Delete excess argument to
952         `create_file'.
953         * fixtests.c (test): Make static.
954         * server.c (load_data, sig_handler, server_setup, find_shell): Add
955         static prototype.
956         (sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
957
958 2000-12-02  Bruce Korb  <bkorb@gnu.org>
959
960         * fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
961         (per Laurynas Biveinis  <lauras@softhome.net>)
962
963 2000-12-02  Richard Earnshaw  <rearnsha@arm.com>
964
965         * arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
966         macros.
967         (REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
968         (REGNO_OK_FOR_FOR_BASE_P): Delete.
969         (ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
970         both strict and non-strict uses.
971         (REG_MODE_OK_FOR_BASE_P): Define in terms of above.
972         (ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
973         (REG_OK_FOR_INDEX_P): Define in terms of above.
974         (REG_OK_FOR_BASE_P): Delete.
975         (REG_OK_FOR_PRE_POST_P): Delete.
976         (ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
977         (ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
978         (ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
979         (THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
980         (ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes.  Use ARM
981         specific variants rather than general ones.  Use ARM_REG_OK_FOR_BASE_P
982         in pre/post increment cases.
983         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
984         (ARM_LEGITIMIZE_ADDRESS): Similarly.
985         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
986         * arm.c (legitimate_pic_address): Similarly.
987
988 2000-12-02  Neil Booth  <neilb@earthling.net>
989
990         * tradcpp.c (struct answer, parse_assertion, parse_answer,
991         canonicalize_text, find_answer): New.
992         (do_assert, do_unassert): Provide appropriate function bodies.
993         (union hashval): New member answers.
994
995 2000-11-23  Marek Michalkiewicz  <marekm@linux.org.pl>
996
997         * config/avr/avr.md: Document UNSPEC usage.
998         (*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
999         Make operand 0 input only, clobber it.  Use UNSPEC, not a bogus
1000         MEM for program memory word reference.  Do not add the label to
1001         the table index in each of the asm output templates, instead ...
1002         (casesi): ... do it in RTL.  Adjust to match the above change.
1003
1004 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
1005
1006         * c-common.c (PTRDIFF_TYPE): Provide default here, ...
1007         * c-decl.c: ... not here.
1008
1009         * haifa-sched.c (sched_dump): Renamed from dump.  All users changed.
1010         (old_max_uid): New variable.
1011         (compute_forward_dependences): Renamed from
1012         compute_block_forward_dependences; changed to accept block head and
1013         tail instead of block number.  Caller changed.
1014         (free_deps, init_dependency_caches, free_dependency_caches,
1015         init_regions, sched_init): New functions, split out from
1016         schedule_insns and compute_block_backward_dependences.
1017
1018 2000-12-02  Neil Booth  <neilb@earthling.net>
1019
1020         * cppexp.c (parse_number): Update diagnostic test.
1021
1022 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
1023
1024         * reload1.c (free_for_value_p): New function, frontend to
1025         reload_reg_free_for_value_p.  All callers of the latter now call
1026         this function with an additional mode argument.
1027
1028 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1029
1030         * install.texi (Configurations): Remove obsolete documentation for
1031         hppa*-*-*.
1032
1033 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1034
1035         * install.texi (Installation): Remove obsolete description for
1036         libstdc++ which is now an integral part of GCC.
1037
1038 2000-12-01  Jim Blandy  <jimb@redhat.com>
1039
1040         * dbxout.c (dbxout_parms): Correctly describe parameters passed by
1041         invisible reference in registers, but then spilled to the stack.
1042         Remove code to emit a second stab for such parameters; it attempts
1043         to describe the value's location by introducing a synthetic C++
1044         `reference' type, and then saying the stack slot has that
1045         reference type.  This loses type information (breaking GDB's
1046         `ptype' command, among other things) just to describe a location
1047         which stabs can represent correctly in other ways.
1048
1049 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
1050
1051         * final.c (output_addr_const) <PLUS>: Don't assume at least one
1052         operand is a CONST_INT.
1053
1054         * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
1055         (machine_dependent_reorg): Split all insns.
1056         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
1057         reg_class_contents[SIBCALL_REGS].
1058         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
1059         * config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
1060         call_value_pcrel, call, call_value, sibcall): Match even when
1061         not optimizing.
1062         (sibcalli_pcrel, sibcall_pcrel): Likewise.  Use constraint `k'
1063         for call address.
1064         (sibcalli): Likewise.
1065
1066 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1067
1068         * c-common.c (warn_format, warn_format_y2k,
1069         warn_format_extra_args, warn_format_nonliteral): Define.
1070         (check_format_info): Check warn_format_nonliteral and
1071         warn_format_extra_args.
1072         (check_format_info_main): Check warn_format_y2k.
1073         (set_Wformat): New function.
1074         * c-common.h (warn_format_y2k, warn_format_extra_args,
1075         warn_format_nonliteral, set_Wformat): Declare.
1076         * c-decl.c (warn_format): Remove definition.
1077         (c_decode_option): Handle -Wformat-nonliteral,
1078         -Wno-format-extra-args and -Wno-format-y2k, and negated versions.
1079         Use set_Wformat.
1080         * invoke.texi: Document these new options and -Wformat=2.
1081         * toplev.c (documented_lang_options): Add these new options.
1082
1083 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1084
1085         * builtins.def (BUILT_IN_IMAXABS): Add.
1086         * builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
1087         * c-common.c (c_common_nodes_and_builtins): Create builtin
1088         functions __builtin_imaxabs, and plain imaxabs unless
1089         flag_no_nonansi_builtin outside C99 mode.
1090         (expand_tree_builtin): Handle BUILT_IN_IMAXABS.
1091         * extend.texi: Document builtin imaxabs.
1092
1093 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1094
1095         * c-common.c: Include "defaults.h".
1096         (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
1097         (c_common_nodes_and_builtins): Create string_type_node,
1098         const_string_type_node, wint_type_node, intmax_type_node,
1099         uintmax_type_node, default_function_type, ptrdiff_type_node and
1100         unsigned_ptrdiff_type_node.
1101         * c-common.h (identifier_global_value): Declare.
1102         * c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
1103         (init_decl_processing): Don't create string_type_node,
1104         const_string_type_node, wint_type_node, intmax_type_node,
1105         uintmax_type_node, default_function_type, ptrdiff_type_node and
1106         unsigned_ptrdiff_type_node.
1107         (identifier_global_value): New function.
1108
1109 2000-12-01  Neil Booth  <neilb@earthling.net>
1110
1111         * cppinit.c (initialize): Forgotten prototype.
1112         * cpplex.c (_cpp_lex_token): Loop until not skipping.
1113         Always clear PREV_WHITE upon meeting a new line.
1114         * cpplib.c (end_directive): Set pfile->skipping after
1115         skip_rest_of_line.
1116         * cpplib.h (cpp_reader): Remove macro_pos.
1117         * cppmacro.c (cpp_get_line): Don't do anything special inside
1118         macros.
1119         (parse_arg): Add PREV_WHITE if a token appears after new lines.
1120         (funlike_invocation_p): Save and restore the output position
1121         over a successful check for a '('.
1122         (enter_macro_context): Delete uses of macro_pos.
1123         (cpp_get_token): Don't use pfile->skipping.
1124
1125 2000-12-01  Phil Edwards  <pme@sources.redhat.com>
1126
1127         * diagnostic.c:  Fix typos in comments.
1128         * diagnostic.h:  Likewise.
1129
1130 2000-11-30  Phil Edwards  <pme@sources.redhat.com>
1131
1132         * rtl.texi (Machine Modes):  Document BImode and OImode.
1133
1134 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1135
1136         * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
1137         .FPP.
1138
1139 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
1140
1141         * c-decl.c (grokdeclarator): If pedantic, warn about arrays with
1142         incomplete element type.
1143         (grokparms): Before checking for incomplete parameter type, check
1144         the type isn't error_mark_node.
1145
1146 2000-12-01  Jakub Jelinek  <jakub@redhat.com>
1147
1148         * builtins.c (target_char_cast): New function.
1149         (expand_builtin_strchr): Use it.
1150         (expand_builtin_strrchr): Use it.
1151         (builtin_memset_read_str): New function.
1152         (expand_builtin_memset): Use target_char_cast.
1153         Try to optimize memset with second argument non-zero using
1154         store_by_pieces.
1155
1156 2000-11-30  Marek Michalkiewicz  <marekm@linux.org.pl>
1157
1158         * install.texi (avr): Replace incomplete list of supported MCU
1159         types with a link to the current one ...
1160         * invoke.texi (AVR Options): ... here.  Update -mmcu= to list
1161         all supported MCU types.  Document -minit-stack= default.
1162         Document new options -mno-tablejump, -mtiny-stack.
1163         * md.texi (AVR family):  Fix typo in 'w' constraint letter
1164         description.  Document 'q'.  Update 'O'.
1165
1166 2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
1167
1168         * combine.c (cant_combine_insn_p): Only disallow insns involving
1169         hard regs if they are reg-reg moves.
1170         (try_combine, can_combine_p, combinable_i3pat): Delete old
1171         SMALL_REGISTER_CLASSES tests.
1172
1173 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
1174
1175         * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
1176         whether X is a CONST_INT.
1177         (addsubcosts): Likewise.
1178
1179         * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
1180         mis-used XINT.
1181         (ARG_POINTER_REGNUM): Set to AP_REG.
1182
1183 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
1184
1185         * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
1186         splits): Only match on TARGET_SH4.
1187
1188         * combine.c (try_combine): Disregard USEs when updating LOG_LINKS
1189         of subsequent insns.
1190
1191 2000-11-30  Richard Henderson  <rth@redhat.com>
1192
1193         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
1194         * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
1195
1196 2000-11-30  Richard Henderson  <rth@redhat.com>
1197
1198         * config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
1199         (DO_SELECT_SECTION): New.
1200         (SELECT_SECTION): Use it.
1201         (UNIQUE_SECTION_P): New.
1202         (UNIQUE_SECTION): New.
1203
1204 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
1205
1206         * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
1207         from va_list before using it.
1208
1209 2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
1210
1211         * flow.c (make_edge): Early out, if no flags to set.
1212         (calculate_global_regs_live): Clear out garbage only when necessary.
1213
1214         * simplify-rtx.c (varray_type used_regs): New.
1215         (clear_table): Use it to only clear necessary items.
1216         (cselib_lookup, cselib_record_set): Remember newly set items.
1217         (cselib_update_varray_sizes, cselib_init): Initialize and grow
1218         used_regs.
1219
1220         * local-alloc.c (update_equiv_regs): New local `cleared_regs'.
1221         Move clearing of dead regs out of insn-loop.
1222
1223 2000-11-30  Richard Henderson  <rth@redhat.com>
1224
1225         * calls.c (expand_call): Emit queued insns before creating
1226         the tail recursion sequence.
1227
1228 2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
1229             Bruce Korb  <bkorb@gnu.org>
1230
1231         * fixinc/inclhack.def(): prevent dual double definition protection
1232         * fixinc/fixincl.x: regenerate
1233
1234 2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
1235
1236         * fixinc/Makefile.in (fixincl.x): Explicitly state the
1237         location of the generated file.
1238
1239 2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1240
1241         * README.FRESCO: Remove obsolete file.
1242
1243 2000-11-30  Mark Kettenis  <kettenis@gnu.org>
1244
1245         * config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
1246         TARGET_LIBGCC2_CFLAGS): Remove.  We now use the settings from
1247         config/t-linux for the Hurd.
1248
1249 2000-11-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1250
1251         * config/mn10200/udivmod.c, config/mn10200/divmod.c,
1252         config/mn10200/udivmodsi4.c: Moved from here.
1253         * config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
1254         * config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
1255         C division functions.
1256         * config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
1257
1258 Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
1259
1260         * pa.md (conditional moves): Avoid holes in operand list.
1261         (mod, umod patterns): Similarly.
1262         (variable extract/shift patterns): Similarly.
1263
1264 2000-11-30  Neil Booth  <neilb@earthling.net>
1265
1266         * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
1267         maybe_objc_check_decl, build_objc_string_object,
1268         objc_declare_alias, objc_declare_class, build_message_expr,
1269         build_protocol_expr, build_selector_expr, build_encode_expr,
1270         get_class_ivars, start_class, start_protocol): Remove
1271         redundant code, assuming doing_objc_thang is true.
1272
1273 2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1274
1275         * pa.c (restore_unscaled_index_insn_codes): Delete procedure.
1276         (record_unscaled_index_insn_codes): Likewise.
1277         (unscaled_index_insn_codes): Delete.
1278         (max_unscaled_index_insn_codes_uid): Delete.
1279         (output_function_prologue, output_function_epilogue, pa_reorg):
1280         Don't use the unscaled index insn hack.
1281
1282         * pa.md: Remove hack from all index insns to reverse the operand
1283         order of frame and stack pointer references incorrectly created
1284         in the reload pass.
1285
1286         * function.h (emit_status): Delete member regno_pointer_flag and
1287         rename regno_pointer_flag_length to regno_pointer_align_length.
1288         Delete define for REGNO_POINTER_FLAG.
1289         * integrate.h (inline_remap): Delete member regno_pointer_flag.
1290         Add member x_regno_reg_rtx.
1291         * rtl.h (rtx_def): Use frame_related bit to indicate register is
1292         a pointer in REG expressions.  Define REG_POINTER macro.
1293         * alias.c (find_base_value, find_base_term): Use REG_POINTER
1294         instead of REGNO_POINTER_FLAG.
1295         * combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
1296         * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
1297         of regno_pointer_flag_length.  Remove code which refers to
1298         regno_pointer_flag.
1299         (mark_reg_pointer): Use REG_POINTER.
1300         (free_emit_status): Remove code which refers to regno_pointer_flag.
1301         (init_emit, mark_emit_status): Likewise.
1302         * flow.c (dump_flow_info): Likewise.
1303         * function.c (preserve_temp_slots): Likewise.
1304         * integrate.c (expand_inline_function, copy_rtx_and_substitute):
1305         Use x_regno_reg_rtx instead of regno_pointer_flag for function
1306         pointer determination in map.
1307         * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
1308         * predict.c (estimate_probability): Likewise.
1309         * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
1310         * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
1311         regno_pointer_flag for function pointer determination in map.
1312         * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
1313         REG_POINTER.
1314         * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
1315         Use REG_POINTER.
1316         (restore_unscaled_index_insn_codes): Revise comment.
1317
1318         * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
1319
1320 2000-11-30  Joseph S. Myers  <jsm28@cam.ac.uk>
1321
1322         * extend.texi: Update documentation for attributes.
1323
1324 2000-11-29  David O'Brien  <obrien@FreeBSD.org>
1325
1326         * config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
1327         (ASM_DECLARE_OBJECT_NAME): Same.
1328         (ASM_FILE_END): Same.
1329         (ASM_FINISH_DECLARE_OBJECT): Same.
1330         (ASM_IDENTIFY_GCC): Same.
1331         (ASM_IDENTIFY_LANGUAGE): Same.
1332         (ASM_OUTPUT_CONSTRUCTOR): Same.
1333         (ASM_OUTPUT_DEF): Same.
1334         (ASM_OUTPUT_DESTRUCTOR): Same.
1335         (ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
1336         (ASM_OUTPUT_SECTION_NAME): Same.
1337         (ASM_WEAKEN_LABEL): Same.
1338         (BSS_SECTION_ASM_OP): Same.
1339         (COMMON_ASM_OP): Same.
1340         (CONST_SECTION_ASM_OP): Same.
1341         (CONST_SECTION_FUNCTION): Same.
1342         (CTORS_SECTION_ASM_OP): Same.
1343         (DTORS_SECTION_ASM_OP): Same.
1344         (ESCAPES): Same.
1345         (FINI_SECTION_ASM_OP): Same.
1346         (IDENT_ASM_OP): Same.
1347         (IDENT_ASM_OP): Same.
1348         (INIT_SECTION_ASM_OP): Same.
1349         (INT_ASM_OP): Same.
1350         (MAX_OFILE_ALIGNMENT): Same.
1351         (SBSS_SECTION_ASM_OP): Same.
1352         (SDATA_SECTION_ASM_OP): Same.
1353         (SECTION_FUNCTION_TEMPLATE): Same.
1354         (SELECT_SECTION): Same.
1355         (SE_CONST_SECTION): Same.
1356         (SIZE_ASM_OP): Same.
1357         (SKIP_ASM_OP): Same.
1358         (STRING_ASM_OP): Same.
1359         (STRING_LIMIT): Same.
1360         (TYPE_ASM_OP): Same.
1361         (TYPE_OPERAND_FMT): Same.
1362
1363 2000-11-29  Neil Booth  <neilb@earthling.net>
1364
1365         * c-decl.c (c_decode_option): Don't handle -lang-objc.
1366         * objc/lang-options.h: Remove -lang-objc.
1367         * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
1368         * objc/objc-act.c (lang_init_options): Set c_language.
1369
1370 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
1371
1372         * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
1373         tests.
1374
1375 2000-11-29  Neil Booth  <neilb@earthling.net>
1376
1377         * c-pragma.c (init_pragma): Update for parse_in type change.
1378
1379 2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
1380
1381         * configure.in: recognize DOS-style absolute paths.
1382
1383 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
1384
1385         * expr.h (store_by_pieces): Add prototype.
1386         (can_store_by_pieces): Likewise.
1387         * expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
1388         (can_store_by_pieces): New.
1389         (store_by_pieces): New.
1390         (clear_by_pieces): New.
1391         (clear_by_pieces_1): New.
1392         (store_by_pieces_1): Renamed from clear_by_pieces, handle storing
1393         arbitrary compiler generated constants into memory block.
1394         (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
1395         * builtins.c (c_readstr): New.
1396         (builtin_memcpy_read_str): New.
1397         (expand_builtin_memcpy): If src is string constant and
1398         emit_block_move would move it by pieces, compute integer constants
1399         from the string and store it into memory block instead.
1400         (builtin_strncpy_read_str): New.
1401         (expand_builtin_strncpy): If N is not constant zero and c_strlen does
1402         not return INTEGER_CST, don't optimize.
1403         If N is larger than strlen(src) + 1, try to copy the string
1404         including padding with store_by_pieces.
1405         (expand_builtin_strcmp): If both arguments have side effects, don't
1406         optimize.
1407         (expand_builtin_fputs): If STR has side effects, don't optimize.
1408
1409 2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
1410
1411         * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
1412         Add use of link register.
1413
1414 2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
1415
1416         * extend.texi: Update documentation for default format attributes.
1417
1418 Tue Nov 28 21:56:45 2000  Jeffrey A Law  (law@cygnus.com)
1419
1420         * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
1421         a list, to keep track of the sections.
1422
1423 2000-11-28  Nick Clifton  <nickc@redhat.com>
1424
1425         * config/arm/arm.md (pic_load_addr): Split into
1426         pic_load_addr_arm and pic_load_addr_thumb.
1427
1428         * config/arm/arm.c (legitimize_pic_address): Generate either
1429         ARM or Thumb versions of pic_load_addr.
1430         (arm_finalize_pic): Generate either ARM or Thumb versions of
1431         pic_load_addr.
1432
1433 2000-11-28  Richard Henderson  <rth@redhat.com>
1434
1435         * calls.c (expand_call): Defer const/pure NO_DEFER_POP until
1436         after sibcall do_pending_stack_adjust.
1437
1438 Wed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
1439
1440         * jump.c (delete_insn): Check that REG_LABEL note actually contains
1441         a CODE_LABEL.
1442
1443 2000-11-28  Neil Booth  <neilb@earthling.net>
1444
1445         * c-common.h: Remove flag_digraphs.
1446         * c-decl.c: Remove flag_digraphs.
1447         (c_decode_option): Don't set it.
1448         * c-lex.c (init_c_lex): Don't do anything for digraphs.
1449
1450 2000-11-28  Richard Henderson  <rth@redhat.com>
1451
1452         * c-parse.in (finish_parse): Update for parse_in type change.
1453         (_yylex): Likewise.
1454
1455 2000-11-28  Neil Booth  <neilb@earthling.net>
1456
1457         * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
1458         indicating whether to scan all buffers on the stack or
1459         just one.
1460         * cppinit.c (do_includes): Update.
1461         * cppmain.c (main): Update.
1462         * cpplib.h: Update prototype.
1463
1464 2000-11-28  Richard Henderson  <rth@redhat.com>
1465
1466         * genoutput.c (validate_insn_operands): New.
1467         (gen_insn): Call it.
1468
1469         * config/alpha/alpha.md (divmodsi_internal): Renumber operands.
1470         (divmoddi_internal): Likewise.
1471         * config/arm/arm.md (andsi3_compare0_scratch): Likewise.
1472         * config/i960/i960.md (branch patterns): Likewise.
1473         * config/ia64/ia64.md (tbit_and_0): Likewise.
1474         (tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
1475         * config/m68k/m68k.md (zero_extract memory patterns): Likewise.
1476         * config/mips/mips.md (divmodsi4_internal): Likewise.
1477         (divmoddi4_internal): Likewise.
1478         * config/rs6000/rs6000.md (call patterns): Likewise.
1479         * config/sh/sh.md (movsi_y): Likewise.
1480         * config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
1481
1482 2000-11-28  Richard Henderson  <rth@redhat.com>
1483
1484         * config.gcc: Kill residual pyramid support.
1485
1486 2000-11-28  Neil Booth  <neilb@earthling.net>
1487
1488         * c-lex.h (parse_in): Change parse_in to a cpp_reader *.
1489         * c-decl.c (c_decode_option): Update to match.
1490         * c-lex.c (init_c_lex, yyparse): Update to match.
1491         * c-lang.c (lang_init_options): Use cpp_create_reader.
1492         * cppinit.c (cpp_init): Rename initialize.
1493         (cpp_reader_init): Rename cpp_create_reader.  Create the
1494         reader.  Initialize cpplib if appropriate.
1495         * cpplib.h (cpp_create_reader) New prototype.
1496         (cpp_init, cpp_reader_init): Delete prototypes.
1497         * cppmain.c (general_init, setup_callbacks): New functions.
1498         (main): Use them.
1499         * fix-header.c (scan_in): Change type to cpp_reader *.
1500         (read_scan_file): Update for new cpplib interface and scan_in type.
1501
1502         * cp/decl.c (parse_in): Change to cpp_reader *.
1503         (lang_decode_option): Update.
1504         * cp/lex.c (lang_init_options): Use new cpplib interface.
1505         (init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
1506         * cp/spew.c (read_token): Update.
1507         * objc/objc-act.c (lang_init_options): Update new cpplib interface.
1508
1509 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
1510
1511         * loop.c (load_mems): Avoid using next_label to find end_label. If
1512         jumping outside of the loop (other than loop end), don't hoist MEMs
1513         out of loop.
1514
1515 2000-11-28  Jan Hubicka  <jh@suse.cz>
1516
1517         * calls.c (expand_call): Don't disable tail recursion based
1518         on the loop nest.
1519
1520 2000-11-28  Neil Booth  <neilb@earthling.net>
1521
1522         * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
1523         (struct directive): Drop 4th argument from handlers.
1524         (do_define, do_line, do_include, do_undef, do_else, do_elif,
1525         do_endif): Similarly.
1526         (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
1527         (do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
1528         (make_definition, make_undef): Take a const char*.
1529         (make_assertion): New function.
1530         (struct directive_table): Update.
1531         (main): Handle -A command line argument.
1532         (handle_directive): Drop fourth handler argument.
1533
1534 2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
1535
1536         * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
1537         is anything but REG or MEM, but look inside STRICT_LOW_PART.
1538
1539 Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1540
1541         * system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
1542         (IS_ABSOLUTE_PATHNAME): New macro.
1543         * gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
1544
1545 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
1546
1547         * config/i386/i386.md (truncxfsf2_2): Fix predicate.
1548
1549 2000-11-27  Jim Wilson  <wilson@redhat.com>
1550
1551         * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
1552
1553 2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
1554
1555         * extend.texi (Nested Functions): Update URL of Usenix paper.
1556
1557 2000-11-27  Mark Mitchell  <mark@codesourcery.com>
1558
1559         * function.c (free_after_compilation): Clear x_clobber_return_insn.
1560
1561 2000-11-27  Neil Booth  <neilb@earthling.net>
1562
1563         * cppinit.c (cpp_reader_init): Remove handling of warn_paste
1564         command line options.
1565         (cpp_handle_option): Similarly.
1566         * cpplib.h (struct cpp_options): Remove warn_paste.
1567         * cppmacro.c (paste_tokens): Apart from assembler, make
1568         unpasteable token warning mandatory.
1569
1570 2000-11-27  Neil Booth  <neilb@earthling.net>
1571
1572         * tradcpp.c (enum pending_dir_t, struct pending_dir): New.
1573         (main): Allocate a pending directive set of these.  Use it.
1574         Merge handling of -D and -U.  Update handling of pending
1575         directives.  Free the memory after use.
1576
1577 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
1578
1579         * flow.c (entry_exit_blocks): Add entry for cond_local_set.
1580         (struct propagate_block_info): Add new member cond_local_set.
1581         (propagate_block): Accept new arg cond_local_set.  All callers
1582         changed.
1583         (init_propagate_block_info): Likewise.
1584         (calculate_global_regs_live): Allocate & free cond_local_set.  Always
1585         rescan if there's overlap between cond_local_set and new_live_at_end.
1586         (mark_set_1): Set bits either in cond_local_set or local_set, as
1587         appropriate.
1588         * basic-block.h (struct basic_block_def): New field cond_local_set.
1589         (propagate_block, init_propagate_block_info): Update prototypes.
1590
1591 Mon Nov 27 17:29:44 2000  kaz Kojima <kkojima@rr.iij4u.or.jp>
1592
1593         * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
1594         T register.
1595
1596 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
1597
1598         * arm.c (select_dominance_cc_mode): Handle new way that combine
1599         canonicalizes conditional compares.
1600         (arm_select_cc_mode): Likewise.
1601         * arm.md: Garbage collect some dead code.
1602         (cmp_and, cmp_ior): New patterns.
1603         (splitter for conditional move with inverted false): Use cond_exec
1604         and handle unordered comparisons.
1605
1606 Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
1607
1608         * i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
1609         * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
1610         * i386.md (float?i?f, int/fp operations): Rewrite spliters to use
1611         ix86_force_to_memory and ix86_free_from_memory.
1612
1613 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
1614
1615         * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
1616         arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
1617         anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
1618         one_cmpldi2): Merge with splitters to create define_insn_and_split
1619         patterns.  Remove redundant splits.
1620         (peephole2 for add:SI of invalid immediate): New.
1621         (peephole2 for minus:SI of invalid immediate): New.
1622         (peephole2 for ior:SI of invalid immediate): New.
1623         (peephole for merge of move and compare): Convert ot peephole2.
1624         (addsf3, adddf3): Mark as commutative.
1625
1626         * arm.md (thumb peephole for merging stack adjustments): Convert to
1627         peephole2.
1628
1629 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
1630
1631         * haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
1632
1633         * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
1634         (reload_cse_simplify_operands): Do nothing about operands where both
1635         the operand and the match_operand fail to give us a mode.
1636         * simplify-rtx.c (wrap_constant): New function.
1637         (entry_and_rtx_equal_p): Except integer constants to come wrapped in a
1638         CONST describing the proper mode.
1639         (rtx_equal_for_cselib_p): Pass down modes to recursive calls of
1640         cselib_lookup.
1641         (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
1642         htab_find_slot_with_hash.
1643         (cselib_lookup): Likewise.
1644
1645         Based on a patch from Geoff Keating <geoffk@redhat.com>:
1646         * loop.c (basic_induction_var): If a REG is set from something
1647         that is not a biv, then the REG is not a biv.  Even if it is
1648         earlier set from something that is a biv.
1649
1650 2000-11-27  Alexandre Oliva  <aoliva@redhat.com>
1651
1652         * configure.in (extra_objs): Enclose extra_headers in quotes.
1653         * configure: Rebuilt.
1654
1655 2000-11-27  Neil Booth  <neilb@earthling.net>
1656
1657         * c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
1658         Combine into the new function cb_change_file.
1659         (init_c_lex): Update.
1660         * cppfiles.c (stack_include_file): Use _cpp_do_file_change.
1661         (cpp_syshdr_flags): Delete.
1662         * cpphash.h (_cpp_do_file_change): New prototype.
1663         Move struct cpp_buffer here from...
1664         * cpplib.h (struct cpp_buffer): ... here.
1665         (enum cpp_fc_reason, struct cpp_file_loc,
1666         struct_cpp_file_change, change_file): New.
1667         (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
1668         * cpplib.c (do_line): Update for new cb_change_file callback.
1669         (_cpp_do_file_change): New function.
1670         (_cpp_pop_buffer): Update to use it.
1671         * cppmain.c (move_printer): Delete.
1672         (main): Set up single callback cb_change_file.
1673         (cb_enter_file, cb_leave_file, cb_rename_file): Delete.
1674         (cb_change_file): New.
1675         * fix-header.c (cur_file, cb_change_file): New.
1676         (recognized_function, read_scan_file): Update.
1677         * scan-decls.c (scan_decls): Update.
1678         * scan.h (recognized_function): Update prototype.
1679
1680 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
1681
1682         * tree.h (mark_tree_hashtable): New function.
1683         * tree.c (mark_tree_hashtable_entry): New function.
1684         (mark_tree_hashtable): Likewise.
1685
1686 2000-11-27  Michael Meissner  <meissner@redhat.com>
1687
1688         * d30v-protos.h (srelational_si_operator): Correctly spell
1689         function.
1690         (urelational_si_operator): Ditto.
1691         (relational_si_operator): Ditto.
1692         (d30v_expand_prologue): Add prototype.
1693         (d30v_expand_epilogue): Ditto.
1694
1695         * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
1696
1697         * d30v.md (movcccc_*): Delete now unused patterns.
1698         (64 bit comparison splitters): Rewrite to use COND_EXEC instead of
1699         IF_THEN_ELSE.
1700         (define_cond_exec): Use 'b' to select branch flags.
1701
1702 2000-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1703
1704         * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
1705         functions.
1706         (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
1707
1708         * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
1709
1710         * c-common.c (c_common_nodes_and_builtins): Declare builtin
1711         strncpy and strncmp.
1712
1713         * extend.texi (strncmp, strncpy): Document new builtins.
1714
1715 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
1716
1717         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
1718         a list, to keep track of the sections.
1719         * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
1720         parameter provided will always be a canonical string.
1721
1722 2000-11-26  Neil Booth  <neilb@earthling.net>
1723
1724         * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
1725         current buffer.
1726
1727 2000-11-26  Joseph S. Myers  <jsm28@cam.ac.uk>
1728
1729         * makefile.vms: Remove EGCS references.
1730
1731 2000-11-26  Ulrich Drepper  <drepper@redhat.com>
1732
1733         * dwarf2out.c (output_file_names): New function.  Compute minimal
1734         combination of directory and file name table and emit them.
1735         (output_line_info): Remove code to emit directory and file name
1736         table and call output_file_names instead.
1737         (file_info_cmp): Helper function to sort directory names.
1738
1739 2000-11-26  Neil Booth  <neilb@earthling.net>
1740
1741         * cpplib.h (struct cpp_reader): Remove lang_asm.
1742         (struct cpp_options): Remove c89. New members lang,
1743         extended_numbers.
1744         * cppexp.c (parse_number): Use them.
1745         * cpphash.h (VALID_SIGN): Use them.
1746         * cppinit.c (set_lang, cpp_start_read): Update.
1747         * cpplex.c (parse_string, _cpp_lex_token): Update.
1748         * cpplib.c (_cpp_handle_directive): Update.
1749         * cppmacro.c (parse_args): Update.
1750         * cppmain.c (scan_buffer): Update.
1751
1752 Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1753
1754         * fold-const.c (fold, case CONVERT_EXPR): Always return tree of
1755         proper type.
1756
1757 2000-11-26  Neil Booth  <neilb@earthling.net>
1758
1759         * Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
1760         * c-decl.c: Remove parse_in declaration.
1761         * c-lang.c: Similarly.
1762         * c-lex.c: Similarly.
1763         * c-parse.in: Similarly.
1764         * c-pragma.c: Similarly.
1765         * configure.in: Similarly.
1766         * cp/Make-lang.in: Similarly.
1767         * cp/spew.c: Similarly.
1768         * cp/decl2.c: Remove check for lang-c++ option.
1769         * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
1770         * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
1771         * c-lex.h: Add declaration of parse_in.
1772         * cppinit.c: Call set_lang after allocating pfile->pending.
1773         * configure: Regenerate.
1774
1775 2000-11-25  Zack Weinberg  <zack@wolery.stanford.edu>
1776
1777         * combine.c (try_combine): Remove redundant test.
1778
1779 2000-11-25  Richard Henderson  <rth@redhat.com>
1780
1781         * c-common.h (DECL_C_HARD_REGISTER): New.
1782         * c-decl.c (finish_decl): Set it for asm register variables.
1783         * c-semantics.c (emit_local_var): Test it when instantiating one.
1784
1785 2000-11-25  Richard Henderson  <rth@redhat.com>
1786
1787         * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
1788         lineno for the start of the function.
1789
1790 2000-11-25  Richard Henderson  <rth@redhat.com>
1791
1792         * dwarf2out.c (file_table, file_table_allocated): Remove.
1793         (file_table_allocated): Remove.
1794         (struct file_table): New.
1795         (decl_file_table, line_file_table): New.
1796         (print_dwarf_line_table): Use them.
1797         (size_of_line_prolog): Likewise.
1798         (output_line_info): Likewise.
1799         (add_src_coords_attributes): Likewise.
1800         (gen_subprogram_die): Likewise.
1801         (gen_variable_die): Likewise.
1802         (dwarf2out_add_library_unit_info): Likewise.
1803         (dwarf2out_line): Likewise.
1804         (lookup_filename): Take a struct file_table argument.
1805         (init_file_table): New.
1806         (dwarf2out_init): Use it.
1807
1808 2000-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
1809
1810         * invoke.texi: Update sequence points references.
1811
1812 2000-11-25  Neil Booth  <neilb@earthling.net>
1813
1814         * c-common.c: Remove USE_CPPLIB conditional inclusions.
1815         * c-common.h: Similarly.
1816         * c-decl.c: Similarly.
1817         * c-lang.c: Similarly.
1818         * c-lex.c: Similarly.
1819         * c-parse.in: Similarly.
1820         * c-pragma.c: Similarly.
1821         * c-pragma.h: Similarly.
1822         * gcc.c: Similarly.
1823         * toplev.c: Similarly.
1824         * cp/cp-tree.h: Similarly.
1825         * cp/decl2.c: Similarly.
1826         * cp/lang-specs.h: Similarly.
1827         * cp/lex.c: Similarly.
1828         * cp/lex.h: Similarly.
1829         * cp/spew.c: Similarly.
1830         * java/lang-options.h: Similarly.
1831         * objc/lang-specs.h: Similarly.
1832         * objc/objc-act.c: Similarly.
1833
1834         * configure.in: Remove configure option.
1835         * config.in: Regenerate.
1836         * configure: Regenerate.
1837
1838 2000-11-25  Richard Henderson  <rth@redhat.com>
1839
1840         * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
1841         Revert 2000-11-22 change.
1842
1843 2000-11-25  Bernd Schmidt  <bernds@redhat.co.uk>
1844
1845         * config/i386/i386.h (FIXED_REGS): Make the three flags registers
1846         fixed.
1847
1848 2000-11-25  Philipp Thomas  <pthomas@suse.de>
1849         * configure.in (ALL_LINGUAS): Remove en_GB and add sv.
1850         * configure: Rebuilt.
1851
1852 2000-11-25  Jakub Jelinek  <jakub@redhat.com>
1853
1854         * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
1855         Handle CONST_INT as second argument.
1856         * config/sparc/sparc.c (set_extends): Remove first argument.
1857         Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
1858         MOV.
1859         (sparc_check_64): Abort if first argument is not REG.
1860         If it is DImode REG, look at the lower register of the register
1861         pair.
1862
1863         * config/sparc/sparc.c (load_pic_register, restore_regs,
1864         output_return, sparc_v8plus_shift, sparc_function_profiler,
1865         sparc_function_block_profiler, sparc_block_profiler): Fix output
1866         formatting.
1867
1868 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>
1869
1870         * config/sh/sh.h (TARGET_NONE): New.
1871         (TARGET_SWITCHES): For all variant-selecting switch, use
1872         TARGET_NONE to reset all other variant-selecting switch.  Added
1873         empty strings to avoid warnings.
1874         (TARGET_DEFAULT): Set to SH1_BIT.
1875
1876         * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
1877         insn-codes.h.
1878
1879         * gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
1880         (sibcall_pcrel): New insn_and_split.
1881         (sibcall, sibcall_value, sibcall_epilogue): New expands.
1882
1883         * config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
1884         symPLT_label2reg, call, call_value): Don't set
1885         current_function_uses_pic_offset_table.
1886         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
1887         PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
1888         takes it into account.
1889         (FINALIZE_PIC): Delete, useless.
1890         (LEGITIMATE_CONSTANT_P): Delete, unused.
1891         * config/sh/sh.c (sh_expand_prologue): Don't use
1892         current_function_uses_pic_offset_table.  Don't special-case
1893         PIC_OFFSET_TABLE_REGNUM.  Initialize it if it's ever live and
1894         PIC is enabled.
1895         (sh_expand_epilogue, initial_elimination_offset): Don't
1896         special case PIC_OFFSET_TABLE_REGNUM.
1897
1898 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>, NIIBE Yutaka  <gniibe@m17n.org>
1899
1900         * config/sh/sh-protos.h (symbol_ref_operand): Declare.
1901         * config/sh/sh.md (UNSPEC_CALLER): New constant.
1902         (calli_pcrel, call_valuei_pcrel): Use PIC_REG.
1903         (call_pcrel, call_value_pcrel): New insn_and_splits.
1904         (call, call_value): Use them.
1905         (call_site): New expand.
1906         (sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
1907         * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
1908         Output call_site label.
1909         (PREDICATE_CODES): Added symbol_ref_operand.
1910         * config/sh/sh.c (symbol_ref_operand): Define.
1911         * emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
1912         to CALL_INSNs in the split sequence.
1913
1914 2000-11-24  Nick Clifton  <nickc@redhat.com>
1915
1916         * config.gcc (v850-*-*): Define c_target_objs and
1917         cxx_target_objs.
1918
1919         * config/v850/t-v850: Define how to build v850-c.o
1920
1921         * config/v850/v850.h (struct data_area_stack_element): Move
1922         definition here from v850.c.
1923
1924         * config/v850v850.c: Include gcc.h to avoid compile time
1925         warning.
1926         (push_data_area): Move to v850-c.c.
1927         (pop_data_area): Move to v850-c.c.
1928         (mark_current_function_as_interrupt): Move to v850-c.c.
1929         (GHS_default_section_names): Allow to be exported.
1930         (GHS_current_section_names): Allow to be exported.
1931         (data_area_stack_elements): Allow to be exported.
1932         (ghs_pragma_section): Move to v850-c.c.
1933         (ghs_pragma_interrupt): Move to v850-c.c.
1934         (ghs_pragma_starttda): Move to v850-c.c.
1935         (ghs_pragma_startsda): Move to v850-c.c.
1936         (ghs_pragma_startzda): Move to v850-c.c.
1937         (ghs_pragma_endtda): Move to v850-c.c.
1938         (ghs_pragma_endsda): Move to v850-c.c.
1939         (ghs_pragma_endzda): Move to v850-c.c.
1940
1941         * config/v850/v850-c.c: New file: Contains v850 specific
1942         pragma parsing functions.
1943
1944 2000-11-24  Nick Clifton  <nickc@redhat.com>
1945
1946         * config.gcc (extra_objs): Remove duplicate description.
1947         (c_target_objs): New variable.  Contains target specific
1948         object files for the gcc C compiler only.
1949         (cxx_target_objs): New variable.  Contains target specific
1950         object files for the gxx C++ compiler only.
1951
1952         * configure.in (c_target_objs): Substitute in the makefile.
1953         (cxx_target_objs): Substitute in the makefile.
1954         * configure: Regenerate.
1955
1956         * Makefile.in (C_TARGET_OBJS): Define and initialise from
1957         c_target_objs.
1958         (CXX_TARGET_OBJS): Define and initialise from
1959         cxx_target_objs.
1960         (C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
1961
1962         * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
1963
1964         * tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
1965         about how the use of the 'c_lex' function requires the use of
1966         the target specific, language specific object files feature of
1967         the configuration mechanism.
1968
1969 Fri Nov 24 18:50:58 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1970
1971         * gcc.c (process_command): Use F_OK, not R_OK.
1972
1973 2000-11-24  Arno J. Klaassen  <arno@heho.snv.jussieu.fr>
1974
1975         * flow.c (print_rtl_and_abort): Remove ANSIism.
1976
1977 Fri Nov 24 19:54:36 2000  Alexandre Oliva  <aoliva@redhat.com>
1978
1979         * config/sh/sh.h (GENERAL_REGISTER_P,
1980         GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
1981         FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros.  Use them
1982         all over.
1983         (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
1984         * config/sh/sh.c: Use new macros.
1985         * config/sh/sh.md: Likewise.
1986
1987 Fri Nov 24 19:46:16 2000  Alexandre Oliva  <aoliva@redhat.com>
1988
1989         * config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
1990         instead of just MACH_REG in DImode.  Always refer to FPSCR_REG
1991         in PSImode.
1992
1993 Fri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
1994
1995         * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
1996         fixed.
1997         (machine_dependent_reorg): Wrong optimization based on
1998         NOTICE_UPDATE_CC removed.
1999
2000 Fri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
2001
2002         * jump.c (delete_computation): Re-instate deletion of feeding insn.
2003         (delete_insn): Look for REG_LABEL notes.
2004         (redirect_tablejump): Delete feeding insns.
2005
2006 2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
2007
2008         * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
2009         call_value_pop_1): Make sure operand numbers are contiguous.
2010
2011         * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
2012
2013         * reload1.c (conflicts_with_override): New function.
2014         (emit_input_reload_insns): Use it to tighten test for validity
2015         of substituting into output of previous insn.
2016
2017         * haifa-sched.c (struct ready_list): New.
2018         (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
2019         functions.
2020         (schedule_insn): Replace args READY and N_READY with a pointer to a
2021         ready_list; return void.  Use the new functions to access the ready
2022         list.  All callers changed.
2023         (queue_to_ready, debug_ready_list): Likewise.
2024         (schedule_block): Initialize a ready_list structure.  Use new
2025         functions to access it.
2026         (max_priority): Remove unused variable.
2027         (schedule_insn): Don't set it.
2028
2029         * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
2030
2031         * combine.c (cant_combine_insn_p): New function.
2032         (try_combine): Use it.
2033
2034         * Makefile.in (c-common.o): Depend on $(OBSTACK_H).
2035         * c-common.c (c-obstack.c): Include "obstack.h".
2036         (struct reverse_tree): Delete.
2037         (reverse_list, reverse_max_depth): Delete.
2038         (build_reverse_tree, common_ancestor, modify_ok): Delete functions.
2039         (struct tlist, struct tlist_cache): New.
2040         (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
2041         (add_tlist, merge_tlist, verify_tree, warning_candidate_p,
2042         warn_for_collisions, warn_for_collisions_1, new_tlist): New
2043         static functions.
2044         (verify_sequence_points): Rewritten.
2045         * fold-const.c (fold): Don't lose possibly important sequence
2046         points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
2047
2048 2000-11-24  Richard Sandiford  <rsandifo@redhat.com>
2049
2050         * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
2051         when reversing a register-to-register copy.  Reversal now disabled
2052         when the previous instruction has a REG_EQUIV.
2053
2054 2000-11-24  Nathan Sidwell  <nathan@codesourcery.com>
2055
2056         * c-parse.in (unary_expr): Move VA_ARG from here ...
2057         (primary): ... to here.
2058
2059 2000-11-23  Graham Stott  <grahams@redhat.com>
2060
2061         * expr.c (store_constructor): If a field is non addressable and
2062         the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
2063
2064 2000-11-23  Bernd Schmidt  <bernds@redhat.co.uk>
2065
2066         * flow.c (print_rtl_and_abort): New function.
2067         (verify_wide_reg, verify_local_live_at_start): Try to dump more
2068         information before aborting.
2069
2070 2000-11-23  Alexandre Oliva  <aoliva@redhat.com>
2071
2072         * emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
2073         is narrower than requested mode.
2074         (gen_highpart): Abort if register mode is narrower than
2075         requested mode.
2076
2077 2000-11-23  Graham Stott  <grahams@redhat.com>
2078
2079         * cse.c (cse_insn): Initialise all regcost variables.
2080         Fix a typo add missing '='.
2081         Only compare costs if there is a replacement insn.
2082
2083 Thu Nov 23 04:33:33 2000  Alexandre Oliva  <aoliva@redhat.com>
2084
2085         * final.c (output_addr_const) [LABEL_REF]: Simplify.
2086         [MINUS]: Enclose non-CONST_INTs in parentheses.
2087         [default]: Try OUTPUT_ADDR_CONST_EXTRA.
2088         * tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
2089         * varasm.c (decode_rtx_const) [CONST]: If it's not something
2090         PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
2091         instead of abort()ing.
2092         * sh.c (output_pic_addr_const): Removed.  Fixed all callers.
2093         * sh.h (OUTPUT_ADDR_CONST_EXTRA): New.  Handle the UNSPECs
2094         formerly handled in output_pic_addr_const.
2095         * sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
2096         operands of MINUS in CONSTs so that decode_rtx_const() will
2097         accept them.
2098
2099 Thu Nov 23 04:10:30 2000  Alexandre Oliva  <aoliva@redhat.com>
2100
2101         * config/sh/sh.md (mova_const): New pattern.
2102         (GOTaddr2picreg): Use it.
2103         * config/sh/sh.c (broken_move): Match it.
2104         (mova_p): Don't match it.
2105         (machine_dependent_reorg): Adjust it.
2106
2107 Thu Nov 23 02:09:09 2000  Alexandre Oliva  <aoliva@redhat.com>
2108
2109         * config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
2110         Moved most register-number #defines...
2111         * config/sh/sh.md (define_constants): ... here.  Use macros to
2112         refer to registers and unspecs.
2113         * config/sh/sh.c: Likewise.
2114
2115 Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
2116
2117         * Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
2118         (rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
2119         (alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
2120         (splay-tree.o, hash.o): Likewise.
2121         GCONFIG_H: New.
2122         (rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
2123         (bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
2124         (hashtab.o): Likewise.
2125         (gcov.o): Depend on $(CONFIG_H).
2126         * configure.in: #include insn-codes.h in tm.h.
2127
2128 2000-11-22  Nick Clifton  <nickc@redhat.com>
2129
2130         * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
2131         const char * to avoid a compile time warning.
2132
2133         * config/arm/arm.md (define_constants): Define symbolic names for
2134         the link register, last integer register and the fake CC register.
2135         Update patterns to use these symbolic names.
2136
2137 2000-11-22  Neil Booth  <neilb@earthling.net>
2138
2139         * cpplex.c (trigraph_ok): Ensure we don't warn twice.
2140         * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
2141
2142 2000-11-22  Richard Henderson  <rth@redhat.com>
2143
2144         * haifa-sched.c (sched_analyze_1): Don't special-case calls
2145         for clobbering registers.
2146         (sched_analyze_2): Likewise.
2147         (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
2148
2149 2000-11-22  Chris Demetriou  <cgd@sibyte.com>
2150             Neil Booth  <neilb@earthling.net>
2151
2152         * gcc.c (validate_switches): Validate multiple switches named
2153         in '|' (or) expressions in specs.
2154         (handle_braces): If more than 1 alternative in a '|' spec
2155         matches, call do_spec1 just once.
2156
2157 2000-11-22  Michael Meissner  <meissner@redhat.com>
2158
2159         * d30v.h (TARGET_SWITCHES): Add documentation strings.
2160         (TARGET_OPTIONS): Ditto.
2161         (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
2162         -O3.
2163
2164 Wed Nov 22 06:40:56 2000  Jeffrey A Law  (law@cygnus.com)
2165
2166         * pa.c (hppa_encode_label): Account for addition of encoding
2167         character when allocating persistent space for the new label
2168         name.
2169
2170 2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
2171
2172         * Makefile.in, config.gcc, configure.in: Expunge remaining
2173         traces of facility for running MD files through C preprocessor.
2174
2175 2000-11-22  Joseph S. Myers  <jsm28@cam.ac.uk>
2176
2177         * gcov.texi: Add magic comments for texi2pod.pl.
2178         * Makefile.in: Add rules to generate and install gcov.1.
2179         * gcov.1: New (generated) file.
2180
2181 2000-11-21  Richard Henderson  <rth@redhat.com>
2182
2183         * regrename.c (scan_rtx_reg): Terminate the chain rather than
2184         abort on mark_read with NO_REGS.
2185
2186 2000-11-21  Mike Stump  <mrs@wrs.com>
2187
2188         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
2189         compilation with older compilers, such as /bin/cc on SunOS.
2190         * fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
2191
2192 2000-11-21  Richard Henderson  <rth@redhat.com>
2193
2194         * varasm.c (record_constant): Pad the constructed
2195         constant_descriptor appropriately.
2196
2197 Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
2198
2199         * rtl.h (traverse_md_constants): Declare.
2200         (struct md_constant): Define.
2201         * Makefile.in (HOST_RTL): Add hashtab.o .
2202         (OBJS): Add hashtab.o .
2203         (hashtab.o): New rule.
2204         (rtl.o): Depends on HASHTAB_H.
2205         * rtl.c (hashtab.h): #include.
2206         (md_constants): New static variable.
2207         (def_hash, def_name_eq_p, read_constants): New static functions.
2208         (traverse_md_constants): New function.
2209         (read_name): Do constant expansion.
2210         (read_rtx): Recognize define_constants.
2211         * gencodes.c (print_md_constant): New function.
2212         (main): Emit #defines for all constant definitions encountered.
2213         * md.texi (Constant Definitions): New node.
2214         * gensupport.c (xcalloc): New function.
2215
2216 2000-11-21  Richard Henderson  <rth@redhat.com>
2217
2218         * config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
2219         * config/alpha/alpha-protos.h: Declare it.
2220         * config/alpha/alpha.md (abstf_internal): Use it.
2221         (negtf_internal): Likewise.
2222         (andnotdi3): Unstar the name.
2223         (movtf_internal): Add o/G alternative.
2224
2225 2000-11-21  Zack Weinberg  <zack@wolery.stanford.edu>
2226
2227         * stringpool.c (stringpool_statistics): Also report number and
2228         percentage of entries which are identifiers.
2229
2230 2000-11-21  Diego Novillo  <dnovillo@redhat.com>
2231
2232         * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
2233         visited before visiting it.
2234
2235 2000-11-21  Nick Clifton  <nickc@redhat.com>
2236
2237         * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
2238         TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
2239
2240         * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
2241
2242 2000-11-21  Richard Henderson  <rth@redhat.com>
2243
2244         * c-common.c (c_unsafe_for_reeval): New function.
2245         (add_c_tree_codes): Register it.
2246         * c-common.h: Declare it.
2247         * tree.c (lang_unsafe_for_reeval): New hook.
2248         (unsafe_for_reeval): Call it.
2249         * tree.h: Declare it.
2250
2251 2000-11-21  Richard Henderson  <rth@redhat.com>
2252
2253         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
2254         references as well.
2255
2256 2000-11-21  Neil Booth  <neilb@earthling.net>
2257
2258         * do_includes: Revert to using cpp_read_file.
2259
2260 2000-11-21  Bernd Schmidt  <bernds@redhat.co.uk>
2261
2262         * loop.c (consec_sets_giv): If the reg we're examining is anything
2263         but UNKNOWN_INDUCT, do nothing.
2264         Reset the reg's type to UNKNOWN_INDUCT before returning.
2265
2266         Mostly from Vladimir Makarov (vmakarov@redhat.com)
2267         * ia64.md (attr itanium_class): Define insn types as described in
2268         Itanium docs.
2269         (all insn patterns): Use itanium_class, not type attributes.
2270         Occasionally split alternatives as necessary.
2271         (attr type): Compute from new attr itanium_class.
2272
2273 2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2274
2275         * tradcpp.c (output_line_command): Mark system headers as such in
2276         `line' commands.
2277
2278 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
2279
2280         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Sparc has .file/.loc
2281         support in as as well.
2282         * configure: Regenerate.
2283
2284 2000-11-20  Richard Henderson  <rth@redhat.com>
2285
2286         * c-lex.c (orig_filename): New variable.
2287         (init_c_lex): Set it.  Move call to cpp_start_read ...
2288         (yyparse): ... here.  New function.
2289         * c-parse.in (yyparse_1): Rename the parser entry point.
2290         * c-tree.h: Declare it.
2291
2292 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
2293
2294         * expr.c (do_compare_and_jump): If op0 was replaced by promoted
2295         integer constant, use type of op1 for comparison.
2296
2297 2000-11-20  Stan Shebs  <shebs@apple.com>
2298
2299         * config/rs6000/xm-darwin.h: New file, Darwin host definitions.
2300         * config/rs6000/x-darwin: New file, Darwin host fragment.
2301         * config.gcc (powerpc-*-darwin*): New host.
2302         * system.h (HAVE_DESIGNATED_INITIALIZERS):  Allow this to be
2303         overridden by a config file.
2304
2305 2000-11-20  Neil Booth  <neilb@earthling.net>
2306
2307         * cppmacro.c (paste_tokens): Rename from paste_payloads.
2308         Change token type after pasting spellings.
2309         (paste_all_tokens): Use it.
2310         * gcc.dg/cpp/paste2.c: Update test.
2311         * objc/execute/paste.m: New test.
2312
2313 2000-11-20  Richard Henderson  <rth@redhat.com>
2314
2315         * dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
2316         dwarf_subscr_data_formats bits.
2317         * dwarfout.c (simple_type_size_in_bits): Handle a type with
2318         no computed size as size zero.
2319         (field_byte_offset): Likewise.
2320         (subscript_data_attribute): Handle a range with no upper bound.
2321
2322 2000-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2323
2324         * gansidecl.h (const): Check __STDC__ before undef'ing `const'.
2325
2326 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2327
2328         * c-typeck.c (build_conditional_expr): When merging type
2329         qualifiers for conditional expressions between a pointer and a
2330         pointer to a void type, merge the qualifiers on the target types
2331         rather than the pointer type.  Remove obsolete conditioned out
2332         code.
2333
2334 2000-11-20  Neil Booth  <neilb@earthling.net>
2335
2336         * c-lang.c (lang_init_options): Update call to
2337         cpp_reader_init.
2338         * cppmain.c (main): Similarly.
2339         * fix-header.c (read_scan_file): Similarly.
2340         * cp/lex.c (lang_init_options): Similarly.
2341         * objc/objc-act.c (lang_init_options): Similarly.
2342         * cppexp.c (parse_number): Only warn for unextended C89.
2343         * cppinit.c (set_lang): New function.
2344         (cpp_reader_init): Take a LANG argument and pass it to set_lang.
2345         (COMMAND_LINE_OPTIONS): New option std=c++98.
2346         (cpp_handle_option): Use set_lang.
2347         * cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
2348         * cppib.h (enum_c_lang): New enumeration.  Update comments.
2349
2350 2000-11-20  Will Cohen  <wcohen@redhat.com>
2351
2352         * calls.c (expand_call): Clear target only when target is in
2353         hard register and current_function_check_memory_usage is set.
2354
2355 2000-11-20  Bernd Schmidt  <bernds@redhat.co.uk>
2356
2357         * toplev.c (rest_of_compilation): Run optimize_mode_switching even
2358         if not optimizing.
2359         * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
2360
2361 2000-11-19  Richard Henderson  <rth@redhat.com>
2362
2363         * crtstuff.c (force_to_data): Use array size 1 not 0.
2364
2365         * dwarf2out.c (simple_type_size_in_bits): Handle a type with
2366         no computed size as size zero.
2367         (field_byte_offset): Likewise.
2368
2369 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
2370
2371         * config.gcc: Fix another typo.
2372
2373 2000-11-19  Richard Henderson  <rth@redhat.com>
2374
2375         * c-decl.c (grokdeclarator): Support flexible array members.
2376         Use open-ended ranges for these and zero-length arrays.
2377         * c-typeck.c (push_init_level): Validate the context of
2378         initialization of a zero-length array.
2379         * tree.c (int_fits_type_p): Be prepared for missing bounds.
2380         * varasm.c (array_size_for_constructor): New.
2381         (output_constructor): Use it for arrays of unspecified length.
2382         * extend.texi (Zero Length): Mention C99 flexible array members.
2383         Document initialization in a top-level struct as valid.
2384
2385 2000-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
2386
2387         * config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
2388
2389         * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
2390         stdarg and varargs functions.
2391
2392 2000-11-19  Zack Weinberg  <zack@wolery.stanford.edu>
2393
2394         * gcc.c (process_command): Define 'j' variable when
2395         MODIFY_TARGET_NAME is defined.
2396
2397 2000-11-19  Richard Henderson  <rth@redhat.com>
2398
2399         * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
2400
2401 2000-11-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2402
2403         * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
2404         calculation and allocation.
2405
2406 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2407
2408         * builtins.c (c_getstr): Constify variable.
2409         * gmon-sol2.c (_mcleanup): Comment out #endif labels.
2410         * conflict.c (const_conflict_graph_arc): New typedef.
2411         (arc_hash, arc_eq): Avoid needlessly casting away const-ness.
2412         * cppmacro.c (builtin_macro): Likewise.
2413         * dwarf2out.c (output_comp_unit): Constify variable.
2414         * fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
2415         * protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
2416         * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
2417         away const-ness.
2418         * tradcpp.c (rescan, do_line, macroexpand, macarg): Use
2419         ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
2420         * varasm.c (const_str_htab_hash, const_str_htab_eq,
2421         compare_constant_1, record_constant_1): Constify.
2422
2423 2000-11-18  Richard Henderson  <rth@redhat.com>
2424
2425         * c-decl.c (grokdeclarator): Special case the creation of an
2426         index for a zero-length array.
2427         * tree.c (build_index_type): Revert Oct 20 change.
2428
2429 2000-11-18  Marek Michalkiewicz  <marekm@linux.org.pl>
2430
2431         * config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
2432         * config/avr/avr.c (jump_tables_size): New variable.
2433         (function_prologue): Initialize it as 0.
2434         (function_epilogue): Add it to function_size.
2435         (avr_output_addr_vec_elt): New function.  Count words in jump
2436         tables in jump_tables_size.  Move code ...
2437         * config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
2438         Call avr_output_addr_vec_elt instead.
2439         * config/avr/avr.md (tablejump): Remove disabled define_expand.
2440
2441 2000-11-18  Mark Mitchell  <mark@codesourcery.com>
2442
2443         * configure.in: Make --enable-new-gxx-abi the default.
2444         * configure: Likewise.
2445
2446 2000-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2447
2448         * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
2449
2450         * tradcif.y: Include tradcpp.h.  Constify.  Make functions static.
2451         Move extern function declarations to tradcpp.h.
2452
2453         * tradcpp.c: Likewise.
2454
2455         * tradcpp.h: New file.
2456
2457 2000-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
2458
2459         * c-decl.c (check_for_loop_decls): New function.
2460         * c-parse.in (for_init_stmt): New.
2461         (select_or_iter_stmt): Use for_init_stmt.
2462         * c-tree.h (check_for_loop_decls): New declaration.
2463
2464 2000-11-18  Neil Booth  <neilb@earthling.net>
2465
2466         * cppinit.c: Update comments.
2467         (cpp_reader_init): Make -imacro and -include use the standard
2468         #include "" search path.
2469         (do_includes): New function.
2470
2471 2000-11-18  Ben Elliston  <bje@redhat.com>
2472
2473         * config/sh/crt1.asm (start_l): Move PC-relative move instruction
2474         out of a branch delay slot.
2475
2476 2000-11-17  Richard Henderson  <rth@redhat.com>
2477
2478         * config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
2479         (ASM_SPEC): Disable and enable .mdebug based on -gstabs.
2480         (ASM_FILE_START): Only write out ecoff .file directive if
2481         emitting mdebug debugging.
2482
2483 2000-11-17  Richard Henderson  <rth@redhat.com>
2484
2485         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New.  Detect
2486         whether as accepts .file/.loc and produces dwarf2 line info.
2487         * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
2488         the assembler supports it.
2489         * config.in, configure: Regenerate.
2490
2491 2000-11-17  Richard Henderson  <rth@redhat.com>
2492
2493         * fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
2494
2495 2000-11-17  Jim Wilson  <wilson@redhat.com>
2496
2497         * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
2498         Don't clear need_barrier is next_insn is a CALL_INSN, or has
2499         instruction type B or UNKNOWN.
2500
2501 2000-11-17  Neil Booth  <neilb@earthling.net>
2502
2503         * cpperror.c (print_file_and_line): Don't display line number if 0.
2504
2505 2000-11-17  Zack Weinberg  <zack@wolery.stanford.edu>
2506
2507         * ggc.h: Delete ggc_add_string_root and ggc_mark_string.  Add
2508         digit_vector and digit_string.
2509         * stringpool.c (digit_vector): New.
2510         (ggc_alloc_string): Use digit_string.
2511
2512         * stmt.c (digit_strings): Delete.
2513         (init_stmt): Do not initialize digit_strings.
2514         (expand_asm_operands): Use ggc.h's digit_string macro.
2515         * toplev.c (mark_file_stack): Delete.
2516         (compile_file): Don't call init_tree_codes.
2517         (main): No need to make the file stack a GC root.
2518         * tree.c (init_tree_codes): Delete.
2519         * tree.h (init_tree_codes): Delete.
2520
2521         * c-lex.c: Don't include ggc.h.
2522         (mark_splay_tree_node, mark_splay_tree): Delete.
2523         (init_c_lex): No need to ggc_strdup string constant.  Don't add
2524         file_info_tree to GGC roots.
2525         (cb_enter_file, cb_rename_file): No need to ggc_strdup
2526         ip->nominal_fname.
2527
2528         * Makefile.in (c-lex.o): No longer depends on $(GGC_H).
2529
2530         * dbxout.c (dbxout_init),
2531         dwarf2out.c (dwarf2out_line),
2532         ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
2533         varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
2534         xcoffout.c (xcoffout_source_file),
2535         i386.c (load_pic_register):
2536         Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
2537
2538         * except.c (create_rethrow_ref),
2539         profile.c (init_edge_profiler),
2540         toplev.c (compile_file),
2541         varasm.c (named_section, assemble_static_space,
2542         assemble_trampoline_template, output_constant_def, force_const_mem),
2543         i386.c (load_pic_register),
2544         ia64.c (ia64_encode_section_info),
2545         rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
2546         rs6000_emit_prologue, rs6000_emit_epilogue),
2547         rs6000.md (load_toc_aix_si, load_toc_aix_di):
2548         Change ggc_alloc_string (var, -1) to ggc_strdup (var).
2549
2550         * profile.c (output_func_start_profiler),
2551         tree.c (make_node),
2552         i386.c (load_pic_register): No need to ggc_strdup string constant.
2553
2554 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
2555
2556         * Makefile.in (config.status): Depend on config.gcc.
2557         * configure.in <for machine in $build $host $target>: Move
2558         contents of loop into config.gcc, removing autoconf quoting.
2559         Fix changequote bug for alpha*-*-vxworks*.
2560         * configure: Regenerate.
2561         * config.gcc: New.
2562
2563 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
2564
2565         * c-parse.in (if_prefix): Find the filename and line number at
2566         $-2 and $-1 respectively.
2567         * diagnostic.c (error_recursion): Add missing newline, use
2568         fputs, translate string.
2569
2570 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
2571
2572         * stringpool.c: New file.
2573         * ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
2574         (ggc_alloc_string): Now in stringpool.o.
2575         * ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
2576         * ggc.h: Delete prototype of ggc_add_string_root.  #define
2577         ggc_add_string_root and ggc_mark_string to nothing.  Prototype
2578         init_stringpool and stringpool_statistics.
2579         (ggc_alloc_string): Returns a const char *.
2580         * tree.c (hash_table, do_identifier_warnings): Delete.
2581         (init_obstacks): Don't initialize the identifier hash table.
2582         (get_identifier, maybe_get_identifier, start_identifier_warnings,
2583         set_identifier_size): Now in stringpool.c.
2584         * tree.h (struct tree_string): Constify pointer field.
2585         (approx_sqrt): Prototype.
2586
2587         * Makefile.in (stringpool.o): Add rule, mention in OBJS.
2588
2589         * toplev.c (approx_sqrt): New function.
2590         (compile_file): Call stringpool_statistics if mem_report is on.
2591         (main): Call init_stringpool.
2592
2593         * builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
2594         (process_directive), c-typeck.c (constructor_asmspec, struct
2595         initializer_stack, start_init), except.c (create_rethrow_ref),
2596         stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
2597         (built_in_filename), varasm,c (in_named_name,
2598         assemble_static_space, struct constant_descriptor, struct
2599         deferred_string, struct pool_constant, force_const_mem),
2600         i386.c (pic_label_name, global_offset_table_name), rs6000.c
2601         (rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
2602
2603         * c-common.c (combine_strings): Combine strings in scratch
2604         buffer, then pass to build_string.
2605         * optabs.c (init_libfuncs), profile.c (init_edge_profiler,
2606         output_func_start_profiler), stmt.c (init_stmt), alpha.c
2607         (alpha_need_linkage), arm.c (arm_encode_call_attribute),
2608         i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
2609         rs6000.c (rs6000_encode_section_info): Create string in
2610         scratch buffer, then pass to ggc_alloc_string.
2611
2612         * stmt.c (expand_asm_operands): If we must adjust the
2613         constraint strings, do so by creating a new one, not by
2614         modifying the old one in place.  Constify some char *s.
2615         * config/pa/pa.c (hppa_encode_label): Drop unnecessary second
2616         argument.  Create string in scratch buffer, then pass to
2617         ggc_alloc_string.
2618         * config/pa/pa-protos.h: Update prototype.
2619         * config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
2620         hppa_encode_label takes only one argument.
2621
2622 2000-11-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2623
2624         * mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
2625         malloc/realloc.
2626
2627         * cpplib.c (glue_header_name): Likewise.
2628
2629         * fixincl.c (run_compiles, start_fixer): Likewise.
2630
2631         * fixlib.c (load_file_data): Likewise.
2632
2633         * mkdeps.c (munge): Likewise.
2634
2635 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
2636
2637         * defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
2638         trailing ';'.  Fix formatting.
2639
2640 2000-11-16  Jim Wilson  <wilson@redhat.com>
2641
2642         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
2643         Shift masks left by one to avoid conflict.
2644
2645         * config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
2646         DECL_EXTERNAL set.
2647
2648 2000-11-16  Nick Clifton  <nickc@redhat.com>
2649
2650         * config/arm/arm.c (output_arm_prologue): Note nested functions.
2651         (arm_expand_prologue): For nested functions preserve the
2652         static chain register during stack frame creation.
2653
2654         * config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
2655         (ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
2656         with a stack frame there is a 4 byte gap between the arg
2657         pointer and the hard frame pointer (used to preserve the
2658         static chain register during stack frame creation).
2659
2660 2000-11-16  DJ Delorie  <dj@redhat.com>
2661
2662         * rtl.c (read_rtx): Provide suitable names for unnamed
2663         define_insn and define_insn_and_split patterns, based on file
2664         and line numbers.
2665
2666 2000-11-15  Neil Booth  <neilb@earthling.net>
2667
2668         * cpplib.c (start_directive, end_directive): New functions.
2669         (_cpp_handle_directive, run_directive): Use them.
2670         (_cpp_handle_directive): Don't -Wtraditional on indented
2671         null directives.
2672         (_cpp_push_buffer): Don't re-clear was_skipping.
2673         * cpplib.h (struct cpp_reader): New member la_saved.
2674         * cppmacro.c (cpp_get_token): Don't interpret _Pragma in
2675         directives.
2676
2677         gcc.dg/cpp/_Pragma1.c: Update.
2678         gcc.dg/cpp/_Pragma2.c: New test.
2679
2680 2000-11-15  Mark Mitchell  <mark@codesourcery.com>
2681
2682         * toplev.c (wrapup_global_declarations): Don't write out
2683         artificial static variables that aren't needed.
2684
2685 2000-11-15  Bernd Schmidt  <bernds@redhat.co.uk>
2686
2687         * ia64.c (struct group): New structure.
2688         (last_group): New static array.
2689         (group_idx): New static variable.
2690         (emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
2691         New static functions.
2692         (emit_insn_group_barriers): Initialize and keep track of group_idx
2693         and last_group.
2694         Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
2695         Replace all calls to emit_insn_after that emit a group barrier to use
2696         emit_group_barrier_after.
2697         * ia64.h (MASK_B_STEP): New.
2698         (other MASK_XXX macros): Renumbered.
2699         (TARGET_B_STEP): New.
2700         (TARGET_SWITCHES): Add -mb-step.
2701
2702 2000-11-15  Fred Fish  <fnf@be.com>
2703
2704         * fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
2705         machines for which fixincludes is not needed.
2706         * config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
2707
2708 2000-11-15  Jason Merrill  <jason@redhat.com>
2709
2710         * diagnostic.c (finish_abort): New fn.
2711         (fancy_abort, error_recursion): Use it.
2712         * toplev.c (crash_signal): Likewise.
2713         * diagnostic.h: Declare it.
2714
2715 2000-11-13  Andrew Haley  <aph@redhat.com>
2716
2717         * tree.c (build_type_no_quals): New function.
2718         * tree.h (build_type_no_quals): Declare.
2719         * c-common.c (c_get_alias_set): When considering type
2720         compatibility for pointer types, ignore cv-qualifiers anywhere in
2721         a pointer chain.
2722
2723 2000-11-15  Graham Stott  <grahams@redhat.com>
2724
2725         * regrename.c (scan_rtx_rtx): Skip to the next chain on
2726         encountering a terminated chain.
2727
2728 2000-11-14  Mark Mitchell  <mark@codesourcery.com>
2729
2730         * configure.in: Move check for V3 above check for C++ header-file
2731         directory.
2732         * configure: Regenerated.
2733
2734 2000-11-14  DJ Delorie  <dj@redhat.com>
2735
2736         * config/v850/v850.c: Remove obstacks.
2737
2738 Tue Nov 14 21:54:31 2000  Marek Michalkiewicz  <marekm@linux.org.pl> & Denis Chertykov  <denisc@overta.ru>
2739
2740         * config/avr/avr.c (avr_case_values_threshold): New.
2741         (avr_override_options): Set it depending on options, make it large
2742         when not optimizing to work around "unable to generate reloads".
2743
2744         * config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
2745         (EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
2746         executable if not AVR_MEGA.  Make sure jump tables are word-aligned.
2747         (JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
2748         (ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
2749         (avr_case_values_threshold): Declare as extern int.
2750         (CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
2751
2752         * config/avr/avr.md (tablejump): Removed.
2753         (*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
2754         (*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
2755         index in the table, not multiplied by 2.
2756         (casesi): Change to match the above insns.  Always enable.
2757
2758         * config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
2759         Change to expect the word address of the table, multiply it by 2
2760         here and not in the caller.  Change "adiw" to faster "inc".
2761
2762 2000-11-14  Neil Booth  <neilb@earthling.net>
2763
2764         * cppexp.c (parse_defined): Call cpp_get_token not
2765         _cpp_get_token.
2766         (lex): Similarly.
2767         * cpplex.c (cpp_output_line): Similarly.
2768         * cpplib.c (glue_header_name, do_line, do_ident,
2769         parse_answer, parse_assertion): Similarly.
2770         (_cpp_handle_diretive): Don't save to lookaheads
2771         when processing directives.
2772         * cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
2773         _cpp_get_token.
2774         (funlike_invocation_p): Don't save to lookaheads
2775         when pre-expanding arguments.
2776         (_cpp_get_token): Delete.
2777         (cpp_get_token): Merge contents of _cpp_get_token.
2778
2779 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
2780
2781         * builtins.c (expand_builtin_setjmp): Set
2782         current_function_calls_setjmp.
2783         (expand_builtin_longjmp): Set current_function_calls_longjmp.
2784
2785         * config/sparc/sparc.md (builtin_setjmp_setup): New expand.
2786         (do_builtin_setjmp_setup): New insn.
2787
2788 Tue Nov 14 12:34:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2789
2790         * tree.c (get_unwidened): Use host_integerp and tree_low_cst.
2791         (int_fits_type_p): For variable bounds, call force_fit_type.
2792
2793 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
2794
2795         * varasm.c (struct deferred_string): New structure.
2796         (const_str_htab): New variable.
2797         (STRHASH): New macro.
2798         (mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
2799         constr_str_htab_eq, const_str_htab_del): New functions.
2800         (output_constant_def): Add DEFER argument, defer string
2801         constants until mark_constant_pool time if requested.
2802         (mark_constant_pool): Walk the insn chain even if const_str_htab is
2803         not empty.
2804         (mark_constants): If a SYMBOL_REF for deferred string is found,
2805         output it and remove from hash table.
2806         (output_addressed_constants): Set DEFER to 0 in call to
2807         output_constant_def.
2808         * rtl.h (STRING_POOL_ADDRESS_P): Define.
2809         (output_constant_def): Adjust prototype.
2810         * expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
2811
2812 2000-11-14  Chandrakala Chavva  <cchavva@redhat.com>
2813
2814         * optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
2815         signed types if flag_trapv.
2816
2817 2000-11-14  Zack Weinberg  <zack@wolery.stanford.edu>
2818
2819         * tradcpp.c, tradcif.y: Update FSF mailing address, delete
2820         reference to GPLv1.
2821
2822 2000-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
2823
2824         * c-common.h (CTI_C_SIZE_TYPE): Update comment.
2825
2826 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
2827
2828         * varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
2829         to array of pool_constnat pointers.
2830         (struct pool_constant): Add next_sym and label members.
2831         (struct pool_sym): Remove.
2832         (init_varasm_status): Change pool_sym into pool_constant.
2833         (mark_pool_constant): Mark pc->label string as well.
2834         (mark_pool_sym_hash_table): Remove.
2835         (mark_varasm_status): Remove it from caller as well.
2836         (free_varasm_status): Don't free pool_sym structures.
2837         (force_const_mem): Don't allocate pool_sym structure, instead
2838         fill pool->label and chain it into rtx_sym hash table.
2839         (find_pool_constant, mark_constant_pool): Use pool_constant instead
2840         of pool_sym.
2841
2842 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
2843
2844         * reload1.c (emit_input_reload_insns): Honour forcing of constants
2845         into memory by PREFERRED_RELOAD_CLASS NO_REGS.
2846
2847 2000-11-14  Michael Matz  <matzmich@cs.tu-berlin.de>
2848
2849         * dominance.c: New file.
2850         * Makefile.in (OBJS): Add dominance.o.
2851
2852         * flow.c (compute_flow_dominators): Remove.
2853         (compute_immediate_dominators): Remove.
2854         (compute_immediate_postdominators): Remove.
2855         * basic-block.h: Remove their prototypes.
2856         (calculate_dominance_info): Add prototype.
2857
2858         * dce.c (eliminate_dead_code): Change calls to above functions.
2859         Don't compute dominators but only immediate dominators.
2860         * flow.c (flow_loops_find): Change callers.
2861         * gcse.c (compute_code_hoist_data): Likewise.
2862         * haifa-sched.c (schedule_insns): Likewise.
2863         * ifcvt.c (if_convert): Likewise.
2864         * ssa.c (convert_to_ssa): Likewise, and only compute immediate
2865         dominators.
2866
2867 2000-11-14  Richard Henderson  <rth@redhat.com>
2868
2869         * stmt.c (warn_if_unused_value): Don't warn if the expression
2870         has side effects.
2871
2872         * c-typeck.c (c_sizeof): Fold result to c_size_type_node.
2873         (c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
2874
2875 2000-11-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2876
2877         * loop.c (basic_induction_var): Revert accidental checkin.
2878
2879 2000-11-13  Hans-Peter Nilsson  <hp@axis.com>
2880
2881         * c-lex.c (cb_leave_file): Harmonize conditions and order of
2882         statements to those of process_directive for (action == act_pop).
2883
2884         * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
2885
2886         * local-alloc.c (equiv_init_movable_p): References to CC0 are not
2887         movable.
2888
2889 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2890
2891         * c-parse.in (stmts_and_decls): Deprecate use of label at end of
2892         compound statement.
2893
2894 2000-11-13  Neil Booth  <neilb@earthling.net>
2895
2896         * cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
2897         cases return without MI check.
2898         * cpplib.c (do_diagnostic): Take boolean of whether to
2899         print the directive name.
2900         (do_error, do_warning): Update.
2901         (do_pragma_dependency): Use it.
2902         * cpplib.h (VARARGS_FIRST): Delete.
2903         (struct cpp_token): Delete integer.
2904         * cppmacro.c (enter_macro_context): Move disabled check
2905         to _cpp_get_token.
2906         (_cpp_get_token): Simplify into a single loop.
2907
2908 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
2909
2910         * configure.in:  Use 'test -f' not '[ -e'.
2911         * configure: Regenerated.
2912
2913 2000-11-13  DJ Delorie  <dj@redhat.com>
2914
2915         * config/mn10300/mn10300.md (store_movm): Note which registers are
2916         really used or clobbered.
2917
2918 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2919
2920         * c-parse.in (ends_in_label): Remove from %union and %type.
2921         (decls, stmts, lineno_stmt_or_labels, xstmts,
2922         lineno_stmt_or_label, stmt_or_label): Remove.
2923         (stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
2924         lineno_stmt_decl_or_labels_ending_decl,
2925         lineno_stmt_decl_or_labels_ending_label,
2926         lineno_stmt_decl_or_labels_ending_error,
2927         lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
2928         lineno_stmt, lineno_label): New.
2929         (compstmt_nostart): Use compstmt_contents_nonempty.
2930
2931 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2932
2933         * c-common.c (boolean_increment): New function.
2934         * c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
2935         CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
2936         (c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
2937         (boolean_increment): Declare.
2938         * c-convert.c (convert): Allow for BOOLEAN_TYPE.
2939         * c-decl.c (init_decl_processing): Create boolean nodes.
2940         (finish_struct): Allow for _Bool bitfields.
2941         * c-parse.in (reswords): Add _Bool.
2942         (rid_to_yy): Allow for RID_BOOL.
2943         * c-typeck.c (default_conversion): Make booleans promote to int.
2944         (convert_arguments, build_unary_op, build_modify_expr,
2945         convert_for_assignment): Allow for booleans.
2946         * ginclude/stdbool.h: Make conforming to C99.
2947
2948 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2949
2950         * c-parse.in (c99_block_start, c99_block_end,
2951         c99_block_lineno_labeled_stmt): New.
2952         (simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
2953         (stmt): Split off selection and iteration statements into...
2954         (select_or_iter_stmt): New.  Use c99_block_lineno_labeled_stmt.
2955
2956 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2957
2958         * invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
2959         -time): Update.
2960
2961 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
2962
2963         * arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
2964         Rewrite to avoid use of match_dup.  Don't try to tie registers that
2965         are not in the same mode.
2966
2967 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2968
2969         * invoke.texi: Update lists of languages and suffixes supported.
2970
2971 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2972
2973         * configure.in: Take toplevel configure arguments from the
2974         environment to create configargs.h and substitute
2975         gcc_config_arguments, taking account of any existing configargs.h
2976         if reconfiguring.
2977         * configure: Regenerate.
2978         * gccbug.in: Include toplevel configure arguments in gccbug.
2979
2980 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
2981
2982         * varasm.c (struct constant_descriptor): Put CONTENTS inside a
2983         union to make it well-aligned.  Update all uses.
2984
2985 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2986
2987         * c-parse.in (initelt): Give appropriate pedantic warnings,
2988         depending on flag_isoc99, for non-ISO syntax and for C99 syntax
2989         outside C99 mode.
2990         (designator): If pedantic, pedwarn for a designator specifying a
2991         range of elements.
2992         * c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
2993         these cases.
2994         * extend.texi: Document the C99 syntax as the preferred syntax,
2995         and the pre-2.5 syntax as obsolete.  Mention use of designator
2996         lists for nested subobjects.
2997
2998 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
2999
3000         * diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
3001         Add ATTRIBUTE_PRINTF.
3002         * tradcpp.c (v_message, warning, error, fatal, error_with_line):
3003         Add ATTRIBUTE_PRINTF*.
3004
3005 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
3006
3007         * function.c (assign_parms): When calling put_var_into_stack, make
3008         sure that there are no hidden pending sequences.
3009
3010 2000-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3011
3012         * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
3013         BUILT_IN_RINDEX.  Add missing checks for BUILT_IN_STRCHR and
3014         BUILT_IN_STRRCHR.
3015
3016         * builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
3017
3018         * c-common.c (c_common_nodes_and_builtins): Declare index and
3019         rindex when nonansi builtins are allowed.
3020
3021         * extend.texi (index, rindex): Document new builtins.
3022
3023 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
3024
3025         * configure.in: Turn on libstdc++ V3 by default.
3026         * configure: Regenerated.
3027
3028         * fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
3029
3030 2000-11-12  Jakub Jelinek  <jakub@redhat.com>
3031
3032         * reload1.c (set_label_offsets): Go inside of PARALLELs.
3033
3034 2000-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3035
3036         * invoke.texi: Clean up option summary.
3037
3038 2000-11-12  Nick Clifton  <nickc@redhat.com>
3039
3040         * config/mcore/mcore.c: Fix comment formating, and adjust sequence
3041         of #include headers.
3042
3043 2000-11-12  Marc Espie <espie@openbsd.org>
3044
3045         * configure.in: Fix filds test.
3046         * configure: Regen.
3047
3048 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
3049
3050         * jump.c (delete_computation): Don't assume that just becuase an
3051         instruction sets a register, that register is dead.
3052
3053 2000-11-12  Neil Booth  <neilb@earthling.net>
3054
3055         * cppexp.c: Don't worry about pfile->skipping.
3056         * cpplib.c (struct if_stack): Make was_skipping unsigned char.
3057         (cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
3058         for handled directives.
3059         (skip_rest_of_line): Use _cpp_lex_token after popping contexts
3060         and releasing lookaheads.
3061         (do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
3062         (do_else, do_elif, push_conditional): Update logic.
3063         (do_endif): Set buffer->was_skipping rather than pfile->skipping.
3064         (unwind_if_stack): Inline into cpp_pop_buffer.
3065         (cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
3066         * cpplex.c (_cpp_lex_token): Clear skipping on EOF.  Handle
3067         multiple-include optimisation.
3068         * cpplib.h (struct cpp_buffer): New member was_skipping.
3069         * cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping.  This
3070         works because skipping == 0 in directives.
3071         (_cpp_release_lookahead): Renamed from release_lookahead.
3072         (cpp_get_token): No need to check skipping as _cpp_get_token does
3073         this for us.  No need to handle MI optimisation.
3074
3075 Sat Nov 11 21:14:02 2000  Mark P Mitchell  <mark@codesourcery.com>
3076
3077         * fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
3078         declarations that use `__MATH_EXCEPTION' in their prototypes, too.
3079         * fixinc/fixincl.x: Regenerated.
3080
3081 2000-11-11  Bruce Korb  <bkorb@gnu.org>
3082
3083         * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
3084         (avoid_wchar_t_type): ditto
3085         * fixinc/fixinc.irix: obsoleted
3086
3087 2000-11-11  Zack Weinberg  <zack@wolery.stanford.edu>
3088
3089         * configure.in: Don't add $outputs to all_lang_makefiles.  Add
3090         $srcdir/$s/Makefile.in if it exists.
3091         * configure: Regenerate.
3092
3093 Sat Nov 11 18:41:20 2000  Mark P Mitchell  <mark@codesourcery.com>
3094
3095         * fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
3096
3097 2000-11-11  Jason Merrill  <jason@redhat.com>
3098
3099         * function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
3100         give the parm a register and then call put_var_into_stack.
3101         * stmt.c (expand_decl): Likewise.
3102
3103 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3104
3105         * gcc.texi: Adjust wording.
3106
3107 2000-11-11  Mark Mitchell  <mark@codesourcery.com>
3108
3109         * fixinc/inclhack.def (avoid_wchar_t_type): New fix.
3110         * fininc/fixincl.x: Regenerated.
3111
3112 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3113
3114         * invoke.texi: Correct spelling of -foptimize-register-move.
3115
3116 2000-11-11  Neil Booth  <neilb@earthling.net>
3117
3118         Remove CPP_PLACEMARKERs.
3119
3120         * cppexp.c (lex): Don't handle CPP_PLACEMARKER.
3121         * cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol
3122         * cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer):
3123                    Similarly.
3124         * cpplib.h: Remove CPP_PLACEMARKER.
3125         (struct lexer_state): Rename skip_newlines to next_bol.
3126         * cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER.
3127         Simplify prev_white handling as a result.
3128         (paste_all_tokens): Don't worry about CPP_PLACEMARKERs.
3129         (parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs.
3130         (parse_args): Similarly.  Update argument count tests.
3131         (enter_macro_context): Return 2 to indicate an empty macro.
3132         (replace_args): Don't bother pre-expanding an empty argument.
3133         Handle placemarkers and ## extension during pre-expansion.
3134         (cpp_get_token): Handle empty macro expansions.  Don't worry
3135         about CPP_PLACEMARKERs.
3136         (_cpp_create_definition): Empty macros are now empty.
3137         (cpp_macro_defintion): Don't special case empty macros.
3138         * scan-decls.c: Don't bother with CPP_PLACEMARKERs.
3139         * c-lex.c: Similarly.
3140
3141 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3142
3143         * gcc.texi, invoke.texi: Add new section discussing language
3144         standards; link to it where appropriate; refer to ISO C instead of
3145         ANSI C.
3146
3147 2000-11-11  Alexandre Oliva  <aoliva@redhat.com>
3148
3149         * builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
3150         into account.
3151
3152         * config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
3153         modes.
3154
3155 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3156
3157         * gcc.texi, gcov.texi: Update dates and version numbers.
3158
3159 2000-11-10  Zack Weinberg  <zack@wolery.stanford.edu>
3160
3161         * configure.in: Remove AC_PROG_LEX and AC_PROG_YACC.  Look for
3162         flex and bison, specifically, first in a unified build and
3163         then installed on the system.
3164         * Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@.  Rename
3165         LEXFLAGS to FLEXFLAGS.  Adjust ORDINARY_FLAGS_TO_PASS to
3166         match.
3167
3168         (collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
3169         cppdefault.o): Remove pointless sed munging of source file
3170         name.
3171
3172 2000-11-10  Bernd Schmidt  <bernds@redhat.co.uk>
3173
3174         * reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER
3175         for address reloads.  Push replacements for REG_INC notes.
3176         (regno_clobbered_p): New arg SETS.  Examine SETs if it's nonzero.  All
3177         callers changed.
3178         * reload1.c (choose_reload_regs): Registers set in the insn can't be
3179         used for RELOAD_OTHER reloads.
3180
3181 2000-11-10  Mark Mitchell  <mark@codesourcery.com>
3182
3183         * c-dump.h: New file.
3184
3185 2000-11-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3186
3187         * alpha.c (check_float_value): Use memcpy, not bcopy.
3188         * arm.c (output_move_double): Likewise.
3189         * arm.md: Likewise.
3190         * m88k.c (legitimize_operand): Likewise.
3191         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
3192         * m88k.md: Likewise.
3193         * mips.c (override_options): Likewise.
3194         * mips.md: Likewise.
3195         * romp.c (output_fpops): Likewise.
3196         * rs6000.c (rs6000_override_options): Likewise.
3197         * sh.md: Likewise.
3198         * vax.c (check_float_value): Likewise.
3199
3200         * emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
3201         * expmed.c (synth_mult): Likewise.
3202         * final.c (add_bb_string): Likewise.
3203         * genattr.c (main): Likewise.
3204         * genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
3205         Likewise.
3206         * jump.c (thread_jumps): Likewise.
3207         * prefix.c (save_string): Likewise.
3208         * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
3209         * regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
3210         * reload1.c (reload, eliminate_regs): Likewise.
3211
3212 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3213
3214         * gcc.texi (Service): Update to reflect current practice and
3215         location of the GNU service directory.
3216
3217 2000-11-09  Bernd Schmidt  <bernds@redhat.co.uk>
3218
3219         * regrename.c (build_def_use): Mark contents of REG_INC notes as
3220         needing replacement.
3221
3222         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit
3223         a no-op move if regs are equal.
3224         * toplev.c (rest_of_compilation): Do the noop moves elimination pass
3225         when calling jump after post-reload splitting.
3226
3227 2000-11-09  Jan van Male  <jan.vanmale@fenk.wau.nl>
3228
3229         * c-tree.texi: Fix typos.
3230         * extend.texi: Likewise
3231         * gcov.texi: Likewise
3232         * rtl.texi: Likewise
3233         * tm.texi: Likewise
3234
3235 2000-11-09  Hans-Peter Nilsson  <hp@axis.com>
3236
3237         * c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
3238         in_system_header and flags[1] before dereferencing flags[2].
3239
3240 2000-11-09  Matthew Hiller <hiller@redhat.com>
3241
3242         * reload1.c (reload_combine): Fixed calculation of
3243         first_index_reg, last_index_reg.
3244
3245 2000-11-09  Mark Mitchell  <mark@codesourcery.com>
3246
3247         * c-dump.c (dequeue_and_dump): Dump function bodies.
3248
3249         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
3250         (c-dump.o): New target.
3251         * c-common.h (flag_dump_translation_unit): New variable.
3252         (C_TYPE_QUALS): New macro.
3253         (strip_array_types): New function.
3254         (DECL_C_BIT_FIELD): New macro.
3255         (SET_DECL_C_BIT_FIELD): Likewise.
3256         (CLEAR_DECL_C_BIT_FIELD): Likewise.
3257         (dump_info_p): New typedef.
3258         (dump_tree_fn): Likewise.
3259         (lang_dump_tree): New variable.
3260         (dump_node_to_file): New function.
3261         * c-common.c (flag_dump_translation_unit): Define it.
3262         (strip_array_types): New function.
3263         * c-decl.c (c_decode_option): Handle -fdump-translation-unit.
3264         * c-lang.c (finish_file): Call dump_node_to_file if
3265         flag_dump_translation_unit.
3266         * c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
3267         * c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
3268         * c-dump.c: New file.
3269
3270 2000-11-09  Christopher Faylor <cgf@cygnus.com>
3271
3272         * config/i386/cygwin.h: Add mingw startfile prefix.
3273
3274 2000-11-09  Richard Henderson  <rth@redhat.com>
3275
3276         * flow.c (invalidate_mems_from_set): Split out from ...
3277         (mark_set_1): ... here.
3278         (try_pre_increment_1): Use it.  Use propagate_block_delete_insn
3279         instead of turning insn into a NOTE_INSN_DELETED.
3280
3281 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
3282
3283         * extend.texi, invoke.texi: Move documentation of builtin versions
3284         of C library functions to one place and update.
3285
3286 2000-11-09  Richard Henderson  <rth@redhat.com>
3287
3288         * fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
3289         the types themselves to discover type equivalence.
3290
3291 2000-11-09  Mike Stump  <mrs@wrs.com>
3292
3293         * Makefile.in (distclean): Remove a few extra leftovers.
3294
3295 2000-11-09  Richard Henderson  <rth@redhat.com>
3296
3297         * recog.c (validate_replace_rtx_1): Consider subregs when
3298         replacing a register with a constant inside a sign/zero_extend.
3299
3300         * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
3301
3302 2000-11-09  Geoffrey Keating  <geoffk@redhat.com>
3303
3304         * c-decl.c (finish_struct): When a structure is completed,
3305         check all its variant types for completeness.
3306
3307 2000-11-09  Neil Booth  <neilb@earthling.net>
3308
3309         * cpphash.c: Move cpp_defined here from cpplib.c.
3310         * cpplib.c: Update comments, move cpp_defined to cpphash.c.
3311         * cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
3312         * cppmacro.c (cpp_get_token): Update comments, no need now
3313         to catch the CPP_EOF meaning EOL case.
3314
3315 2000-11-08  Geoffrey Keating  <geoffk@redhat.com>
3316
3317         * config/sparc/sparc.c (sparc_va_arg): When the required alignment
3318         is more than that provided, copy to a temporary.
3319
3320 2000-11-09  Alexandre Oliva  <aoliva@redhat.com>
3321
3322         * mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
3323         interpreting $out as a macro assignment.
3324         * Makefile.in (T_TARGET): New auxiliary macro and target.
3325         (all): Add a target right in the beginning, so that we don't build
3326         T_TARGET by default.
3327
3328 2000-11-09  Graham Stott  <grahams@redhat.com>
3329
3330         * config/i386/i386.md (mmx_pinsrw): Output operands in correct
3331         order for -mintel-syntax.  Remove comment now that the operand
3332         order has been checked.
3333         (mmx_pextrw): Likewise.
3334         (mmx_pshufw): Likewise.
3335
3336 2000-11-09  Jakub Jelinek  <jakub@redhat.com>
3337
3338         * builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
3339         (c_getstr): New function.
3340         (expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
3341         If both arguments are constant string, optimize out.
3342         (expand_builtin_strchr, expand_builtin_strrchr): New functions.
3343         (expand_builtin_strpbrk): Use c_getstr, do nothing if
3344         -fcheck-memory-usage.
3345         (expand_builtin_fputs): Likewise.
3346         (expand_builtin_strcmp): Add MODE argument.
3347         Use even if !HAVE_cmpstrsi.
3348         Optimize the case when both arguments are constant strings.
3349         (expand_builtin): Adjust expand_builtin_strcmp caller.
3350         Call expand_builtin_strchr and expand_builtin_strrchr.
3351         * c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
3352         builtins.
3353         * builtins.def (BUILT_IN_STRRCHR): Add.
3354
3355 2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3356
3357         * fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
3358
3359 2000-11-09  Joseph S. Myers  <jsm28@cam.ac.uk>
3360
3361         * calls.c (expand_call, emit_library_call_value_1), collect2.c
3362         (scan_prog_file), config/a29k/a29k.c (print_operand),
3363         config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
3364         instead of bcopy ().
3365         * real.h: Use memcmp () instead of bcmp ().
3366         * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
3367         (split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
3368         ultrasparc_sched_init, ultrasparc_sched_reorder),
3369         config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
3370         instead of bzero ().
3371         * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
3372         instead of rindex ().
3373         * configure.in: Don't check for bzero, bcmp, index or rindex.
3374         * configure, config.in: Regenerate.
3375         * system.h: Don't include declarations for bzero, bcmp, index or
3376         rindex.
3377         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
3378         bzero, bcmp, index or rindex.
3379
3380 Wed Nov  8 21:58:20 2000  Christopher Faylor <cgf@cygnus.com>
3381
3382         * config/i386/cygwin.h: Add -no-win32 switch.  Separate -mno-cygwin
3383         include and library paths from -mcygwin case.  Parameterize some
3384         declarations to avoid warnings.  Use standard locations for include and
3385         lib dirs.
3386
3387 2000-11-08  Nick Clifton  <nickc@redhat.com>
3388
3389         * config/arm/arm.md (mulsidi3adddi): Change output operand
3390         constraint from "=&" to "+&".
3391         (umulsidi3adddi): Change output operand constraint from "=&" to
3392         "+&".
3393
3394 2000-11-08  Richard Henderson  <rth@redhat.com>
3395
3396         * flow.c (init_propagate_block_info): Protect the rtx stored in
3397         mem_set_list from modification by find_auto_inc.
3398         (mark_set_1): Likewise.
3399
3400 2000-11-08  Neil Booth  <neilb@earthling.net>
3401
3402         Move directive handling into the lexer itself.
3403
3404         * cpplex.c (_cpp_lex_token): Handle directives directly.
3405         In the case of a directive interrupting a function-like
3406         macro invocation, use extra_char since read_ahead is
3407         used to store the '#'.  Return a CPP_EOF in this case.
3408         * cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
3409         (cpp_get_token): Don't handle directives here.
3410         * cpplib.h: Remove CPP_DHASH token type.
3411
3412 Wed Nov  8 21:53:41 MET 2000  Jan Hubicka  <jh@suse.cz>
3413
3414         * regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
3415         formed using PRE_MODIFY too.
3416
3417 2000-11-08  Mark Mitchell  <mark@codesourcery.com>
3418
3419         * c-tree.texi (VAR_DECL): Describe representation of GCC's
3420         extension for placing variables in particular registers.
3421
3422         * c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
3423         unprototyped C functions with no parameters.
3424
3425 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
3426
3427         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
3428         before passing to fprintf.
3429
3430 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
3431
3432         * function.c (expand_function_start): Cast GET_MODE_SIZE to
3433         HOST_WIDE_INT before negating it.
3434
3435 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
3436
3437         * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
3438         passed in multiple non-contiguous locations.
3439
3440 2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3441
3442         * README.gnat: Remove file.
3443
3444 2000-11-08  Alexandre Oliva  <aoliva@redhat.com>
3445
3446         * mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts
3447         in-place.
3448
3449 2000-11-07  Richard Henderson  <rth@redhat.com>
3450
3451         * dwarfout.c (INSN_LABEL_FMT): Remove.
3452         (output_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
3453         (dwarfout_label): Remove.
3454         * dwarfout.h: Remove it's prototype.
3455         * dwarf2out.c (INSN_LABEL_FMT): Remove.
3456         (gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
3457         (dwarf2out_label): Remove.
3458         * dwarf2out.h: Remove it's prototype.
3459         * final.c (final_scan_insn): Don't call dwarf[2]out_label.
3460
3461 2000-11-07  Richard Henderson  <rth@redhat.com>
3462
3463         * config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary
3464         search on the unwind region section.
3465
3466         * config/ia64/ia64.md (movbi): Add r/r alternative.
3467         (cmovdi_internal_astep): Describe all combinations of register
3468         classes for sources & destinations; remove matching constraints.
3469         (cmovdi_internal): Likewise.
3470
3471         * gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed.
3472
3473 2000-11-07  Richard Henderson  <rth@redhat.com>
3474
3475         * c-lang.c (start_cdtor, finish_cdtor): New functions.
3476         (finish_file): Use them in building constructor/destructor functions.
3477
3478         * config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH,
3479         LD_FINI_SWITCH): Move ...
3480         * config/alpha/osf.h: ... here.
3481         * config/alpha/alpha-interix.h: Don't undef them.
3482
3483 2000-11-07  Jeffrey Oldham  <oldham@oz.codesourcery.com>
3484
3485         * config/mips/t-iris6 (FPBIT): New.  Added so that __unorddf2 is
3486         included in libgcc.a.
3487         (DPBIT): Likewise.
3488         (dp-bit.c): Likewise.
3489         (fp-bit.c): Likewise.
3490
3491 2000-11-07  Nick Clifton  <nickc@redhat.com>
3492
3493         * config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab.
3494         (INTERNAL_ASM_OP): Add missing tab.
3495
3496 2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3497
3498         * alias.c (init_alias_analysis), calls.c (expand_call,
3499         emit_library_call_value_1), combine.c (init_reg_last_arrays),
3500         cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
3501         (init_output_buffer, set_diagnostic_context), dwarf2out.c
3502         (equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
3503         (init_emit_once), fold-const.c (mul_double, div_and_round_double),
3504         function.c (assign_parms), gcse.c (compute_can_copy,
3505         alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
3506         compute_hash_table, compute_set_hash_table,
3507         compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
3508         (global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
3509         clear_units, schedule_block), integrate.c (initialize_for_inline,
3510         expand_inline_function), jump.c (thread_jumps), local-alloc.c
3511         (local_alloc), loop.c (combine_movables, count_loop_regs_set,
3512         load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
3513         regclass.c (init_reg_sets, init_reg_sets_1, regclass,
3514         record_reg_classes, allocate_reg_info), reload.c
3515         (get_secondary_mem, remove_address_replacements, find_reloads),
3516         reload1.c (reload, set_initial_label_offsets, finish_spills,
3517         reload_as_needed, choose_reload_regs_init,
3518         reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
3519         (sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
3520         (rename_registers), stmt.c (expand_end_case), unroll.c
3521         (unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
3522         () instead of bzero ().
3523
3524 2000-11-07  Neil Booth  <neilb@earthling.net>
3525
3526        * cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB.
3527
3528 2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3529
3530         * c-common.c (combine_strings): Only warn about long strings for C.
3531
3532 Tue Nov  7 19:44:30 2000  J"orn Rennecke <amylaar@redhat.com>
3533
3534         * combine.c (distribute_notes): Fix typo in last change.
3535
3536 2000-11-07  Geoff Keating  <geoffk@redhat.com>
3537
3538         * config/rs6000/rs6000.md (movdi_internal32+1): Use
3539         operand_subreg_force rather than gen_rtx_SUBREG.
3540         (movdi_internal32+2): Likewise.
3541
3542 2000-11-07  Philip Blundell  <philb@gnu.org>
3543
3544         * configure.in (arm*-*-linuxaout*): Obsolete, deleted.
3545         * config/arm/linux-aout.h: Likewise.
3546         * configure: Regenerate.
3547
3548 2000-11-07  Philipp Thomas  <pthomas@suse.de>
3549
3550         * ABOUT-GCC-NLS: Remove the patch for gettext as it has been
3551         accepted my the gettext maintainer.
3552
3553 2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3554
3555         * builtins.c (expand_builtin_strpbrk): New function.
3556         (expand_builtin): Handle BUILT_IN_STRPBRK.
3557
3558         * builtins.def (BUILT_IN_STRPBRK): New entry.
3559
3560         * c-common.c (c_common_nodes_and_builtins): Declare builtin
3561         strpbrk.
3562
3563 2000-11-07  David O'Brien  <obrien@dragon.nuxi.com>
3564
3565         * config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
3566         * POTFILES.in: Add config/alpha/freebsd.h
3567         * configure.in: Add alpha*-freebsd support.
3568         * configure: Regenerate.
3569
3570 2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3571
3572         * tree.c (build_common_tree_nodes_2): Make va_list_type_node be a
3573         copy of ptr_type_node rather than ptr_type_node itself.
3574
3575 Tue Nov  7 06:29:24 2000  J"orn Rennecke <amylaar@redhat.com>
3576
3577         * combine.c (recog_for_combine): Allocate uninitialized vector with
3578         rtvec_alloc.
3579         * recog.c (apply_change_group): Likewise.
3580
3581 Tue Nov  7 06:24:02 2000  J"orn Rennecke <amylaar@redhat.com>
3582
3583         * flow.c (verify_local_live_at_start): Back out last change.
3584         * combine.c (distribute_notes): When parts of a hard reg are
3585         neither set nor referenced in PLACE, search backwards for a
3586         place to put a REG_UNUSED note; if none found, ask for flow
3587         info refresh.
3588
3589 Mon Nov  6 20:08:13 2000  J"orn Rennecke <amylaar@redhat.com>
3590
3591         * reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL
3592         with (clobber (match_scratch...)).
3593
3594 2000-11-06  Neil Booth  <neilb@earthling.net>
3595
3596         * c-lex.c (init_c_lex): If cpp_start_read fails, exit with
3597         error status.
3598
3599 2000-11-06  Neil Booth  <neilb@earthling.net>
3600
3601         * tradcpp.c (special_symbol): Assign an null string rather
3602         than writing to an unallocated buffer.
3603
3604 2000-11-06  Neil Booth  <neilb@earthling.net>
3605
3606         * cpplex.c (_cpp_equiv_tokens): Check arg_no in the
3607         CPP_MACRO_ARG case.
3608
3609 2000-11-06  Neil Booth  <neilb@earthling.net>
3610
3611         * c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or
3612         tok.val.arg_no as appropriate.
3613         * cppexp.c (lex): Similarly.
3614         * cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token,
3615         cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly.
3616         * cppmacro.c (stringify_arg, replace_args, lex_expansion_token,
3617         cpp_macro_definition): Similarly.
3618         * cpplib.h (struct cpp_token): Replace aux with c and arg_no.
3619
3620 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
3621
3622         * config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
3623         operands[1] is constant, calculate the sum and generate movdi.
3624         (addsi3): Similarly.  Use SImode in call to arith_4096_operand.
3625         (subsi3): Use SImode in call to arith_4096_operand.
3626
3627 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
3628
3629         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
3630         adjust %o1, not %o0 if the return type is large structure.
3631
3632 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
3633
3634         * config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
3635         update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
3636
3637 Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz  <marekm@linux.org.pl>
3638
3639         * expmed.c (expand_divmod): For signed divide by 2, prefer
3640         a branch and fewer shifts if branches are very cheap.
3641
3642 2000-11-05  Joseph S. Myers  <jsm28@cam.ac.uk>
3643
3644         * Makefile.in: Remove all targets related to building
3645         distributions and diffs, or INSTALL.
3646         * INSTALL, install1.texi: Remove.
3647         * configure.in: Remove mention of distdir.
3648         * configure: Regenerate.
3649         * objc/Make-lang.in: Remove mention of distdir.
3650
3651 2000-11-04  Neil Booth  <neilb@earthling.net>
3652
3653         * cpp.texi: Update for _Pragma.
3654
3655 2000-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
3656
3657         * gcc.texi (Contributing): Update URL for projects web page.
3658
3659 2000-11-04  Neil Booth  <neilb@earthling.net>
3660
3661         * cpplex.c (parse_string): Don't allow multiline strings in
3662         #include family directives.
3663
3664 2000-11-04  Neil Booth  <neilb@earthling.net>
3665
3666         * cpplib.c (do_line): Only warn pedantically if not reading
3667         preprocessed input.
3668
3669 2000-11-04  Alexandre Oliva  <aoliva@redhat.com>
3670
3671         * calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of
3672         RETURN_POPS_ARGS().
3673
3674 2000-11-03  Zack Weinberg  <zack@wolery.stanford.edu>
3675
3676         * builtins.c (expand_builtin_strlen): Remove unused mode
3677         argument.
3678         * gcc.c (process_command): Remove unused variable.
3679         * fold-const.c: Include expr.h.
3680         * recog.c: Include reload.h.
3681         * Makefile.in (recog.o, fold-const.o): Update deps.
3682
3683 2000-11-02  Geoffrey Keating  <geoffk@cygnus.com>
3684
3685         * fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'.
3686
3687 Fri Nov  3 13:41:04 2000  Mark P Mitchell  <mark@codesourcery.com>
3688
3689         * config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static
3690         handling.
3691         (STARTFILE_SPEC): Likewise.
3692         (LINK_SPEC): Likewise.
3693
3694 2000-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3695
3696         * Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h.
3697         (toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h.
3698         (simplify-rtx.o): Likewise for $(GGC_H)/ggc.h.
3699
3700 2000-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
3701
3702         * c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c
3703         (dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks,
3704         perm_calloc, get_identifier, maybe_get_identifier,
3705         real_value_from_int_cst, simple_cst_equal), varasm.c
3706         (assemble_name, assemble_real, immed_real_const_1,
3707         compare_constant_1, decode_rtx_const, output_constant_pool): Use
3708         strrchr () instead of rindex ().  Use memcmp () instead of bcmp
3709         ().  Use memcpy () instead of bcopy ().  Use memset () instead of
3710         bzero ().
3711
3712 2000-11-03  Nathan Sidwell  <nathan@codesourcery.com>
3713
3714         * cppfiles.c (open_file): If already read, then don't reopen.
3715         Immediately close an empty file.
3716
3717 2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
3718
3719         * expr.h (fold_builtin): Move declaration...
3720         * tree.h (fold_builtin): ... here.
3721
3722 Fri Nov  3 05:41:07 2000  J"orn Rennecke <amylaar@redhat.com>
3723
3724         * flow.c (verify_local_live_at_start): Allow hard regs to die.
3725
3726 2000-11-02  Neil Booth  <neilb@earthling.net>
3727
3728 config:
3729         * a29k/a29k.h, a29k/unix.h, a29k/vx29k.h,
3730         alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h,
3731         alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h,
3732         alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h,
3733         arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
3734         arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h,
3735         c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h,
3736         elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h,
3737         i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h,
3738         i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h,
3739         i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h,
3740         i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h,
3741         i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h,
3742         i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h,
3743         i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
3744         i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h,
3745         i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h,
3746         i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h,
3747         i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h,
3748         i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h,
3749         i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h,
3750         ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h,
3751         m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h,
3752         m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h,
3753         m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h,
3754         m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h,
3755         m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h,
3756         m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h,
3757         m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h,
3758         m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h,
3759         m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h,
3760         m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h,
3761         mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h,
3762         mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h,
3763         mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h,
3764         mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h,
3765         mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h,
3766         mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h,
3767         ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h,
3768         ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h,
3769         pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h,
3770         pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h,
3771         romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h,
3772         rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h,
3773         rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h,
3774         rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h,
3775         sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h,
3776         sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h,
3777         sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h,
3778         sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h,
3779         sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h,
3780         sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h,
3781         sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h,
3782         v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h,
3783         vax/vaxv.h, vax/vms.h, we32k/we32k.h
3784
3785         Replace -A() with -A=, the new assertion syntax.
3786
3787 Thu Nov  2 21:52:35 2000  J"orn Rennecke <amylaar@redhat.com>
3788
3789         * combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 /
3790         elim_i1.
3791         In REG_DEAD handling: When handling parts of multi-hard-reg hard
3792         registers, increment the loop counter by the size of the parts;
3793         use recursion to handle individual parts.
3794
3795 2000-11-02  Neil Booth  <neilb@earthling.net>
3796
3797         * configure.in: Make integrated CPP the default.
3798         * configure: Regenerate.
3799
3800 Thu Nov  2 19:20:12 2000  J"orn Rennecke <amylaar@redhat.com>
3801
3802         * reload.c (find_equiv_reg): Test all hard registers for membership
3803         in the requested class.
3804
3805 2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3806
3807         * collect2.c (main, write_c_file_stat), gcc.c (translate_options,
3808         process_command, main), gcov.c (open_files, output_data), tlink.c
3809         (frob_extension, scan_linker_output), toplev.c
3810         (file_name_nondirectory): Use strchr () and strrchr () instead of
3811         index () and rindex ().
3812
3813 2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
3814
3815         * c-common.c (get_flag_spec, check_format_info_main,
3816         check_format_types): Use strchr () instead of index ().  Compare
3817         against error_mark_node instead of comparing the TREE_CODE against
3818         ERROR_MARK.
3819
3820 2000-11-02  Zack Weinberg <zackw@Stanford.EDU>
3821
3822         Integrated CPP.
3823
3824         * c-lex.c (init_c_lex): Update cpp_start_read call.
3825         (cb_ident): Update for new callback prototype.
3826         (cb_def_pragma): Update for new cpp_get_token prototype.
3827         (c_lex): Similarly.  Use cpp_get_line.
3828
3829         * c-parse.in (finish_parse): Update for new cpp_finish
3830         prototype.
3831
3832         * cp/lex.c (finish_parse): Similarly.
3833
3834 2000-11-01  Geoff Keating  <geoffk@cygnus.com>
3835
3836         * machmode.def: Add V16QImode.
3837
3838 2000-11-01  Richard Henderson  <rth@redhat.com>
3839
3840         * dwarf2out.c (loc_descriptor_from_tree): Check for null result
3841         from rtl_for_decl_location.
3842         (add_location_or_const_value_attribute): Likewise.
3843
3844 2000-11-01  Neil Booth  <neilb@earthling.net>
3845
3846         * cpplib.c (run_directive): Use correct line number for output
3847         of _Pragma.  Remember any in-progress directive.
3848
3849         * gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests.
3850
3851 2000-11-01  Richard Henderson  <rth@redhat.com>
3852
3853         * stmt.c (expand_start_null_loop): Set continue_label.
3854
3855 2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
3856
3857         * builtins.c (fold_builtin_constant_p, fold_builtin): New functions.
3858         (expand_builtin_constant_p): Move parts of the code into
3859         fold_builtin_constant_p.
3860         (expand_builtin_strlen): Move parts of the code into fold_builtin.
3861         * expr.h (fold_builtin): Declare.
3862         * fold-const.c (fold): Handle builtin calls.
3863
3864         * c-typeck.c (build_function_call): Call fold on the CALL_EXPR.
3865
3866 2000-11-01  Richard Henderson  <rth@redhat.com>
3867
3868         * stmt.c (expand_start_null_loop): New.
3869         (expand_end_null_loop): New.
3870         * c-semantics.c (genrtl_do_stmt): Use them.
3871         * tree.h: Declare them.
3872
3873 2000-11-01  Richard Henderson  <rth@redhat.com>
3874
3875         * cppmain.c (scan_buffer): Don't avoid paste for assembly.
3876
3877 2000-11-01  Neil Booth  <neilb@earthling.net>
3878
3879         * c-parse.in (_yylex): Remove CPP_BACKSLASH case.
3880         * cp/spew.c: Similarly.
3881         * cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER.
3882         * cppmacro.c (stringify_arg): Similarly.
3883         * cpplib.h (CPP_BACKSLASH): Delete.
3884
3885 2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3886
3887         * builtins.c (expand_builtin_strstr): New function.
3888         (expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR.
3889
3890         * builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries.
3891
3892         * c-common.c (c_common_nodes_and_builtins): Declare builtin strstr
3893         and builtin strchr.
3894
3895 2000-10-31  Richard Henderson  <rth@redhat.com>
3896
3897         * config/i386/i386.c (fcmov_comparison_operator): Check for
3898         CCFPmode or CCFPUmode instead of CCmode.
3899         (ix86_expand_fp_movcc): Call ix86_expand_setcc for most
3900         unordered operations as well.
3901
3902 2000-10-31  Richard Henderson  <rth@redhat.com>
3903
3904         * c-semantics.c (genrtl_do_stmt): Use integer_zerop instead
3905         of integer_zero_node.
3906
3907 2000-10-31  Richard Henderson  <rth@redhat.com>
3908
3909         * c-semantics.c (genrtl_do_stmt): Special case do/while(0).
3910
3911 2000-10-31  Nick Clifton  <nickc@redhat.com>
3912
3913         * config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow
3914         -fdata-sections to override the section attribute of a DECL.
3915
3916 2000-10-31  Chris Demetriou  <cgd@sibyte.com>
3917
3918         * libgcc2.c (__shtab): Remove __shtab variable.
3919         * libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list.
3920         * Makefile.in (LIB2FUNCS): Remove _shtab from list of library
3921         members.
3922
3923 2000-10-31  Jim Wilson  <wilson@redhat.com>
3924
3925         * defaults.h (ASM_OUTPUT_DEBUG_LABEL): New.
3926         * tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document.
3927         * dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL
3928         instead of ASM_OUTPUT_INTERNAL_LABEL.
3929         (dwarf2out_end_block, dwarf2out_label): Likewise.
3930         * final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise
3931         * config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define.
3932
3933 2000-10-31  Richard Henderson  <rth@redhat.com>
3934
3935         * dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr.
3936         (size_of_locs): Set it.
3937         (output_loc_operands): Use it to compute branch displacement.
3938         (int_loc_descriptor): New.
3939         (mem_loc_descriptor): Dereference memory in the proper size.
3940         Use DW_OP_plus_uconst when possible.  Use int_loc_descriptor.
3941         (loc_descriptor_from_tree): New.
3942         (rtl_for_decl_location): Break out from ...
3943         (add_location_or_const_value_attribute): ... here.
3944         (add_bound_info): Use loc_descriptor_from_tree.
3945
3946 2000-10-31  Neil Booth  <neilb@earthling.net>
3947
3948         * cpp.texi: Update for new command line assertion syntax.
3949         * cpplib.c (cpp_define): Simplify a bit.
3950         (cpp_assert, cpp_unassert): Use handle_assertion.
3951         (handle_assertion): New function; accept new command line
3952         syntax with '='.
3953         * testsuite/gcc.dg/cpp/assert3.c: New tests.
3954
3955 2000-10-31  Neil Booth  <neilb@earthling.net>
3956
3957         * cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if
3958         undefined.  Remove #ifdef check.
3959         * config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h:
3960         Define STDC_0_IN_SYSTEM_HEADERS to 1.
3961
3962 2000-10-31  Jan Hubicka  <jh@suse.cz>
3963             Jakub Jelinek  <jakub@redhat.com>
3964
3965         * config/i386/i386.h: Clarify CCNOmode description in comment.
3966         (EXTRA_CC_MODES): Remove CCRCmode.
3967         * config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode.
3968         (put_condition_code, ix86_match_ccmode): Likewise.
3969         (ix86_cc_mode): Likewise.  Fix comment.
3970         (ix86_expand_strlensi_unroll_1): *rc patterns are gone.
3971         * config/i386/i386.md: Add unspec 12 description.
3972         (adddi3 split): Use unspec 12 instead of CCRCmode.
3973         (addsi3_carry_rc): Remove.
3974         (addsi3_cc, addqi3_cc): New patterns.
3975         (addsi_3): Swap operands, match CCZmode.
3976         (addsi_4): Rewritten.
3977         (addsi_5): Renamed from addsi_6.
3978         (addsi_6): Removed.
3979         (addhi_3): Swap operands, match CCZmode.
3980         (addhi_4): Rewritten.
3981         (addhi_5): Renamed from addhi_6.
3982         (addhi_6): Removed.
3983         (addqi_3): Swap operands, match CCZmode.
3984         (addqi_4): Rewritten.
3985         (addqi_5): Renamed from addqi_6.  Use =q constraint for clobber.
3986         (subsi3_carry_rc): Removed.
3987         (iorqi_3): Use =q constraint for clobber.
3988         (xorqi_cc_2): Likewise.
3989         (negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu.
3990         (x86_movsicc_0_m1_rc): Removed.
3991         (cmp?i peepholes): Remove neg.  Use CCGCmode instead of CCRCmode.
3992
3993 2000-10-31  Joseph S. Myers  <jsm28@cam.ac.uk>
3994
3995         * c-typeck.c (build_unary_op): If pedantic, pedwarn for increment
3996         and decrement of complex types.
3997
3998 2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3999
4000         * builtins.c (expand_builtin_fputs): When deleting NOP calls to
4001         builtin fputs, ensure we still evaluate the stream in case it
4002         has side-effects.
4003
4004 2000-10-31  Jakub Jelinek  <jakub@redhat.com>
4005
4006         * expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
4007         to expand_shift.
4008
4009 Tue Oct 31 15:33:27 2000  J"orn Rennecke <amylaar@redhat.com>
4010
4011         * sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare.
4012         (fp_extended_operand, emit_fpscr_use): Likewise.
4013         * sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions.
4014         (fpul_operand): New function.
4015         * sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and
4016         fp_extended_operand.  Add fpul_operand.
4017         * sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands.
4018         (mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise.
4019         (cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise.
4020         (negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise.
4021         (adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise.
4022         (divdf3_i): Likewise.
4023         (floatsisf2): Likewise.  Use fpul_operand for 'y' operand.
4024         (floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise.
4025         (fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise.
4026         (fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise.
4027         (extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise.
4028
4029 2000-10-31  Bernd Schmidt  <bernds@redhat.co.uk>
4030
4031         * config/i386/i386.c (ix86_init_builtins): Correct return type
4032         building v4hi_ftype_v4hi_int_int tree node.
4033         (ix86_expand_builtin): Use correct operand numbers 0 and 1.
4034         Copy operand 0 into a Pmode register, don't generate a MEM rtx.
4035
4036         * config/i386/i386.md (sse_movntdi): Use mmx register constraint
4037         for operand 1.
4038         (mmx__uavgv8qi3): Correct insn mnemonic.
4039         (mmx_psadbw): Correct insn mnemonic.  Use V8QI mode for operands 1 and 2.
4040         (mmx_punpckhwd): Correct insn mnemonic.
4041         (mmx_punpckhdq): Likewise.
4042         (mmx_punpcklwd): Likewise.
4043         (mmx_punpckldq): Likewise.
4044         (prefetch): Use immediare_operand and 'n' constraint for operand 1.
4045         Renumber case labels to match the _mm_prefetch constants defined in
4046         xmmintrin.h.
4047
4048         * recog.c (split_all_insns): Don't try to call cleanup_subreg_operands
4049         if the splitter didn't emit new insns.
4050         Make sure we call cleanup_subreg_operands even when splitting the last
4051         insn in a basic block.
4052
4053       &