OSDN Git Service

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