OSDN Git Service

* c-decl.c (c_decode_option): Don't handle -lang-objc.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2000-11-29  Neil Booth  <neilb@earthling.net>
2
3         * c-decl.c (c_decode_option): Don't handle -lang-objc.
4         * objc/lang-options.h: Remove -lang-objc.
5         * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
6         * objc/objc-act.c (lang_init_options): Set c_language.
7
8 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
9
10         * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
11         tests.
12
13 2000-11-29  Neil Booth  <neilb@earthling.net>
14
15         * c-pragma.c (init_pragma): Update for parse_in type change.
16
17 2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
18
19         * configure.in: recognize DOS-style absolute paths.
20
21 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
22
23         * expr.h (store_by_pieces): Add prototype.
24         (can_store_by_pieces): Likewise.
25         * expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
26         (can_store_by_pieces): New.
27         (store_by_pieces): New.
28         (clear_by_pieces): New.
29         (clear_by_pieces_1): New.
30         (store_by_pieces_1): Renamed from clear_by_pieces, handle storing
31         arbitrary compiler generated constants into memory block.
32         (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
33         * builtins.c (c_readstr): New.
34         (builtin_memcpy_read_str): New.
35         (expand_builtin_memcpy): If src is string constant and
36         emit_block_move would move it by pieces, compute integer constants
37         from the string and store it into memory block instead.
38         (builtin_strncpy_read_str): New.
39         (expand_builtin_strncpy): If N is not constant zero and c_strlen does
40         not return INTEGER_CST, don't optimize.
41         If N is larger than strlen(src) + 1, try to copy the string
42         including padding with store_by_pieces.
43         (expand_builtin_strcmp): If both arguments have side effects, don't
44         optimize.
45         (expand_builtin_fputs): If STR has side effects, don't optimize.
46
47 2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
48
49         * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
50         Add use of link register.
51
52 2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
53
54         * extend.texi: Update documentation for default format attributes.
55
56 Tue Nov 28 21:56:45 2000  Jeffrey A Law  (law@cygnus.com)
57
58         * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
59         a list, to keep track of the sections.
60
61 2000-11-28  Nick Clifton  <nickc@redhat.com>
62
63         * config/arm/arm.md (pic_load_addr): Split into
64         pic_load_addr_arm and pic_load_addr_thumb.
65
66         * config/arm/arm.c (legitimize_pic_address): Generate either
67         ARM or Thumb versions of pic_load_addr.
68         (arm_finalize_pic): Generate either ARM or Thumb versions of
69         pic_load_addr.
70
71 2000-11-28  Richard Henderson  <rth@redhat.com>
72
73         * calls.c (expand_call): Defer const/pure NO_DEFER_POP until
74         after sibcall do_pending_stack_adjust.
75
76 Wed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
77
78         * jump.c (delete_insn): Check that REG_LABEL note actually contains
79         a CODE_LABEL.
80
81 2000-11-28  Neil Booth  <neilb@earthling.net>
82
83         * c-common.h: Remove flag_digraphs.
84         * c-decl.c: Remove flag_digraphs.  
85         (c_decode_option): Don't set it. 
86         * c-lex.c (init_c_lex): Don't do anything for digraphs.
87
88 2000-11-28  Richard Henderson  <rth@redhat.com>
89
90         * c-parse.in (finish_parse): Update for parse_in type change.
91         (_yylex): Likewise.
92
93 2000-11-28  Neil Booth  <neilb@earthling.net>
94
95         * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
96         indicating whether to scan all buffers on the stack or
97         just one.
98         * cppinit.c (do_includes): Update.
99         * cppmain.c (main): Update.
100         * cpplib.h: Update prototype.
101
102 2000-11-28  Richard Henderson  <rth@redhat.com>
103
104         * genoutput.c (validate_insn_operands): New.
105         (gen_insn): Call it.
106
107         * config/alpha/alpha.md (divmodsi_internal): Renumber operands.
108         (divmoddi_internal): Likewise.
109         * config/arm/arm.md (andsi3_compare0_scratch): Likewise.
110         * config/i960/i960.md (branch patterns): Likewise.
111         * config/ia64/ia64.md (tbit_and_0): Likewise.
112         (tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
113         * config/m68k/m68k.md (zero_extract memory patterns): Likewise.
114         * config/mips/mips.md (divmodsi4_internal): Likewise.
115         (divmoddi4_internal): Likewise.
116         * config/rs6000/rs6000.md (call patterns): Likewise.
117         * config/sh/sh.md (movsi_y): Likewise.
118         * config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
119
120 2000-11-28  Richard Henderson  <rth@redhat.com>
121
122         * config.gcc: Kill residual pyramid support.
123
124 2000-11-28  Neil Booth  <neilb@earthling.net>
125
126         * c-lex.h (parse_in): Change parse_in to a cpp_reader *.
127         * c-decl.c (c_decode_option): Update to match.
128         * c-lex.c (init_c_lex, yyparse): Update to match.
129         * c-lang.c (lang_init_options): Use cpp_create_reader.
130         * cppinit.c (cpp_init): Rename initialize.
131         (cpp_reader_init): Rename cpp_create_reader.  Create the
132         reader.  Initialize cpplib if appropriate.
133         * cpplib.h (cpp_create_reader) New prototype.
134         (cpp_init, cpp_reader_init): Delete prototypes.
135         * cppmain.c (general_init, setup_callbacks): New functions.
136         (main): Use them.
137         * fix-header.c (scan_in): Change type to cpp_reader *.
138         (read_scan_file): Update for new cpplib interface and scan_in type.
139
140         * cp/decl.c (parse_in): Change to cpp_reader *.
141         (lang_decode_option): Update.
142         * cp/lex.c (lang_init_options): Use new cpplib interface.
143         (init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
144         * cp/spew.c (read_token): Update.
145         * objc/objc-act.c (lang_init_options): Update new cpplib interface.
146
147 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
148
149         * loop.c (load_mems): Avoid using next_label to find end_label. If
150         jumping outside of the loop (other than loop end), don't hoist MEMs
151         out of loop.
152
153 2000-11-28  Jan Hubicka  <jh@suse.cz>
154
155         * calls.c (expand_call): Don't disable tail recursion based
156         on the loop nest.
157
158 2000-11-28  Neil Booth  <neilb@earthling.net>
159
160         * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
161         (struct directive): Drop 4th argument from handlers.
162         (do_define, do_line, do_include, do_undef, do_else, do_elif,
163         do_endif): Similarly.
164         (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
165         (do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
166         (make_definition, make_undef): Take a const char*.
167         (make_assertion): New function.
168         (struct directive_table): Update.
169         (main): Handle -A command line argument.
170         (handle_directive): Drop fourth handler argument.
171
172 2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
173
174         * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
175         is anything but REG or MEM, but look inside STRICT_LOW_PART.
176
177 Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
178
179         * system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
180         (IS_ABSOLUTE_PATHNAME): New macro.
181         * gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
182
183 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
184
185         * config/i386/i386.md (truncxfsf2_2): Fix predicate.
186
187 2000-11-27  Jim Wilson  <wilson@redhat.com>
188
189         * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
190
191 2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
192
193         * extend.texi (Nested Functions): Update URL of Usenix paper.
194
195 2000-11-27  Mark Mitchell  <mark@codesourcery.com>
196
197         * function.c (free_after_compilation): Clear x_clobber_return_insn.
198
199 2000-11-27  Neil Booth  <neilb@earthling.net>
200
201         * cppinit.c (cpp_reader_init): Remove handling of warn_paste   
202         command line options.
203         (cpp_handle_option): Similarly.
204         * cpplib.h (struct cpp_options): Remove warn_paste.
205         * cppmacro.c (paste_tokens): Apart from assembler, make
206         unpasteable token warning mandatory.
207
208 2000-11-27  Neil Booth  <neilb@earthling.net>
209
210         * tradcpp.c (enum pending_dir_t, struct pending_dir): New.
211         (main): Allocate a pending directive set of these.  Use it.
212         Merge handling of -D and -U.  Update handling of pending
213         directives.  Free the memory after use.
214
215 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
216
217         * flow.c (entry_exit_blocks): Add entry for cond_local_set.
218         (struct propagate_block_info): Add new member cond_local_set.
219         (propagate_block): Accept new arg cond_local_set.  All callers
220         changed.
221         (init_propagate_block_info): Likewise.
222         (calculate_global_regs_live): Allocate & free cond_local_set.  Always
223         rescan if there's overlap between cond_local_set and new_live_at_end.
224         (mark_set_1): Set bits either in cond_local_set or local_set, as
225         appropriate.
226         * basic-block.h (struct basic_block_def): New field cond_local_set.
227         (propagate_block, init_propagate_block_info): Update prototypes.
228
229 Mon Nov 27 17:29:44 2000  kaz Kojima <kkojima@rr.iij4u.or.jp>
230
231         * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
232         T register.
233
234 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
235
236         * arm.c (select_dominance_cc_mode): Handle new way that combine
237         canonicalizes conditional compares.
238         (arm_select_cc_mode): Likewise.
239         * arm.md: Garbage collect some dead code.
240         (cmp_and, cmp_ior): New patterns.
241         (splitter for conditional move with inverted false): Use cond_exec
242         and handle unordered comparisons.
243
244 Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
245
246         * i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
247         * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
248         * i386.md (float?i?f, int/fp operations): Rewrite spliters to use
249         ix86_force_to_memory and ix86_free_from_memory.
250
251 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
252
253         * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
254         arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
255         anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3, 
256         one_cmpldi2): Merge with splitters to create define_insn_and_split
257         patterns.  Remove redundant splits.
258         (peephole2 for add:SI of invalid immediate): New.
259         (peephole2 for minus:SI of invalid immediate): New.
260         (peephole2 for ior:SI of invalid immediate): New.
261         (peephole for merge of move and compare): Convert ot peephole2.
262         (addsf3, adddf3): Mark as commutative.
263
264         * arm.md (thumb peephole for merging stack adjustments): Convert to
265         peephole2.
266
267 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
268
269         * haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
270
271         * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
272         (reload_cse_simplify_operands): Do nothing about operands where both
273         the operand and the match_operand fail to give us a mode.
274         * simplify-rtx.c (wrap_constant): New function.
275         (entry_and_rtx_equal_p): Except integer constants to come wrapped in a
276         CONST describing the proper mode.
277         (rtx_equal_for_cselib_p): Pass down modes to recursive calls of
278         cselib_lookup.
279         (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
280         htab_find_slot_with_hash.
281         (cselib_lookup): Likewise.
282
283         Based on a patch from Geoff Keating <geoffk@redhat.com>:
284         * loop.c (basic_induction_var): If a REG is set from something
285         that is not a biv, then the REG is not a biv.  Even if it is
286         earlier set from something that is a biv.
287
288 2000-11-27  Alexandre Oliva  <aoliva@redhat.com>
289
290         * configure.in (extra_objs): Enclose extra_headers in quotes.
291         * configure: Rebuilt.
292
293 2000-11-27  Neil Booth  <neilb@earthling.net>
294
295         * c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
296         Combine into the new function cb_change_file.
297         (init_c_lex): Update.
298         * cppfiles.c (stack_include_file): Use _cpp_do_file_change.
299         (cpp_syshdr_flags): Delete.
300         * cpphash.h (_cpp_do_file_change): New prototype.
301         Move struct cpp_buffer here from...
302         * cpplib.h (struct cpp_buffer): ... here.
303         (enum cpp_fc_reason, struct cpp_file_loc,
304         struct_cpp_file_change, change_file): New.
305         (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
306         * cpplib.c (do_line): Update for new cb_change_file callback.
307         (_cpp_do_file_change): New function.
308         (_cpp_pop_buffer): Update to use it.
309         * cppmain.c (move_printer): Delete.
310         (main): Set up single callback cb_change_file.
311         (cb_enter_file, cb_leave_file, cb_rename_file): Delete.
312         (cb_change_file): New.
313         * fix-header.c (cur_file, cb_change_file): New.
314         (recognized_function, read_scan_file): Update.
315         * scan-decls.c (scan_decls): Update.
316         * scan.h (recognized_function): Update prototype.
317
318 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
319
320         * tree.h (mark_tree_hashtable): New function.
321         * tree.c (mark_tree_hashtable_entry): New function.
322         (mark_tree_hashtable): Likewise.
323
324 2000-11-27  Michael Meissner  <meissner@redhat.com>
325
326         * d30v-protos.h (srelational_si_operator): Correctly spell
327         function.
328         (urelational_si_operator): Ditto.
329         (relational_si_operator): Ditto.
330         (d30v_expand_prologue): Add prototype.
331         (d30v_expand_epilogue): Ditto.
332
333         * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
334
335         * d30v.md (movcccc_*): Delete now unused patterns.
336         (64 bit comparison splitters): Rewrite to use COND_EXEC instead of
337         IF_THEN_ELSE.
338         (define_cond_exec): Use 'b' to select branch flags.
339
340 2000-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
341
342         * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
343         functions.
344         (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
345
346         * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
347
348         * c-common.c (c_common_nodes_and_builtins): Declare builtin
349         strncpy and strncmp.
350
351         * extend.texi (strncmp, strncpy): Document new builtins.
352
353 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
354
355         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
356         a list, to keep track of the sections.
357         * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
358         parameter provided will always be a canonical string.
359
360 2000-11-26  Neil Booth  <neilb@earthling.net>
361
362         * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
363         current buffer.
364
365 2000-11-26  Joseph S. Myers  <jsm28@cam.ac.uk>
366
367         * makefile.vms: Remove EGCS references.
368
369 2000-11-26  Ulrich Drepper  <drepper@redhat.com>
370
371         * dwarf2out.c (output_file_names): New function.  Compute minimal
372         combination of directory and file name table and emit them.
373         (output_line_info): Remove code to emit directory and file name
374         table and call output_file_names instead.
375         (file_info_cmp): Helper function to sort directory names.
376
377 2000-11-26  Neil Booth  <neilb@earthling.net>
378
379         * cpplib.h (struct cpp_reader): Remove lang_asm.
380         (struct cpp_options): Remove c89. New members lang,
381         extended_numbers.
382         * cppexp.c (parse_number): Use them. 
383         * cpphash.h (VALID_SIGN): Use them.
384         * cppinit.c (set_lang, cpp_start_read): Update.
385         * cpplex.c (parse_string, _cpp_lex_token): Update.
386         * cpplib.c (_cpp_handle_directive): Update.
387         * cppmacro.c (parse_args): Update.
388         * cppmain.c (scan_buffer): Update.
389
390 Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
391
392         * fold-const.c (fold, case CONVERT_EXPR): Always return tree of
393         proper type.
394
395 2000-11-26  Neil Booth  <neilb@earthling.net>
396
397         * Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
398         * c-decl.c: Remove parse_in declaration.
399         * c-lang.c: Similarly.
400         * c-lex.c: Similarly.
401         * c-parse.in: Similarly.
402         * c-pragma.c: Similarly.
403         * configure.in: Similarly.
404         * cp/Make-lang.in: Similarly.
405         * cp/spew.c: Similarly.
406         * cp/decl2.c: Remove check for lang-c++ option.
407         * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
408         * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
409         * c-lex.h: Add declaration of parse_in.
410         * cppinit.c: Call set_lang after allocating pfile->pending.
411         * configure: Regenerate.
412
413 2000-11-25  Zack Weinberg  <zack@wolery.stanford.edu>
414
415         * combine.c (try_combine): Remove redundant test.
416
417 2000-11-25  Richard Henderson  <rth@redhat.com>
418
419         * c-common.h (DECL_C_HARD_REGISTER): New.
420         * c-decl.c (finish_decl): Set it for asm register variables.
421         * c-semantics.c (emit_local_var): Test it when instantiating one.
422
423 2000-11-25  Richard Henderson  <rth@redhat.com>
424
425         * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
426         lineno for the start of the function.
427
428 2000-11-25  Richard Henderson  <rth@redhat.com>
429
430         * dwarf2out.c (file_table, file_table_allocated): Remove.
431         (file_table_allocated): Remove.
432         (struct file_table): New.
433         (decl_file_table, line_file_table): New.
434         (print_dwarf_line_table): Use them.
435         (size_of_line_prolog): Likewise.
436         (output_line_info): Likewise.
437         (add_src_coords_attributes): Likewise.
438         (gen_subprogram_die): Likewise.
439         (gen_variable_die): Likewise.
440         (dwarf2out_add_library_unit_info): Likewise.
441         (dwarf2out_line): Likewise.
442         (lookup_filename): Take a struct file_table argument.
443         (init_file_table): New.
444         (dwarf2out_init): Use it.
445
446 2000-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
447
448         * invoke.texi: Update sequence points references.
449
450 2000-11-25  Neil Booth  <neilb@earthling.net>
451
452         * c-common.c: Remove USE_CPPLIB conditional inclusions.
453         * c-common.h: Similarly.
454         * c-decl.c: Similarly.
455         * c-lang.c: Similarly.
456         * c-lex.c: Similarly.
457         * c-parse.in: Similarly.
458         * c-pragma.c: Similarly.
459         * c-pragma.h: Similarly.
460         * gcc.c: Similarly.
461         * toplev.c: Similarly.
462         * cp/cp-tree.h: Similarly.
463         * cp/decl2.c: Similarly.
464         * cp/lang-specs.h: Similarly.
465         * cp/lex.c: Similarly.
466         * cp/lex.h: Similarly.
467         * cp/spew.c: Similarly.
468         * java/lang-options.h: Similarly.
469         * objc/lang-specs.h: Similarly.
470         * objc/objc-act.c: Similarly.
471
472         * configure.in: Remove configure option.
473         * config.in: Regenerate.
474         * configure: Regenerate.
475
476 2000-11-25  Richard Henderson  <rth@redhat.com>
477
478         * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
479         Revert 2000-11-22 change.
480
481 2000-11-25  Bernd Schmidt  <bernds@redhat.co.uk>
482
483         * config/i386/i386.h (FIXED_REGS): Make the three flags registers
484         fixed.
485
486 2000-11-25  Philipp Thomas  <pthomas@suse.de>
487         * configure.in (ALL_LINGUAS): Remove en_GB and add sv.
488         * configure: Rebuilt.
489
490 2000-11-25  Jakub Jelinek  <jakub@redhat.com>
491
492         * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
493         Handle CONST_INT as second argument.
494         * config/sparc/sparc.c (set_extends): Remove first argument.
495         Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
496         MOV.
497         (sparc_check_64): Abort if first argument is not REG.
498         If it is DImode REG, look at the lower register of the register
499         pair.
500
501         * config/sparc/sparc.c (load_pic_register, restore_regs,
502         output_return, sparc_v8plus_shift, sparc_function_profiler,
503         sparc_function_block_profiler, sparc_block_profiler): Fix output
504         formatting.
505
506 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>
507
508         * config/sh/sh.h (TARGET_NONE): New.
509         (TARGET_SWITCHES): For all variant-selecting switch, use
510         TARGET_NONE to reset all other variant-selecting switch.  Added
511         empty strings to avoid warnings.
512         (TARGET_DEFAULT): Set to SH1_BIT.
513
514         * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
515         insn-codes.h.
516
517         * gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
518         (sibcall_pcrel): New insn_and_split.
519         (sibcall, sibcall_value, sibcall_epilogue): New expands.
520
521         * config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
522         symPLT_label2reg, call, call_value): Don't set
523         current_function_uses_pic_offset_table.
524         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
525         PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
526         takes it into account.
527         (FINALIZE_PIC): Delete, useless.
528         (LEGITIMATE_CONSTANT_P): Delete, unused.
529         * config/sh/sh.c (sh_expand_prologue): Don't use
530         current_function_uses_pic_offset_table.  Don't special-case
531         PIC_OFFSET_TABLE_REGNUM.  Initialize it if it's ever live and
532         PIC is enabled.
533         (sh_expand_epilogue, initial_elimination_offset): Don't
534         special case PIC_OFFSET_TABLE_REGNUM.
535
536 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>, NIIBE Yutaka  <gniibe@m17n.org>
537
538         * config/sh/sh-protos.h (symbol_ref_operand): Declare.
539         * config/sh/sh.md (UNSPEC_CALLER): New constant.
540         (calli_pcrel, call_valuei_pcrel): Use PIC_REG.
541         (call_pcrel, call_value_pcrel): New insn_and_splits.
542         (call, call_value): Use them.
543         (call_site): New expand.
544         (sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
545         * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
546         Output call_site label.
547         (PREDICATE_CODES): Added symbol_ref_operand.
548         * config/sh/sh.c (symbol_ref_operand): Define.
549         * emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
550         to CALL_INSNs in the split sequence.
551
552 2000-11-24  Nick Clifton  <nickc@redhat.com>
553
554         * config.gcc (v850-*-*): Define c_target_objs and
555         cxx_target_objs.
556
557         * config/v850/t-v850: Define how to build v850-c.o
558
559         * config/v850/v850.h (struct data_area_stack_element): Move
560         definition here from v850.c.
561
562         * config/v850v850.c: Include gcc.h to avoid compile time
563         warning.
564         (push_data_area): Move to v850-c.c.
565         (pop_data_area): Move to v850-c.c.
566         (mark_current_function_as_interrupt): Move to v850-c.c.
567         (GHS_default_section_names): Allow to be exported.
568         (GHS_current_section_names): Allow to be exported.
569         (data_area_stack_elements): Allow to be exported.
570         (ghs_pragma_section): Move to v850-c.c.
571         (ghs_pragma_interrupt): Move to v850-c.c.
572         (ghs_pragma_starttda): Move to v850-c.c.
573         (ghs_pragma_startsda): Move to v850-c.c.
574         (ghs_pragma_startzda): Move to v850-c.c.
575         (ghs_pragma_endtda): Move to v850-c.c.
576         (ghs_pragma_endsda): Move to v850-c.c.
577         (ghs_pragma_endzda): Move to v850-c.c.
578
579         * config/v850/v850-c.c: New file: Contains v850 specific
580         pragma parsing functions.
581
582 2000-11-24  Nick Clifton  <nickc@redhat.com>
583
584         * config.gcc (extra_objs): Remove duplicate description.
585         (c_target_objs): New variable.  Contains target specific
586         object files for the gcc C compiler only.
587         (cxx_target_objs): New variable.  Contains target specific 
588         object files for the gxx C++ compiler only.
589
590         * configure.in (c_target_objs): Substitute in the makefile.
591         (cxx_target_objs): Substitute in the makefile.
592         * configure: Regenerate.
593
594         * Makefile.in (C_TARGET_OBJS): Define and initialise from
595         c_target_objs.
596         (CXX_TARGET_OBJS): Define and initialise from
597         cxx_target_objs.
598         (C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
599
600         * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
601
602         * tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
603         about how the use of the 'c_lex' function requires the use of
604         the target specific, language specific object files feature of
605         the configuration mechanism.
606
607 Fri Nov 24 18:50:58 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
608
609         * gcc.c (process_command): Use F_OK, not R_OK.
610
611 2000-11-24  Arno J. Klaassen  <arno@heho.snv.jussieu.fr>
612
613         * flow.c (print_rtl_and_abort): Remove ANSIism.
614
615 Fri Nov 24 19:54:36 2000  Alexandre Oliva  <aoliva@redhat.com>
616
617         * config/sh/sh.h (GENERAL_REGISTER_P,
618         GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
619         FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros.  Use them
620         all over.
621         (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
622         * config/sh/sh.c: Use new macros.
623         * config/sh/sh.md: Likewise.
624
625 Fri Nov 24 19:46:16 2000  Alexandre Oliva  <aoliva@redhat.com>
626
627         * config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
628         instead of just MACH_REG in DImode.  Always refer to FPSCR_REG
629         in PSImode.
630
631 Fri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
632
633         * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
634         fixed.
635         (machine_dependent_reorg): Wrong optimization based on
636         NOTICE_UPDATE_CC removed. 
637
638 Fri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
639
640         * jump.c (delete_computation): Re-instate deletion of feeding insn.
641         (delete_insn): Look for REG_LABEL notes.
642         (redirect_tablejump): Delete feeding insns.
643
644 2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
645
646         * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
647         call_value_pop_1): Make sure operand numbers are contiguous.
648
649         * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
650
651         * reload1.c (conflicts_with_override): New function.
652         (emit_input_reload_insns): Use it to tighten test for validity
653         of substituting into output of previous insn.
654
655         * haifa-sched.c (struct ready_list): New.
656         (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
657         functions.
658         (schedule_insn): Replace args READY and N_READY with a pointer to a
659         ready_list; return void.  Use the new functions to access the ready
660         list.  All callers changed.
661         (queue_to_ready, debug_ready_list): Likewise.
662         (schedule_block): Initialize a ready_list structure.  Use new
663         functions to access it.
664         (max_priority): Remove unused variable.
665         (schedule_insn): Don't set it.
666
667         * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
668
669         * combine.c (cant_combine_insn_p): New function.
670         (try_combine): Use it.
671
672         * Makefile.in (c-common.o): Depend on $(OBSTACK_H).
673         * c-common.c (c-obstack.c): Include "obstack.h".
674         (struct reverse_tree): Delete.
675         (reverse_list, reverse_max_depth): Delete.
676         (build_reverse_tree, common_ancestor, modify_ok): Delete functions.
677         (struct tlist, struct tlist_cache): New.
678         (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
679         (add_tlist, merge_tlist, verify_tree, warning_candidate_p,
680         warn_for_collisions, warn_for_collisions_1, new_tlist): New
681         static functions.
682         (verify_sequence_points): Rewritten.
683         * fold-const.c (fold): Don't lose possibly important sequence
684         points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
685
686 2000-11-24  Richard Sandiford  <rsandifo@redhat.com>
687
688         * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
689         when reversing a register-to-register copy.  Reversal now disabled
690         when the previous instruction has a REG_EQUIV.
691
692 2000-11-24  Nathan Sidwell  <nathan@codesourcery.com>
693
694         * c-parse.in (unary_expr): Move VA_ARG from here ...
695         (primary): ... to here.
696
697 2000-11-23  Graham Stott  <grahams@redhat.com>
698
699         * expr.c (store_constructor): If a field is non addressable and
700         the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
701
702 2000-11-23  Bernd Schmidt  <bernds@redhat.co.uk>
703
704         * flow.c (print_rtl_and_abort): New function.
705         (verify_wide_reg, verify_local_live_at_start): Try to dump more
706         information before aborting.
707
708 2000-11-23  Alexandre Oliva  <aoliva@redhat.com>
709
710         * emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
711         is narrower than requested mode.
712         (gen_highpart): Abort if register mode is narrower than
713         requested mode.
714
715 2000-11-23  Graham Stott  <grahams@redhat.com>
716
717         * cse.c (cse_insn): Initialise all regcost variables.
718         Fix a typo add missing '='.
719         Only compare costs if there is a replacement insn.
720
721 Thu Nov 23 04:33:33 2000  Alexandre Oliva  <aoliva@redhat.com>
722
723         * final.c (output_addr_const) [LABEL_REF]: Simplify.
724         [MINUS]: Enclose non-CONST_INTs in parentheses.
725         [default]: Try OUTPUT_ADDR_CONST_EXTRA.
726         * tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
727         * varasm.c (decode_rtx_const) [CONST]: If it's not something
728         PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
729         instead of abort()ing.
730         * sh.c (output_pic_addr_const): Removed.  Fixed all callers.
731         * sh.h (OUTPUT_ADDR_CONST_EXTRA): New.  Handle the UNSPECs
732         formerly handled in output_pic_addr_const.
733         * sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
734         operands of MINUS in CONSTs so that decode_rtx_const() will
735         accept them.
736
737 Thu Nov 23 04:10:30 2000  Alexandre Oliva  <aoliva@redhat.com>
738
739         * config/sh/sh.md (mova_const): New pattern.
740         (GOTaddr2picreg): Use it.
741         * config/sh/sh.c (broken_move): Match it.
742         (mova_p): Don't match it.
743         (machine_dependent_reorg): Adjust it.
744
745 Thu Nov 23 02:09:09 2000  Alexandre Oliva  <aoliva@redhat.com>
746
747         * config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
748         Moved most register-number #defines...
749         * config/sh/sh.md (define_constants): ... here.  Use macros to
750         refer to registers and unspecs.
751         * config/sh/sh.c: Likewise.
752
753 Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
754
755         * Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
756         (rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
757         (alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
758         (splay-tree.o, hash.o): Likewise.
759         GCONFIG_H: New.
760         (rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
761         (bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
762         (hashtab.o): Likewise.
763         (gcov.o): Depend on $(CONFIG_H).
764         * configure.in: #include insn-codes.h in tm.h.
765
766 2000-11-22  Nick Clifton  <nickc@redhat.com>
767
768         * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
769         const char * to avoid a compile time warning.
770
771         * config/arm/arm.md (define_constants): Define symbolic names for
772         the link register, last integer register and the fake CC register.
773         Update patterns to use these symbolic names.
774
775 2000-11-22  Neil Booth  <neilb@earthling.net>
776
777         * cpplex.c (trigraph_ok): Ensure we don't warn twice.
778         * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
779         
780 2000-11-22  Richard Henderson  <rth@redhat.com>
781
782         * haifa-sched.c (sched_analyze_1): Don't special-case calls
783         for clobbering registers.
784         (sched_analyze_2): Likewise.
785         (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
786
787 2000-11-22  Chris Demetriou  <cgd@sibyte.com>  
788             Neil Booth  <neilb@earthling.net>
789
790         * gcc.c (validate_switches): Validate multiple switches named
791         in '|' (or) expressions in specs.  
792         (handle_braces): If more than 1 alternative in a '|' spec
793         matches, call do_spec1 just once.
794
795 2000-11-22  Michael Meissner  <meissner@redhat.com>
796
797         * d30v.h (TARGET_SWITCHES): Add documentation strings.
798         (TARGET_OPTIONS): Ditto.
799         (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
800         -O3.
801         
802 Wed Nov 22 06:40:56 2000  Jeffrey A Law  (law@cygnus.com)
803
804         * pa.c (hppa_encode_label): Account for addition of encoding
805         character when allocating persistent space for the new label
806         name.
807
808 2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
809
810         * Makefile.in, config.gcc, configure.in: Expunge remaining
811         traces of facility for running MD files through C preprocessor.
812
813 2000-11-22  Joseph S. Myers  <jsm28@cam.ac.uk>
814
815         * gcov.texi: Add magic comments for texi2pod.pl.
816         * Makefile.in: Add rules to generate and install gcov.1.
817         * gcov.1: New (generated) file.
818
819 2000-11-21  Richard Henderson  <rth@redhat.com>
820
821         * regrename.c (scan_rtx_reg): Terminate the chain rather than
822         abort on mark_read with NO_REGS.
823
824 2000-11-21  Mike Stump  <mrs@wrs.com>
825
826         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
827         compilation with older compilers, such as /bin/cc on SunOS.
828         * fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
829
830 2000-11-21  Richard Henderson  <rth@redhat.com>
831
832         * varasm.c (record_constant): Pad the constructed
833         constant_descriptor appropriately.
834
835 Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
836
837         * rtl.h (traverse_md_constants): Declare.
838         (struct md_constant): Define.
839         * Makefile.in (HOST_RTL): Add hashtab.o .
840         (OBJS): Add hashtab.o .
841         (hashtab.o): New rule.
842         (rtl.o): Depends on HASHTAB_H.
843         * rtl.c (hashtab.h): #include.
844         (md_constants): New static variable.
845         (def_hash, def_name_eq_p, read_constants): New static functions.
846         (traverse_md_constants): New function.
847         (read_name): Do constant expansion.
848         (read_rtx): Recognize define_constants.
849         * gencodes.c (print_md_constant): New function.
850         (main): Emit #defines for all constant definitions encountered.
851         * md.texi (Constant Definitions): New node.
852         * gensupport.c (xcalloc): New function.
853
854 2000-11-21  Richard Henderson  <rth@redhat.com>
855
856         * config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
857         * config/alpha/alpha-protos.h: Declare it.
858         * config/alpha/alpha.md (abstf_internal): Use it.
859         (negtf_internal): Likewise.
860         (andnotdi3): Unstar the name.
861         (movtf_internal): Add o/G alternative.
862
863 2000-11-21  Zack Weinberg  <zack@wolery.stanford.edu>
864
865         * stringpool.c (stringpool_statistics): Also report number and
866         percentage of entries which are identifiers.
867
868 2000-11-21  Diego Novillo  <dnovillo@redhat.com>
869
870         * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
871         visited before visiting it.
872
873 2000-11-21  Nick Clifton  <nickc@redhat.com>
874
875         * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
876         TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
877
878         * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
879         
880 2000-11-21  Richard Henderson  <rth@redhat.com>
881
882         * c-common.c (c_unsafe_for_reeval): New function.
883         (add_c_tree_codes): Register it.
884         * c-common.h: Declare it.
885         * tree.c (lang_unsafe_for_reeval): New hook.
886         (unsafe_for_reeval): Call it.
887         * tree.h: Declare it.
888
889 2000-11-21  Richard Henderson  <rth@redhat.com>
890
891         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
892         references as well.
893
894 2000-11-21  Neil Booth  <neilb@earthling.net>
895
896         * do_includes: Revert to using cpp_read_file.
897
898 2000-11-21  Bernd Schmidt  <bernds@redhat.co.uk>
899
900         * loop.c (consec_sets_giv): If the reg we're examining is anything
901         but UNKNOWN_INDUCT, do nothing.
902         Reset the reg's type to UNKNOWN_INDUCT before returning.
903
904         Mostly from Vladimir Makarov (vmakarov@redhat.com)
905         * ia64.md (attr itanium_class): Define insn types as described in
906         Itanium docs.
907         (all insn patterns): Use itanium_class, not type attributes.
908         Occasionally split alternatives as necessary.
909         (attr type): Compute from new attr itanium_class.
910         
911 2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
912
913         * tradcpp.c (output_line_command): Mark system headers as such in
914         `line' commands.
915
916 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
917
918         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Sparc has .file/.loc
919         support in as as well.
920         * configure: Regenerate.
921
922 2000-11-20  Richard Henderson  <rth@redhat.com>
923
924         * c-lex.c (orig_filename): New variable.
925         (init_c_lex): Set it.  Move call to cpp_start_read ...
926         (yyparse): ... here.  New function.
927         * c-parse.in (yyparse_1): Rename the parser entry point.
928         * c-tree.h: Declare it.
929
930 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
931
932         * expr.c (do_compare_and_jump): If op0 was replaced by promoted
933         integer constant, use type of op1 for comparison.
934
935 2000-11-20  Stan Shebs  <shebs@apple.com>
936
937         * config/rs6000/xm-darwin.h: New file, Darwin host definitions.
938         * config/rs6000/x-darwin: New file, Darwin host fragment.
939         * config.gcc (powerpc-*-darwin*): New host.
940         * system.h (HAVE_DESIGNATED_INITIALIZERS):  Allow this to be
941         overridden by a config file.
942
943 2000-11-20  Neil Booth  <neilb@earthling.net>
944
945         * cppmacro.c (paste_tokens): Rename from paste_payloads.
946         Change token type after pasting spellings.
947         (paste_all_tokens): Use it.
948         * gcc.dg/cpp/paste2.c: Update test.
949         * objc/execute/paste.m: New test.
950
951 2000-11-20  Richard Henderson  <rth@redhat.com>
952
953         * dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
954         dwarf_subscr_data_formats bits.
955         * dwarfout.c (simple_type_size_in_bits): Handle a type with
956         no computed size as size zero.
957         (field_byte_offset): Likewise.
958         (subscript_data_attribute): Handle a range with no upper bound.
959
960 2000-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
961
962         * gansidecl.h (const): Check __STDC__ before undef'ing `const'.
963
964 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
965
966         * c-typeck.c (build_conditional_expr): When merging type
967         qualifiers for conditional expressions between a pointer and a
968         pointer to a void type, merge the qualifiers on the target types
969         rather than the pointer type.  Remove obsolete conditioned out
970         code.
971
972 2000-11-20  Neil Booth  <neilb@earthling.net>
973
974         * c-lang.c (lang_init_options): Update call to
975         cpp_reader_init.
976         * cppmain.c (main): Similarly.
977         * fix-header.c (read_scan_file): Similarly.
978         * cp/lex.c (lang_init_options): Similarly.
979         * objc/objc-act.c (lang_init_options): Similarly.
980         * cppexp.c (parse_number): Only warn for unextended C89.
981         * cppinit.c (set_lang): New function.
982         (cpp_reader_init): Take a LANG argument and pass it to set_lang.
983         (COMMAND_LINE_OPTIONS): New option std=c++98.
984         (cpp_handle_option): Use set_lang.
985         * cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
986         * cppib.h (enum_c_lang): New enumeration.  Update comments.
987
988 2000-11-20  Will Cohen  <wcohen@redhat.com>
989
990         * calls.c (expand_call): Clear target only when target is in
991         hard register and current_function_check_memory_usage is set.
992
993 2000-11-20  Bernd Schmidt  <bernds@redhat.co.uk>
994
995         * toplev.c (rest_of_compilation): Run optimize_mode_switching even
996         if not optimizing.
997         * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
998
999 2000-11-19  Richard Henderson  <rth@redhat.com>
1000
1001         * crtstuff.c (force_to_data): Use array size 1 not 0.
1002
1003         * dwarf2out.c (simple_type_size_in_bits): Handle a type with
1004         no computed size as size zero.
1005         (field_byte_offset): Likewise.
1006
1007 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
1008
1009         * config.gcc: Fix another typo.
1010
1011 2000-11-19  Richard Henderson  <rth@redhat.com>
1012
1013         * c-decl.c (grokdeclarator): Support flexible array members.
1014         Use open-ended ranges for these and zero-length arrays.
1015         * c-typeck.c (push_init_level): Validate the context of
1016         initialization of a zero-length array.
1017         * tree.c (int_fits_type_p): Be prepared for missing bounds.
1018         * varasm.c (array_size_for_constructor): New.
1019         (output_constructor): Use it for arrays of unspecified length.
1020         * extend.texi (Zero Length): Mention C99 flexible array members.
1021         Document initialization in a top-level struct as valid.
1022
1023 2000-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
1024
1025         * config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
1026
1027         * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
1028         stdarg and varargs functions.
1029
1030 2000-11-19  Zack Weinberg  <zack@wolery.stanford.edu>
1031
1032         * gcc.c (process_command): Define 'j' variable when
1033         MODIFY_TARGET_NAME is defined.
1034
1035 2000-11-19  Richard Henderson  <rth@redhat.com>
1036
1037         * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
1038
1039 2000-11-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1040
1041         * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
1042         calculation and allocation.
1043
1044 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1045
1046         * builtins.c (c_getstr): Constify variable.
1047         * gmon-sol2.c (_mcleanup): Comment out #endif labels.
1048         * conflict.c (const_conflict_graph_arc): New typedef.
1049         (arc_hash, arc_eq): Avoid needlessly casting away const-ness.
1050         * cppmacro.c (builtin_macro): Likewise.
1051         * dwarf2out.c (output_comp_unit): Constify variable.
1052         * fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
1053         * protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
1054         * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
1055         away const-ness.
1056         * tradcpp.c (rescan, do_line, macroexpand, macarg): Use
1057         ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint. 
1058         * varasm.c (const_str_htab_hash, const_str_htab_eq,
1059         compare_constant_1, record_constant_1): Constify.
1060
1061 2000-11-18  Richard Henderson  <rth@redhat.com>
1062
1063         * c-decl.c (grokdeclarator): Special case the creation of an
1064         index for a zero-length array.
1065         * tree.c (build_index_type): Revert Oct 20 change.
1066
1067 2000-11-18  Marek Michalkiewicz  <marekm@linux.org.pl>
1068
1069         * config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
1070         * config/avr/avr.c (jump_tables_size): New variable.
1071         (function_prologue): Initialize it as 0.
1072         (function_epilogue): Add it to function_size.
1073         (avr_output_addr_vec_elt): New function.  Count words in jump
1074         tables in jump_tables_size.  Move code ...
1075         * config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
1076         Call avr_output_addr_vec_elt instead.
1077         * config/avr/avr.md (tablejump): Remove disabled define_expand.
1078
1079 2000-11-18  Mark Mitchell  <mark@codesourcery.com>
1080
1081         * configure.in: Make --enable-new-gxx-abi the default.
1082         * configure: Likewise.
1083
1084 2000-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1085
1086         * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
1087
1088         * tradcif.y: Include tradcpp.h.  Constify.  Make functions static.
1089         Move extern function declarations to tradcpp.h.
1090
1091         * tradcpp.c: Likewise.
1092
1093         * tradcpp.h: New file.
1094
1095 2000-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
1096
1097         * c-decl.c (check_for_loop_decls): New function.
1098         * c-parse.in (for_init_stmt): New.
1099         (select_or_iter_stmt): Use for_init_stmt.
1100         * c-tree.h (check_for_loop_decls): New declaration.
1101
1102 2000-11-18  Neil Booth  <neilb@earthling.net>
1103
1104         * cppinit.c: Update comments.
1105         (cpp_reader_init): Make -imacro and -include use the standard
1106         #include "" search path.
1107         (do_includes): New function.
1108
1109 2000-11-18  Ben Elliston  <bje@redhat.com>
1110
1111         * config/sh/crt1.asm (start_l): Move PC-relative move instruction
1112         out of a branch delay slot.
1113
1114 2000-11-17  Richard Henderson  <rth@redhat.com>
1115
1116         * config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
1117         (ASM_SPEC): Disable and enable .mdebug based on -gstabs.
1118         (ASM_FILE_START): Only write out ecoff .file directive if
1119         emitting mdebug debugging.
1120
1121 2000-11-17  Richard Henderson  <rth@redhat.com>
1122
1123         * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New.  Detect
1124         whether as accepts .file/.loc and produces dwarf2 line info.
1125         * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
1126         the assembler supports it.
1127         * config.in, configure: Regenerate.
1128
1129 2000-11-17  Richard Henderson  <rth@redhat.com>
1130
1131         * fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
1132
1133 2000-11-17  Jim Wilson  <wilson@redhat.com>
1134
1135         * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN): 
1136         Don't clear need_barrier is next_insn is a CALL_INSN, or has
1137         instruction type B or UNKNOWN.
1138
1139 2000-11-17  Neil Booth  <neilb@earthling.net>
1140
1141         * cpperror.c (print_file_and_line): Don't display line number if 0.
1142
1143 2000-11-17  Zack Weinberg  <zack@wolery.stanford.edu>
1144
1145         * ggc.h: Delete ggc_add_string_root and ggc_mark_string.  Add
1146         digit_vector and digit_string.
1147         * stringpool.c (digit_vector): New.
1148         (ggc_alloc_string): Use digit_string.
1149
1150         * stmt.c (digit_strings): Delete.
1151         (init_stmt): Do not initialize digit_strings.
1152         (expand_asm_operands): Use ggc.h's digit_string macro.
1153         * toplev.c (mark_file_stack): Delete.
1154         (compile_file): Don't call init_tree_codes.
1155         (main): No need to make the file stack a GC root.
1156         * tree.c (init_tree_codes): Delete.
1157         * tree.h (init_tree_codes): Delete.
1158
1159         * c-lex.c: Don't include ggc.h.
1160         (mark_splay_tree_node, mark_splay_tree): Delete.
1161         (init_c_lex): No need to ggc_strdup string constant.  Don't add
1162         file_info_tree to GGC roots.
1163         (cb_enter_file, cb_rename_file): No need to ggc_strdup
1164         ip->nominal_fname.
1165
1166         * Makefile.in (c-lex.o): No longer depends on $(GGC_H).
1167
1168         * dbxout.c (dbxout_init),
1169         dwarf2out.c (dwarf2out_line),
1170         ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
1171         varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
1172         xcoffout.c (xcoffout_source_file),
1173         i386.c (load_pic_register):
1174         Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
1175
1176         * except.c (create_rethrow_ref),
1177         profile.c (init_edge_profiler),
1178         toplev.c (compile_file),
1179         varasm.c (named_section, assemble_static_space,
1180         assemble_trampoline_template, output_constant_def, force_const_mem),
1181         i386.c (load_pic_register),
1182         ia64.c (ia64_encode_section_info),
1183         rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
1184         rs6000_emit_prologue, rs6000_emit_epilogue),
1185         rs6000.md (load_toc_aix_si, load_toc_aix_di):
1186         Change ggc_alloc_string (var, -1) to ggc_strdup (var).
1187
1188         * profile.c (output_func_start_profiler),
1189         tree.c (make_node),
1190         i386.c (load_pic_register): No need to ggc_strdup string constant.
1191
1192 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
1193
1194         * Makefile.in (config.status): Depend on config.gcc.
1195         * configure.in <for machine in $build $host $target>: Move
1196         contents of loop into config.gcc, removing autoconf quoting.
1197         Fix changequote bug for alpha*-*-vxworks*.
1198         * configure: Regenerate.
1199         * config.gcc: New.
1200
1201 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
1202
1203         * c-parse.in (if_prefix): Find the filename and line number at
1204         $-2 and $-1 respectively.
1205         * diagnostic.c (error_recursion): Add missing newline, use
1206         fputs, translate string.
1207
1208 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
1209
1210         * stringpool.c: New file.
1211         * ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
1212         (ggc_alloc_string): Now in stringpool.o.
1213         * ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
1214         * ggc.h: Delete prototype of ggc_add_string_root.  #define
1215         ggc_add_string_root and ggc_mark_string to nothing.  Prototype
1216         init_stringpool and stringpool_statistics.
1217         (ggc_alloc_string): Returns a const char *.
1218         * tree.c (hash_table, do_identifier_warnings): Delete.
1219         (init_obstacks): Don't initialize the identifier hash table.
1220         (get_identifier, maybe_get_identifier, start_identifier_warnings,
1221         set_identifier_size): Now in stringpool.c.
1222         * tree.h (struct tree_string): Constify pointer field.
1223         (approx_sqrt): Prototype.
1224
1225         * Makefile.in (stringpool.o): Add rule, mention in OBJS.
1226
1227         * toplev.c (approx_sqrt): New function.
1228         (compile_file): Call stringpool_statistics if mem_report is on.
1229         (main): Call init_stringpool.
1230
1231         * builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
1232         (process_directive), c-typeck.c (constructor_asmspec, struct
1233         initializer_stack, start_init), except.c (create_rethrow_ref),
1234         stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
1235         (built_in_filename), varasm,c (in_named_name,
1236         assemble_static_space, struct constant_descriptor, struct
1237         deferred_string, struct pool_constant, force_const_mem),
1238         i386.c (pic_label_name, global_offset_table_name), rs6000.c
1239         (rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
1240
1241         * c-common.c (combine_strings): Combine strings in scratch
1242         buffer, then pass to build_string.
1243         * optabs.c (init_libfuncs), profile.c (init_edge_profiler,
1244         output_func_start_profiler), stmt.c (init_stmt), alpha.c
1245         (alpha_need_linkage), arm.c (arm_encode_call_attribute),
1246         i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
1247         rs6000.c (rs6000_encode_section_info): Create string in
1248         scratch buffer, then pass to ggc_alloc_string.
1249
1250         * stmt.c (expand_asm_operands): If we must adjust the
1251         constraint strings, do so by creating a new one, not by
1252         modifying the old one in place.  Constify some char *s.
1253         * config/pa/pa.c (hppa_encode_label): Drop unnecessary second
1254         argument.  Create string in scratch buffer, then pass to
1255         ggc_alloc_string.
1256         * config/pa/pa-protos.h: Update prototype.
1257         * config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
1258         hppa_encode_label takes only one argument.
1259
1260 2000-11-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1261
1262         * mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
1263         malloc/realloc.
1264
1265         * cpplib.c (glue_header_name): Likewise.
1266
1267         * fixincl.c (run_compiles, start_fixer): Likewise.
1268
1269         * fixlib.c (load_file_data): Likewise.
1270
1271         * mkdeps.c (munge): Likewise.
1272
1273 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
1274
1275         * defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
1276         trailing ';'.  Fix formatting.
1277
1278 2000-11-16  Jim Wilson  <wilson@redhat.com>
1279
1280         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
1281         Shift masks left by one to avoid conflict.
1282
1283         * config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
1284         DECL_EXTERNAL set.
1285
1286 2000-11-16  Nick Clifton  <nickc@redhat.com>
1287
1288         * config/arm/arm.c (output_arm_prologue): Note nested functions.
1289         (arm_expand_prologue): For nested functions preserve the
1290         static chain register during stack frame creation.
1291
1292         * config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
1293         (ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
1294         with a stack frame there is a 4 byte gap between the arg
1295         pointer and the hard frame pointer (used to preserve the
1296         static chain register during stack frame creation).
1297
1298 2000-11-16  DJ Delorie  <dj@redhat.com>
1299
1300         * rtl.c (read_rtx): Provide suitable names for unnamed
1301         define_insn and define_insn_and_split patterns, based on file
1302         and line numbers.
1303
1304 2000-11-15  Neil Booth  <neilb@earthling.net>
1305
1306         * cpplib.c (start_directive, end_directive): New functions.
1307         (_cpp_handle_directive, run_directive): Use them.
1308         (_cpp_handle_directive): Don't -Wtraditional on indented
1309         null directives.
1310         (_cpp_push_buffer): Don't re-clear was_skipping.
1311         * cpplib.h (struct cpp_reader): New member la_saved.
1312         * cppmacro.c (cpp_get_token): Don't interpret _Pragma in
1313         directives.
1314
1315         gcc.dg/cpp/_Pragma1.c: Update.
1316         gcc.dg/cpp/_Pragma2.c: New test.
1317
1318 2000-11-15  Mark Mitchell  <mark@codesourcery.com>
1319
1320         * toplev.c (wrapup_global_declarations): Don't write out
1321         artificial static variables that aren't needed.
1322
1323 2000-11-15  Bernd Schmidt  <bernds@redhat.co.uk>
1324
1325         * ia64.c (struct group): New structure.
1326         (last_group): New static array.
1327         (group_idx): New static variable.
1328         (emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
1329         New static functions.
1330         (emit_insn_group_barriers): Initialize and keep track of group_idx
1331         and last_group.
1332         Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
1333         Replace all calls to emit_insn_after that emit a group barrier to use
1334         emit_group_barrier_after.
1335         * ia64.h (MASK_B_STEP): New.
1336         (other MASK_XXX macros): Renumbered.
1337         (TARGET_B_STEP): New.
1338         (TARGET_SWITCHES): Add -mb-step.
1339
1340 2000-11-15  Fred Fish  <fnf@be.com>
1341
1342         * fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
1343         machines for which fixincludes is not needed.
1344         * config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
1345
1346 2000-11-15  Jason Merrill  <jason@redhat.com>
1347
1348         * diagnostic.c (finish_abort): New fn.
1349         (fancy_abort, error_recursion): Use it.
1350         * toplev.c (crash_signal): Likewise.
1351         * diagnostic.h: Declare it.
1352
1353 2000-11-13  Andrew Haley  <aph@redhat.com>
1354
1355         * tree.c (build_type_no_quals): New function.
1356         * tree.h (build_type_no_quals): Declare.
1357         * c-common.c (c_get_alias_set): When considering type
1358         compatibility for pointer types, ignore cv-qualifiers anywhere in
1359         a pointer chain.
1360
1361 2000-11-15  Graham Stott  <grahams@redhat.com>
1362
1363         * regrename.c (scan_rtx_rtx): Skip to the next chain on
1364         encountering a terminated chain.
1365
1366 2000-11-14  Mark Mitchell  <mark@codesourcery.com>
1367
1368         * configure.in: Move check for V3 above check for C++ header-file
1369         directory.
1370         * configure: Regenerated.
1371
1372 2000-11-14  DJ Delorie  <dj@redhat.com>
1373
1374         * config/v850/v850.c: Remove obstacks.
1375
1376 Tue Nov 14 21:54:31 2000  Marek Michalkiewicz  <marekm@linux.org.pl> & Denis Chertykov  <denisc@overta.ru>
1377
1378         * config/avr/avr.c (avr_case_values_threshold): New.
1379         (avr_override_options): Set it depending on options, make it large
1380         when not optimizing to work around "unable to generate reloads".
1381
1382         * config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
1383         (EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
1384         executable if not AVR_MEGA.  Make sure jump tables are word-aligned.
1385         (JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
1386         (ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
1387         (avr_case_values_threshold): Declare as extern int.
1388         (CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
1389
1390         * config/avr/avr.md (tablejump): Removed.
1391         (*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
1392         (*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
1393         index in the table, not multiplied by 2.
1394         (casesi): Change to match the above insns.  Always enable.
1395
1396         * config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
1397         Change to expect the word address of the table, multiply it by 2
1398         here and not in the caller.  Change "adiw" to faster "inc".
1399
1400 2000-11-14  Neil Booth  <neilb@earthling.net>
1401
1402         * cppexp.c (parse_defined): Call cpp_get_token not
1403         _cpp_get_token.
1404         (lex): Similarly.
1405         * cpplex.c (cpp_output_line): Similarly.
1406         * cpplib.c (glue_header_name, do_line, do_ident,
1407         parse_answer, parse_assertion): Similarly.
1408         (_cpp_handle_diretive): Don't save to lookaheads
1409         when processing directives.
1410         * cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
1411         _cpp_get_token.
1412         (funlike_invocation_p): Don't save to lookaheads
1413         when pre-expanding arguments.
1414         (_cpp_get_token): Delete.
1415         (cpp_get_token): Merge contents of _cpp_get_token.
1416
1417 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
1418
1419         * builtins.c (expand_builtin_setjmp): Set
1420         current_function_calls_setjmp.
1421         (expand_builtin_longjmp): Set current_function_calls_longjmp.
1422
1423         * config/sparc/sparc.md (builtin_setjmp_setup): New expand.
1424         (do_builtin_setjmp_setup): New insn.
1425
1426 Tue Nov 14 12:34:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1427
1428         * tree.c (get_unwidened): Use host_integerp and tree_low_cst.
1429         (int_fits_type_p): For variable bounds, call force_fit_type.
1430
1431 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
1432
1433         * varasm.c (struct deferred_string): New structure.
1434         (const_str_htab): New variable.
1435         (STRHASH): New macro.
1436         (mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
1437         constr_str_htab_eq, const_str_htab_del): New functions.
1438         (output_constant_def): Add DEFER argument, defer string
1439         constants until mark_constant_pool time if requested.
1440         (mark_constant_pool): Walk the insn chain even if const_str_htab is
1441         not empty.
1442         (mark_constants): If a SYMBOL_REF for deferred string is found,
1443         output it and remove from hash table.
1444         (output_addressed_constants): Set DEFER to 0 in call to
1445         output_constant_def.
1446         * rtl.h (STRING_POOL_ADDRESS_P): Define.
1447         (output_constant_def): Adjust prototype.
1448         * expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
1449
1450 2000-11-14  Chandrakala Chavva  <cchavva@redhat.com>
1451
1452         * optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
1453         signed types if flag_trapv.
1454
1455 2000-11-14  Zack Weinberg  <zack@wolery.stanford.edu>
1456
1457         * tradcpp.c, tradcif.y: Update FSF mailing address, delete
1458         reference to GPLv1.
1459
1460 2000-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
1461
1462         * c-common.h (CTI_C_SIZE_TYPE): Update comment.
1463
1464 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
1465
1466         * varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
1467         to array of pool_constnat pointers.
1468         (struct pool_constant): Add next_sym and label members.
1469         (struct pool_sym): Remove.
1470         (init_varasm_status): Change pool_sym into pool_constant.
1471         (mark_pool_constant): Mark pc->label string as well.
1472         (mark_pool_sym_hash_table): Remove.
1473         (mark_varasm_status): Remove it from caller as well.
1474         (free_varasm_status): Don't free pool_sym structures.
1475         (force_const_mem): Don't allocate pool_sym structure, instead
1476         fill pool->label and chain it into rtx_sym hash table.
1477         (find_pool_constant, mark_constant_pool): Use pool_constant instead
1478         of pool_sym.
1479
1480 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
1481
1482         * reload1.c (emit_input_reload_insns): Honour forcing of constants
1483         into memory by PREFERRED_RELOAD_CLASS NO_REGS.
1484
1485 2000-11-14  Michael Matz  <matzmich@cs.tu-berlin.de>
1486
1487         * dominance.c: New file.
1488         * Makefile.in (OBJS): Add dominance.o.
1489
1490         * flow.c (compute_flow_dominators): Remove.
1491         (compute_immediate_dominators): Remove.
1492         (compute_immediate_postdominators): Remove.
1493         * basic-block.h: Remove their prototypes.
1494         (calculate_dominance_info): Add prototype.
1495
1496         * dce.c (eliminate_dead_code): Change calls to above functions.
1497         Don't compute dominators but only immediate dominators.
1498         * flow.c (flow_loops_find): Change callers.
1499         * gcse.c (compute_code_hoist_data): Likewise.
1500         * haifa-sched.c (schedule_insns): Likewise.
1501         * ifcvt.c (if_convert): Likewise.
1502         * ssa.c (convert_to_ssa): Likewise, and only compute immediate
1503         dominators.
1504
1505 2000-11-14  Richard Henderson  <rth@redhat.com>
1506
1507         * stmt.c (warn_if_unused_value): Don't warn if the expression
1508         has side effects.
1509
1510         * c-typeck.c (c_sizeof): Fold result to c_size_type_node.
1511         (c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
1512
1513 2000-11-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1514
1515         * loop.c (basic_induction_var): Revert accidental checkin.
1516
1517 2000-11-13  Hans-Peter Nilsson  <hp@axis.com>
1518
1519         * c-lex.c (cb_leave_file): Harmonize conditions and order of
1520         statements to those of process_directive for (action == act_pop).
1521
1522         * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
1523
1524         * local-alloc.c (equiv_init_movable_p): References to CC0 are not
1525         movable.
1526
1527 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1528
1529         * c-parse.in (stmts_and_decls): Deprecate use of label at end of
1530         compound statement.
1531
1532 2000-11-13  Neil Booth  <neilb@earthling.net>
1533
1534         * cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
1535         cases return without MI check.
1536         * cpplib.c (do_diagnostic): Take boolean of whether to
1537         print the directive name.
1538         (do_error, do_warning): Update.
1539         (do_pragma_dependency): Use it.
1540         * cpplib.h (VARARGS_FIRST): Delete.
1541         (struct cpp_token): Delete integer.
1542         * cppmacro.c (enter_macro_context): Move disabled check
1543         to _cpp_get_token.
1544         (_cpp_get_token): Simplify into a single loop.
1545
1546 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
1547
1548         * configure.in:  Use 'test -f' not '[ -e'.
1549         * configure: Regenerated.
1550
1551 2000-11-13  DJ Delorie  <dj@redhat.com>
1552
1553         * config/mn10300/mn10300.md (store_movm): Note which registers are
1554         really used or clobbered.
1555
1556 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1557
1558         * c-parse.in (ends_in_label): Remove from %union and %type.
1559         (decls, stmts, lineno_stmt_or_labels, xstmts,
1560         lineno_stmt_or_label, stmt_or_label): Remove.
1561         (stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
1562         lineno_stmt_decl_or_labels_ending_decl,
1563         lineno_stmt_decl_or_labels_ending_label,
1564         lineno_stmt_decl_or_labels_ending_error,
1565         lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
1566         lineno_stmt, lineno_label): New.
1567         (compstmt_nostart): Use compstmt_contents_nonempty.
1568
1569 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1570
1571         * c-common.c (boolean_increment): New function.
1572         * c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
1573         CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
1574         (c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
1575         (boolean_increment): Declare.
1576         * c-convert.c (convert): Allow for BOOLEAN_TYPE.
1577         * c-decl.c (init_decl_processing): Create boolean nodes.
1578         (finish_struct): Allow for _Bool bitfields.
1579         * c-parse.in (reswords): Add _Bool.
1580         (rid_to_yy): Allow for RID_BOOL.
1581         * c-typeck.c (default_conversion): Make booleans promote to int.
1582         (convert_arguments, build_unary_op, build_modify_expr,
1583         convert_for_assignment): Allow for booleans.
1584         * ginclude/stdbool.h: Make conforming to C99.
1585
1586 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1587
1588         * c-parse.in (c99_block_start, c99_block_end,
1589         c99_block_lineno_labeled_stmt): New.
1590         (simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
1591         (stmt): Split off selection and iteration statements into...
1592         (select_or_iter_stmt): New.  Use c99_block_lineno_labeled_stmt.
1593
1594 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1595
1596         * invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
1597         -time): Update.
1598
1599 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
1600
1601         * arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
1602         Rewrite to avoid use of match_dup.  Don't try to tie registers that
1603         are not in the same mode.
1604
1605 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1606
1607         * invoke.texi: Update lists of languages and suffixes supported.
1608
1609 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1610
1611         * configure.in: Take toplevel configure arguments from the
1612         environment to create configargs.h and substitute
1613         gcc_config_arguments, taking account of any existing configargs.h
1614         if reconfiguring.
1615         * configure: Regenerate.
1616         * gccbug.in: Include toplevel configure arguments in gccbug.
1617
1618 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
1619
1620         * varasm.c (struct constant_descriptor): Put CONTENTS inside a
1621         union to make it well-aligned.  Update all uses.
1622
1623 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1624
1625         * c-parse.in (initelt): Give appropriate pedantic warnings,
1626         depending on flag_isoc99, for non-ISO syntax and for C99 syntax
1627         outside C99 mode.
1628         (designator): If pedantic, pedwarn for a designator specifying a
1629         range of elements.
1630         * c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
1631         these cases.
1632         * extend.texi: Document the C99 syntax as the preferred syntax,
1633         and the pre-2.5 syntax as obsolete.  Mention use of designator
1634         lists for nested subobjects.
1635
1636 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
1637
1638         * diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
1639         Add ATTRIBUTE_PRINTF.
1640         * tradcpp.c (v_message, warning, error, fatal, error_with_line):
1641         Add ATTRIBUTE_PRINTF*.
1642
1643 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
1644
1645         * function.c (assign_parms): When calling put_var_into_stack, make
1646         sure that there are no hidden pending sequences.
1647
1648 2000-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1649
1650         * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
1651         BUILT_IN_RINDEX.  Add missing checks for BUILT_IN_STRCHR and
1652         BUILT_IN_STRRCHR.
1653
1654         * builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
1655
1656         * c-common.c (c_common_nodes_and_builtins): Declare index and
1657         rindex when nonansi builtins are allowed.
1658
1659         * extend.texi (index, rindex): Document new builtins.
1660
1661 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
1662
1663         * configure.in: Turn on libstdc++ V3 by default.
1664         * configure: Regenerated.
1665
1666         * fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
1667
1668 2000-11-12  Jakub Jelinek  <jakub@redhat.com>
1669
1670         * reload1.c (set_label_offsets): Go inside of PARALLELs.
1671
1672 2000-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
1673
1674         * invoke.texi: Clean up option summary.
1675
1676 2000-11-12  Nick Clifton  <nickc@redhat.com>
1677
1678         * config/mcore/mcore.c: Fix comment formating, and adjust sequence
1679         of #include headers.
1680
1681 2000-11-12  Marc Espie <espie@openbsd.org>
1682
1683         * configure.in: Fix filds test.
1684         * configure: Regen.
1685
1686 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
1687
1688         * jump.c (delete_computation): Don't assume that just becuase an
1689         instruction sets a register, that register is dead.
1690
1691 2000-11-12  Neil Booth  <neilb@earthling.net>
1692
1693         * cppexp.c: Don't worry about pfile->skipping.
1694         * cpplib.c (struct if_stack): Make was_skipping unsigned char.
1695         (cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
1696         for handled directives.
1697         (skip_rest_of_line): Use _cpp_lex_token after popping contexts
1698         and releasing lookaheads.
1699         (do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
1700         (do_else, do_elif, push_conditional): Update logic.
1701         (do_endif): Set buffer->was_skipping rather than pfile->skipping.
1702         (unwind_if_stack): Inline into cpp_pop_buffer.
1703         (cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
1704         * cpplex.c (_cpp_lex_token): Clear skipping on EOF.  Handle
1705         multiple-include optimisation.
1706         * cpplib.h (struct cpp_buffer): New member was_skipping.
1707         * cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping.  This
1708         works because skipping == 0 in directives.
1709         (_cpp_release_lookahead): Renamed from release_lookahead.
1710         (cpp_get_token): No need to check skipping as _cpp_get_token does
1711         this for us.  No need to handle MI optimisation.
1712
1713 Sat Nov 11 21:14:02 2000  Mark P Mitchell  <mark@codesourcery.com>
1714
1715         * fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
1716         declarations that use `__MATH_EXCEPTION' in their prototypes, too.
1717         * fixinc/fixincl.x: Regenerated.
1718
1719 2000-11-11  Bruce Korb  <bkorb@gnu.org>
1720
1721         * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
1722         (avoid_wchar_t_type): ditto
1723         * fixinc/fixinc.irix: obsoleted
1724
1725 2000-11-11  Zack Weinberg  <zack@wolery.stanford.edu>
1726
1727         * configure.in: Don't add $outputs to all_lang_makefiles.  Add
1728         $srcdir/$s/Makefile.in if it exists.
1729         * configure: Regenerate.
1730
1731 Sat Nov 11 18:41:20 2000  Mark P Mitchell  <mark@codesourcery.com>
1732
1733         * fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
1734
1735 2000-11-11  Jason Merrill  <jason@redhat.com>
1736
1737         * function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
1738         give the parm a register and then call put_var_into_stack.
1739         * stmt.c (expand_decl): Likewise.
1740
1741 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1742
1743         * gcc.texi: Adjust wording.
1744
1745 2000-11-11  Mark Mitchell  <mark@codesourcery.com>
1746
1747         * fixinc/inclhack.def (avoid_wchar_t_type): New fix.
1748         * fininc/fixincl.x: Regenerated.
1749
1750 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1751
1752         * invoke.texi: Correct spelling of -foptimize-register-move.
1753
1754 2000-11-11  Neil Booth  <neilb@earthling.net>
1755
1756         Remove CPP_PLACEMARKERs.
1757
1758         * cppexp.c (lex): Don't handle CPP_PLACEMARKER.
1759         * cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol
1760         * cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer):
1761                    Similarly.
1762         * cpplib.h: Remove CPP_PLACEMARKER.
1763         (struct lexer_state): Rename skip_newlines to next_bol.
1764         * cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER.
1765         Simplify prev_white handling as a result.
1766         (paste_all_tokens): Don't worry about CPP_PLACEMARKERs.
1767         (parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs.
1768         (parse_args): Similarly.  Update argument count tests.
1769         (enter_macro_context): Return 2 to indicate an empty macro.
1770         (replace_args): Don't bother pre-expanding an empty argument.
1771         Handle placemarkers and ## extension during pre-expansion.
1772         (cpp_get_token): Handle empty macro expansions.  Don't worry
1773         about CPP_PLACEMARKERs.
1774         (_cpp_create_definition): Empty macros are now empty.
1775         (cpp_macro_defintion): Don't special case empty macros.
1776         * scan-decls.c: Don't bother with CPP_PLACEMARKERs.
1777         * c-lex.c: Similarly.
1778
1779 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
1780
1781         * gcc.texi, invoke.texi: Add new section discussing language
1782         standards; link to it where appropriate; refer to ISO C instead of
1783         ANSI C.
1784
1785 2000-11-11  Alexandre Oliva  <aoliva@redhat.com>
1786
1787         * builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
1788         into account.
1789
1790         * config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
1791         modes.
1792
1793 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1794
1795         * gcc.texi, gcov.texi: Update dates and version numbers.
1796
1797 2000-11-10  Zack Weinberg  <zack@wolery.stanford.edu>
1798
1799         * configure.in: Remove AC_PROG_LEX and AC_PROG_YACC.  Look for
1800         flex and bison, specifically, first in a unified build and
1801         then installed on the system.
1802         * Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@.  Rename
1803         LEXFLAGS to FLEXFLAGS.  Adjust ORDINARY_FLAGS_TO_PASS to
1804         match.
1805
1806         (collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
1807         cppdefault.o): Remove pointless sed munging of source file
1808         name.
1809
1810 2000-11-10  Bernd Schmidt  <bernds@redhat.co.uk>
1811
1812         * reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER
1813         for address reloads.  Push replacements for REG_INC notes.
1814         (regno_clobbered_p): New arg SETS.  Examine SETs if it's nonzero.  All
1815         callers changed.
1816         * reload1.c (choose_reload_regs): Registers set in the insn can't be
1817         used for RELOAD_OTHER reloads.
1818
1819 2000-11-10  Mark Mitchell  <mark@codesourcery.com>
1820
1821         * c-dump.h: New file.
1822
1823 2000-11-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1824
1825         * alpha.c (check_float_value): Use memcpy, not bcopy.
1826         * arm.c (output_move_double): Likewise.
1827         * arm.md: Likewise.
1828         * m88k.c (legitimize_operand): Likewise.
1829         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
1830         * m88k.md: Likewise.
1831         * mips.c (override_options): Likewise.
1832         * mips.md: Likewise.
1833         * romp.c (output_fpops): Likewise.
1834         * rs6000.c (rs6000_override_options): Likewise.
1835         * sh.md: Likewise.
1836         * vax.c (check_float_value): Likewise.
1837
1838         * emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
1839         * expmed.c (synth_mult): Likewise.
1840         * final.c (add_bb_string): Likewise.
1841         * genattr.c (main): Likewise.
1842         * genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
1843         Likewise.
1844         * jump.c (thread_jumps): Likewise.
1845         * prefix.c (save_string): Likewise.
1846         * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
1847         * regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
1848         * reload1.c (reload, eliminate_regs): Likewise.
1849
1850 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1851
1852         * gcc.texi (Service): Update to reflect current practice and
1853         location of the GNU service directory.
1854
1855 2000-11-09  Bernd Schmidt  <bernds@redhat.co.uk>
1856
1857         * regrename.c (build_def_use): Mark contents of REG_INC notes as
1858         needing replacement.
1859
1860         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit
1861         a no-op move if regs are equal.
1862         * toplev.c (rest_of_compilation): Do the noop moves elimination pass
1863         when calling jump after post-reload splitting.
1864
1865 2000-11-09  Jan van Male  <jan.vanmale@fenk.wau.nl>
1866
1867         * c-tree.texi: Fix typos.
1868         * extend.texi: Likewise
1869         * gcov.texi: Likewise
1870         * rtl.texi: Likewise
1871         * tm.texi: Likewise
1872
1873 2000-11-09  Hans-Peter Nilsson  <hp@axis.com>
1874
1875         * c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
1876         in_system_header and flags[1] before dereferencing flags[2].
1877
1878 2000-11-09  Matthew Hiller <hiller@redhat.com>
1879
1880         * reload1.c (reload_combine): Fixed calculation of
1881         first_index_reg, last_index_reg.
1882
1883 2000-11-09  Mark Mitchell  <mark@codesourcery.com>
1884
1885         * c-dump.c (dequeue_and_dump): Dump function bodies.
1886
1887         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
1888         (c-dump.o): New target.
1889         * c-common.h (flag_dump_translation_unit): New variable.
1890         (C_TYPE_QUALS): New macro.
1891         (strip_array_types): New function.
1892         (DECL_C_BIT_FIELD): New macro.
1893         (SET_DECL_C_BIT_FIELD): Likewise.
1894         (CLEAR_DECL_C_BIT_FIELD): Likewise.
1895         (dump_info_p): New typedef.
1896         (dump_tree_fn): Likewise.
1897         (lang_dump_tree): New variable.
1898         (dump_node_to_file): New function.
1899         * c-common.c (flag_dump_translation_unit): Define it.
1900         (strip_array_types): New function.
1901         * c-decl.c (c_decode_option): Handle -fdump-translation-unit.
1902         * c-lang.c (finish_file): Call dump_node_to_file if
1903         flag_dump_translation_unit.
1904         * c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
1905         * c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
1906         * c-dump.c: New file.
1907
1908 2000-11-09  Christopher Faylor <cgf@cygnus.com>
1909
1910         * config/i386/cygwin.h: Add mingw startfile prefix.
1911
1912 2000-11-09  Richard Henderson  <rth@redhat.com>
1913
1914         * flow.c (invalidate_mems_from_set): Split out from ...
1915         (mark_set_1): ... here.
1916         (try_pre_increment_1): Use it.  Use propagate_block_delete_insn
1917         instead of turning insn into a NOTE_INSN_DELETED.
1918
1919 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1920
1921         * extend.texi, invoke.texi: Move documentation of builtin versions
1922         of C library functions to one place and update.
1923
1924 2000-11-09  Richard Henderson  <rth@redhat.com>
1925
1926         * fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
1927         the types themselves to discover type equivalence.
1928
1929 2000-11-09  Mike Stump  <mrs@wrs.com>
1930
1931         * Makefile.in (distclean): Remove a few extra leftovers.
1932
1933 2000-11-09  Richard Henderson  <rth@redhat.com>
1934
1935         * recog.c (validate_replace_rtx_1): Consider subregs when
1936         replacing a register with a constant inside a sign/zero_extend.
1937
1938         * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1939
1940 2000-11-09  Geoffrey Keating  <geoffk@redhat.com>
1941
1942         * c-decl.c (finish_struct): When a structure is completed,
1943         check all its variant types for completeness.
1944
1945 2000-11-09  Neil Booth  <neilb@earthling.net>
1946
1947         * cpphash.c: Move cpp_defined here from cpplib.c.
1948         * cpplib.c: Update comments, move cpp_defined to cpphash.c.
1949         * cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
1950         * cppmacro.c (cpp_get_token): Update comments, no need now
1951         to catch the CPP_EOF meaning EOL case.
1952
1953 2000-11-08  Geoffrey Keating  <geoffk@redhat.com>
1954
1955         * config/sparc/sparc.c (sparc_va_arg): When the required alignment
1956         is more than that provided, copy to a temporary.
1957
1958 2000-11-09  Alexandre Oliva  <aoliva@redhat.com>
1959
1960         * mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
1961         interpreting $out as a macro assignment.
1962         * Makefile.in (T_TARGET): New auxiliary macro and target.
1963         (all): Add a target right in the beginning, so that we don't build
1964         T_TARGET by default.
1965
1966 2000-11-09  Graham Stott  <grahams@redhat.com>
1967
1968         * config/i386/i386.md (mmx_pinsrw): Output operands in correct
1969         order for -mintel-syntax.  Remove comment now that the operand
1970         order has been checked.
1971         (mmx_pextrw): Likewise.
1972         (mmx_pshufw): Likewise.
1973
1974 2000-11-09  Jakub Jelinek  <jakub@redhat.com>
1975
1976         * builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
1977         (c_getstr): New function.
1978         (expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
1979         If both arguments are constant string, optimize out.
1980         (expand_builtin_strchr, expand_builtin_strrchr): New functions.
1981         (expand_builtin_strpbrk): Use c_getstr, do nothing if
1982         -fcheck-memory-usage.
1983         (expand_builtin_fputs): Likewise.
1984         (expand_builtin_strcmp): Add MODE argument.
1985         Use even if !HAVE_cmpstrsi.
1986         Optimize the case when both arguments are constant strings.
1987         (expand_builtin): Adjust expand_builtin_strcmp caller.
1988         Call expand_builtin_strchr and expand_builtin_strrchr.
1989         * c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
1990         builtins.
1991         * builtins.def (BUILT_IN_STRRCHR): Add.
1992
1993 2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1994
1995         * fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
1996
1997 2000-11-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1998
1999         * calls.c (expand_call, emit_library_call_value_1), collect2.c
2000         (scan_prog_file), config/a29k/a29k.c (print_operand),
2001         config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
2002         instead of bcopy ().
2003         * real.h: Use memcmp () instead of bcmp ().
2004         * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
2005         (split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
2006         ultrasparc_sched_init, ultrasparc_sched_reorder),
2007         config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
2008         instead of bzero ().
2009         * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
2010         instead of rindex ().
2011         * configure.in: Don't check for bzero, bcmp, index or rindex.
2012         * configure, config.in: Regenerate.
2013         * system.h: Don't include declarations for bzero, bcmp, index or
2014         rindex.
2015         * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
2016         bzero, bcmp, index or rindex.
2017
2018 Wed Nov  8 21:58:20 2000  Christopher Faylor <cgf@cygnus.com>
2019
2020         * config/i386/cygwin.h: Add -no-win32 switch.  Separate -mno-cygwin
2021         include and library paths from -mcygwin case.  Parameterize some
2022         declarations to avoid warnings.  Use standard locations for include and
2023         lib dirs.
2024
2025 2000-11-08  Nick Clifton  <nickc@redhat.com>
2026
2027         * config/arm/arm.md (mulsidi3adddi): Change output operand
2028         constraint from "=&" to "+&".
2029         (umulsidi3adddi): Change output operand constraint from "=&" to
2030         "+&".
2031
2032 2000-11-08  Richard Henderson  <rth@redhat.com>
2033
2034         * flow.c (init_propagate_block_info): Protect the rtx stored in
2035         mem_set_list from modification by find_auto_inc.
2036         (mark_set_1): Likewise.
2037
2038 2000-11-08  Neil Booth  <neilb@earthling.net>
2039
2040         Move directive handling into the lexer itself.
2041
2042         * cpplex.c (_cpp_lex_token): Handle directives directly.
2043         In the case of a directive interrupting a function-like
2044         macro invocation, use extra_char since read_ahead is
2045         used to store the '#'.  Return a CPP_EOF in this case.
2046         * cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
2047         (cpp_get_token): Don't handle directives here.
2048         * cpplib.h: Remove CPP_DHASH token type.
2049
2050 Wed Nov  8 21:53:41 MET 2000  Jan Hubicka  <jh@suse.cz>
2051
2052         * regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
2053         formed using PRE_MODIFY too.
2054
2055 2000-11-08  Mark Mitchell  <mark@codesourcery.com>
2056
2057         * c-tree.texi (VAR_DECL): Describe representation of GCC's
2058         extension for placing variables in particular registers.
2059
2060         * c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
2061         unprototyped C functions with no parameters.
2062
2063 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
2064
2065         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
2066         before passing to fprintf.
2067
2068 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
2069
2070         * function.c (expand_function_start): Cast GET_MODE_SIZE to
2071         HOST_WIDE_INT before negating it.
2072
2073 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
2074
2075         * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
2076         passed in multiple non-contiguous locations.
2077
2078 2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2079
2080         * README.gnat: Remove file.
2081
2082 2000-11-08  Alexandre Oliva  <aoliva@redhat.com>
2083
2084         * mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts
2085         in-place.
2086
2087 2000-11-07  Richard Henderson  <rth@redhat.com>
2088
2089         * dwarfout.c (INSN_LABEL_FMT): Remove.
2090         (output_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
2091         (dwarfout_label): Remove.
2092         * dwarfout.h: Remove it's prototype.
2093         * dwarf2out.c (INSN_LABEL_FMT): Remove.
2094         (gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
2095         (dwarf2out_label): Remove.
2096         * dwarf2out.h: Remove it's prototype.
2097         * final.c (final_scan_insn): Don't call dwarf[2]out_label.
2098
2099 2000-11-07  Richard Henderson  <rth@redhat.com>
2100
2101         * config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary
2102         search on the unwind region section.
2103
2104         * config/ia64/ia64.md (movbi): Add r/r alternative.
2105         (cmovdi_internal_astep): Describe all combinations of register
2106         classes for sources & destinations; remove matching constraints.
2107         (cmovdi_internal): Likewise.
2108
2109         * gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed.
2110
2111 2000-11-07  Richard Henderson  <rth@redhat.com>
2112
2113         * c-lang.c (start_cdtor, finish_cdtor): New functions.
2114         (finish_file): Use them in building constructor/destructor functions.
2115
2116         * config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH,
2117         LD_FINI_SWITCH): Move ...
2118         * config/alpha/osf.h: ... here.
2119         * config/alpha/alpha-interix.h: Don't undef them.
2120
2121 2000-11-07  Jeffrey Oldham  <oldham@oz.codesourcery.com>
2122
2123         * config/mips/t-iris6 (FPBIT): New.  Added so that __unorddf2 is
2124         included in libgcc.a.
2125         (DPBIT): Likewise.
2126         (dp-bit.c): Likewise.
2127         (fp-bit.c): Likewise.
2128
2129 2000-11-07  Nick Clifton  <nickc@redhat.com>
2130
2131         * config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab.
2132         (INTERNAL_ASM_OP): Add missing tab.
2133
2134 2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2135
2136         * alias.c (init_alias_analysis), calls.c (expand_call,
2137         emit_library_call_value_1), combine.c (init_reg_last_arrays),
2138         cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
2139         (init_output_buffer, set_diagnostic_context), dwarf2out.c
2140         (equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
2141         (init_emit_once), fold-const.c (mul_double, div_and_round_double),
2142         function.c (assign_parms), gcse.c (compute_can_copy,
2143         alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
2144         compute_hash_table, compute_set_hash_table,
2145         compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
2146         (global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
2147         clear_units, schedule_block), integrate.c (initialize_for_inline,
2148         expand_inline_function), jump.c (thread_jumps), local-alloc.c
2149         (local_alloc), loop.c (combine_movables, count_loop_regs_set,
2150         load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
2151         regclass.c (init_reg_sets, init_reg_sets_1, regclass,
2152         record_reg_classes, allocate_reg_info), reload.c
2153         (get_secondary_mem, remove_address_replacements, find_reloads),
2154         reload1.c (reload, set_initial_label_offsets, finish_spills,
2155         reload_as_needed, choose_reload_regs_init,
2156         reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
2157         (sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
2158         (rename_registers), stmt.c (expand_end_case), unroll.c
2159         (unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
2160         () instead of bzero ().
2161
2162 2000-11-07  Neil Booth  <neilb@earthling.net>
2163
2164        * cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB.
2165
2166 2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2167
2168         * c-common.c (combine_strings): Only warn about long strings for C.
2169
2170 Tue Nov  7 19:44:30 2000  J"orn Rennecke <amylaar@redhat.com>
2171
2172         * combine.c (distribute_notes): Fix typo in last change.
2173
2174 2000-11-07  Geoff Keating  <geoffk@redhat.com>
2175
2176         * config/rs6000/rs6000.md (movdi_internal32+1): Use
2177         operand_subreg_force rather than gen_rtx_SUBREG.
2178         (movdi_internal32+2): Likewise.
2179
2180 2000-11-07  Philip Blundell  <philb@gnu.org>
2181
2182         * configure.in (arm*-*-linuxaout*): Obsolete, deleted.
2183         * config/arm/linux-aout.h: Likewise.
2184         * configure: Regenerate.
2185
2186 2000-11-07  Philipp Thomas  <pthomas@suse.de>
2187
2188         * ABOUT-GCC-NLS: Remove the patch for gettext as it has been
2189         accepted my the gettext maintainer.
2190
2191 2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2192
2193         * builtins.c (expand_builtin_strpbrk): New function.
2194         (expand_builtin): Handle BUILT_IN_STRPBRK.
2195
2196         * builtins.def (BUILT_IN_STRPBRK): New entry.
2197
2198         * c-common.c (c_common_nodes_and_builtins): Declare builtin
2199         strpbrk.
2200
2201 2000-11-07  David O'Brien  <obrien@dragon.nuxi.com>
2202
2203         * config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
2204         * POTFILES.in: Add config/alpha/freebsd.h
2205         * configure.in: Add alpha*-freebsd support.
2206         * configure: Regenerate.
2207
2208 2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2209
2210         * tree.c (build_common_tree_nodes_2): Make va_list_type_node be a
2211         copy of ptr_type_node rather than ptr_type_node itself.
2212
2213 Tue Nov  7 06:29:24 2000  J"orn Rennecke <amylaar@redhat.com>
2214
2215         * combine.c (recog_for_combine): Allocate uninitialized vector with
2216         rtvec_alloc.
2217         * recog.c (apply_change_group): Likewise.
2218
2219 Tue Nov  7 06:24:02 2000  J"orn Rennecke <amylaar@redhat.com>
2220
2221         * flow.c (verify_local_live_at_start): Back out last change.
2222         * combine.c (distribute_notes): When parts of a hard reg are
2223         neither set nor referenced in PLACE, search backwards for a
2224         place to put a REG_UNUSED note; if none found, ask for flow
2225         info refresh.
2226
2227 Mon Nov  6 20:08:13 2000  J"orn Rennecke <amylaar@redhat.com>
2228
2229         * reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL
2230         with (clobber (match_scratch...)).
2231
2232 2000-11-06  Neil Booth  <neilb@earthling.net>
2233
2234         * c-lex.c (init_c_lex): If cpp_start_read fails, exit with
2235         error status.
2236
2237 2000-11-06  Neil Booth  <neilb@earthling.net>
2238
2239         * tradcpp.c (special_symbol): Assign an null string rather
2240         than writing to an unallocated buffer.
2241
2242 2000-11-06  Neil Booth  <neilb@earthling.net>
2243
2244         * cpplex.c (_cpp_equiv_tokens): Check arg_no in the
2245         CPP_MACRO_ARG case.
2246
2247 2000-11-06  Neil Booth  <neilb@earthling.net>
2248
2249         * c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or
2250         tok.val.arg_no as appropriate.
2251         * cppexp.c (lex): Similarly.
2252         * cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token,
2253         cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly.
2254         * cppmacro.c (stringify_arg, replace_args, lex_expansion_token,
2255         cpp_macro_definition): Similarly.
2256         * cpplib.h (struct cpp_token): Replace aux with c and arg_no.
2257
2258 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
2259
2260         * config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
2261         operands[1] is constant, calculate the sum and generate movdi.
2262         (addsi3): Similarly.  Use SImode in call to arith_4096_operand.
2263         (subsi3): Use SImode in call to arith_4096_operand.
2264
2265 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
2266
2267         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
2268         adjust %o1, not %o0 if the return type is large structure.
2269
2270 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
2271
2272         * config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
2273         update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
2274
2275 Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz  <marekm@linux.org.pl>
2276
2277         * expmed.c (expand_divmod): For signed divide by 2, prefer
2278         a branch and fewer shifts if branches are very cheap.
2279
2280 2000-11-05  Joseph S. Myers  <jsm28@cam.ac.uk>
2281
2282         * Makefile.in: Remove all targets related to building
2283         distributions and diffs, or INSTALL.
2284         * INSTALL, install1.texi: Remove.
2285         * configure.in: Remove mention of distdir.
2286         * configure: Regenerate.
2287         * objc/Make-lang.in: Remove mention of distdir.
2288
2289 2000-11-04  Neil Booth  <neilb@earthling.net>
2290
2291         * cpp.texi: Update for _Pragma.
2292
2293 2000-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2294
2295         * gcc.texi (Contributing): Update URL for projects web page.
2296
2297 2000-11-04  Neil Booth  <neilb@earthling.net>
2298
2299         * cpplex.c (parse_string): Don't allow multiline strings in
2300         #include family directives.
2301
2302 2000-11-04  Neil Booth  <neilb@earthling.net>
2303
2304         * cpplib.c (do_line): Only warn pedantically if not reading
2305         preprocessed input.
2306
2307 2000-11-04  Alexandre Oliva  <aoliva@redhat.com>
2308
2309         * calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of
2310         RETURN_POPS_ARGS().
2311
2312 2000-11-03  Zack Weinberg  <zack@wolery.stanford.edu>
2313
2314         * builtins.c (expand_builtin_strlen): Remove unused mode
2315         argument.
2316         * gcc.c (process_command): Remove unused variable.
2317         * fold-const.c: Include expr.h.
2318         * recog.c: Include reload.h.
2319         * Makefile.in (recog.o, fold-const.o): Update deps.
2320
2321 2000-11-02  Geoffrey Keating  <geoffk@cygnus.com>
2322
2323         * fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'.
2324
2325 Fri Nov  3 13:41:04 2000  Mark P Mitchell  <mark@codesourcery.com>
2326
2327         * config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static
2328         handling.
2329         (STARTFILE_SPEC): Likewise.
2330         (LINK_SPEC): Likewise.
2331
2332 2000-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2333
2334         * Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h.
2335         (toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h.
2336         (simplify-rtx.o): Likewise for $(GGC_H)/ggc.h.
2337
2338 2000-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2339
2340         * c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c
2341         (dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks,
2342         perm_calloc, get_identifier, maybe_get_identifier,
2343         real_value_from_int_cst, simple_cst_equal), varasm.c
2344         (assemble_name, assemble_real, immed_real_const_1,
2345         compare_constant_1, decode_rtx_const, output_constant_pool): Use
2346         strrchr () instead of rindex ().  Use memcmp () instead of bcmp
2347         ().  Use memcpy () instead of bcopy ().  Use memset () instead of
2348         bzero ().
2349
2350 2000-11-03  Nathan Sidwell  <nathan@codesourcery.com>
2351
2352         * cppfiles.c (open_file): If already read, then don't reopen.
2353         Immediately close an empty file.
2354
2355 2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
2356
2357         * expr.h (fold_builtin): Move declaration...
2358         * tree.h (fold_builtin): ... here.
2359
2360 Fri Nov  3 05:41:07 2000  J"orn Rennecke <amylaar@redhat.com>
2361
2362         * flow.c (verify_local_live_at_start): Allow hard regs to die.
2363
2364 2000-11-02  Neil Booth  <neilb@earthling.net>
2365
2366 config:
2367         * a29k/a29k.h, a29k/unix.h, a29k/vx29k.h,
2368         alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h,
2369         alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h,
2370         alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h,
2371         arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
2372         arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h,
2373         c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h,
2374         elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h,
2375         i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h,
2376         i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h,
2377         i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h,
2378         i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h,
2379         i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h,
2380         i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h,
2381         i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
2382         i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h,
2383         i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h,
2384         i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h,
2385         i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h,
2386         i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h,
2387         i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h,
2388         ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h,
2389         m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h,
2390         m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h,
2391         m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h,
2392         m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h,
2393         m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h,
2394         m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h,
2395         m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h,
2396         m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h,
2397         m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h,
2398         m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h,
2399         mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h,
2400         mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h,
2401         mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h,
2402         mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h,
2403         mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h,
2404         mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h,
2405         ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h,
2406         ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h,
2407         pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h,
2408         pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h,
2409         romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h,
2410         rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h,
2411         rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h,
2412         rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h,
2413         sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h,
2414         sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h,
2415         sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h,
2416         sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h,
2417         sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h,
2418         sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h,
2419         sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h,
2420         v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h,
2421         vax/vaxv.h, vax/vms.h, we32k/we32k.h
2422
2423         Replace -A() with -A=, the new assertion syntax.
2424
2425 Thu Nov  2 21:52:35 2000  J"orn Rennecke <amylaar@redhat.com>
2426
2427         * combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 /
2428         elim_i1.
2429         In REG_DEAD handling: When handling parts of multi-hard-reg hard
2430         registers, increment the loop counter by the size of the parts;
2431         use recursion to handle individual parts.
2432
2433 2000-11-02  Neil Booth  <neilb@earthling.net>
2434
2435         * configure.in: Make integrated CPP the default.
2436         * configure: Regenerate.
2437
2438 Thu Nov  2 19:20:12 2000  J"orn Rennecke <amylaar@redhat.com>
2439
2440         * reload.c (find_equiv_reg): Test all hard registers for membership
2441         in the requested class.
2442
2443 2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2444
2445         * collect2.c (main, write_c_file_stat), gcc.c (translate_options,
2446         process_command, main), gcov.c (open_files, output_data), tlink.c
2447         (frob_extension, scan_linker_output), toplev.c
2448         (file_name_nondirectory): Use strchr () and strrchr () instead of
2449         index () and rindex ().
2450
2451 2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
2452
2453         * c-common.c (get_flag_spec, check_format_info_main,
2454         check_format_types): Use strchr () instead of index ().  Compare
2455         against error_mark_node instead of comparing the TREE_CODE against
2456         ERROR_MARK.
2457
2458 2000-11-02  Zack Weinberg <zackw@Stanford.EDU>
2459
2460         Integrated CPP.
2461
2462         * c-lex.c (init_c_lex): Update cpp_start_read call.
2463         (cb_ident): Update for new callback prototype.
2464         (cb_def_pragma): Update for new cpp_get_token prototype.
2465         (c_lex): Similarly.  Use cpp_get_line.
2466
2467         * c-parse.in (finish_parse): Update for new cpp_finish
2468         prototype.
2469
2470         * cp/lex.c (finish_parse): Similarly.
2471
2472 2000-11-01  Geoff Keating  <geoffk@cygnus.com>
2473
2474         * machmode.def: Add V16QImode.
2475
2476 2000-11-01  Richard Henderson  <rth@redhat.com>
2477
2478         * dwarf2out.c (loc_descriptor_from_tree): Check for null result
2479         from rtl_for_decl_location.
2480         (add_location_or_const_value_attribute): Likewise.
2481
2482 2000-11-01  Neil Booth  <neilb@earthling.net>
2483
2484         * cpplib.c (run_directive): Use correct line number for output
2485         of _Pragma.  Remember any in-progress directive.
2486
2487         * gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests.
2488
2489 2000-11-01  Richard Henderson  <rth@redhat.com>
2490
2491         * stmt.c (expand_start_null_loop): Set continue_label.
2492
2493 2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
2494
2495         * builtins.c (fold_builtin_constant_p, fold_builtin): New functions.
2496         (expand_builtin_constant_p): Move parts of the code into
2497         fold_builtin_constant_p.
2498         (expand_builtin_strlen): Move parts of the code into fold_builtin.
2499         * expr.h (fold_builtin): Declare.
2500         * fold-const.c (fold): Handle builtin calls.
2501
2502         * c-typeck.c (build_function_call): Call fold on the CALL_EXPR.
2503
2504 2000-11-01  Richard Henderson  <rth@redhat.com>
2505
2506         * stmt.c (expand_start_null_loop): New.
2507         (expand_end_null_loop): New.
2508         * c-semantics.c (genrtl_do_stmt): Use them.
2509         * tree.h: Declare them.
2510
2511 2000-11-01  Richard Henderson  <rth@redhat.com>
2512
2513         * cppmain.c (scan_buffer): Don't avoid paste for assembly.
2514
2515 2000-11-01  Neil Booth  <neilb@earthling.net>
2516
2517         * c-parse.in (_yylex): Remove CPP_BACKSLASH case.
2518         * cp/spew.c: Similarly.
2519         * cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER.
2520         * cppmacro.c (stringify_arg): Similarly.
2521         * cpplib.h (CPP_BACKSLASH): Delete.
2522
2523 2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2524
2525         * builtins.c (expand_builtin_strstr): New function.
2526         (expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR.
2527
2528         * builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries.
2529
2530         * c-common.c (c_common_nodes_and_builtins): Declare builtin strstr
2531         and builtin strchr.
2532
2533 2000-10-31  Richard Henderson  <rth@redhat.com>
2534
2535         * config/i386/i386.c (fcmov_comparison_operator): Check for
2536         CCFPmode or CCFPUmode instead of CCmode.
2537         (ix86_expand_fp_movcc): Call ix86_expand_setcc for most
2538         unordered operations as well.
2539
2540 2000-10-31  Richard Henderson  <rth@redhat.com>
2541
2542         * c-semantics.c (genrtl_do_stmt): Use integer_zerop instead
2543         of integer_zero_node.
2544
2545 2000-10-31  Richard Henderson  <rth@redhat.com>
2546
2547         * c-semantics.c (genrtl_do_stmt): Special case do/while(0).
2548
2549 2000-10-31  Nick Clifton  <nickc@redhat.com>
2550
2551         * config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow
2552         -fdata-sections to override the section attribute of a DECL.
2553
2554 2000-10-31  Chris Demetriou  <cgd@sibyte.com>
2555
2556         * libgcc2.c (__shtab): Remove __shtab variable.
2557         * libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list.
2558         * Makefile.in (LIB2FUNCS): Remove _shtab from list of library
2559         members.
2560
2561 2000-10-31  Jim Wilson  <wilson@redhat.com>
2562
2563         * defaults.h (ASM_OUTPUT_DEBUG_LABEL): New.
2564         * tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document.
2565         * dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL
2566         instead of ASM_OUTPUT_INTERNAL_LABEL.
2567         (dwarf2out_end_block, dwarf2out_label): Likewise.
2568         * final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise
2569         * config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define.
2570
2571 2000-10-31  Richard Henderson  <rth@redhat.com>
2572
2573         * dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr.
2574         (size_of_locs): Set it.
2575         (output_loc_operands): Use it to compute branch displacement.
2576         (int_loc_descriptor): New.
2577         (mem_loc_descriptor): Dereference memory in the proper size.
2578         Use DW_OP_plus_uconst when possible.  Use int_loc_descriptor.
2579         (loc_descriptor_from_tree): New.
2580         (rtl_for_decl_location): Break out from ...
2581         (add_location_or_const_value_attribute): ... here.
2582         (add_bound_info): Use loc_descriptor_from_tree.
2583
2584 2000-10-31  Neil Booth  <neilb@earthling.net>
2585
2586         * cpp.texi: Update for new command line assertion syntax.
2587         * cpplib.c (cpp_define): Simplify a bit.
2588         (cpp_assert, cpp_unassert): Use handle_assertion.
2589         (handle_assertion): New function; accept new command line
2590         syntax with '='.
2591         * testsuite/gcc.dg/cpp/assert3.c: New tests.
2592
2593 2000-10-31  Neil Booth  <neilb@earthling.net>
2594
2595         * cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if
2596         undefined.  Remove #ifdef check.
2597         * config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h:
2598         Define STDC_0_IN_SYSTEM_HEADERS to 1.
2599
2600 2000-10-31  Jan Hubicka  <jh@suse.cz>
2601             Jakub Jelinek  <jakub@redhat.com>
2602
2603         * config/i386/i386.h: Clarify CCNOmode description in comment.
2604         (EXTRA_CC_MODES): Remove CCRCmode.
2605         * config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode.
2606         (put_condition_code, ix86_match_ccmode): Likewise.
2607         (ix86_cc_mode): Likewise.  Fix comment.
2608         (ix86_expand_strlensi_unroll_1): *rc patterns are gone.
2609         * config/i386/i386.md: Add unspec 12 description.
2610         (adddi3 split): Use unspec 12 instead of CCRCmode.
2611         (addsi3_carry_rc): Remove.
2612         (addsi3_cc, addqi3_cc): New patterns.
2613         (addsi_3): Swap operands, match CCZmode.
2614         (addsi_4): Rewritten.
2615         (addsi_5): Renamed from addsi_6.
2616         (addsi_6): Removed.
2617         (addhi_3): Swap operands, match CCZmode.
2618         (addhi_4): Rewritten.
2619         (addhi_5): Renamed from addhi_6.
2620         (addhi_6): Removed.
2621         (addqi_3): Swap operands, match CCZmode.
2622         (addqi_4): Rewritten.
2623         (addqi_5): Renamed from addqi_6.  Use =q constraint for clobber.
2624         (subsi3_carry_rc): Removed.
2625         (iorqi_3): Use =q constraint for clobber.
2626         (xorqi_cc_2): Likewise.
2627         (negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu.
2628         (x86_movsicc_0_m1_rc): Removed.
2629         (cmp?i peepholes): Remove neg.  Use CCGCmode instead of CCRCmode.
2630
2631 2000-10-31  Joseph S. Myers  <jsm28@cam.ac.uk>
2632
2633         * c-typeck.c (build_unary_op): If pedantic, pedwarn for increment
2634         and decrement of complex types.
2635
2636 2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2637
2638         * builtins.c (expand_builtin_fputs): When deleting NOP calls to
2639         builtin fputs, ensure we still evaluate the stream in case it
2640         has side-effects.
2641
2642 2000-10-31  Jakub Jelinek  <jakub@redhat.com>
2643
2644         * expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
2645         to expand_shift.
2646
2647 Tue Oct 31 15:33:27 2000  J"orn Rennecke <amylaar@redhat.com>
2648
2649         * sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare.
2650         (fp_extended_operand, emit_fpscr_use): Likewise.
2651         * sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions.
2652         (fpul_operand): New function.
2653         * sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and
2654         fp_extended_operand.  Add fpul_operand.
2655         * sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands.
2656         (mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise.
2657         (cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise.
2658         (negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise.
2659         (adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise.
2660         (divdf3_i): Likewise.
2661         (floatsisf2): Likewise.  Use fpul_operand for 'y' operand.
2662         (floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise.
2663         (fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise.
2664         (fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise.
2665         (extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise.
2666
2667 2000-10-31  Bernd Schmidt  <bernds@redhat.co.uk>
2668
2669         * config/i386/i386.c (ix86_init_builtins): Correct return type
2670         building v4hi_ftype_v4hi_int_int tree node.
2671         (ix86_expand_builtin): Use correct operand numbers 0 and 1.
2672         Copy operand 0 into a Pmode register, don't generate a MEM rtx.
2673
2674         * config/i386/i386.md (sse_movntdi): Use mmx register constraint
2675         for operand 1.
2676         (mmx__uavgv8qi3): Correct insn mnemonic.
2677         (mmx_psadbw): Correct insn mnemonic.  Use V8QI mode for operands 1 and 2.
2678         (mmx_punpckhwd): Correct insn mnemonic.
2679         (mmx_punpckhdq): Likewise.
2680         (mmx_punpcklwd): Likewise.
2681         (mmx_punpckldq): Likewise.
2682         (prefetch): Use immediare_operand and 'n' constraint for operand 1.
2683         Renumber case labels to match the _mm_prefetch constants defined in
2684         xmmintrin.h.
2685
2686         * recog.c (split_all_insns): Don't try to call cleanup_subreg_operands
2687         if the splitter didn't emit new insns.
2688         Make sure we call cleanup_subreg_operands even when splitting the last
2689         insn in a basic block.
2690
2691         * invoke.texi (Debugging Options): Describe -do.
2692         * toplev.c (enum_dump_file_index): New entry DFI_postreload.
2693         (dump_file): Likewise.
2694         (rest_of_compilation): Split .greg dump into .greg and .postreload.
2695
2696 2000-10-30  Neil Booth  <neilb@earthling.net>
2697
2698         * cppfiles.c (stack_include_file): Check for stacked contexts
2699         here.
2700         * cpphash.h (_cpp_do__Pragma): New prototype.
2701         * cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table.
2702
2703         * cpplex.c (skip_escaped_newlines): Only process trigraphs and
2704         escaped newlines if !(buffer->from_stage3).
2705         (_cpp_lex_token): Warn about missing newlines iff
2706         !buffer->from_stage3.
2707
2708         * cpplib.c (get__Pragma_string, destringize,
2709         _cpp_do__Pragma): New functions.
2710         (run_directive): Set output_line for _Pragma to avoid line
2711         markers in output.  Set from_stage3 and prevent macro expansion
2712         for _Pragma and command-line options.  Check buffer exhaustion.
2713         (cpp_push_buffer): Don't check for stacked macro contexts, as
2714         this is perfectly legitimate for _Pragma.  Move the check to
2715         stack_include_file instead. Set from_stage3 iff buffer is
2716         preprocessed input.
2717
2718         * cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments
2719         unsigned. New boolean from_stage3.
2720         (struct spec_nodes): Add n__Pragma.
2721
2722         * cppmacro.c (enter_macro_context): Flip sense of return value.
2723         (_cpp_get_token): Handle _Pragma operator.
2724
2725 2000-10-30  Phil Edwards  <pme@sources.redhat.com>
2726
2727         * gcc.texi:  The C++ standard isn't "draft" anymore.
2728
2729 2000-10-30  Mark Mitchell  <mark@codesourcery.com>
2730
2731         * cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID.
2732
2733 2000-10-29  Neil Booth  <neilb@earthling.net>
2734
2735         * cpplib.c (skip_rest_of_line):  Use _cpp_get_token.
2736
2737 2000-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2738
2739         * toplev.c, flags.h, fold-const.c, real.c, rtl.c,
2740         fixinc/inclhack.def: Change comments mentioning C9X to refer to
2741         C99 instead.
2742
2743         * invoke.texi: Document that -V will only work for very similar
2744         versions of driver and compiler.
2745
2746 2000-10-29  Neil Booth  <neilb@earthling.net>
2747
2748         * cppmacro.c (_cpp_create_definition): Optimize the case of
2749         a macro defined to itself.
2750
2751 2000-10-29  Neil Booth  <neilb@earthling.net>
2752
2753         * cpplex.c (save_comment): Don't store new lines in C++ comments.
2754
2755 2000-10-29  Michael Hayes  <mhayes@redhat.com>
2756
2757         * integrate.c (copy_insn_list): Copy the unchanging flag for calls.
2758
2759 2000-10-28  Geoffrey Keating  <geoffk@cygnus.com>
2760
2761         * cpphash.c (cpp_forall_identifiers): Add context variable
2762         for callback routine.
2763         * cppmain.c (dump_macro): Update to match cpp_forall_identifiers
2764         change.
2765         (main): Call cpp_forall_identifiers with null context.
2766         * cpplib.h (cpp_forall_identifiers): Update prototype.
2767
2768         * cppmain.c: Make `parse_in' and `print' static.
2769
2770 2000-10-28  Alan Modra <alan@linuxcare.com.au>
2771
2772         * c-decl.c (finish_function): Clear c_function_name_declared_p.
2773
2774 2000-10-28  Richard Henderson  <rth@redhat.com>
2775
2776         * regrename.c (scan_rtx_address): Frob action, not class,
2777         when trying to disable optimization.
2778
2779 2000-10-28  Mark Mitchell  <mark@codesourcery.com>
2780
2781         * c-semantics.c (make_rtl_for_local_static): Don't clobber
2782         DECL_ASSEMBLER_NAME.
2783
2784 2000-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
2785
2786         * configure.in: Determine and substitute gcc_version_full.
2787         * configure: Regenerate.
2788         * gccbug.in: Use it to give full version.  Don't allow
2789         confidential PRs.
2790
2791 2000-10-28  Richard Henderson  <rth@redhat.com>
2792
2793         * recog.c (split_all_insns): Run cleanup_subreg_operands
2794         after reload.
2795
2796         * regrename.c (regrename_optimize): Verify that all registers of
2797         a multiple register mode are available.
2798         (scan_rtx_address): Accept the mode of the address; all callers
2799         changed.
2800
2801         * cpplib.c (run_directive): Fix prototype.
2802
2803 2000-10-28  Bernd Schmidt  <bernds@redhat.co.uk>
2804
2805         * reload.c (find_reloads): Distinguish "wins" so that we know whether
2806         a given operand won because of a matching constraint or not; then use
2807         that information to compute goal_alternative_matched properly.
2808         * reload1.c (choose_reload_regs): Never set reload_override_in for an
2809         optional reload.
2810
2811         * config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more
2812         accurate value for MULT.
2813         * config/ia64/ia64.c (ia64_print_operand): Require probability to be
2814         2% or > 98% before using static branch prediction bits.
2815
2816 2000-10-28  Neil Booth  <neilb@earthling.net>
2817
2818         New macro expander.
2819
2820         * cpplib.c (struct answer): New.
2821         (struct if_stack): Use cpp_lexer_pos rather than line and col.
2822         Rename cmacro mi_cmacro.
2823         (struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL,
2824         IN_I): New directive and flags.
2825         (skip_rest_of_line, check_eol, run_directive, glue_header_name,
2826         parse_answer, parse_assertion, find_answer): New functions.
2827         (parse_ifdef, detect_if_not_defined, validate_else): Remove.
2828         (lex_macro_node): New function to replace parse_ifdef and
2829         get_define_node.
2830
2831         (_cpp_handle_directive): New function, combines _cpp_check_directive
2832         and _cpp_check_linemarker.
2833
2834         (do_define, do_undef, parse_include, do_include, do_import,
2835         do_include_next, read_line_number, do_line, do_ident, do_pragma,
2836         do_pragma_once, do_pragma_poison, do_pragma_dependency):
2837         Update for new token getting interface.
2838
2839         (do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional)
2840         : Update for new multiple-include optimisation technique.
2841         (do_elif): Don't forget to invalidate controlling macros.
2842
2843         (unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update.
2844         (parse_assertion, parse_answer, find_answer, _cpp_test_assertion):
2845         Functions to handle assertions with the new token interface.
2846         (do_assert, do_unassert): Use them.
2847
2848         (cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert):
2849         Use run_directive.
2850
2851         (_cpp_init_stacks): Register directive names.  Don't register special
2852         nodes.
2853
2854         * cpperror.c (print_containing_files, _cpp_begin_message): Update to
2855         new position recording regime.
2856         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
2857         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
2858         cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes.
2859         (cpp_type2name): Move to cpplex.c.
2860
2861         * cppexp.c (parse_charconst): spec_nodes is no longer a pointer.
2862         (parse_defined): Update to handle new multiple include optimisation
2863         method.  Remove poisoned identifier warning.
2864         (parse_assertion, TYPE_NAME): Delete.
2865         (lex): Update for multiple include optimisation, removal of
2866         CPP_DEFINED, to use _cpp_test_assertion for assertions and
2867         cpp_token_as_text.
2868         (_cpp_parse_expr): Update for MI optimisation, and to use op_as_text.
2869         (op_as_text): New function, to wrap cpp_token_as_text.
2870
2871         * cppfiles.c (stack_include_file, _cpp_pop_file_buffer):
2872         Update for MI optimisation.
2873         (_cpp_execute_include): Take a token rather than 3 arguments.  Fix
2874         segfault on diagnostic.
2875         (_cpp_compare_file_date): Take a token rather than 3 args.
2876         (cpp_read_file): Work correctly for zero-length files.
2877
2878         * cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename
2879         _cpp_init_hashtable and _cpp_cleanup_hashtable.
2880         (cpp_lookup): Place identifiers at front of identifier pool
2881         for _cpp_lookup_with_hash.
2882         (_cpp_lookup_with_hash): Require identifiers to be at the front of
2883         the identifier pool.  Commit the memory if not already in the
2884         hash table.
2885
2886         * cppinit.c (cpp_reader_init): Move cpp_init_completed test to top.
2887         Initialise various members of cpp_reader, memory pools, and the
2888         special nodes.
2889         (cpp_printer_init): Delete.
2890         (cpp_cleanup): Update.
2891         (struct builtin, builtin_array, initialize_builtins): Update for new
2892         hashnode definition and builtin handling.
2893         (cpp_start_read, cpp_finish): Don't take or initialise a
2894         printer.  Update.
2895
2896         * cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL,
2897         PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE,
2898         T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL,
2899         T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete.
2900         (struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos,
2901         struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind,
2902         NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos,
2903         struct toklist, struct cpp_context, struct specnodes,
2904         TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED,
2905         NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION,
2906         enum builtin_type, cpp_can_paste): New.
2907         (struct cpp_token): Delete line and col members.
2908         (struct cpp_buffer): New member output_lineno.
2909         (struct lexer_state): Delete indented, in_lex_line, seen_dot.
2910         Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args.
2911         (struct cpp_reader): New members lexer_pos, macro_pos, directive_pos,
2912         ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool,
2913         base_context, context, directive, mi_state, mi_if_not_defined,
2914         mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused,
2915         mlstring_pos, macro_buffer, macro_buffer_len.
2916         Delete members mls_line, mls_column, token_list, potential_control_macro,
2917         temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token,
2918         context_cap, cur_context, no_expand_level, paste_level, contexts, args,
2919         save_parameter_spellings, need_newline, .
2920         Change type of date, time and spec_nodes members.
2921         Change prototypes for include and ident callbacks.
2922         (struct cpp_hashnode): Change type of name.  Remove union members
2923         expansion and code.  Add members macro, operator and builtin.
2924
2925         (cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read,
2926         cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line,
2927         cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead,
2928         cpp_stop_lookahead): New prototypes.
2929         (cpp_printer_init, cpp_dump_definition): Delete prototypes.
2930
2931         (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs):
2932         Move from cpphash.h.
2933
2934         * cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr,
2935         ufputs): Move to cpplib.h.
2936         (enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL,
2937         TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION,
2938         COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler,
2939         struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens,
2940         _cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist,
2941         _cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space,
2942         _cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive,
2943         _cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name,
2944         _cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker,
2945         _cpp_parse_assertion, _cpp_find_answer): Delete.
2946         (VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE,
2947         POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool,
2948         _cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk,
2949         _cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion,
2950         _cpp_handle_directive, DSC): New.
2951         (struct include_file): New member defined.
2952
2953         (DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include,
2954         _cpp_compare_file_date): Update.
2955         (_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New.
2956         (_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable,
2957         _cpp_cleanup_hashtable.
2958
2959         * Makefile.in: Remove cppoutput.c.
2960
2961         * cppoutput.c: Delete
2962
2963         * fixheader.c (read_scan_file): Update for new cpp_get_token
2964         prototype.
2965         (recognized_function): New argument LINE.
2966
2967         * scan-decls.c (skip_to_closing_brace, scan_decls): Update for
2968         new cpp_get_token prototype.
2969
2970         * scan.h (recognized_function): Update prototype.
2971
2972         * po/POTFILES.in: Remove cppoutput.c.
2973
2974 2000-10-27  Mark Mitchell  <mark@codesourcery.com>
2975
2976         * c-typeck.c (check_init_type_bitfields): Remove.
2977         (constructor_incremental): Likewise.
2978         (struct constructor_stack): Remove incremental bit.
2979         (struct initializer_stack): Likewise.
2980         (start_init): Don't play with constructor_incremental.
2981         (finish_init): Likewise.
2982         (really_start_incremental_init): Likewise.
2983         (push_init_level): Likewise.
2984         (pop_init_level): Likewise.
2985         (output_init_level): Likewise.
2986         (output_pending_init_elements): Likewise.
2987
2988 2000-10-21  Mike Coleman  <mcoleman2@kc.rr.com>
2989
2990         * c-pragma.c (handle_pragma_pack): Initialize align to -1.
2991         Improve error messages.  Correct parsing of
2992         #pragma pack(pop [,id]).  Do not check the user-supplied
2993         alignment if we're popping.
2994
2995         * gcc.dg/pack-test-1.c: New test case.
2996         * gcc.dg/pack-test-2.c: New test case.
2997         * gcc.dg/pack-test-1.h: New file.
2998
2999 2000-10-27  Neil Booth  <neilb@earthling.net>
3000
3001         * cpp.texi: Update.
3002
3003 2000-10-27  Kelley Cook <kelley.cook@home.com>
3004
3005         * invoke.texi: Document -mintel-syntax
3006
3007 2000-10-27  Richard Henderson  <rth@redhat.com>
3008
3009         * invoke.texi: Document -frename-registers.  Add it to -O3.
3010         * toplev.c (rest_of_compilation): Run regrename before ifcvt2.
3011         (enum dump_file_index, dump_file): Update order.
3012         (main): Set flag_rename_registers at -O3.
3013
3014 2000-10-27  Richard Henderson  <rth@redhat.com>
3015
3016         * config/alpha/alpha.h (enum reg_class): Add PV_REG.
3017         (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
3018         (REG_CLASS_FROM_LETTER): Assign it to 'c'.
3019         * config/alpha/alpha.md (call_osf_1): Use it.
3020         (call_value_osf_1): Likewise.
3021
3022         * config/ia64/ia64.c: Revert 10-23 patch.
3023         (ia64_hard_regno_rename_ok): New.
3024         * config/ia64/ia64-protos.h: Declare it.
3025         * config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it.
3026
3027 2000-10-27  Bernd Schmidt  <bernds@redhat.co.uk>
3028             Richard Henderson  <rth@redhat.com>
3029
3030         * regrename.c: Rewrite to handle multi-register modes and
3031         cond_exec instructions.
3032         * Makefile.in (regrename.o): Update dependancies.
3033         * recog.h (struct operand_alternative): Add is_address.
3034         * recog.c (preprocess_constraints) [case 'p']: Set it.
3035
3036 2000-10-27  Zack Weinberg  <zack@wolery.stanford.edu>
3037
3038         * configure.in: If not NO_MINUS_C_MINUS_O, substitute
3039         OUTPUT_OPTION with '-o $@'.  Make zlibdir, zlibinc relative to
3040         top level.  Kill oldstyle_subdirs.  Do not include
3041         $srcdir/$s/Makefile.in in all_lang_makefiles, but do include
3042         $outputs.  Do not run configure.lang from config.status.
3043         Rearrange warning-flag logic to correspond to what the
3044         makefile wants.  Put special vax stage1 options in
3045         @stage1_flags@ not @stage1_warn_cflags@.  Don't do anything
3046         with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
3047         (--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
3048         switch is given, nothing otherwise.
3049         * configure.lang: Delete.
3050
3051         * Makefile.in: Expunge all traces of extra_c_objs,
3052         extra_cxx_objs, and extra_cpp_objs.  Set MAYBE_CPPLIB from
3053         @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS.  Set
3054         warning options via a three level scheme so that -pedantic and
3055         -Wtraditional are not used for non-C front ends: LOOSE_WARN,
3056         STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
3057         WARN_CFLAGS.  Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
3058         Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
3059         Set OUTPUT_OPTION, ZLIB, ZLIBINC.  Do not set P,
3060         LANG_FLAGS_TO_PASS.  Add OUTPUT_OPTION to all object-file
3061         generation rules.  Wrap all rules that change the current
3062         directory in parentheses; pmake doesn't spawn a new shell for
3063         each command.  Expunge all references to $(P).  When one
3064         command depends on another and they're run all at once, use &&
3065         to separate them, not ;.  Add libgcc_s$(SHLIB_EXT) to files
3066         deleted on make clean.  Force OUTPUT_OPTION='-o $@' in stage2
3067         and beyond.
3068
3069         * objc/Make-lang.in: Wrap all rules that change the current
3070         directory in parentheses.  Expunge all references to $(P).
3071         When one command depends on another and they're run all at
3072         once, use && to separate them, not ;.  Add OUTPUT_OPTION to
3073         all object-file generation rules.  Delete obsolete variables.
3074         * objc/Makefile.in: Delete.
3075
3076 2000-10-27  Jakub Jelinek  <jakub@redhat.com>
3077
3078         * calls.c (expand_call): If sibcall_failure is set during pass 1,
3079         clear tail_call_insns as well.
3080
3081 2000-10-27  Nick Clifton  <nickc@redhat.com>
3082
3083         * config/arm/arm-protos.h (arm_function_ok_for_sibcall): Add
3084         prototype.
3085
3086 2000-10-26  Richard Henderson  <rth@redhat.com>
3087
3088         * calls.c (expand_call): Supress sibcall if we have a
3089         BLKmode return in registers.
3090
3091 2000-10-26  Bernd Schmidt  <bernds@redhat.co.uk>
3092
3093         * ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants
3094         into memory.
3095
3096 2000-10-26  Nathan Sidwell  <nathan@codesourcery.com>
3097
3098         * tree.c (make_node, case 't'): Set alignment to that of
3099         char_type_node.
3100         * expr.c (move_by_pieces_ninsns): Abort if some length remains.
3101
3102 2000-10-25  Mark Mitchell  <mark@codesourcery.com>
3103
3104         * Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3.
3105         * configure.in (enable-libstdcxx-v3): Arrange to have
3106         HAVE_LIBSTDCXX_V3 substituted into the output files.
3107
3108 2000-10-25  Richard Henderson  <rth@redhat.com>
3109
3110         * recog.c (constrain_operands): Initialize which_alternative
3111         before no alternatives early exit.
3112
3113         * cse.c (find_comparison_args): Check that we can reverse a
3114         comparison if needed before accepting the substitution.
3115
3116         * reload.c (find_reloads_address_part): Kill rtx obstack hackery.
3117
3118         * simplify-rtx.c (simplify_relational_operation): Sign extend
3119         low words before sign extending to high words.
3120
3121 2000-10-25  Nick Clifton  <nickc@redhat.com>
3122
3123         * config/mcore/mcore.c: Include config.h before system.h.
3124
3125 2000-10-25  Ray Essick  <essick@ddna.labs.mot.com>
3126
3127         * config/mcore/mcore.md (return): Force function epilogue to
3128         always be generated to work around epilogue suppression bug in
3129         M*Core backend.
3130
3131 2000-10-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3132
3133         * c-decl.c (grokdeclarator): Move warning for qualified void
3134         return types with -pedantic to when the function type is
3135         constructed.  At -W, warn in general for qualified function return
3136         types, except for volatile void.
3137         * invoke.texi: Document this new warning at -W.
3138
3139 2000-10-25  Neil Booth  <neilb@earthling.net>
3140
3141         * cpp.texi: Update with implementation-defined behavior and
3142         internal limits.
3143
3144 2000-10-25  Jakub Jelinek  <jakub@redhat.com>
3145
3146         * stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the
3147         incomplete type force it into alias set 0.
3148
3149 Wed Oct 25 01:02:44 EDT 2000  John Wehle  (john@feith.com)
3150
3151         * alias.c: Include basic-block.h.
3152         (loop_p): New function.
3153         (mark_constant_function): Use it.
3154         * Makefile.in (alias.o): Update dependencies.
3155
3156 2000-10-24  Aldy Hernandez  <aldyh@redhat.com>
3157
3158         * config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos
3159         like memory.
3160
3161 2000-10-24  Jim Wilson  <wilson@cygnus.com>
3162
3163         * expmed.c (store_bit_field): Move integer pun code down after
3164         code that calls emit_move_insn for entire register move.
3165         * stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and
3166         Oct 20 changes.  Only store mode in TYPE_MODE if RECORD_TYPE.
3167
3168 2000-10-24  Richard Henderson  <rth@cygnus.com>
3169
3170         * rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic
3171         register stable if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
3172
3173 2000-10-24  Aldy Hernandez  <aldyh@redhat.com>
3174
3175         * gcse.c (cprop_insn): do not propagate constants into jump_insn
3176         for machines with CC0 more than once.
3177
3178 2000-10-24  Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com>
3179
3180         * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat
3181         pseudos just like memory.
3182
3183 2000-10-24  Alexandre Oliva  <aoliva@redhat.com>
3184
3185         * combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL
3186         when deleting libcall sequence collapsed to a single instruction.
3187
3188 2000-10-24  Andrew Haley  <aph@cygnus.co.uk>
3189
3190         * expr.c (do_store_flag): Don't crash if either side of a
3191         comparison is error_mark_node.
3192
3193 2000-10-24  Jakub Jelinek  <jakub@redhat.com>
3194
3195         * sibcall.c (purge_mem_unchanging_flag): New function.
3196         (optimize_sibling_and_tail_recursive_calls): Call it.
3197
3198 2000-10-24  Philipp Thomas  <pthomas@suse.de>
3199
3200         * Makefile.in (check-po): New target for doing checks in the po
3201         subdir if all languages configured.
3202         (CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via
3203         configure if NLS is enabled.
3204         * configure.in: If NLS is enabled, substitute CHECK_PO by check-po,
3205         otherwise leave empty.
3206         * configure: Regenerate.
3207
3208 2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
3209
3210         * i386.c (print_operand): Handle new 'A' formatting code.
3211         387 opcodes need suffixes even with -mintel-syntax.
3212         Check for explicit size override (codes 'b', 'w' and 'k').
3213         (print_operand_address): Check if register prefix is needed when
3214         emitting `ds' segment override.
3215         * i386.h: Add comment about new 'A' formatting code.
3216         * i386.md (jump and call patterns): Emit absolute references using %A.
3217
3218 2000-10-23  Richard Henderson  <rth@cygnus.com>
3219
3220         * config/ia64/ia64.c (ia64_expand_prologue): Mark extra
3221         output registers as fixed.
3222         (ia64_function_epilogue): Undo output fixation.
3223
3224 2000-10-23  Richard Henderson  <rth@cygnus.com>
3225
3226         * config/alpha/alpha.md: Add names for all unnamed insns; use
3227         define_insn_and_split in some obvious places.
3228         (lda): Remove.
3229         (zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX.
3230         (zero_extendqisi2, zero_extendqidi2): Likewise.
3231         (zero_extendhisi2, zero_extendhidi2): Likewise.
3232         (abs splitters): Fix match_scratch operand number.
3233         (bcc_reverse): Swap pc & label instead of non-canonical compare.
3234
3235 2000-10-23  Jim Wilson  <wilson@cygnus.com>
3236
3237         * ia64.c (ia64_print_operand, case 'r'): Correct comment.  Handle
3238         CONST_INT.
3239         * ia64.md (cmpsi_adjusted): Use %r3.
3240         (cmpdi_adjusted): Likewise.
3241
3242 2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
3243
3244         * config/i386/att.h (ASM_FILE_START): Define.
3245
3246 2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
3247
3248         * config/i386/linux.h (ASM_FILE_START): Define.
3249
3250 Wed Oct 18 11:16:40 2000  Donald Lindsay  <dlindsay@cygnus.com>
3251
3252         * gcc/configure.in: m68k-coff tm_file should not have libgloss.h,
3253         since this (only) drags in a crt0.o reference that the .ld files
3254         also introduce.
3255
3256 2000-10-23  Geoff Keating  <geoffk@cygnus.com>
3257
3258         * reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can
3259         overwrite the value in a RELOAD_FOR_INPUT and other kinds of
3260         reloads just like an RELOAD_FOR_OUTPUT would.
3261
3262         * local-alloc.c (update_equiv_regs): Add an abort().  When
3263         deleting or moving insns, update reg_equiv[regno].init_insns.
3264
3265 2000-10-23  Mark Mitchell  <mark@codesourcery.com>
3266
3267         * c-tree.texi: Improve documentation for IF_STMTs and related
3268         conditional statements.
3269
3270 2000-10-22  Mark Mitchell  <mark@codesourcery.com>
3271
3272         * expr.c (do_preexpand_calls): Remove.
3273         (same_from_p): Don't use CALL_EXPR_RTL.
3274         (expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL.
3275         (preexpand_calls): Remove.
3276         * tree.c (first_rtl_op): Remove CALL_EXPR case.
3277         (unsave_expr_1): Likewise.
3278         * tree.def (CALL_EXPR): Give it only two slots.
3279         * tree.h (CALL_EXPR_RTL): Remove.
3280
3281 2000-10-21  Chandrakala Chavva   <cchavva@redhat.com>
3282
3283         * libgcc-std.ver (__addvsi3, __addvdi3,  __subvsi3, __subvdi3,
3284         __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
3285         New functions.
3286
3287 2000-10-22  Alexandre Oliva  <aoliva@redhat.com>
3288
3289         * calls.c (combine_pending_stack_adjustment_and_call): Don't
3290         adjust stack when unadjusted_alignment ends up as zero.
3291
3292 2000-10-22  Joseph S. Myers  <jsm28@cam.ac.uk>
3293
3294         * fixinc/genfixes: Remove EGCS reference.
3295         * install.texi: Remove EGCS reference.
3296         * INSTALL: Regenerate.
3297
3298 2000-10-22  Mark Mitchell  <mark@codesourcery.com>
3299
3300         * tree.h (TYPE_IS_SIZETYPE): Add more documentation.
3301
3302 2000-10-21  Joseph S. Myers  <jsm28@cam.ac.uk>
3303
3304         * diagnostic.c: Remove EGCS reference in comment.
3305
3306 Sat Oct 21 08:24:25 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3307
3308         * loop.c (strength_reduce): Fix error in last change.
3309
3310 2000-10-20  David Edelsohn  <edelsohn@gnu.org>
3311
3312         * Makefile.in (SHLIB_NM_FLAGS): New.
3313         (libgcc.mk): Pass it.
3314         * mklibgcc.in (libgcc.map): Use it.
3315
3316         * rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS,
3317         SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New.
3318
3319 2000-10-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3320
3321         * mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char.
3322
3323         * sparc.c (load_pic_register): Delete unused varaible.
3324
3325         * libgcc2.c (__addvsi3): Delete unused variable.
3326
3327         * libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3,
3328         __subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2,
3329         __negvdi2): Prototype.
3330
3331         * ssa.c (apply_delayed_renames): Avoid undefined operation.
3332
3333         * toplev.c (display_target_options): Make static to match
3334         prototype.  Delete empty declaration.
3335
3336 2000-10-20  Tom Tromey  <tromey@cygnus.com>
3337
3338         * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
3339         * gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
3340
3341 Fri Oct 20 17:05:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3342
3343         * expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on
3344         returned MEM.
3345         (expand_expr_unaligned, case ARRAY_REF): Check that index is
3346         a constant before comparing it; use tree_low_cst.
3347         * tree.c (save_expr): Set TREE_READONLY.
3348         (substitute_expr): Return inside of NON_LVALUE_EXPR.
3349         (build, build1): Set TREE_READONLY if all operands are.
3350         (build_index_type): If upper bound is a negative number, lower
3351         bound is zero and sizetype is unsigned, use upper bound of one and
3352         lower of zero.
3353
3354 2000-10-20  David Edelsohn  <edelsohn@gnu.org>
3355
3356         * gcc.c (process_command, main): Use "because" instead of
3357         "since" in error messages.
3358
3359 Fri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3360
3361         * stor-layout.c (compute_record_mode): Use tree_low_cst.
3362         Don't use mode of field for record unless sizes are the same.
3363         (layout_type, case ARRAY_TYPE): Remove special bounds handling
3364         previously added for Ada; also change to using host_integerp
3365         and tree_low_cst.
3366
3367         * loop.c (strength_reduce): Show when new register made for
3368         giv is known to be a pointer and its aligment if so and known.
3369         (loop_dump_aux): Show VERBOSE parameter unused.
3370
3371         * gcse.c (set_hash_table_size): Now unsigned.
3372         * sdbout.c (template_name_p): Add "const" to avoid warnings.
3373         (sdbout_record_type_name, plain_type_1, sdbout_symbol): Likewise.
3374         (sdbout_one_type, sdbout_parms, sdbout_reg_parms): Likewise.
3375         (sdbout_end_epilogue): Remove variable NAME.
3376         * system.h (getopt): Add default definition.
3377         * config/alpha/alpha.c (print_operand): Don't continue processing
3378         after issuing error.
3379         (summarize_insn): Avoid use of UL in constant.
3380
3381         * function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst.
3382
3383         * fold-const.c (force_fit_type): Unsigned values can overflow
3384         if they are sizetype.
3385         (int_const_binop): Don't use cache if overflows.
3386
3387 2000-10-20  Richard Henderson  <rth@cygnus.com>
3388
3389         * function.c (locate_and_pad_parm): Zero alignment_pad.
3390
3391         * regrename.c (rr_replace_reg): Rewrite to use recog_data to
3392         perform substitutions, and apply_change_group to see if it worked.
3393
3394 Fri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3395
3396         * dwarf2out.c (add_bound_info): Also ignore COND_EXPR.
3397
3398         * combine.c (struct undo): Change int to unsigned int.
3399         (do_SUBST_INT): Args are unsigned int.
3400         (make_extraction, force_to_mode): Use proper type when forming mask.
3401         (make_field_assignment): Likewise.
3402
3403 2000-10-20  Joseph S. Myers  <jsm28@cam.ac.uk>
3404
3405         * c-common.c (check_format_info_recurse): Extract string constant
3406         initializers from non-volatile constant arrays and check them as
3407         formats.
3408         * c-typeck.c (decl_constant_value): Don't check pedantic or check
3409         for DECL_MODE (decl) != BLKmode.
3410         (decl_constant_value_for_broken_optimization): New function which
3411         includes these checks.
3412         (default_conversion, convert_for_assignment, digest_init): Use
3413         decl_constant_value_for_broken_optimization instead of
3414         decl_constant_value.
3415
3416 2000-10-20  Mark Mitchell  <mark@codesourcery.com>
3417
3418         * tree.h (DECL_ALIGN_UNIT): New macro.
3419
3420 2000-10-14  Marek Michalkiewicz  <marekm@linux.org.pl>
3421
3422         * config/avr/avr-protos.h (avr_output_bld): New.
3423         (out_shift_with_cnt): Add t_len argument.
3424         * config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args.
3425         (output_movqi, output_movhi, output_movsisf): Optimize loading
3426         any constant with exactly one bit set to NO_LD_REGS.
3427         (out_shift_with_cnt): Optimize output code for size or speed,
3428         depending on optimize_size.  Handle small shift counts as well
3429         (if not hand-optimized in ?sh??i3_out).  Shifts can be done
3430         with or without a scratch register, with help of __tmp_reg__
3431         or __zero_reg__ if necessary.  Add T_LEN argument to pass the
3432         length of TEMPLATE in words, return total insn length in *LEN.
3433         (ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to
3434         out_shift_with_cnt to work with the above change.
3435         (ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out,
3436         lshrsi3_out): Likewise.  Optimize more known shift count cases.
3437         Remove cases already well optimized in out_shift_with_cnt.
3438         (avr_output_bld): New function.
3439         * config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove.
3440         (TARGET_SWITCHES): Remove -mpack-args backward compatibility.
3441         * config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi):
3442         Add reload_completed to insn condition - only for peepholes.
3443         (ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts
3444         in a register or memory.
3445         (ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise.
3446         Do not require a scratch register.
3447         (*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
3448         *lshrhi3_const, *lshrsi3_const): New insns and matching peepholes.
3449         Optimize shifts by known count using a scratch register, but only
3450         if one is still available after register allocation.
3451
3452 2000-10-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
3453
3454         * t-vax: New file.  Don't build modules from libgcc1.c.
3455
3456 Fri Oct 20 00:57:00 EDT 2000  John Wehle  (john@feith.com)
3457
3458         * alias.c: (mark_constant_function): Don't check pure functions.
3459         Initialize and end alias analysis.
3460         (nonlocal_mentioned_p): Rename from nonlocal_reference_p.