OSDN Git Service

2ea07f371b4c320150533b1c885623f89bda7ac7
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-03-03  Richard Henderson  <rth@redhat.com>
2
3         * c-decl.c (start_decl): Initialized variables are not common.
4
5 2002-03-02  Per Bothner  <per@bothner.com>
6
7         * gcc.c (option_map):  Suport new --bootclasspath option.
8         --CLASSPATH is now just an alias for --classpath.
9
10 2002-03-02  Richard Henderson  <rth@redhat.com>
11
12         * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
13         load if "internal" visibility.
14         * doc/extend.texi: Document visibility meanings.
15
16 2002-03-02  Richard Henderson  <rth@redhat.com>
17
18         * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
19         to functions as well.
20
21 2002-03-02  Richard Henderson  <rth@redhat.com>
22
23         * attribs.c (handle_alias_attribute): Don't call assemble_alias.
24         (handle_visibility_attribute): Don't call assemble_visibility.
25         * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
26         without asmspec.  Invoke assemble_alias when needed.
27         * varasm.c (maybe_assemble_visibility): New.
28         (assemble_start_function, assemble_variable, assemble_alias): Use it.
29
30 2002-03-02  Richard Henderson  <rth@redhat.com>
31
32         * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
33         invoke ENCODE_SECTION_INFO with first call flag.
34
35         * config/darwin-protos.h, config/darwin.c, config/darwin.h,
36         config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
37         config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h, 
38         config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
39         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
40         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
41         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
42         config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
43         config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
44         config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
45         config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
46         config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
47         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c, 
48         config/m68hc11/m68hc11.h, config/m88k/m88k.h, 
49         config/mcore/mcore-protos.h, config/mcore/mcore.c,
50         config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
51         config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
52         config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c, 
53         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
54         config/sh/sh.h, config/sparc/sparc.h,
55         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
56         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
57         config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
58         FIRST argument.  As needed, examine it and do nothing.
59
60         * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h, 
61         config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
62         config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
63
64         * config/arm/t-pe (pe.o): Add dependencies.
65
66 2002-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
67
68         * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
69         cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
70         i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
71         mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
72         pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
73         vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
74         * defaults.h (BITS_PER_UNIT): Define.
75         * doc/tm.texi (BITS_PER_UNIT): Document default value.
76
77 2002-03-02  Kazu Hirata  <kazu@hxi.com>
78
79         * config/h8300/h8300-protos.h: Add a prototype for
80         compute_a_shift_length.
81         * config/h8300/h8300.c (h8300_asm_insn_count): New.
82         (compute_a_shift_length): Likewise.
83         (h8300_adjust_insn_length): Do not adjust insn length of shift
84         insns.
85         * config/h8300/h8300.md (anonymous shift patterns): Use
86         compute_a_shift_length.
87
88 Sat Mar  2 06:30:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
89
90         * config/sparc/sparc.c (sparc_initialize_trampoline): Use
91         trunc_int_for_mode.
92
93         * emit-rtl.c (offset_address): Call update_temp_slot_address.
94
95 2002-03-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
96
97         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
98         * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
99         * flags.h (flag_zero_initialized_in_bss): Declare.
100         * toplev.c (flag_zero_initialized_in_bss): New flag.
101         (lang_independent_options): Add flag_zero_initialized_in_bss.
102         * tree.c (initializer_zerop): New function.
103         * tree.h (initializer_zerop): Declare.
104         * varasm.c (assemble_variable): If we can emit bss, put zero
105         initializers in the bss section.
106
107 2002-03-02  Alan Modra  <amodra@bigpond.net.au>
108
109         * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
110         like more than one symbol per .weak directive.
111
112 2002-03-01  Richard Henderson  <rth@redhat.com>
113
114         * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
115         adjust argument_pointer by pretend_args_size.
116         (ia64_va_start): Adjust va_start address by -pretend_args_size.
117
118 2002-03-01  Kazu Hirata  <kazu@hxi.com>
119
120         * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
121
122 Fri Mar  1 20:59:14 CET 2002  Jan Hubicka  <jh@suse.cz>
123
124         * toplev.c (rest_of_compilation): Delete dead jumptables before
125         loop.
126         * flow.c (delete_dead_jumptables): Make global.
127         * rtl.h (delete_dead_jumptables): Declare.
128
129 2002-03-01  David Edelsohn  <edelsohn@gnu.org>
130
131         * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
132         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
133         * config/rs6000/xcoff.h (COLLET_EXPORT_LIST): Delete.
134
135 2002-03-01  Kazu Hirata  <kazu@hxi.com>
136
137         * config/h8300/h8300-protos.h: Fix formatting.
138         * config/h8300/h8300.c: Likewise.
139         * config/h8300/h8300.h: Likewise.
140
141 2002-03-01  Kazu Hirata  <kazu@hxi.com>
142
143         * config/h8300/h8300.c (print_operand): Support 16-bit
144         constant addresses.
145         * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
146
147 2002-02-28  Richard Henderson  <rth@redhat.com>
148
149         * expmed.c (store_bit_field): Prevent generation of CONCATs;
150         pun complex values as integers; use gen_lowpart instead of
151         gen_rtx_SUBREG.
152         (extract_bit_field): Likewise.
153
154 2002-03-01  Alan Modra  <amodra@bigpond.net.au>
155             David Edelsohn  <edelsohn@gnu.org>
156
157         * doc/tm.texi (ASM_WEAKEN_DECL): Document.
158         (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
159         (SUPPORTS_WEAK): Likewise.
160         * output.h (add_weak): Add tree param.
161         * varasm.c (add_weak): Likewise.  Save decl.
162         (struct weak_syms): Add decl field.
163         (mark_weak_decls): New function.
164         (init_varasm_once): ggc_add_root mark_weak_decls.
165         (assemble_start_function): Use ASM_WEAKEN_DECL.
166         (assemble_variable): Likewise.
167         (assemble_alias): Likewise.
168         (declare_weak): Pass decl to add_weak.
169         (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
170         (remove_from_pending_weak_list): Declare and define for
171         ASM_WEAKEN_DECL.
172         * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
173         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
174         * defaults.h (SUPPORTS_WEAK): Likewise.
175         * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
176         .weak for code sym.  Do emit .size for descriptor sym.
177         (ASM_DECLARE_FUNCTION_SIZE): Define.
178         * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
179         (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here.  Don't output
180         .lglobl unless TARGET_XCOFF.  Formatting fixes.
181         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
182         .weak for code sym.
183         (HANDLE_PRAGMA_WEAK): Remove.
184         (ASM_WEAKEN_LABEL): Remove.
185         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
186
187 2002-03-01  Jason Merrill  <jason@redhat.com>
188
189         * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
190         (TARGET_EXPR_CLEANUP): New macro.
191
192 2002-02-28  Steve Ellcey  <sje@cup.hp.com>
193
194         * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
195         to take ptr_extend into account as third type of extension.
196         (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
197         fields used by SUBREG_PROMOTED_UNSIGNED_P.
198         * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
199         (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
200         * calls.c (precompute_arguments): Use new macro.
201         (expand_call): Ditto.
202         * combine.c (nonzero_bits): Ditto.
203         (record_promoted_value): Ditto.
204         * expr.c (store_expr): Ditto.
205         (expand_expr): Ditto.
206         * function.c (assign_parms): Ditto.
207
208 2002-02-28  Alexandre Oliva  <aoliva@redhat.com>
209
210         * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
211         override -shared and -shared-libgcc.
212
213 2002-02-28  David O'Brien  <obrien@FreeBSD.org>
214
215         * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
216         of "ultrasparc".
217         * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS.  It appears
218         to be broken.
219
220 2002-02-28  Richard Henderson  <rth@redhat.com>
221
222         * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
223         4 cycle latency from MM producers.
224         (ia64_internal_sched_reorder): Likewise with pipeline flush.
225
226 2002-02-28  Jakub Jelinek  <jakub@redhat.com>
227
228         * mklibgcc.in: Don't use GNU make extension.
229
230 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
231
232         * c-parse.in (STATIC): New terminal.
233         (scspec): New non-terminal.  Update productions accordingly.
234         (program): Remove bogus ifc / end ifc.
235         (array_declarator): Simplify production using STATIC.
236
237 2002-02-28  Jim Meyering  <meyering@lucent.com>
238
239         * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
240         \a still means TARGET_BELL.
241
242 2002-02-28  Richard Henderson  <rth@redhat.com>
243
244         * haifa-sched.c (sched_emit_insn): New.
245         (schedule_block): Use last_scheduled_insn to track last insn.
246         * sched-int.h (sched_emit_insn): Prototype.
247         * config/ia64/ia64.c (last_issued): Remove.
248         (ia64_variable_issue): Don't set it.
249         (nop_cycles_until): Use sched_emit_insn.
250
251 2002-02-28  Andrew MacLeod  <amacleod@redhat.com>
252
253         * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
254         extended constants.
255
256 2002-02-28  Kazu Hirata  <kazu@hxi.com>
257
258         * config/h8300/h8300.c: Fix formatting.
259         * config/h8300/h8300.h: Likewise.
260
261 2002-02-28  Marek Michalkiewicz  <marekm@amelek.gda.pl>
262
263         * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
264         which may overwrite the high byte of the frame pointer.
265
266 2002-02-28  Bo Thorsen  <bo@suse.de>
267
268         * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
269         (STARTFILE_SPEC): Add 64 bit files.
270         (ENDFILE_SPEC): Likewise.
271
272 2002-02-28  Jason Merrill  <jason@redhat.com>
273
274         * c-decl.c (finish_function): Only warn about missing return
275         statement with -Wreturn-type.
276
277 Don Feb 28 11:24:30 CET 2002  Jan Hubicka  <jh@suse.cz>
278
279         * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
280
281         * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
282         PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
283
284 Don Feb 28 11:07:36 CET 2002  Jan Hubicka  <jh@suse.cz>
285
286         * basic-block.h (BB_REACHABLE): Renumber.
287         (BB_DIRTY, BB_NEW): New flags.
288         (clear_bb_flags): Declare.
289         (update_life_info_in_dirty_blocks): Declare.
290         * cfg.c (clear_bb_flags): New function.
291         * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
292         * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
293         reorder_insns, emit_insn_after): Mark block as dirty.
294         * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
295         (update_life_info_in_dirty_blocks): New function.
296         * recog.c (apply_change_group): Dirtify block.
297
298         * cse.c (cse_insn): Reorder emitting of jump insn to keep
299         cfg consistent.
300         * gcse.c (delete_null_pointer_checks): Likewise.
301
302         * toplev.c (dump_file_index): Move cse2 after bp,
303         add DFI_null
304         (dump_file_info): Similary.
305         (rest_of_compilation): Avoid most of CFG rebuilds;
306         do first if converision after null pointer checks, do cse2
307         after branch prediction; avoid full liveness rebuild after
308         initializing subregs.
309         * invoke.texi (-d options): Document -du, renumber.
310
311         * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
312         (notice_new_block): Do not set BB_UPDATE_LIFE.
313         (try_forward_edges, merge_blocks_move_predecessor_nojumps,
314          merge_blocks_move_successor_nojumps, merge_blocks,
315          try_crossjump_to_edge): Likewise.
316         (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
317         * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
318         * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
319         (merge_of_block): Do not use life_data_ok.
320         (find_if_case_1): Do not use SET_UPDATE_LIFE.
321         (if_convert): Use BB_DIRTY mechanizm to update life.
322         * lcm.c (optimize_mode_switching): Update
323         update_life_info_in_dirty_blocks
324
325 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
326
327         * Makefile.in (integrate.o): Update.
328         * c-decl.c (copy_lang_decl): Rename.
329         * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
330         * integrate.c: Include langhooks.h.
331         (copy_decl_for_inlining): Update to use langhook.
332         * langhooks-def.h (lhd_do_nothing_t,
333         LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
334         (LANG_HOOKS_INITIALIZER): Update.
335         * langhooks.c (lhd_do_nothing_t): New.
336         * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
337         * tree.h (copy_lang_decl): Remove.
338 objc:
339         * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
340
341 2002-02-27  Andrew MacLeod  <amacleod@redhat.com>
342
343         * dwarf2out.c (stack_adjust_offset): Add support for POST_INC, 
344         POST_DEC, and POST_MODIFY.
345
346 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
347
348         * c-typeck.c (digest_init): Remove unused parameter; all
349         callers changed.
350
351 2002-02-27  Geoffrey Keating  <geoffk@redhat.com>
352
353         * expmed.c (expand_shift): Correctly test for low part of a
354         subreg.
355
356 2002-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
357
358         * config/s390/s390.c (s390_chunkify_pool): Do not confuse
359         insn UIDs with insn addresses.
360
361 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
362
363         * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
364         c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
365         cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
366         builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
367         gcc.c, toplev.c: Delete code implementing -traditional mode.
368
369         * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
370         doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
371         Document removal of -traditional mode for compilation, and
372         remove documentation only relevant to that mode.
373
374         * config/nextstep.h, config/ptx4.h, config/svr4.h,
375         config/convex/convex.h, config/d30v/d30v.h,
376         config/i386/dgux.h, config/i386/osf1elf.h,
377         config/i386/osfelf.h, config/i386/osfrose.h,
378         config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
379         config/m68k/hp310.h, config/m88k/dgux.h,
380         config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
381         config/m88k/m88k.h, config/m88k/openbsd.h,
382         config/mips/abi64.h, config/mips/osfrose.h,
383         config/mips/svr4-5.h, config/mips/svr4-t.h,
384         config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
385         config/stormy16/stormy16.h: Remove all references to
386         -traditional from target specs.  Delete all mention of the
387         no-longer-necessary TRADITIONAL_RETURN_FLOAT macro.  Also
388         delete a couple of commented-out definitions of
389         DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
390         to -traditional.
391
392         * system.h: Poison TRADITIONAL_RETURN_FLOAT.
393         * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
394
395 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
396
397         * mklibgcc.in: Don't use \n in a line subject to
398         interpretation by echo.
399
400 2002-02-27  Graham Stott  <grahams@redhat.com>
401
402         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
403         Constify NAME.
404
405         * loop.c (prescan_loop): Handle PARALLEL.
406
407         * unroll.c (loop_iterations): Return 0 if the add_val for
408         a BIV is REG.
409
410         * final.c (output_operand_lossage): Constify PFX_STR.
411
412         * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
413
414 Wed Feb 27 10:45:19 CET 2002  Jan Hubicka  <jh@suse.cz>
415
416         * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
417         * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
418
419 Wed Feb 27 10:39:20 CET 2002  Jan Hubicka  <jh@suse.cz>
420
421         * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
422
423 2002-02-27  Neil Booth  <neil@daikokuya.demon.co.uk>
424
425         * cpplex.c (_cpp_lex_token): Handle directives in macro
426         arguments.
427         * cpplib.c (_cpp_handle_directive): Save and restore state
428         if parsing macro args when entering a directive.
429         * cppmacro.c (collect_args): No need to handle directives
430         in macro arguments.
431         (enter_macro_context, replace_args): Use the original macro
432         definition in case it was redefined whilst collecting arguments.
433 doc:
434         * cpp.texi: Update.
435
436 2002-02-26  David Edelsohn  <edelsohn@gnu.org>
437
438         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
439         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
440         * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
441         method on AIX.
442         * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
443         (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
444         (load_toc_v4_PIC_2): Same.
445
446 2002-02-26  Alan Modra  <amodra@bigpond.net.au>
447
448         * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
449
450 2002-02-26  Richard Henderson  <rth@redhat.com>
451
452         * config/alpha/alpha.md (ashldi_se): Re-enable.
453
454 2002-02-26  Richard Henderson  <rth@redhat.com>
455
456         * config/alpha/alpha.c (alpha_encode_section_info): Examine
457         MODULE_LOCAL_P; improve commentary.
458
459 2002-02-26  Zack Weinberg  <zack@codesourcery.com>
460
461         * doc/cpp.texi: Clarify documentation of relationship between
462         #line and #include.
463
464 2002-02-26  Kazu Hirata  <kazu@hxi.com>
465
466         * config/h8300/h8300-protos.h: Update the prototype for
467         compute_logical_op_length.  Add the prototype for
468         compute_logical_op_cc.
469         * config/h8300/h8300.c (compute_logical_op_length): Figure out
470         code from operands.
471         (compute_logical_op_cc): New.
472         * config/h8300/h8300.md: Combine all the logical op patterns
473         in HImode and SImode.  Use compute_logical_op_cc.
474
475 2002-02-26  Kelley Cook  <kelleycook@comcast.net>
476
477         * config/i386/i386.c (print_operand): Don't append ATT-style
478         length suffixs to x87 opcodes when in Intel mode.
479
480 2002-02-26  Ryan T. Sammartino <ryants@shaw.ca>
481
482         * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
483         (init_emit_once): Update calls.
484         * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
485         (init_syntax_once): Prototype.
486
487 2002-02-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
488
489         * pa-linux.h (LIB_SPEC): Update definition.
490         * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
491
492 2002-02-26  Richard Henderson  <rth@redhat.com>
493
494         * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
495         if we emitted a stop bit.
496
497 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
498
499         * configure.in (libgcc_visibility): Substitute.
500         * configure: Rebuilt.
501         * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
502         defined symbols .hidden.
503
504 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
505
506         * attribs.c (c_common_attribute_table): Add visibility.
507         (handle_visibility_attribute): New function.
508         * varasm.c (assemble_visibility): New function.
509         * output.h (assemble_visibility): Add prototype.
510         * tree.h (MODULE_LOCAL_P): Define.
511         * crtstuff.c (__dso_handle): Use visibility attribute.
512         * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
513         for MODULE_LOCAL_P symbols too.
514         * config/ia64/ia64.c (ia64_encode_section_info): Handle
515         MODULE_LOCAL_P symbols the same way as local symbols.
516         Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
517         into .sdata/.sbss by the user.
518         * doc/extend.texi (Function Attributes): Document visibility
519         attribute.
520
521 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
522
523         PR debug/5770
524         * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
525         STRING_CST initializer spanning the whole variable without
526         embedded zeros.
527         If expand_expr returned MEM, don't use it.
528
529 2002-02-26  Alexandre Oliva  <aoliva@redhat.com>
530
531         * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
532         generate a die for the lexical block.
533
534 2002-02-26  Kazu Hirata  <kazu@hxi.com>
535
536         * config/h8300/h8300-protos.h: Add a prototype for
537         compute_logical_op_length.
538         * config/h8300/h8300.c (compute_logical_op_length): New.
539         * config/h8300/h8300.md (anonymous logical patterns): Use
540         compute_logical_op_length for length.
541
542 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
543
544         * dwarf2out.c (modified_type_die): Do not call type_main_variant
545         for vectors.
546         (gen_type_die): Same.
547
548         * attribs.c (handle_vector_size_attribute): Set debug information.
549
550 2002-02-26  Daniel Egger  <degger@fhm.edu>
551
552         * config/rs6000/rs6000.md: Swap define_insn attributes to
553         fix incorrect generation of merge high instructions instead
554         of merge low.
555
556 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
557
558         * c-typeck.c (really_start_incremental_init): Use
559         bitsize_zero_node for vectors.
560
561 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
562
563         * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
564         ("*set_vrsave_internal"): Same.
565
566 2002-02-25  Richard Henderson  <rth@redhat.com>
567
568         * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
569         in EXPAND_SUM case.  Use host_integerp/tree_low_cst.
570
571 2002-02-25  Jakub Jelinek  <jakub@redhat.com>
572
573         PR target/5755
574         * config/i386/i386.c (ix86_return_pops_args): Only pop
575         fake structure return argument if it was passed on the stack.
576
577 2002-02-25  Jason Merrill  <jason@redhat.com>
578
579         * attribs.c (decl_attributes): Also re-layout PARM_DECL and
580         RESULT_DECL.
581
582 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
583
584         * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
585         link with shared_name only.
586         * doc/invoke.texi (Link Options): Document new behavior.
587
588 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
589
590         * c-typeck.c (push_init_level): Handle vectors.
591
592 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
593
594         * config/sparc/sparc.c (const64_high_operand): Zero-extend
595         operands of SPARC_SETHI_P.
596         (input_operand): Likewise.
597         (sparc_emit_set_const32): Likewise.
598         * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
599         (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
600         (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'.  Add `N' as SETHI.
601         * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
602         (movdi_insn_sp64_vis): Likewise.
603         (movdi split, movdf split): Use SETHI32.
604         * doc/md.texi: Document SPARC constraints L, M and N.
605
606 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
607
608         * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
609         ("*set_vrsave_internal"): use mfspr for Darwin.
610
611         * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
612         gen_get_vrsave_internal.
613
614 Sun Feb 24 16:38:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
615
616         * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
617
618 2002-02-24  Neil Booth  <neil@daikokuya.demon.co.uk>
619
620         * cpplex.c (cpp_interpret_charconst): Get signedness or
621         otherwise of wide character constants correct.
622         * cppexp.c (lex): Get signedness of wide charconsts correct.
623
624 Sun Feb 24 07:41:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
625
626         * optabs.c (widen_operand): Only call convert_modes for
627         promoted SUBREG if signedness matches.
628         * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
629
630 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
631
632         * cpplib.c (glue_header_name): Use local buffer to build up
633         header name.
634
635 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
636
637         * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
638
639 2002-02-23  Kazu Hirata  <kazu@hxi.com>
640
641         * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
642         H8/300[HS] separately.
643         * config/h8300/h8300.md: Remove the early clobber constraint
644         from bit field patterns.
645
646 2002-02-23  Kazu Hirata  <kazu@hxi.com>
647
648         * config/h8300/h8300.md (mulqihi3): Tighten predicates to
649         register_operand.
650         (mulhisi3): Likewise.
651         (umulqisi3): Likewise.
652         (umulhisi3): Likewise.
653
654 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
655
656         * cppinit.c (output_deps): Correct test for stdout output.
657         (init_dependency_output): Cure warning.
658
659 Sat Feb 23 08:42:47 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
660
661         * expr.c (store_expr): When converting expression to promoted
662         equivalent type, allow using SUBREG_REG of TARGET as the target
663         of the expansion of EXP.
664         * loop.c (basic_induction_var, case SUBREG): Always look inside.
665         * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
666         (alpha_emit_set_const): Handle SImode when can't make new pseudos.
667         (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
668         * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
669
670 2002-02-23  Joseph S. Myers  <jsm28@cam.ac.uk>
671
672         * doc/contribute.texi, doc/extend.texi, doc/install.texi,
673         doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
674         doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
675
676 2002-02-23  Jakub Jelinek  <jakub@redhat.com>
677
678         PR optimization/5747
679         * loop.c (scan_loop): Update reg info if move_movables created new
680         pseudos.
681
682 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
683
684         * gcc.c (init_gcc_spec): Revert last change.
685
686 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
687
688         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
689         gpc_reg_operand constraint.
690
691 2002-02-23  Alan Modra  <amodra@bigpond.net.au>
692
693         * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
694         Simplify comparison of `low'.
695         (add_operand): Fix formatting.
696         (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
697         (mask_operand): Disallow mask to wrap in 64-bit mode.
698         (rs6000_stack_info): Remove redundant test setting push_p.
699         (output_toc): Fix formatting.
700         * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
701         cc_reg_not_cr0_operand constraint.
702         (booldi3, boolcdi3 splitters): Same.
703
704 2002-02-23  Aldy Hernandez  <aldyh@redhat.com>
705
706         * config/rs6000/altivec.h: Add extra level of parentheses on casts.
707
708 2002-02-22  David Edelsohn  <edelsohn@gnu.org>
709
710         * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
711         gcc invoked with -shared-libgcc.
712
713 2002-02-22  Jakub Jelinek  <jakub@redhat.com>
714
715         PR c++/5748
716         * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
717         decl if any of elements was TREE_USED.
718
719 2002-02-22  Alexandre Oliva  <aoliva@redhat.com>
720
721         * config/sparc/sol2.h: Don't include sys/mman.h.
722         * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
723         (arith_4096_operand): Don't throw high bits away.
724         (const64_operand): Take sign extension of CONST_INTs into account.
725         (const64_high_operand, sparc_emit_set_const32): Likewise.
726         (GEN_HIGHINT64): Likewise.
727         (sparc_emit_set_const64_quick1): Likewise.
728         (const64_is_2insns): Likewise.
729         (print_operand): Use trunc_int_for_mode for sign extension.
730         * config/sparc/sparc.h (SMALL_INT32): Likewise.
731         * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
732         chars.  Assume CONST_INT is already properly sign-extended.
733         (movdi split): Sign-extend each SImode part.
734         (andsi3 split): Don't mask high bits off, so that result
735         remains properly sign-extend.
736         (iorsi3 split): Likewise.
737         (xorsi3 split): Likewise.
738
739 2002-02-22  Richard Sandiford  <rsandifo@redhat.com>
740
741         * fold-const.c (fold): Fix typo in comments.
742
743 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
744
745         * Makefile.in (langhooks.o): Update dependencies.
746
747 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
748
749         * langhooks.c: Include flags.h.
750
751 2002-02-21  Aldy Hernandez  <aldyh@redhat.com>
752
753         * testsuite/gcc.dg/attr-alwaysinline.c: New.
754
755         * c-common.c (c_common_post_options): Set inline trees by
756         default.
757
758         * doc/extend.texi (Function Attributes): Document always_inline
759         attribute.
760         Update documentation about inlining when not optimizing.
761
762         * cp/decl.c (duplicate_decls): Merge always_inline attribute.
763
764         * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
765         unless DECL_ALWAYS_INLINE.
766
767         * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
768         unless DECL_ALWAYS_INLINE.
769         (c_disregard_inline_limits): Disregard if always_inline set.
770
771         * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
772         Disregard if always_inline set.
773         (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
774         unless DECL_ALWAYS_INLINE.
775
776         * attribs.c (handle_always_inline_attribute): New.
777         (c_common_attribute_table): Add always_inline.
778
779         * config/rs6000/altivec.h: Add prototypes for builtins
780         requiring the always_inline attribute.
781
782 2002-02-21  Eric Christopher  <echristo@redhat.com>
783
784         * expmed.c (store_bit_field): Try to simplify the subreg
785         before generating a new one when when the mode size of
786         value is less than maxmode.
787
788 2002-02-21  Richard Henderson  <rth@redhat.com>
789
790         * emit-rtl.c (offset_address): Use simplify_gen_binary rather
791         than gen_rtx_PLUS to form the sum.
792         * explow.c (force_reg): Rearrange to not allocate new pseudo
793         when force_operand returns a register.
794         * expr.c (expand_assignment): Allow offset_rtx expansion to
795         return a sum.  Do not force addresses into registers.
796         (expand_expr): Likewise.
797         * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
798         to canonicalize arithmetic that didn't simpify.
799         (simplify_plus_minus): New argument force; update
800         all callers.  Don't split CONST unless we can do something with it,
801         and wouldn't lose the constness of the operands.
802
803         * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
804         that we generated earlier.
805
806 2002-02-21  Tom Tromey  <tromey@redhat.com>
807
808         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
809         (output_line_info): Use constant `1', with a long explanatory
810         comment.
811         * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
812
813 Thu Feb 21 22:43:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
814
815         * jump.c (redirect_jump): If old label has no UID, don't try to
816         delete it.
817
818 Thu Feb 21 21:17:21 2002  J"orn Rennecke <joern.rennecke@superh.com>
819
820         * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
821         If input is constant, do shifts at compile time.
822
823 2002-02-21  Joseph S. Myers  <jsm28@cam.ac.uk>
824
825         * doc/extend.texi: Fix some more overfull hboxes.
826
827 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
828
829         PR optimization/4994
830         * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
831         register moves.
832
833 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
834
835         PR c++/4574
836         * expr.h (expand_and): Add mode argument.
837         * expmed.c (expand_and): Add mode argument.
838         (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
839         * expr.c (store_field, expand_expr, do_store_flag): Likewise.
840         * except.c (expand_builtin_extract_return_addr): Likewise.
841         * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
842         * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
843         * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
844         Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
845         * config/c4x/c4x.md: Use GEN_INT (x) instead of
846         gen_rtx (CONST_INT, VOIDmode, x).
847
848 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
849
850         PR c/4697:
851         * stmt.c (warn_if_unused_value): Move side effects test once more.
852
853 2002-02-20  Torbjorn Granlund  <tege@swox.com>
854
855         * config/avr/avr.md: Add more patterns for mized-mode add and subtract
856         (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
857
858 Thu Feb 21 16:20:46 2002  Alexandre Oliva  <aoliva@redhat.com>
859
860         * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
861         SUBREG or ZERO_EXTEND.
862
863 Thu Feb 21 15:35:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
864
865         * sh.h (current_function_anonymous_args): Remove.
866         (SETUP_INCOMING_VARARGS): Don't set it - just check that one
867         of current_function_varargs and current_function_stdarg is set.
868         * sh.c (sh_expand_prologue): Check current_function_varargs /
869         current_function_stdarg / TARGET_SH5 instead of
870         current_function_anonymous_args.
871
872         * sh64.h (TARGET_VERSION): Define.
873
874 2002-02-20  David Edelsohn  <edelsohn@gnu.org>
875
876         * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
877         VRSAVE_REGNO on TARGET_ALTIVEC.
878
879 2002-02-20  Alan Modra  <amodra@bigpond.net.au>
880
881         * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
882         bits of SImode const_int.
883         (includes_rshift_p): Likewise.
884         (print_operand): Call mask_operand and mask64_operand with correct
885         mode.
886         (rs6000_output_function_epilogue): Pad traceback table to word.
887         * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
888         (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
889         mask64_operand with correct mode.
890         (FUNCTION_ARG_REGNO_P): Correct parentheses.
891
892 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
893
894         PR debug/4461
895         * varasm.c (get_pool_constant_mark): New.
896         * rtl.h (get_pool_constant_mark): Add prototype.
897         * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
898         be represented if it has not been output.
899
900 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
901
902         * combine.c (do_SUBST): Sanity check substitutions of
903         CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
904         (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
905         CONST_INT into its operand.
906         (known_cond): Likewise, for ZERO_EXTEND.
907         * simplify-rtx.c (simplify_unary_operation): Fix condition to
908         allow for simplification of wide modes.  Reject CONST_INTs in
909         ZERO_EXTEND when their actual mode is not given.
910
911 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
912
913         * c-decl.c (pushdecl): If no global declaration is found for an
914         extern declaration in block scope, try a limbo one.
915
916 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
917
918         PR c++/4401
919         * c-common.c (pointer_int_sum): Moved from...
920         * c-typeck.c (pointer_int_sum): ...here.
921         * c-common.h (pointer_int_sum): Add prototype.
922
923 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
924
925         PR c++/5713
926         * c-decl.c (duplicate_decls): Return 0 if issued error about
927         redeclaration.
928
929 2002-02-20  Roger Sayle  <roger@eyesopen.com>
930             Jakub Jelinek  <jakub@redhat.com>
931
932         PR c/4389
933         * tree.c (host_integerp): Ensure that the constant integer is
934         representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
935         when pos is zero or non-zero respectively.  Clarify comment.
936         * c-format.c (check_format_info_recurse): Fix host_integerp
937         usage; the pos argument should be zero when assigning to a
938         signed HOST_WIDE_INT.
939
940 2002-02-20  Richard Henderson  <rth@redhat.com>
941
942         * config/i386/i386.c (ix86_expand_vector_move): Use the mode
943         of the operand, rather than assuming TImode.
944         (ix86_expand_binop_builtin): Cope with commutative patterns
945         using nonimmediate_operand for both operands.
946         (ix86_expand_timode_binop_builtin): Likewise.
947         (ix86_expand_store_builtin): Validate operand 1.
948         (ix86_expand_unop1_builtin): Likewise.
949
950 2002-02-20  Philip Blundell  <philb@gnu.org>
951
952         PR 5705
953         * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
954
955 2002-02-20  Richard Henderson  <rth@redhat.com>
956
957         PR c/5615
958         * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
959
960 2002-02-20  Tom Tromey  <tromey@redhat.com>
961
962         * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
963         * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
964         * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
965         * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
966         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
967         unconditionally.
968
969 Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
970
971         * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
972           for (const_int 0) in X not just INTVAL.
973
974 2002-02-20  Joseph S. Myers  <jsm28@cam.ac.uk>
975
976         * doc/extend.texi: Avoid or reduce overfull hboxes.
977
978 2002-02-20  Diego Novillo  <dnovillo@redhat.com>
979
980         * expmed.c (store_bit_field): Do not store bit fields using SUBREG
981         operations if the field does not start at a mode boundary.
982
983 2001-02-20      Joel Sherrill <joel@OARcorp.com>
984
985         * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
986         config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
987         Also done for -Acpu and -Amachine.
988
989 2002-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
990
991         * cppinit.c (init_dependency_output): Take deps output file
992         from -o if none given with -MF.  Suppress normal output.
993         * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
994         * doc/cpp.texi, doc/invoke.texi: Update.
995
996 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
997
998         * toplev.c (output_quoted_string): Write unprintable
999         characters with octal escapes.
1000
1001 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
1002
1003         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
1004         really_call_used[VRSAVE_REGNO] if not Altivec.
1005
1006 2002-02-19  Alan Modra  <amodra@bigpond.net.au>
1007
1008         * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
1009         MODE_MASK.
1010         (constant_pool_expr_1): Fix formatting.
1011         (rs6000_legitimize_reload_address): Likewise.
1012
1013 Tue Feb 19 20:13:57 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1014
1015         * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
1016         now that we have one.
1017
1018 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
1019
1020         * tree.h (struct tree_common): Remove aux.  Add unused_0 at
1021         end of first block of bitfields (which was only seven bits);
1022         rename dummy to unused_1; remove comment which is no longer true.
1023
1024 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
1025
1026         * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
1027
1028 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
1029
1030         PR 5399
1031         * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
1032         if generating PIC.
1033
1034         PR 5054
1035         * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
1036         arm_is_longcall_p rather than inspecting call-type cookie
1037         directly.
1038         (call_value_insn) [TARGET_THUMB]: Likewise.
1039
1040 2002-02-19  Graham Stott  <grahams@redhat.com>
1041
1042         * config/i386/i386.c (ix86_expand_builtin): Fix typo.
1043
1044 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
1045
1046         * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
1047         ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
1048         (FP_SAVE_INLINE): Delete.
1049
1050         * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
1051         * config/rs6000/eabi.asm: Remove ABI save restore routines.
1052         * config/rs6000/t-ppccomm: Build crtsavres.o.
1053         * config/rs6000/crtsavres.asm: New file.
1054
1055 2002-02-19  Philip Blundell  <philb@gnu.org>
1056
1057         * config/arm/arm.c (use_return_insn): Don't reject interrupt
1058         functions.
1059         (arm_compute_save_reg_mask): Save LR for interrupt functions too.
1060         (output_return_instruction): Allow interrupt functions to return with
1061         ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
1062         (arm_expand_prologue): Subtract 4 before stacking LR in an
1063         interrupt function.
1064
1065 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
1066
1067         * config/arm/arm.c (arm_encode_call_attribute): Operate on any
1068         decl, not just FUNCTION_DECL.
1069         (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
1070         (arm_assemble_integer): Likewise.
1071         * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
1072         marked local.
1073
1074 2002-02-19  matthew green  <mrg@eterna.com.au>
1075
1076         * config.gcc (sparc-*-netbsdelf*): Enable target.
1077         (sparc64-*-netbsd*): New target.
1078         * config/sparc/netbsd-elf.h: New file.
1079         * config/sparc/t-netbsd64: New file.
1080
1081 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
1082
1083         * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
1084
1085 2002-02-19  Ryan T. Sammartino <ryants@shaw.ca>
1086
1087         * doc/invoke.texi: explicitly list the style guidelines that
1088         -Weffc++ checks for.
1089
1090 Tue Feb 19 12:37:23 CET 2002  Jan Hubicka  <jh@suse.cz>
1091
1092         * regmove.c (regmove_optimize): Avoid increasing of register pressure.
1093
1094 2002-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
1095
1096         PR other/5718
1097         * gcc.c (cpp_unique_options): Treat -o as indicating object file
1098         only if not -E.  If -E, pass -o through to the preprocessor.
1099
1100 2002-02-19  Kazu Hirata  <kazu@hxi.com>
1101
1102         * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
1103         register number with an appropriate macro.
1104
1105 2002-02-19  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1106
1107         * doc/rtl.texi (Constants): Close @code tag.
1108
1109 2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
1110
1111         * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
1112         ("mmx_uavgv4hi3"): Same.
1113         ("pmulhrwv4hi3"): Same.
1114
1115         * tree-inline.c (walk_tree): Handle vectors.
1116
1117         * c-common.c (constant_expression_warning): Handle vectors.
1118         (overflow_warning): Same.
1119
1120         * sched-deps.c (sched_analyze_2): Handle vectors.
1121
1122         * rtlanal.c (rtx_unstable_p): Handle vectors.
1123         (rtx_varies_p): Same.
1124         (count_occurrences): Same.
1125         (regs_set_between_p): Same.
1126         (modified_between_p): Same.
1127         (modified_in_p): Same.
1128         (volatile_insn_p): Same.
1129         (volatile_refs_p): Same.
1130         (side_effects_p): Same.
1131         (may_trap_p): Same.
1132         (inequality_comparisons_p): Same.
1133         (replace_regs): Same.
1134         (computed_jump_p_1): Same.
1135
1136         * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
1137         argument.
1138         (inner_mode_array): New.
1139         (copy_rtx): Handle vectors.
1140         (copy_most_rtx): Same.
1141         (rtx_equal_p): Same.
1142         (get_mode_alignment): Adjust for vectors.
1143
1144         * resource.c (mark_referenced_resources): Handle vectors.
1145         (mark_set_resources): Same.
1146
1147         * reload1.c (eliminate_regs): Handle vectors.
1148         (elimination_effects): Same.
1149         (scan_paradoxical_subregs): Same.
1150
1151         * reload.c (subst_reg_equivs): Handle vectors.
1152
1153         * regrename.c (scan_rtx): Handle vectors.
1154
1155         * regclass.c (reg_scan_mark_refs): Handle vectors.
1156
1157         * recog.c (find_single_use_1): Handle vectors.
1158
1159         * local-alloc.c (equiv_init_varies_p): Handle vectors.
1160         (contains_replace_regs): Same.
1161         (memref_referenced_p): Same.
1162
1163         * integrate.c (copy_rtx_and_substitute): Handle vectors.
1164         (subst_constants): Same.
1165
1166         * genattrtab.c (attr_copy_rtx): Handle vectors.
1167         (encode_units_mask): Same.
1168         (clear_struct_flag): Same.
1169         (count_sub_rtxs): Same.
1170
1171         * gcse.c (want_to_gcse_p): Handle vectors.
1172         (oprs_unchanged_p): Same.
1173         (hash_expr_1): Same.
1174         (oprs_not_set_p): Same.
1175         (expr_killed_p): Same.
1176         (compute_transp): Same.
1177         (store_ops_ok): Same.
1178
1179         * function.c (purge_addressof_1): Do not allow paradoxical subregs
1180         of vectors.
1181         (fixup_var_refs_1): Same.
1182         (instantiate_virtual_regs_1): Same.
1183
1184         * fold-const.c (operand_equal_p): Handle vectors.
1185         (fold): Same.
1186         (rtl_expr_nonnegative_p): Same.
1187
1188         * flow.c (mark_used_regs): Handle vectors.
1189
1190         * df.c (df_uses_record): Handle vectors.
1191
1192         * cselib.c (cselib_subst_to_values): Handle vectors.
1193         (cselib_mem_conflict_p): Same.
1194         (hash_rtx): Same.
1195
1196         * cse.c (canon_reg): Handle vectors.
1197         (fold_rt): Same.
1198         (cse_process_notes): Same.
1199         (count_reg_usage): Same.
1200         (canon_hash): Same.
1201
1202         * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
1203
1204         * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
1205
1206         * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
1207         (gen_rtx): Handle CONST_VECTOR.
1208         (gen_const_vector_0): New.
1209         (copy_rtx_if_shared): CONST_VECTORs can be shared.
1210         (reset_used_flags): Same.
1211         (copy_insn_1): Same.
1212         (initializer_constant_valid_p): Handle VECTOR_CST.
1213
1214         * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
1215
1216         * doc/rtl.texi (Constants): Document const_vector.
1217         (CONST0_RTX): Update for vectors.
1218         (RTL sharing): Same.
1219
1220         * print-tree.c (print_node): Add case for VECTOR_CST.
1221
1222         * tree.h (TREE_VECTOR_CST_ELTS): New.
1223         (struct tree_vector): New.
1224         (union tree_node): Add vector node.
1225         (build_vector): Add prototype.
1226
1227         * tree.def (VECTOR_CST): New.
1228
1229         * tree.c (build_vector): New.
1230
1231         * expmed.c (make_tree): Handle CONST_VECTOR.
1232
1233         * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
1234         (CONST_VECTOR_ELT): New.
1235         (CONST_VECTOR_NUNITS): New.
1236
1237         * machmode.h (GET_MODE_INNER): New.
1238         (DEF_MACHMODE): Accept 8th arg.
1239
1240         * machmode.def: Add 8th argument for vector inner mode.
1241         Add inner vector modes for vectors.
1242
1243         * rtl.def (VEC_CONST): Remove.
1244         (CONST_VECTOR): New.
1245
1246         * expr.c (clear_storage): Allow vectors.
1247         (is_zeros_p): Handle VECTOR_CST.
1248
1249         * varasm.c (output_constant_pool): Handle vectors.
1250         (rtx_const): Add veclo and vechi fields.
1251         (kind): Add RTX_VECTOR.
1252         (decode_rtx_const): Add case for vector.
1253
1254         * config/rs6000/rs6000-protos.h: Add zero_constant.
1255
1256         * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
1257         constants.  Force easy vector constants into memory.
1258         (easy_vector_constant): New.
1259         (emit_easy_vector_constant): New.
1260         (rs6000_legitimize_reload_address): Do not generate bad reloads on
1261         darwin.
1262
1263         * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
1264         instruction does.
1265         ("altivec_lvxl"): Same.
1266         (altivec_lvebx): Same.
1267         (altivec_lvehx): Same.
1268         (altivec_lvewx): Same.
1269         ("*movv4si_const0"): New.
1270         ("*movv4sf_const0"): New.
1271         ("*movv8hi_const0"): New.
1272         ("*movv16qi_const0"): New.
1273
1274 2002-02-18  Kazu Hirata  <kazu@hxi.com>
1275
1276         * config/h8300/h8300.c (notice_update_cc): Use
1277         cc_status.value2.
1278
1279 2002-02-18  Kazu Hirata  <kazu@hxi.com>
1280
1281         * config/h8300/h8300.md (divmod patterns): Change the
1282         constraints for operands[1] to register_operand.
1283
1284 2002-02-18  Kazu Hirata  <kazu@hxi.com>
1285
1286         * config/h8300/h8300-protos.h: Remove the prototype for
1287         p_operand.
1288         * config/h8300/h8300.c (p_operand): Remove.
1289         * config/h8300/h8300.md: Replace p_operand with
1290         const_int_operand.
1291
1292 2002-02-18 Philip Blundell <pb@nexus.co.uk>
1293
1294         * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
1295         comment.
1296         (output_return_instruction): Allow use of LDR to unstack
1297         return addresss even for interrupt handlers or when
1298         interworking.  If compiling for ARMv5, use interworking-safe
1299         return instructions by default.  Remove duplicated code and
1300         lengthy "strcat" sequences.
1301
1302 2002-02-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1303
1304         * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1305         (LINK_EH_SPEC): Define.
1306         * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1307
1308 2002-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
1309
1310         * config/s390/s390.c (s390_emit_prologue): Do not set the
1311         frame_related flag for call-clobbered registers.
1312
1313 Mon Feb 18 15:07:35 CET 2002  Jan Hubicka  <jh@suse.cz>
1314
1315         * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
1316         (construct_container): Fix handling of SSE operands.
1317         (ix86_expand_builtin): Fix handling of 64bit pointers.
1318         (mmx_maskmovq_rex): New pattern.
1319
1320 Mon Feb 18 11:55:55 CET 2002  Jan Hubicka  <jh@suse.cz>
1321
1322         * regrename.c (kill_set_value): Handle subregs properly.
1323
1324 2002-02-18  David Billinghurst <David.Billinghurst@riotinto.com>
1325
1326         * objc/objc-act.c (handle_impent): Remove leading '*'
1327         from objc_class_name.
1328
1329 2002-02-17  Richard Henderson  <rth@redhat.com>
1330
1331         * config/alpha/alpha.c (some_small_symbolic_operand,
1332         some_small_symbolic_operand_1, split_small_symbolic_operand,
1333         split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
1334         Handle small SYMBOL_REFs anywhere, not just inside memories.
1335         * config/alpha/alpha-protos.h: Update.
1336         * config/alpha/alpha.h (PREDICATE_CODES): Update.
1337         * config/alpha/alpha.md (small symbolic operand splitter): Update.
1338
1339 2002-02-17  Roland McGrath  <roland@frob.com>
1340
1341         * config.gcc (powerpc-*-gnu-gnualtivec*,
1342         powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
1343         * config/rs6000/gnu.h: New file.
1344         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
1345         Grok "gnu" in rs6000_abi_name.
1346         (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
1347         CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
1348         Grok -mcall-gnu analogous to -mcall-linux et al.
1349         (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
1350         LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
1351         (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
1352
1353 2002-02-17  Jakub Jelinek  <jakub@redhat.com>
1354
1355         PR c/3444:
1356         * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
1357         shortening.
1358
1359 2002-02-17  Philipp Thomas  <pthomas@suse.de>
1360
1361         * config/cris/cris.h: Undefine STARTFILE_SPEC and
1362         ENDFILE_SPEC before (re)defining them.
1363
1364 2002-02-17  Kazu Hirata  <kazu@hxi.com>
1365
1366         * config/h8300/h8300.c: Fix formatting.
1367         * config/h8300/h8300.h: Likewise.
1368
1369 2002-02-17  Philipp Thomas  <pthomas@suse.de>
1370
1371         * doc/tm.texi: Explain why empty strings should not be
1372         marked for translation.
1373
1374 2002-02-17  Philipp Thomas  <pthomas@suse.de>
1375
1376         * final.c (output_operand_lossage): Changed to accept
1377         printf style arguments. Change calls where necessary.
1378         * output.h (output_operand_lossage): Change declaration
1379         accordingly. Update copyright.
1380         * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
1381         config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
1382         Update copyright date where necessary.
1383
1384         * config/i386/i386.c (print_operand): Likewise. Remove use of
1385         sprintf.
1386
1387         * config/cris/cris.c (cris_operand_lossage): Likewise.
1388         Rename parameter so that exgettext recognizes it as
1389         translatable message.
1390         (LOSE_AND_RETURN): Rename parameter to msgid.
1391
1392 2002-02-17  Kazu Hirata  <kazu@hxi.com>
1393
1394         * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
1395         hard coded register number with an appropriate macro.
1396         (HARD_REGNO_MODE_OK): Likewise.
1397         (ARG_POINTER_REGNUM): Likewise.
1398         (STATIC_CHAIN_REGNUM): Likewise.
1399         (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
1400         * config/h8300/h8300.md (define_constants): Define more
1401         register numbers.
1402
1403 2002-02-17  Philipp Thomas  <pthomas@suse.de>
1404
1405         * config/i386/i386.h: Don't mark empty strings for translation.
1406
1407 2002-02-16  H.J. Lu <hjl@gnu.org>
1408
1409         * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1410
1411 2002-02-16  Zack Weinberg  <zack@codesourcery.com>
1412
1413         * cppinit.c (merge_include_chains): Check for brack being
1414         NULL before attempting to merge it with qtail.
1415
1416 2002-02-16  Andrew Cagney  <ac131313@redhat.com>
1417
1418         * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
1419         DBX_DEBUG.
1420
1421 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1422
1423         * pa/t-pa, pa/t-pro, som.h: Revert last patch.
1424
1425 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1426
1427         * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
1428         * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
1429         * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
1430
1431 Sat Feb 16 13:48:50 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1432
1433         * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1434         now only if !TARGET_FIX.
1435         (*movsi_nt_vms_fix): New pattern.
1436
1437 2002-02-16  Douglas B Rupp  <rupp@gnat.com>
1438
1439         * config/alpha/alpha.c: Implement null frame procedure types on VMS.
1440         (alpha_procedure_type): Replaces alpha_is_stack_procedure.
1441         (alpha_sa_mask, alpha_sa_size): Reflect above change.
1442         (alpha_pv_save_size, alpha_expand_prologue): Likewise.
1443         (alpha_start_function, alpha_expand_epilogue): Likewise.
1444         (unicosmk_gen_dsib): Likewise.
1445
1446 Sat Feb 16 13:39:09 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1447
1448         * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
1449
1450 2002-02-16  Ulrich Weigand  <uweigand@de.ibm.com>
1451
1452         * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
1453         check_and_change_labels, s390_final_chunkify): Delete.
1454         (s390_split_branches, s390_chunkify_pool): New functions.
1455         (s390_function_prologue): Call them.
1456
1457         * config/s390/s390.h (S390_REL_MAX): Delete.
1458         (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
1459
1460         * config/s390/s390.md (cjump, icjump, jump): Fix length
1461         attribute calculation.
1462
1463
1464 2002-02-15  David Edelsohn  <edelsohn@gnu.org>
1465
1466         * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
1467         * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
1468
1469 2002-02-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1470
1471         * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
1472         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
1473         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
1474
1475 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
1476
1477         * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
1478
1479 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
1480
1481         * reload.c (find_dummy_reload): Check that an output register
1482         is valid for its mode.
1483
1484 2002-02-14  Alexandre Oliva  <aoliva@redhat.com>
1485
1486         * combine.c (known_cond): After replacing the REG of a SUBREG, try
1487         to simplify it.
1488
1489         * function.c (assign_parms): Demote promoted argument passed by
1490         transparent reference.
1491
1492 2001-02-14      Joel Sherrill <joel@OARcorp.com>
1493
1494         * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
1495         -Acpu() and -Amachine() to eliminate warnings.
1496
1497 2002-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
1498
1499         * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
1500
1501 2002-02-14  Kazu Hirata  <kazu@hxi.com>
1502
1503         * config/h8300/h8300-protos.h: Update the prototype for
1504         const_costs.
1505         * config/h8300/h8300.c (const_costs): Treat SET as a little
1506         more expensive operation.
1507         * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
1508         reference to const_costs.
1509
1510 2002-02-14  Hans-Peter Nilsson  <hp@axis.com>
1511
1512         * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
1513
1514 2002-02-14  Jakub Jelinek  <jakub@redhat.com>
1515
1516         PR c/5503:
1517         * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
1518         use arguments from newtype.
1519
1520 2002-02-13  Eric Christopher  <echristo@redhat.com>
1521
1522         * config/mips/mips.c (override_options): Add check for march/mipsX
1523         on the same command line. Fix error message in cpu processing.
1524         Remove architecture and ISA checks.
1525
1526 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
1527
1528         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
1529
1530         * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
1531
1532 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
1533
1534         * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
1535         alternatives.
1536         ("*movv8hi_internal1"): Same.
1537         ("*movv16qi_internal1"): Same.
1538         ("*movv4sf_internal1"): Same.
1539
1540         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
1541         not push_reload for altivec modes.
1542
1543 2002-02-13  Joel Sherrill  <joel@OARcorp.com>
1544
1545         * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
1546         all RTEMS targets including removal of #includes from config/*/rtems*.h
1547         file and adding them to tm_file setting. Added xm_defines=POSIX to
1548         many targets.
1549         * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
1550         * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
1551         * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
1552         * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
1553         * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
1554         config/m68k/rtemself.h: Ditto.
1555         * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
1556         config/mips/rtems64.h: Ditto.
1557         * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
1558         * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
1559         Ditto.
1560         * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
1561         config/sparc/rtemself.h: Ditto.
1562         * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
1563         * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
1564         arm-rtems stanza closer to other arm-elf targets and made arm-rtems
1565         more like arm-elf.
1566         * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
1567         config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
1568         target made more similar to i386-elf.
1569         * config/i386/t-rtems-i386: Added soft float support and multilibs.
1570         * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
1571         be similar to config/m68k/t-m68kelf.
1572         * gthr-rtems.h: Encapsulate with extern "C" for C++.
1573
1574 Wed Feb 13 23:41:15 CET 2002  Jan Hubicka  <jh@suse.cz>
1575
1576         * regmove.c (kill_value): Handle subregs.
1577
1578 Wed Feb 13 23:34:30 CET 2002  Jan Hubicka  <jh@suse.cz>
1579
1580         * i386.md (mul patterns): Allow memory operand to be first;
1581         add expanders where needed; fix constraints.
1582         (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
1583         Allow memory operand to be the first.
1584
1585         * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
1586         operands.
1587
1588 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
1589
1590         PR c/5681:
1591         * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
1592         GET_MODE (x).
1593
1594 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
1595
1596         PR optimization/5547:
1597         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
1598         all valid IA-32 address modes involving non-scaled %ebx and
1599         GOT/GOTOFF as displacement.
1600
1601 2002-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
1602
1603         * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
1604         after emitting ltorg insns.
1605
1606         * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
1607         *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
1608         *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
1609         *abssf2): Fix "op_type" attribute.
1610
1611 2002-02-13  Douglas B Rupp  <rupp@gnat.com>
1612
1613         * mkconfig.sh: Avoid using a subshell redirect.
1614         ($output.T): Change to $(output)T.
1615         (ENABLE_NLS): Remove unneeded undef.
1616
1617         * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
1618         * config/alpha/x-vms (libsubdir): Define.
1619
1620         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
1621         register frame procedures. Optimize retrieving context.
1622
1623         * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
1624         (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
1625         * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
1626
1627 Wed Feb 13 09:45:08 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1628
1629         * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
1630         Make same change as for find_base_value.
1631
1632 2002-02-13  Kazu Hirata  <kazu@hxi.com>
1633
1634         * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
1635         of QImode and SImode.
1636
1637 2002-02-13  Kazu Hirata  <kazu@hxi.com>
1638
1639         * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
1640         length computation of movsi.
1641         * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
1642
1643 2002-02-13  Kazu Hirata  <kazu@hxi.com>
1644
1645         * config/h8300/h8300.md (subqi3): Tighten the predicate for
1646         operands[2] to register_operand.
1647
1648 Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
1649
1650         * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
1651
1652 2002-02-12  Aldy Hernandez  <aldyh@redhat.com>
1653
1654         * config/rs6000/rs6000.md: Use predicate altivec_register_operand
1655         for altivec_lvx* and altivec_stvx*.
1656         ("*movv4si_internal"): Add constraint for loading from GPRs.
1657         ("*movv8hi_internal1"): Same.
1658         ("*movv16qi_internal1"): Same.
1659         ("*movv4sf_internal1"): Same.
1660
1661         * config/rs6000/rs6000.c (altivec_register_operand): New.
1662
1663         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
1664         altivec_register_operand.
1665
1666 2002-02-13  Hans-Peter Nilsson  <hp@bitrange.com>
1667
1668         * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
1669         handle SYMBOL_REF.
1670
1671 2002-02-13  Stan Shebs  <shebs@apple.com>
1672
1673         * c-typeck.c (digest_init): Handle vectors.
1674         (really_start_incremental_init): Same.
1675         (pop_init_level): Same.
1676         (process_init_element): Same.
1677
1678         * varasm.c (output_constant): Same.
1679
1680         * expr.c (clear_storage): Same.
1681         (store_constructor): Same.
1682
1683 2002-02-12  Eric Christopher  <echristo@redhat.com>
1684
1685         * explow.c (hard_function_value): Add comment explaining
1686         signed/unsigned comparison.
1687
1688 2002-02-12  Jakub Jelinek  <jakub@redhat.com>
1689
1690         * jump.c (never_reached_warning): Add finish argument.
1691         If finish is NULL, stop on CODE_LABEL, otherwise stop before first
1692         real insn after end.
1693         * rtl.h (never_reached_warning): Adjust prototype.
1694         * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
1695         * cfgrtl.c (flow_delete_block): Pass b->end as finish to
1696         never_reached_warning.
1697
1698 2002-02-12  Graham Stott  <grahams@redhat.com>
1699
1700         * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
1701
1702 2002-02-12  Kazu Hirata  <kazu@hxi.com>
1703
1704         * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
1705         logical shifts on H8/300.
1706         (shift_alg_si): Improve several shifts on H8/300.
1707         (get_shift_alg): Likewise.
1708
1709 2002-02-12  Graham Stott  <grahams@redhat.com>
1710
1711         * config/pa/pa.c (compute_movstrsi_length): Fix typos.
1712
1713 Tue Feb 12 10:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1714
1715         * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
1716         Handle #ifdef POINTERS_EXTEND_UNSIGNED.
1717
1718 2002-02-11  Hans-Peter Nilsson  <hp@bitrange.com>
1719
1720         * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
1721         non-CONST_INT through default_assemble_integer.
1722         <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
1723         <case 8>: Abort for CONST_DOUBLE.
1724
1725 2002-02-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1726
1727         * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
1728         is specified.
1729         * config/pa/pa-linux.h (LIB_SPEC): Delete.
1730         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
1731
1732 2002-02-11  Andrew Haley  <aph@cambridge.redhat.com>
1733
1734         * config/stormy16/stormy16.md (zero_extendqihi2): New.
1735
1736 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
1737
1738         * regrename.c (regrename_optimize): Don't accept a
1739         part-clobbered register if the replaced register is not part
1740         clobbered.
1741
1742         * calls.c (store_one_arg): In the non-BLKmode non-partial case,
1743         take padding into account when computing the argument value.
1744
1745         * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
1746
1747         * combine.c (try_combine): Apply substitutions in
1748         CALL_INSN_FUNCTION_USAGE too.
1749
1750 2002-02-11  Aldy Hernandez  <aldyh@redhat.com>
1751
1752         * config/rs6000/rs6000.c (altivec_init_builtins): Handle
1753         __builtin_altivec_abs*.
1754         (bdesc_abs): New.
1755
1756         * config/rs6000/rs6000.h (rs6000_builtins): Add
1757         ALTIVEC_BUILTIN_ABS*.
1758
1759         * config/rs6000/altivec.h: Use const char for builtins expecting
1760         literals.
1761         (vec_abs): New versions for C and C++.
1762         (vec_abss): Same.
1763
1764 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1765
1766         * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
1767         using Pmode.
1768
1769 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1770
1771         * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
1772         constant definition from h8300.md.
1773         (FRAME_POINTER_REGNUM): Likewise.
1774         * config/h8300/h8300.md (define_constants): Add FP_REG.
1775
1776 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1777
1778         * config/h8300/h8300.c (print_operand): Remove redundant code.
1779
1780 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1781
1782         * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
1783         * config/h8300/h8300.c (byte_reg): Make it static.
1784
1785 2002-02-10  Richard Henderson  <rth@redhat.com>
1786
1787         PR c/5623
1788         * c-typeck.c (incomplete_type_error): Handle flexible array members.
1789
1790 2002-02-10  Richard Henderson  <rth@redhat.com>
1791
1792         PR c++/5624
1793         * tree.c (append_random_chars): Don't abort if main_input_filename
1794         does not exist.
1795
1796 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
1797
1798         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
1799
1800 2002-02-10  Kazu Hirata  <kazu@hxi.com>
1801
1802         * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
1803         (pushhi1): Likewise.
1804
1805 2002-02-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1806
1807         * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
1808         * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
1809
1810 2002-02-09  David O'Brien  <obrien@FreeBSD.org>
1811
1812         * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
1813         remove MASK_VIS.
1814         (ASM_CPU_DEFAULT_SPEC): Remove.  Default setting is fine.
1815
1816 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1817
1818         * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
1819         a half of an SImode register on H8/300.
1820
1821 Sat Feb  9 18:28:02 CET 2002  Jan Hubicka  <jh@suse.cz>
1822
1823         * i386.md (movdi_2): Add missing '!'.
1824
1825 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1826
1827         * config/h8300/h8300.h: Fix formatting.  Remove commented-out
1828         definitions.
1829
1830 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1831
1832         * config/h8300/h8300.md (length): Correct the distance valid
1833         for the short branch.
1834
1835 2002-02-09  Kazu Hirata  <kazu@hxi.com>
1836
1837         * config/h8300/h8300.md (iorhi3): Tighten the predicates.
1838
1839 2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
1840
1841         * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
1842         registers in SImode.
1843         (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
1844         part-clobbered.
1845
1846         * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
1847         patch.
1848
1849         Contribute sh64-elf.
1850         2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
1851         * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
1852         (sh_cannot_modify_jumps_p): New function.
1853         2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
1854         * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
1855         (sh_ms_bitfield_layout_p): New function.
1856         2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
1857                     Zack Weinberg  <zack@codesourcery.com>
1858         * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
1859         expand_simple_binop instead of expand_binop.
1860         2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
1861         * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
1862         use of .quad and .uaquad.
1863         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
1864         TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
1865         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
1866         * config/sh/sh.md (movdi_const, movdi_const_32bit,
1867         movdi_const_16bit): Make sure all CONSTs have modes.
1868         (sym2PIC): Ditto, but by adjusting all callers.
1869         * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
1870         if the prologue calls the SHmedia argument decoder or register
1871         saver.
1872         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
1873         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
1874         (TARGET_ASM_ALIGNED_DI_OP): Likewise.
1875         (sh_expand_epilogue): Don't emit USE of return target register.
1876         (prepare_move_operands): Legitimize DImode PIC addresses.
1877         (sh_media_register_for_return): Skip tr0, used to initialize the
1878         PIC register.
1879         (sh_expand_prologue): Remove explicit USE of return register.
1880         (nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
1881         CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
1882         * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
1883         (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
1884         (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
1885         EXTRA_CONSTRAINT_T.
1886         (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
1887         (MOVI_SHORI_BASE_OPERAND_P): New.
1888         (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
1889         (EXTRA_CONSTRAINT_T): Define in terms of them.
1890         (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
1891         * config/sh/sh.md (movsi_media, movsi_media_nofpu,
1892         movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
1893         alternatives supporting TARGET_REGS.
1894         (UNSPEC_GOTPLT): New constant.
1895         (movdi split): Move incrementing of LABEL_NUSES...
1896         (movdi_const, movdi_const_32bit): Here.  Use
1897         MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
1898         (movdi_const_16bit): New.
1899         (call, call_value) [flag_pic]: Use GOTPLT.
1900         (call_pop, call_value_pop): New expands.
1901         (call_pop_compact, call_pop_rettramp): New insns.
1902         (call_value_pop_compact, call_value_pop_rettramp): New insns.
1903         (sibcall) [flag_pic]: Use GOT.
1904         (builtint_setjmp_receiver): Remove bogus, unused expand.
1905         (GOTaddr2picreg): Implement for SHcompact and SHmedia.
1906         (*pt, *ptb, ptrel): New insns.
1907         (sym2GOT): Handle DImode GOT.
1908         (sym2GOTPLT, symGOTPLT2reg): New expands.
1909         (sym2PIC): New expand.
1910         (shcompact_return_tramp): Use GOTPLT to return trampoline.
1911         (shcompact_return_tramp_i): Use return register explicitly.
1912         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
1913         disable flag_reorder_blocks.
1914         2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
1915         * config/sh/sh.md (sibcall_compact): Reorder return, uses and
1916         clobbers, for clarity.
1917         (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
1918         restoring of r0 in macl as MAYBE_DEAD.
1919         2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
1920         * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
1921         * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
1922         alter_subreg all over.
1923         (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
1924         reload, instead of emitting instructions that would require
1925         reloading.
1926         (casesi_load_media): Add missing modes.
1927         2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
1928         * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
1929         as used if the argument decoder is called.
1930         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
1931         * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
1932         Pmode, then extend it to DImode if necessary.
1933         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
1934         * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
1935         constants in FPU-enabled SHmedia, let them be loaded from memory.
1936         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
1937         * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
1938         Adjust whitespace in assembly output templates.
1939         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
1940         * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
1941         mode of if_then_else.
1942         2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
1943         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
1944         sh.h.
1945         2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
1946                     Joern Rennecke <amylaar@redhat.com>
1947         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
1948         (SUBTARGET_CPP_PTR_SPEC): New.
1949         (SUBTARGET_CPP_SPEC): Remove.
1950         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
1951         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
1952         Fix typo in previous checkin.
1953         2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
1954         * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
1955         2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
1956                     Alexandre Oliva  <aoliva@redhat.com>
1957         * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
1958         what single FP register can hold for SHmedia target.
1959         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
1960                     Alexandre Oliva  <aoliva@redhat.com>
1961         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
1962         Do not split into SUBREG.
1963         2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
1964         * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
1965         and added new functions as specified in SH5 ABI r9.
1966         2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
1967         * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
1968         8-byte boundary.
1969         2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
1970         * config/sh/sh.c (dump_table): Add const0_rtx in calls of
1971         gen_consttable_4 and gen_consttable_8.  Emit multiple labels
1972         and consttable_window_ends.
1973         2001-06-03  Graham Stott  <grahams@redhat,com>
1974         * config/sh/sh.md (movdi split): Remove unused variable last_insn.
1975         2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
1976         * config/sh/sh.c (print_operand): Handle floating-point pair,
1977         vector and matrix registers.
1978         * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
1979         vector modes into account.
1980         * config/sh/sh.md (movv2sf): Split move between registers into
1981         movdf.
1982         (movv4sf, movv16sf): Introduce insns that get split only after
1983         reload.
1984         * config/sh/shmedia.h: Fix Copyright dates.
1985         * config/sh/ushmedia.h: Likewise.  Move loop counter
1986         declarations into conditionals that uses them.
1987         (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
1988         loop boundary.
1989         * config/sh/sshmedia.h: Fix Copyright dates.
1990         (sh_media_PUTCFG): Fix constraints.
1991         2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
1992         * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
1993         ptrmemfunc_vbit_in_delta for SH5.
1994         2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
1995         * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
1996         * invoke.texi: Likewise.
1997         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
1998         * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
1999         GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
2000         GCC_pop_shmedia_regs_nofpu): New global symbols.
2001         * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
2002         * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
2003         * config/sh/sh.c (calc_live_regs): Account for PR's saving in
2004         compact function with nonlocal labels.
2005         (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
2006         (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
2007         (initial_elimination_offset): Account for their stack space.
2008         * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
2009         * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
2010         movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
2011         movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
2012         least one of the operands to be a register.
2013         (movv2sf): Likewise.  Renamed to movv2sf_i.
2014         (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
2015         prepare_move_operands() before emitting SHmedia insns.
2016         2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
2017         * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
2018         Don't save nor initialize r12.  Don't mis-align the stack.
2019         Pad the code with a nop.
2020         * config/sh/crti.asm: Don't restore r12.  Don't mis-align the
2021         stack.
2022         2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
2023         * gcc/longlong.h (__umulsidi3, count_leading_zeros)
2024         [__SHMEDIA__]: Implement.
2025         2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
2026         * config/sh/sh.md: Set latency of `pt' closer to reality.
2027         (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
2028         movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
2029         Set move, load and store type attributes.
2030         * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
2031         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
2032         profiling.
2033         * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
2034         * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
2035         * config/sh/sh.c (sh_media_register_for_return): New function.
2036         (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
2037         branch-target register.
2038         (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
2039         * config/sh/sh.md (return_media_i): Use any call-clobbered
2040         branch-target register.
2041         (return_media): If r18 wasn't copied in the prologue, copy it
2042         here.
2043         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
2044         Clear class FP0_REGS.
2045         * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
2046         from elf.h.
2047         2001-03-08  DJ Delorie  <dj@redhat.com>
2048         * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
2049         2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
2050         * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
2051         2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
2052         * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
2053         2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
2054         * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
2055         return value correctly for call_cookie.
2056         2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
2057         * config/sh/crt1.asm (start): Modified so as to call
2058         ___setup_argv_and_call_main.
2059         2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
2060         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
2061         SHmedia mode.
2062         2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
2063         * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
2064         (STRIP_NAME_ENCODING): Use it.
2065         (ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
2066         2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
2067         * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
2068         prepare_scc_operands().
2069         * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
2070         (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
2071         2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
2072         * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
2073         2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
2074         * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
2075         * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
2076         used in shcompact_incoming_args.
2077         * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
2078         change.
2079         * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
2080         mode.
2081         * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
2082         Adjust accordingly.
2083         * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
2084         Simplify.  Adjust.  Add sanity check.
2085         * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
2086         FPU_SINGLE_BIT.
2087         * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
2088         TARGET_SHCOMPACT.
2089         (udivsi3, divsi3): Use them.
2090         (force_mode_for_call): New insn.
2091         (call, call_value, sibcall_value): Emit it before SHcompact
2092         calls.
2093         2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
2094         * config/sh/sh.md (call, call_value, sibcall): Make sure the
2095         call cookie is non-NULL before taking its value.
2096         2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
2097         * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
2098         2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
2099         * config/sh/sh.md (shcompact_incoming_args): Set argument memory
2100         block.
2101         * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
2102         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
2103         temporary for stack adjusts.  Use MACL and MACH to pass
2104         arguments to shcompact_incoming_args.
2105         * config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
2106         clobber r1.
2107         * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
2108         (nested_trampoline): Load static chain address into r1.
2109         * config/sh/sh.md (movdi_media splits): Fix sign-extension.
2110         2001-01-07  Alexandre Oliva  <aoliva@redhat.com
2111         * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
2112         fp_arith_reg_operand().
2113         2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
2114         * config/sh/sh.md (casesi): Sign-extend the first two operands,
2115         and use signed compares for them.
2116         * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
2117         4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
2118         ones properly aligned.
2119         (find_barrier): Account for extra alignment needed for 8-byte wide
2120         constants.
2121         (machine_dependent_reorg): Require a label for the second 4-byte
2122         constant after an 8-byte one.
2123         * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
2124         change.
2125         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
2126         * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
2127         last_float when switching float modes.
2128         * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
2129         auto-increment for general-purpose registers.
2130         * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
2131         result.
2132         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
2133         for stack adjust.
2134         * config/sh/sh.c (sh_builtin_saveregs): Support using all
2135         registers for varargs.
2136         2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
2137         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
2138         * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
2139         CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
2140         (CALL_COOKIE_INT_REG_SHIFT): Adjust.
2141         (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
2142         call_cookie accordingly.
2143         (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
2144         (SHCOMPACT_BYREF): Likewise.
2145         (SHCOMPACT_FORCE_ON_STACK): New macro.
2146         * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
2147         (sh_builtin_saveregs): Likewise.
2148         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
2149         shcompact_incoming_args): Use new shift values.  Support
2150         sequences of consecutive and non-consecutive pushes/pops.
2151         * config/sh/sh.md (return): Don't explicitly use PR_REG.
2152         2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
2153         * config/sh/sh.h (TEXT_SECTION): Define.
2154         * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
2155         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
2156         * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
2157         * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
2158         return values on FPU-enabled SHmedia.
2159         (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
2160         FPU-enabled SHmedia.
2161         (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
2162         value is returned in a non-FP reg and is not returned by
2163         reference.
2164         * config/sh/sh.md (shcompact_return_tramp_i): Change type to
2165         jump_ind.
2166         2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
2167         * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
2168         (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
2169         quad-aligned to be passed by callee-copy reference.
2170         2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
2171         * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
2172         * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
2173         2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
2174         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
2175         copying low-numbered FP regs to r7 and r8.
2176         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
2177         FP regs to general-purpose regs only if the copy was passed on the
2178         stack.
2179         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
2180         copying FP reg to r9.
2181         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
2182         copy FP regs to general-purpose regs only in outgoing calls.
2183         * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
2184         change from     2000-10-30.  Adjust for 64-bit (or 32-bit)
2185         HOST_WIDE_INT.
2186         * config/sh/sh.h (struct sh_args): Document all fields.
2187         (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
2188         passed partially on the stack should not consider making
2189         sibcalls.
2190         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
2191         stack_regs only for incoming calls.  When passing FP args,
2192         make sure there are FP regs available before modifying
2193         call_cookie.
2194         (SHCOMPACT_BYREF): Pass double args in general-purpose
2195         registers by reference.
2196         2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
2197         * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
2198         attempt to generate sibcalls if the caller got any arguments
2199         by reference.
2200         * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
2201         * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
2202         to 8-byte boundaries.
2203         * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
2204         * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
2205         * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
2206         stored in the stack.
2207         * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
2208         for the offsets to have the ISA bit set.
2209         (shcompact_call_trampoline): Document.  Swap r0 and r1, to match
2210         invocation.  Use beq instead of bgt to mark end of sequence of
2211         loads.
2212         (shcompact_incoming_args): Fix store of r2.  Use beq instead of
2213         bgt to mark end of sequence of stores.
2214         * config/sh/sh.c (arith_operand): Don't check whether
2215         CONST_OK_FOR_J for now.
2216         * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
2217         instead of long for conversion.
2218         2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
2219         * config/sh/sh.c (print_operand_address): Convert INTVAL to int
2220         before passing it to fprintf.
2221         2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
2222         * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
2223         Call set_fpscr before reading/writing SR.
2224         * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
2225         Call set_fpscr.
2226         * config/sh/lib1funcs.asm: Add `.align 2' directives before
2227         SHmedia code.
2228         (FMOVD_WORKS): Define on SH5 with FPU.
2229         (set_fpscr): Define on SH5.  Remove separate _fpscr_values
2230         setting.
2231         * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
2232         _fpscr_values.
2233         2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
2234         * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
2235         address.
2236         (ia_main_table): Ditto.
2237         2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
2238         * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
2239         * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
2240         the definitions from sh.h.
2241         * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
2242         TARGET_SH5.
2243         (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
2244         * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
2245         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
2246         2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
2247         * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
2248         Increment LABEL_NUSES.
2249
2250         * config/sh/sh.h (SIZE_TYPE): Define as conditional on
2251         TARGET_SH5.
2252         (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
2253         defined.
2254         * config/sh/elf.h (SIZE_TYPE): Likewise.
2255         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
2256         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
2257         shcompact_incoming_args): Load switch table addresses using
2258         datalabel.
2259         * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
2260         (NO_BUILTIN_SIZE_TYPE): Define.
2261         (SIZE_TYPE): Don't define.
2262         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
2263         * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
2264         definition of __SH5__=32 for -m5-compact-nofpu.
2265         * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
2266         ADDR_DIFF_VEC.
2267         2000-12-24  Alexandre Oliva  <aoliva@redhat.com>
2268         * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
2269         2000-12-23  Alexandre Oliva  <aoliva@redhat.com>
2270         * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
2271         (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
2272         (INSN_LENGTH_ALIGNMENT): Likewise.
2273         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
2274         * config/sh/sh.md (call, call_value, sibcall): Simplify
2275         copying of non-branch-target register.
2276         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
2277         * glimits.h (__LONG_MAX__): Revert      2000-12-13's patch.
2278         * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
2279         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
2280         * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
2281         floating-point values as structs.
2282         (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
2283         (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
2284         general-purpose register.
2285         (SH5_PROTOTYPED_FLOAT_ARG): New macro.
2286         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
2287         * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
2288         * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
2289         * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
2290         (ENCODE_SECTION_INFO): Enclose variables and constants in
2291         DATALABEL unspecs.
2292         (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
2293         (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
2294         (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
2295         * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
2296         only for LABEL_REFs.  For SYMBOL_REFs, prepend
2297         SH_DATALABEL_ENCODING to the symbol name.
2298         * config/sh/sh.md (indirect_jump): Use SUBREG instead of
2299         convert_mode().
2300         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
2301         * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
2302         UNSPEC_DATALABEL.
2303         * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
2304         * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
2305         (DATALABEL_REF_P): Don't require CONST.
2306         (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
2307         REL label.
2308         2000-12-19  Alexandre Oliva  <aoliva@redhat.com>
2309         * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
2310         right.
2311         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
2312         * config/sh/sh.md (movsi_media, call, call_value, sibcall):
2313         Use shallow_copy_rtx and PUT_MODE to change the mode of
2314         SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
2315         * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
2316         on SHmedia using GENERAL_REGs.
2317         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
2318         bltu_media_i): Fix reversion of conditions.
2319         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
2320         * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
2321         * config/sh/sh.c (output_far_jump): Save r13 in macl.
2322         2000-12-17  Alexandre Oliva  <aoliva@redhat.com>
2323         * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
2324         2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
2325         * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
2326         (GCC_nested_trampoline): Likewise.
2327         * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
2328         * config/sh/sh.c (gen_datalabel_ref): Define.
2329         * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
2330         (INITIALIZE_TRAMPOLINE): Likewise.
2331         (TRAMPOLINE_ADJUST_ADDRESS): Define.
2332         (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
2333         (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
2334         (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
2335         * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
2336         (ic_invalidate): Adjust for SH5.
2337         (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
2338         * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
2339         _nested_trampoline.
2340         2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
2341         * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
2342         (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
2343         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
2344         * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
2345         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
2346         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
2347         * config/sh/sh.c (target_reg_operand): Match only target-branch
2348         registers and pseudos that aren't virtual registers.
2349         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
2350         Copy operands that don't match target_reg_operand to pseudos.
2351         (call_media, call_value_media, sibcall_media): Use
2352         target_reg_operand instead of target_operand.
2353         2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
2354         * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
2355         * config/sh/sh.c (target_reg_operand): Match hardware registers
2356         other than branch-target registers.
2357         * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
2358         * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
2359         (fpscr_values) [SH5 == 32]: Define.
2360         * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
2361         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
2362         Handle function addresses coming in SUBREGs.
2363         2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
2364         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
2365         shcompact_return_trampoline): Use datalabel where appropriate.
2366         2000-12-09  Alexandre Oliva  <aoliva@redhat.com>
2367         * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
2368         general-purpose register to copy one branch-target register to
2369         another.
2370         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
2371         * config/sh/sh.c (target_operand): Accept LABEL_REFs and
2372         SYMBOL_REFs with VOIDmode.
2373         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
2374         bltu_media_i): New insns.
2375         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
2376         * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
2377         (INIT_CUMULATIVE_ARGS): Likewise.
2378         2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
2379         * machmode.def (V16SFmode): New mode.
2380         * c-common.c (type_for_mode): Support V2SF and V16SF.
2381         * tree.c (build_common_tree_nodes_2): Likewise.
2382         * tree.h (tree_index): Likewise.
2383         * calls.c (emit_call_1): Take args_so_far.  Adjust all
2384         callers.  Introduce CALL_POPS_ARGS.
2385         * tm.texi (CALL_POPS_ARGS): Document.
2386         * config/sh/crt1.asm: Implement in SHmedia mode.
2387         * config/sh/crti.asm, config/sh/crtn.asm: Likewise
2388         * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
2389         (DBX_REGISTER_NUMBER): Renumber registers for SH5.
2390         * config/sh/lib1funcs.asm: Disable functions unused in SH5.
2391         Implement divsi and udivsi in SHmedia mode.  Introduce
2392         SHcompact trampolines.
2393         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
2394         only in SHmedia64.
2395         (regno_reg_class): Rewrite.
2396         (fp_reg_names): Remove.
2397         (sh_register_names, sh_additional_register_names): New.
2398         (print_operand): Added `u'.  Support SUBREGs in addresses.
2399         Add parentheses around shifted CONSTs.
2400         (output_file_start): Output .mode and .abi directives.
2401         (shiftcosts, addsubcosts, multcosts): Adjust.
2402         (output_stack_adjust): Compute alignment.  Sanity-check SIZE.
2403         (push_regs): Take array of HOST_WIDE_INTs.  Adjust callers.
2404         (calc_live_regs): Output to array of HOST_WIDE_INTs.  Count
2405         bytes, not registers.  Take into account the need for the
2406         SHcompact incoming args trampoline.  Adjust all callers.
2407         (sh_expand_prologue): Take stack_regs into account.  Call
2408         incoming args trampoline.  Keep stack aligned as per SH5 ABI.
2409         (sh_expand_epilogue): Take stack_regs into accoutn.  Keep
2410         stack aligned as per SH5 ABI.
2411         (sh_builtin_saveregs): Support SH5 ABI.
2412         (sh_build_va_list, sh_va_start): Likewise.
2413         (initial_elimination_offset): Take alignment into account.
2414         Compute location of PR according to the SH5 stack frame.
2415         (arith_reg_operand): Reject branch-target registers.
2416         (shmedia_6bit_operand): New.
2417         (logical_operand): Use CONST_OK_FOR_P on SHmedia.
2418         (target_reg_operand): Match DImode only.  Accept SUBREGs.
2419         (target_operand): New.
2420         * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
2421         (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI.  Initialize
2422         SIBCALL_REGS for SHmedia.
2423         (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
2424         (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
2425         (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
2426         (TARGET_SWITCHES): New SH5 flags.
2427         (OVERRIDE_OPTIONS): Set SH5-specific options.  Use
2428         VALID_REGISTER_P to disable unsupported registers.
2429         (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
2430         (POINTER_SIZE, PARM_BOUNDARY): Adjust.
2431         (FUNCTION_ARG_PADDING): Define.
2432         (FASTEST_ALIGNMENT): Adjust.
2433         (SH_REGISTER_NAMES_INITIALIZER): New.
2434         (sh_register_names): Declare.
2435         (DEBUG_REGISTER_NAMES): Define.
2436         (REGISTER_NAMES): Define based on sh_register_names.
2437         (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
2438         (sh_additional_register_names): Declare.
2439         (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
2440         (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
2441         (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
2442         (REGISTER_NATURAL_MODE): Define.
2443         (FIRST_PSEUDO_REGISTER): Adjust.
2444         (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
2445         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
2446         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
2447         (VECTOR_MODE_SUPPORTED_P): Define.
2448         (REG_CLASS_CONTENTS): Adjust.
2449         (SMALL_REGISTER_CLASSES): Adjust.
2450         (REG_ALLOC_ORDER): Adjust.
2451         (INDEX_REG_CLASS): Adjust.
2452         (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
2453         (CONST_OK_FOR_LETTER_P): Adjust.
2454         (PREFERRED_RELOAD_CLASS): Adjust.
2455         (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
2456         (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
2457         (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
2458         (FIRST_FP_PARM_REG): Adjust.
2459         (CALL_POPS_ARGS): Define.
2460         (FUNCTION_ARG_REGNO_P): Adjust.
2461         (struct sh_args): New fields.
2462         (GET_SH_ARG_CLASS): Adjust.
2463         (INIT_CUMULATIVE_ARGS): Adjust.
2464         (INIT_CUMULATIVE_INCOMING_ARGS): Define.
2465         (FUNCTION_ARG_ADVANCE): Adjust.
2466         (FUNCTION_ARG): Adjust.
2467         (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
2468         (FUNCTION_ARG_CALLEE_COPIES): Define.
2469         (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
2470         (STRICT_ARGUMENT_NAMING): Define.
2471         (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
2472         (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
2473         (SH5_WOULD_BE_PARTIAL_NREGS): Define.
2474         (SETUP_INCOMING_VARARGS): Adjust.
2475         (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
2476         (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
2477         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
2478         (SUBREG_OK_FOR_INDEX_P): Adjust.
2479         (EXTRA_CONSTRAINT_S): Update.
2480         (EXTRA_CONSTRAINT_T): New.
2481         (EXTRA_CONSTRAINT): Adjust.
2482         (GO_IF_LEGITIMATE_INDEX): Adjust.
2483         (GO_IF_LEGITIMATE_ADDRESS): Adjust.
2484         (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
2485         (MOVE_MAX): Adjust.
2486         (MAX_MOVE_MAX): Define.
2487         (Pmode): Adjust.
2488         (CONST_COSTS): Adjust.
2489         (REGISTER_MOVE_COST): Adjust.
2490         (BRANCH_COST): Adjust.
2491         (TEXT_SECTION_ASM_OP): Adjust.
2492         (DBX_REGISTER_NUMBER): Adjust.
2493         (ASM_OUTPUT_DOUBLE_INT): New.
2494         (UNALIGNED_DOUBLE_INT_ASM_OP): New.
2495         (PREDICATE_CODES): Adjust.
2496         (PROMOTE_MODE): Adjust.
2497         (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
2498         * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
2499         (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
2500         (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
2501         (DR0_REG, DR2_REG, DR4_REG): Renumber.
2502         (TR0_REG, TR1_REG, TR2_REG): New.
2503         (XD0_REG): Renumber.
2504         (UNSPEC_COMPACT_ARGS): New.
2505         (type): Added pt and ptabs.
2506         (length): Default to 4 on SHmedia.  Default pt length to 12
2507         and     20 on SHmedia32 and SHmedia64, respectively.
2508         (pt): New function unit.
2509         (movdi, movsi): Add types pt and ptabs.  Don't increment LABEL_NUSES.
2510         Add whitespace between operands of SHmedia instructions.
2511         (movdicc): Fix.
2512         (adddi3_media, addsi3_media): Adjust constraints.
2513         (subsi3) [SHmedia]: Force operand 1 into a register.
2514         (udivsi3_i1_media, udivsi3_i4_media): New.
2515         (udivsi3): Support SHmedia.
2516         (divsi3_i1_media, divsi3_i4_media): New.
2517         (divsi3): Support SHmedia.
2518         (anddi3, iordi3, xordi3): Adjust constraints.
2519         (zero_extendhidi2, zero_extendqidi2): New.
2520         (extendsidi2, extendhidi2, extendqidi2): New.
2521         (push, pop, push_e, push_fpul, push_4): Disable on SH5.
2522         (pop_e, pop_fpul, pop_4): Likewise.
2523         (movsi_media): Support FP and BT registers.
2524         (movsi_media_nofpu): New.  Adjust splits to DImode.
2525         (lduw, ldub): Renamed to zero_extend* above.
2526         (movqi_media): Fix typo.
2527         (movdi_media): Support FP and BT registers.
2528         (movdi_media_nofpu): New.  Adjust splits for SHmedia32.
2529         (movdi_const_32bit): New.
2530         (shori_media): Require immediate operand.  Use `u' for output.
2531         (movdf_media, movsf_media): Simplified.
2532         (movdf_media_nofpu, movsf_media_nofpu): New.
2533         (movdf, movsf): Adjust
2534         (movv2sf, movv2sf, movv16sf): New.
2535         (beq_media, beq_media_i): Adjust constraints.  Don't use
2536         scratch BT register.
2537         (bne_media, bne_media_i): Likewise.
2538         (bgt_media, bgt_media_i): Likewise.
2539         (bge_media, bge_media_i): Likewise.
2540         (bgtu_media, bgtu_media_i): Likewise.
2541         (bgeu_media, bgeu_media_i): Likewise.
2542         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
2543         bunordered): Emit jump insn.  Force operands to registers when
2544         needed.
2545         (jump_media, jump): Simplify.
2546         (call_compact, call_compact_rettramp): New.
2547         (call_value_compact, call_value_compact_rettramp): New.
2548         (call_media, call_value_media): Simplify.
2549         (sibcall_compact, sibcall_media): New.
2550         (call, call_value): Adjust for SHmedia and SHcompact.
2551         (sibcall, sibcall_value, untyped_call): Likewise.
2552         (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
2553         (indirect_jump): Adjust for SHmedia.
2554         (casesi_jump_media): New.
2555         (nop): Re-enable for SHmedia.
2556         (call_site): Restrict to SH1.
2557         (casesi): Adjust for SHmedia.
2558         (casesi_shift_media, casesi_load_media): New.
2559         (return): Explicitly use PR register.  Call return trampoline
2560         on SHcompact.
2561         (return_i): Explicitly use PR register.
2562         (shcompact_return_tramp, shcompact_return_tramp_i): New.
2563         (return_media): Adjust.
2564         (shcompact_incoming_args): New.
2565         (epilogue): Adjust.
2566         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
2567         (movstrsi): Disable on SH5.
2568         (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
2569         (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
2570         (subsf3, subsf3_media): Likewise.
2571         (mulsf3, mulsf3_media, mac_media): Likewise.
2572         (divsf3, divsf3_media): Likewise.
2573         (floatdisf2, floatsisf2_media): Likewise.  Adjust constraints.
2574         (floatsisf2, fux_truncsfsi2): Likewise.
2575         (fix_truncsfdi2, fix_truncsfsi2_media): Likewise.  Adjust
2576         constraints.
2577         (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
2578         (cmpunsf_media, cmpsf): Likewise.
2579         (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
2580         (abssf2, abssf2_media): Likewise.
2581         (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
2582         (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
2583         (floatdidf2, floatsidf2_media): Likewise.  Adjust constraints.
2584         (floatsidf2, fix_truncdfsi2): Likewise.
2585         (fix_truncdfdi2, fix_truncdfsi2_media): Likewise.  Adjust
2586         constraints.
2587         (cmpeqdf_media, cmpgtdf_media): Likewise.
2588         (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
2589         (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
2590         (absdf2, absdf2_media): Likewise.
2591         (extendsfdf2, extendsfdf2_media): Likewise.
2592         (truncsfdf2, truncsfdf2_media): Likewise.
2593         * config/sh/sh64.h: New file.
2594         * config/sh/t-sh64: New file.
2595         * config/sh/shmedia.h: New file.
2596         * config/sh/ushmedia.h: New file.
2597         * config/sh/sshmedia.h: New file.
2598         * configure.in: Added sh64-*-elf.
2599         * configure: Rebuilt.
2600         2000-10-10  Alexandre Oliva  <aoliva@redhat.com>
2601         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
2602         (reg_class_from_letter): Use `b' for TARGET_REGS.
2603         (print_operand): Support `%M', `%m', `AND' and
2604         `ASHIFTRT'.  Do not precede constants with `#' on SHmedia.
2605         (andcosts): Adjust for SHmedia.
2606         (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
2607         Likewise.
2608         (target_reg_operand): New function.
2609         * config/sh/sh-protos.h (target_reg_operand): Declare.
2610         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
2611         FP registers on SH5.
2612         (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
2613         on SH4.
2614         (TARGET_REGISTER_P): New macro.
2615         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
2616         (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
2617         (EXTRA_CONSTRAINT_S): New macro.
2618         (EXTRA_CONSTRAINT): Adjust.
2619         (FLOAT_TYPE_SIZE): Define to 32.
2620         (Pmode): DImode on SHmedia.
2621         (CONST_COSTS): Adjust for SHmedia literals.
2622         (PREDICATE_CODES): Added target_reg_operand.
2623         (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
2624         * config/sh/sh.md: Remove all attrs from SHmedia insns.
2625         (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
2626         (cmpdi): Accept SHmedia.
2627         (movdicc_false, movdicc_true): New insns.
2628         (movdicc): New expand.
2629         (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
2630         no_new_pseudos.
2631         (addsi3_media): Match `S' constraint.
2632         (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
2633         (negdi2): Expand for SHmedia.
2634         (one_cmpldi2): New expand.
2635         (zero_extendsidi2): Change from expand to insn.
2636         (extendsidi2): Add constraints.
2637         (movdi_media, movsi_media): Change `%x' to `%M'.  Use `%m' for
2638         LD/ST address.  Fix SI immediate loading split.
2639         (movhi_media, movqi_media, lduw, ldub): New insns.
2640         (movhi, movqi): Accept SHmedia.
2641         (shori_media, movdi_media): Relax input constraints.  Split
2642         symbolic constants.
2643         (movdf_media, movsf_media): New insn.  New split to movdi.
2644         (movdf, movsf): Match on SHmedia.
2645         (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
2646         bgeu_media): New insns and splits.  New insns with `_i' suffix.
2647         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
2648         (bunordered): New expand.
2649         (jump_compact): Renamed from `jump'.
2650         (jump_media): New insn.
2651         (jump): New expand.
2652         (call_media, call_value_media): New insns.
2653         (call, call_value): Adjust.
2654         (indirect_jump_compact): Renamed from `indirect_jump'.
2655         (indirect_jump_media): New insn.
2656         (indirect_jump): New expand.
2657         (untyped_call, return): Accept SHmedia.
2658         (return_media): New insn.
2659         (prologue, epilogue, blockage): Accept SHmedia.
2660         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
2661         (sunordered): New expand.
2662         (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
2663         cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
2664         (addsf3_media, subsf3_media, mulsf3_media, mac_media,
2665         divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
2666         fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
2667         cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
2668         abssf2_media): New insns.
2669         (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
2670         cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
2671         (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
2672         floatdidf2, floatsidf2_media, fix_truncdfdi2,
2673         fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
2674         cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
2675         absdf2_media): New insns.
2676         (extendsfdf2, truncdfsf2): Adjust for SHmedia.
2677         (extendsfdf2_media, truncdfsf2_media): New insns.
2678         2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
2679         * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
2680         * config/sh/sh.h (CONST_OK_FOR_J): Document.
2681         (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
2682         * config/sh/sh.md (adddi3): New expand.
2683         (adddi3_media, adddi3z_media): New insns.
2684         (adddi3_compact): Renamed from adddi3.
2685         (addsi3_media): Use add.l r63 to add constant zero.
2686         (subdi3): New expand.
2687         (subdi3_media): New insn.
2688         (subdi3_compact): Renamed from subdi3.
2689         (mulsidi3): New expand.
2690         (mulsidi3_media): New insn.
2691         (mulsidi3_compact): Renamed from mulsidi3.
2692         (umulsidi3): New expand.
2693         (umulsidi3_media): New insn.
2694         (umulsidi3_compact): Renamed from umulsidi3.
2695         (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
2696         (ashlsi3, ashrsi3, lshrsi3): Use them.
2697         (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
2698         (ashldi3, ashrdi3, lshrdi3): Use them.
2699         (zero_extendsidi2): New expand.
2700         (extendsidi2): New insn.
2701         (movsi_media): New insn.  Split to movdi to load constants.
2702         (movsi): Enable for shmedia.
2703         (movdi_media): New insn.  Use shori_media to load wide constants.
2704         (short_media): New insn.
2705         (movdi): Enable for shmedia.
2706         2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
2707         * config/sh/sh.h (CPP_SPEC): Added `m5'.
2708         (SUBTARGET_CPP_SPEC): Added `!m5'.
2709         (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
2710         (TARGET_SWITCHES): Added `5' and `5-compact'.  Added SH1_BIT
2711         to all other SH variants.
2712         (TARGET_DEFAULT): Set to SH1_BIT.
2713         (OVERRIDE_OPTIONS): Recognize sh5 CPU.
2714         (BITS_PER_WORD): Raise to 64 on shmedia.
2715         (MAX_BITS_PER_WORD): Change to 64.
2716         (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
2717         (INT_TYPE_SIZE): Keep as 32.
2718         (UNITS_PER_WORD): Raise to 8 on shmedia.
2719         (MIN_UNITS_PER_WORD): Keep as 4.
2720         (POINTER_SIZE): Raise to 64 on shmedia.
2721         (CONST_OK_FOR_J): New macro.
2722         (CONST_OK_FOR_LETTER_P): Use it.
2723         (processor_type): Add PROCESSOR_SH5.
2724         * config/sh/sh.md: Conditionalize all expands, insns and
2725         splits to TARGET_SH1.
2726         (cpu): Added sh5.
2727         (addsi3_compact): Renamed from...
2728         (addsi3): Now an expand.
2729         (addsi3_media, subsi3_media): New insns.
2730         (subsi3): Don't negate constants with SHmedia.
2731
2732         * hooks.c: New file.
2733         * hooks.h: New file.
2734         * Makefile.in (HOOKS_H): New.
2735         (TARGET_DEF_H): Added $(HOOKS_H).
2736         (OBJS): Added hooks.o.
2737         (cfgcleanup.o, bb-reorder.o): Added target.h.
2738         (hooks.o): Added dependencies.
2739         * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
2740         (TARGET_INITIALIZER): this.
2741         * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
2742         * target.h (struct gcc_target): Added cannot_modify_jumps_p.
2743         * bb-reorder.c: Include target.h.
2744         (reorder_basic_blocks): Skip if cannot modify jumps.
2745         * cfgcleanup.c: Include target.h.
2746         (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
2747
2748 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
2749
2750         * config/mips/mips.md (casesi_internal, casesi_internal_di):
2751         Protect jump delay slot instructions with .set noreorder and
2752         .set nomacro.
2753
2754 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
2755
2756         * config/mips/mips.md (casesi_internal_di): Calculate
2757         the index into the target offset table correctly.
2758
2759 2002-02-08  Richard Henderson  <rth@redhat.com>
2760
2761         * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
2762         * final.c (output_addr_const): Accept and discard SUBREG.
2763         * varasm.c (decode_addr_const): Don't abort on unknown expressions --
2764         mark them unknown instead.
2765         (simplify_subtraction): Handle RTX_UNKNOWN.
2766         (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
2767
2768 2002-02-08  David Edelsohn  <edelsohn@gnu.org>
2769
2770         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
2771
2772 2002-02-08  Richard Henderson  <rth@redhat.com>
2773
2774         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
2775
2776 2002-02-08  Andreas Jaeger  <aj@suse.de>
2777
2778         * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
2779         * config/i386/t-linux64: New file.
2780
2781 2002-02-08  Jakub Jelinek  <jakub@redhat.com>
2782
2783         * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
2784         * c-parse.in (compstmt): Clear last_expr_type.
2785
2786 2002-02-07  Richard Henderson  <rth@redhat.com>
2787
2788         * loop.c (strength_reduce): Sink final_value when not
2789         eliminating a biv.
2790
2791 2002-02-07  David O'Brien  <obrien@FreeBSD.org>
2792
2793         * config/sparc/freebsd.h: Fix mismatched spec {.
2794
2795 2002-02-07  Richard Henderson  <rth@redhat.com>
2796
2797         * cfgrtl.c: Include recog.h and insn-config.h.
2798         (keep_with_call_p): Fix general_operand invocation.
2799         * Makefile.in (cfgrtl.o): Update dependencies.
2800
2801 2002-02-07  Kazu Hirata  <kazu@hxi.com>
2802
2803         * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
2804         comment.  Accept HImode only if TARGET_H8300.
2805
2806 2002-02-07  Eric Christopher  <echristo@redhat.com>
2807
2808         * config/mips/crtn.asm: Cleanup #ifdefs.
2809
2810 2002-02-07  Eric Christopher  <echristo@redhat.com>
2811
2812         * config/mips/crti.asm: Add changes for mips16. mips16 uses
2813         register 7 as RA instead of $31.
2814         * config/mips/crtn.asm: Ditto.
2815         * config/mips/mips.c (mips_move_2words): Add case for
2816         TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
2817         (compute_frame_size): Fix typo.
2818         (save_restore_insns): Ditto.  Make documentation about using
2819         register $7 as return register more precise.
2820         (mips_expand_epilogue): Fix comment. Add code to work around not
2821         being able to add to the stack pointer directly.
2822         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
2823         to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
2824         epilogue.
2825
2826 2002-02-07  Tom Rix  <trix@redhat.com>
2827
2828         * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
2829         immediates in ldu and stdu DS opcode field.
2830         * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
2831         * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
2832         * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
2833
2834 2002-02-07  Jeff Sturm  <jsturm@one-point.com>
2835
2836         * config/sparc/sparc.c (compute_frame_size): Don't correct frame
2837         offset for stack bias.
2838
2839 2002-02-07  H.J. Lu <hjl@gnu.org>
2840
2841         * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
2842
2843 2002-02-07  Ulrich Weigand  <uweigand@de.ibm.com>
2844
2845         * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
2846
2847 Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2848
2849         * i386-protos.h (x86_order_regs_for_local_alloc): Declare
2850         * i386.c (x86_order_regs_for_local_alloc): New global function.
2851         * i386.h (REG_ALLOC_ORDER): CLeanup.
2852         (ORDER_REGS_FOR_LOCAL_ALLOC): New.
2853
2854 2002-02-07  Richard Henderson  <rth@redhat.com>
2855
2856         PR optimization/2463
2857         * alias.c (find_base_value): Recall base values for fixed hard regs.
2858         * loop.c (loop_regs_update): Don't use single_set on non-insns.
2859
2860 2002-02-07  Alexandre Oliva  <aoliva@redhat.com>
2861
2862         * config/mips/mips.md (define_delay) [mips16]: Adjust required
2863         length.
2864
2865 2002-02-06  Richard Henderson  <rth@redhat.com>
2866
2867         PR c/5609
2868         * stmt.c (resolve_operand_name_1): Take more care with mixed
2869         named and unnamed operands.
2870
2871 2002-02-06  Janis Johnson  <janis187@us.ibm.com>
2872             Jan Hubicka  <jh@suse.cz>
2873
2874         * loop.c (remove_constant_addition): Avoid clobbering a shared
2875         CONST expression.
2876
2877 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
2878
2879         * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
2880         * config/s390/t-linux64: New file.
2881         * config/s390/libgcc-glibc.ver: New file.
2882
2883 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
2884
2885         * config/s390/linux64.h: Delete file.
2886         * config/s390/s390x.h: New file.
2887         * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
2888         as target header file.
2889         * config/s390/linux.h (TARGET_VERSION): Define depending on
2890         DEFAULT_TARGET_64BIT.
2891         (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
2892         (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
2893         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
2894         (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
2895         (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
2896         (EXTRA_SPEC): New define.
2897         * config/s390/s390.h (TARGET_VERSION): Define depending on
2898         DEFAULT_TARGET_64BIT.
2899         (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
2900
2901 2002-02-06  Jason Merrill  <jason@redhat.com>
2902
2903         * c-decl.c (finish_function): Warn about a non-void function with
2904         no return statement and no abnormal exit.
2905         (current_function_returns_abnormally): New variable.
2906         (start_function): Clear it.
2907         (struct c_language_function): Add returns_abnormally.
2908         (push_c_function_context): Save it.
2909         (pop_c_function_context): Restore it.
2910         (builtin_function): Set TREE_THIS_VOLATILE on return fns.
2911         (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
2912         an explicit return type.
2913         * c-tree.h: Declare current_function_returns_abnormally.
2914         (C_FUNCTION_IMPLICIT_INT): New macro.
2915         * c-typeck.c (build_function_call): Set it.
2916         (c_expand_return): Set current_function_returns_value even if the
2917         value is erroneous.
2918
2919 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
2920
2921         PR c/5420:
2922         * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
2923         unsafe for reevaluation.
2924
2925 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
2926
2927         PR c/5482:
2928         * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
2929         EXPR_STMT, but COMPOUND_STMT, recurse into it.
2930
2931 2002-02-06  Richard Henderson  <rth@redhat.com>
2932
2933         * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
2934         be a general_operand.  Dest for function value must be a pseudo.
2935
2936 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
2937
2938         * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
2939         as SYMBOL_REFs from the constant pool.
2940
2941 2002-02-06  Alexandre Oliva  <aoliva@redhat.com>
2942
2943         * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
2944         passed by invisible reference.
2945
2946 2002-02-05  Richard Henderson  <rth@redhat.com>
2947
2948         * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
2949
2950 2002-02-06  Hans-Peter Nilsson  <hp@bitrange.com>
2951
2952         Implement using "base addresses" in insn operands as default.
2953         * config/mmix/mmix.c (mmix_conditional_register_usage): if
2954         -mabi=gnu, modify fixed_regs to fit the GNU ABI.
2955         (mmix_extra_constraint): Use 'R' to indicate that GETA should be
2956         used to read the rtx value.
2957         (mmix_target_asm_function_epilogue): Fix spacing.
2958         (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
2959         (mmix_legitimate_address): Ditto.
2960         (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
2961         should be loaded with a GETA insn.  Don't allocate needless extra
2962         char for nul termination and fix misleading comment.
2963         (mmix_print_operand_address): Handle constants if
2964         TARGET_BASE_ADDRESSES.
2965         (mmix_output_register_setting): Use base addressing if
2966         TARGET_BASE_ADDRESSES and the number of insns is 3.
2967         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
2968         * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
2969         to use R as constraint, add LDA to match s.
2970         * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
2971         (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
2972         (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
2973         (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
2974         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
2975         order with other fixed registers.
2976         (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
2977         other parameter/call-clobbered registers.
2978         * doc/invoke.texi (Option Summary) <MMIX Options>: Add
2979         -mbase-addresses, -mno-base-addresses.
2980         (MMIX Options): Ditto.
2981
2982 2002-02-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2983
2984         * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
2985
2986 2002-02-06  Aldy Hernandez  <aldyh@redhat.com>
2987
2988         * config/rs6000/altivec.h: Change elem to _S_elem.
2989
2990 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
2991
2992         * config/netbsd.h (WCHAR_TYPE): Define.
2993         (WCHAR_TYPE_SIZE): Ditto.
2994         (WINT_TYPE): Ditto.
2995         * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
2996         (WCHAR_UNSIGNED): Ditto.
2997         (WCHAR_TYPE_SIZE): Ditto.
2998         (WINT_TYPE): Ditto.
2999         * config/arm/netbsd.h: Likewise.
3000         * config/i386/netbsd-elf.h: Likewise.
3001         * config/i386/netbsd.h: Likewise.
3002         * config/m68k/netbsd-elf.h: Likewise.
3003         * config/m68k/netbsd.h: Likewise.
3004         * config/ns32k/netbsd.h: Likewise.
3005         * config/sparc/netbsd.h: Likewise.
3006         * config/vax/netbsd.: Likewise.
3007
3008 2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
3009
3010         * target.h (struct gcc_target): Added ms_bitfield_layout_p.
3011         * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New.  Added to...
3012         (TARGET_INITIALIZER): this.
3013         * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
3014         (BITFIELD_NBYTES_LIMITED): Markup fix.
3015         * tree.h (default_ms_bitfield_layout_p): Declare.
3016         (record_layout_info): Added prev_field.
3017         * tree.c (default_ms_bitfield_layout_p): New fn.
3018         * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
3019         PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
3020         * stor-layout.c: Include target.h.
3021         (start_record_layout): Initialize prev_field.
3022         (place_field): Handle MS bit-field layout, and disregard
3023         EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
3024         PCC_BITFIELD_TYPE_MATTERS in this case.  Update prev_field.
3025         * Makefile.in (stor-layout.o): Adjust dependencies.
3026
3027 2002-02-05  Jason Merrill  <jason@redhat.com>
3028
3029         * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
3030
3031 2002-02-05  Andreas Jaeger  <aj@suse.de>
3032
3033         * crtstuff.c: Fix comments.
3034
3035 2002-02-05  Richard Henderson  <rth@redhat.com>
3036
3037         PR fortran/3393
3038         * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
3039         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
3040
3041         PR fortran/3392
3042         * config/mips/mips.c (function_arg): Handle TImode.
3043         (function_arg_advance): Likewise.
3044
3045 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
3046
3047         * config/rs6000/altivec.h (vec_step_help): Rename to
3048         __vec_step_help.
3049
3050 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
3051
3052         * config/rs6000/altivec.h: Fix typos.
3053
3054 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
3055
3056         * config/arm/netbsd.h: Correct a comment.
3057
3058 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
3059
3060         * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
3061         building void typed builtins.
3062
3063         * config/rs6000/altivec.h (vec_ld*): Fix typos.
3064         (vec_step): Implement for C++.
3065
3066 Mon Feb  4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3067
3068         * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
3069
3070 2002-02-04  Richard Henderson  <rth@redhat.com>
3071
3072         * combine.c (nonzero_bits): Re-introduce special case for
3073         sp/fp/ap wrt REGNO_POINTER_ALIGN.
3074
3075 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
3076
3077         * doc/extend.texi: Warn about unsupported usage of altivec
3078         builtins.
3079
3080         * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
3081         (altivec_predicate_*): New.
3082
3083         * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
3084         Add C++ version of vec_*() functions.
3085
3086         * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
3087         (bdesc_2arg): Remove altivec predicates.
3088         (altivec_expand_builtin): Handle predicates.
3089         (altivec_init_builtins): Handle predicates.
3090         (altivec_expand_predicate_builtin): New.
3091
3092 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3093
3094         * pa.c (DO_FRAME_NOTES): Move forward.
3095         (store_reg): Revise handling of frame notes.
3096         (load_reg): Likewise.
3097         (set_reg_plus_d): Likewise.
3098         (hppa_expand_prologue): Likewise.
3099         (hppa_expand_epilogue): Likewise.
3100
3101 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3102
3103         * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
3104
3105 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
3106
3107         PR c/4475, c++/3780:
3108         * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
3109         * c-common.h (SWITCH_TYPE): Define.
3110         * c-typeck.c (c_start_case): Set SWITCH_TYPE.
3111         * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
3112         Rename spareness variable to sparseness.
3113         (expand_end_case_type): Renamed from expand_end_case, use orig_type
3114         if non-NULL instead of TREE_TYPE (orig_index).
3115         * tree.h (expand_end_case_type): Renamed from expand_end_case.
3116         (expand_end_case): Define using expand_end_case_type.
3117         * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
3118         to expand_end_case_type.
3119         * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
3120
3121 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3122
3123         * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
3124         (BIGGEST_ALIGNMENT): Change to 128.
3125
3126 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3127
3128         * pa32-linux.h (LINK_COMMAND_SPEC): Define.
3129
3130 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3131
3132         * pa.md (call_internal_reg_64bit): Remove unused variable.
3133
3134 2002-02-04  Nick Clifton  <nickc@cambridge.redhat.com>
3135
3136         * config/arm/arm.h (machine_function): Add uses_anonymous_args
3137         field.
3138         (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3139         * config/arm/arm.c (current_function_anonymous_args): Delete,
3140         replace uses with cfun->machine->uses_anonymous_args.
3141         (arm_reorg): Do not reset uses_anonymous_args.
3142
3143         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
3144         any geenral register.
3145
3146 2001-02-04  Bernd Schmidt  <bernds@redhat.com>
3147
3148         * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
3149         the entry block.
3150
3151 2002-02-04  Richard Henderson  <rth@redhat.com>
3152
3153         * combine.c (force_to_mode): Remove STACK_BIAS code.
3154         (nonzero_bits): Likewise.  Replace sp/fp special case with
3155         REGNO_POINTER_ALIGN.
3156
3157         * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
3158         (HARD_FRAME_POINTER_REGNUM): New.
3159         (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
3160         (FIXED_REGS, CALL_USED_REGS): Update.
3161         (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
3162         (CONDITIONAL_REGISTER_USAGE): Update for HFP.
3163         (HARD_REGNO_NREGS): Update for SFP.
3164         (STACK_POINTER_OFFSET): Include bias here ...
3165         (FIRST_PARM_OFFSET): ... not here.
3166         (STACK_BIAS): Remove.
3167         (INIT_EXPANDERS): New.
3168         (STARTING_FRAME_OFFSET): Do not include bias.
3169         (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
3170         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
3171         (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
3172         * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
3173         * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
3174         * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
3175         (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
3176         (MUST_SAVE_REGISTER): Likewise.
3177         (sparc_flat_function_prologue): Likewise.
3178         (sparc_flat_function_epilogue): Likewise.
3179         (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
3180         (sparc_init_modes): SFP is GENERAL_REGS.
3181         (sparc_builtin_saveregs): SFP does not have bias applied.
3182
3183 2002-02-04  Richard Henderson  <rth@redhat.com>
3184
3185         * config/alpha/alpha.c (current_function_is_thunk): Don't check
3186         current_function_is_thunk.
3187         (alpha_sa_mask): Distinguish between current_function_is_thunk
3188         called from ASM_OUTPUT_MI_THUNK and not.
3189         (alpha_does_function_need_gp): Thunks always need gp.
3190         (alpha_start_function, alpha_output_function_end_prologue): Likewise.
3191         (alpha_output_mi_thunk_osf): New.
3192         * config/alpha/alpha-protos.h: Update.
3193         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
3194
3195 2002-02-04  Richard Sandiford  <rsandifo@redhat.com>
3196
3197         * c-typeck.c (build_c_cast): Warn when qualifiers are added to
3198         function types, not when they're taken away.
3199
3200 Mon Feb  4 09:05:58 2002  Jeffrey A Law  (law@redhat.com)
3201
3202         * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
3203         CODE_LABEL and jump table when replacing a table jump with a
3204         simple jump.
3205
3206 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
3207
3208         * config/s390/s390-protos.h (legitimize_la_operand,
3209         s390_secondary_input_reload_class, s390_plus_operand,
3210         s390_expand_plus_operand): Add prototypes.
3211
3212         config/s390/s390.c (s390_secondary_input_reload_class,
3213         s390_plus_operand, s390_expand_plus_operand): New functions.
3214
3215         (struct s390_address): New member 'pointer'.
3216         (s390_decompose_address): Compute it.
3217         (legitimate_la_operand_p): Use it.
3218         (legitimize_la_operand): New function.
3219         (movti, movdi, movdf splitters): Call it.
3220
3221         config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
3222         (PREDICATE_CODES): Add s390_plus_operand.
3223
3224         config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
3225         (la_ccclobber): Allow GENERAL_REGS as output operand.
3226
3227         (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
3228         *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
3229         (*la_64, *la_31, reload_indi, reload_insi): ... these.
3230
3231 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
3232
3233         * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
3234         register names for regular asm () construct.
3235
3236 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
3237
3238         * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
3239         registers.
3240
3241 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
3242
3243         * combine.c (recog_for_combine): Create a dummy insn with PATTERN
3244         pat for recog.
3245
3246 2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
3247
3248         * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
3249         constant pool to be identical by string address and index.
3250
3251 2002-02-04  Anthony Green  <green@redhat.com>
3252
3253         * output.h (SECTION_OVERRIDE): Define.
3254         * varasm.c (named_section): Obey SECTION_OVERRIDE.
3255
3256 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
3257
3258         * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
3259         by existing arm*-*-netbsd* (a.out) target.
3260         (ns32k-*-netbsdelf*): Likewise.
3261         (sparc-*-netbsdelf*): Likewise.
3262         (vax-*-netbsdelf*): Likewise.
3263
3264 2002-02-03  Danny Smith <dannysmith@users.sourceforge.net>
3265
3266         * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
3267         headers and libobjc headers.
3268
3269 2002-02-03  Mumit Khan  <khan@nanotech.wisc.edu>
3270
3271         * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
3272         (_mingw.h): Remove duplicate include.
3273
3274 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
3275
3276         * config.gcc: Set cpu_type to m68k for 68010, as well.
3277         (m68010-*-netbsdelf*): New...
3278         (m68k*-*-netbsdelf*): ...targets.
3279         * config/m68k/netbsd-elf.h: New file.
3280
3281 2002-02-02  Kazu Hirata  <kazu@hxi.com>
3282
3283         * config/h8300/h8300.c (hand_list): Move inside function_arg.
3284
3285 2002-02-02  Kazu Hirata  <kazu@hxi.com>
3286
3287         * config/h8300/h8300.c (h8_push_ops): Move inside
3288         h8300_init_once.
3289         (h8_pop_ops): Likewise.
3290         (h8_move_ops): Likewise.
3291
3292 2002-02-02  Kazu Hirata  <kazu@hxi.com>
3293
3294         * config/h8300/h8300.c (os_task): Make it static.
3295         (monitor): Likewise.
3296         (pragma_saveall): Likewise.
3297
3298 2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
3299
3300         * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
3301         constant is a valid sign-extension for Pmode.
3302
3303 2002-02-02  Kazu Hirata  <kazu@hxi.com>
3304
3305         * config/h8300/h8300.c: Fix formatting.
3306
3307 2002-02-02  Kazu Hirata  <kazu@hxi.com>
3308
3309         * config/h8300/h8300.md: Fix formatting.
3310
3311 2002-02-02  Kazu Hirata  <kazu@hxi.com>
3312
3313         * config/h8300/h8300.md (one_cmpl patterns): Tighten the
3314         predicates of operands[1].  Split the patterns for each
3315         processor variant.
3316
3317 2002-02-02  Kazu Hirata  <kazu@hxi.com>
3318
3319         * config/h8300/h8300.md (xor patterns): Tighten the predicates
3320         of operands[1] to register_operand.
3321
3322 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3323
3324         * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
3325         * cpphash.c (_cpp_init_hashtable): Similarly.
3326         * cppinit.c (cpp_create_reader): Default the signed_char flag.
3327         (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
3328         (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
3329         (cpp_handle_option): Handle the new options.
3330         * cpplex.c (cpp_interpret_charconst): Use new flag.
3331         * cpplib.h (struct cpp_options): New member signed_char.
3332         * gcc.c (cpp_unique_options): Remove %c spec and documentation.
3333         (cpp_options): Handle -fsigned-char and -funsigned-char.
3334         (static_specs): Remove signed_char_spec.
3335         (do_spec1): Don't handle %c.
3336         * system.h: Poison SIGNED_CHAR_SPEC.
3337         * tradcif.y (yylex): Use flag_signed_char.
3338         * tradcpp.h (flag_signed_char): New.
3339         * tradcpp.c (flag_signed_char): New.
3340         (main): Handle new command-line options.
3341         (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
3342 config:
3343         * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
3344         * avr/avr.h: Remove old comments.
3345         * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
3346         (CC1_SPEC): Pass -fsigned-char if -mic*.
3347         (SIGNED_CHAR_SPEC): Remove.
3348 doc:
3349         * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
3350
3351 2002-02-01  Eric Christopher  <echristo@redhat.com>
3352
3353         From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
3354         * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
3355         * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
3356         (ASM_OUTPUT_REG_POP): Ditto.
3357
3358 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
3359
3360         * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
3361         patch.
3362
3363 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
3364
3365         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
3366
3367 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
3368
3369         PR c/5304:
3370         * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
3371         unconditionally.
3372
3373 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
3374
3375         * cfganal.c: Include tm_p.h.
3376         (keep_with_call_p): Fix the test that determines if a register holds
3377         the return value of a call.
3378
3379 2002-02-01  DJ Delorie  <dj@redhat.com>
3380
3381         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
3382         we are given conflicting registers, switch to the other one we
3383         had allocated for us.
3384         * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
3385         as TImode so we know when the "other" register is available.
3386
3387 2002-02-01  David O'Brien  <obrien@FreeBSD.org>
3388
3389         * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
3390         sparc/sparc_bi.h.
3391
3392 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
3393
3394         * cfganal.c (keep_with_call_p): New function.
3395         (flow_call_edges_add): Prevent splitting a block between a call and
3396         a single-set instruction that should be kept in the same block.
3397
3398 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3399
3400         * doc/install.texi (avr): Update outdated URL.
3401
3402 2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
3403
3404         * config/stormy16/stormy16.md (pushqi): New.
3405         (popqi): New.
3406         (pushhi): New.
3407         (pophi): New.
3408         (movhi): Remove stack operands.
3409         (movqi): Likewise.
3410         * config/stormy16/stormy16.h (PREDICATE_CODES): Add
3411         nonimmediate_nonstack_operand.
3412         * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
3413         New.
3414         * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
3415         New.
3416
3417 2002-01-31  Jason Merrill  <jason@redhat.com>
3418
3419         * Makefile.in (c-parse.c): Handle .output file.
3420         * objc/Make-lang.in (objc-parse.c): Likewise.
3421
3422 2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
3423
3424         * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
3425         the -me[lb] option is given.  Don't output the default flag
3426         twice.
3427
3428 2002-01-31  Zack Weinberg  <zack@codesourcery.com>
3429
3430         * c-lex.c (yyparse): Call debug_hooks->start_source_file for
3431         the primary source file; this has not been done yet.
3432         * c-decl.c (c_expand_body): Reset input_filename from
3433         DECL_SOURCE_FILE (fndecl) before calling init_function_start.
3434
3435 2002-01-31  Kazu Hirata  <kazu@hxi.com>
3436
3437         * rtlanal.c (subreg_regno_offset): Do not use
3438         SUBREG_REGNO_OFFSET.
3439         * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
3440         * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
3441
3442 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
3443
3444         * gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
3445         version rather than GNATS version in --version output.
3446
3447 2002-01-31  Richard Sandiford  <rsandifo@redhat.com>
3448
3449         * ifcvt.c (noce_process_if_block): Make a copy of the destination
3450         when copying back from a temporary.
3451
3452 2002-01-30  Richard Henderson  <rth@redhat.com>
3453
3454         * ifcvt.c (dead_or_predicable): Handling merging when other_bb
3455         and new_dest are the same.
3456
3457 2002-01-30  Richard Henderson  <rth@redhat.com>
3458
3459         PR opt/5076
3460         * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
3461         * rtl.c (note_insn_name): Update.
3462         * emit-rtl.c (remove_unnecessary_notes): Kill it.
3463         * stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
3464         to perform loop rotation.
3465         (expand_exit_loop_top_cond): New.
3466         * tree.h (expand_exit_loop_top_cond): Declare it.
3467         * c-semantics.c (genrtl_while_stmt): Use it.
3468         (genrtl_for_stmt): Likewise.
3469
3470 2002-01-30  Alexandre Oliva  <aoliva@redhat.com>
3471
3472         * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
3473         arguments to 64-bit boundaries on 64-bit ABIs.
3474
3475 2002-01-30  Steve Ellcey  <sje@cup.hp.com>
3476
3477         * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
3478
3479 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
3480
3481         * c-decl.c (grokdeclarator): Handle type being a typedef for an
3482         invalid type.
3483
3484 2002-01-30  David O'Brien  <obrien@FreeBSD.org>
3485
3486         * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
3487         * config/sparc/sparc_bi.h: Remove file.
3488         * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
3489
3490 2002-01-30  Richard Henderson  <rth@redhat.com>
3491
3492         * sched-deps.c (sched_analyze): Make a call read the frame pointer.
3493
3494 2002-01-30  Zack Weinberg  <zack@codesourcery.com>
3495
3496         * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
3497
3498 2002-01-30  Jason Merrill  <jason@redhat.com>
3499
3500         * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
3501         (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
3502         (reg_save): Use DW_CFA_offset_extended_sf instead.
3503
3504         * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
3505
3506 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
3507
3508         * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
3509         in cselib_lookup.
3510
3511 2002-01-29  Aldy Hernandez  <aldyh@redhat.com>
3512
3513         * rs6000.md ("*call_value_local32"): Remove constraints.
3514         ("*call_value_local64"): Same.
3515         ("*call_value_indirect_nonlocal_aix32"): Same.
3516         ("*call_value_nonlocal_aix32"): Same.
3517         ("*call_value_indirect_nonlocal_aix64"): Same.
3518         ("*call_value_nonlocal_aix64"): Same.
3519         ("*call_value_nonlocal_sysv"): Same.
3520
3521 2002-01-29  Richard Henderson  <rth@redhat.com>
3522
3523         * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
3524
3525 2002-01-29  Richard Henderson  <rth@redhat.com>
3526
3527         * expr.c (force_operand): Ignore flag_pic for detecting pic
3528         address loads.
3529         * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
3530         for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
3531         * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
3532         instead of open-coded loop.
3533         * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
3534         be fixed when in use.
3535
3536 2002-01-29  Richard Henderson  <rth@redhat.com>
3537
3538         * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
3539         * sched-rgn.c (propagate_deps): Update them.
3540         * sched-deps.c (sched_analyze_insn): Update them.  Flush the
3541         clobbers list when either gets too long.
3542
3543 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
3544
3545         * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
3546         and INDEX_REGS the same as GENERAL_REGS.
3547         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
3548
3549 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3550
3551         * tree.c (build_nonstandard_integer_type): Correct prototype.
3552
3553 2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>
3554
3555         * config/s390/s390.md (movstrsico, movstrdix_64,
3556         movstrsix_31): Remove, replace by ...
3557         (movstrdi_short, movstrsi_short, movstrdi_long,
3558         movstrsi_long): ... these.  New.
3559         (movstrdi, movstrsi): Adapt.
3560
3561         (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
3562         ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
3563         Remove unnecessary CC clobber.
3564         (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
3565         *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
3566
3567         (divmoddi4): Don't partially initialize TImode register.
3568
3569 2002-01-29  Geoffrey Keating  <geoffk@redhat.com>
3570
3571         * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
3572
3573 2002-01-29  Richard Henderson  <rth@redhat.com>
3574
3575         * flow.c (print_rtl_and_abort): Remove.
3576         (print_rtl_and_abort_fcn): Remove.
3577         (verify_local_live_at_start): Use dump_bb instead.
3578         (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
3579         (verify_wide_reg_1): Return 2 on mode test failure.
3580
3581 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3582
3583         PR c/3325, c/3326, c/2511, c/3347
3584         * c-decl.c (enum_decl_context): Remove BITFIELD.
3585         (grokdeclarator): Take bitfield width as an input.
3586         Ensure bitfields are given the correct type.  Perform
3587         bitfield width validation with build_bitfield_integer_type
3588         rather than waiting for finish_struct.
3589         (grok_typename, grok_typename_in_parm_context, start_decl,
3590         push_parmdecl, grokfield, start_function): Update calls to
3591         grokdeclarator.
3592         (build_bitfield_integer_type): New function.
3593         (finish_struct): Move bitfield validation to grokdeclarator
3594         and build_bitfield_integer_type.
3595         * tree.c (build_nonstandard_integer_type): New function.
3596         * tree.h (build_nonstandard_integer_type): New prototype.
3597 objc:
3598         * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
3599
3600 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
3601
3602         PR other/1502:
3603         * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
3604         don't ignore unrecognized -W* options.
3605         (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
3606         * cpplib.h (cpp_handle_option): Adjust prototype.
3607         * c-decl.c (c_decode_options): Pass 0 as last argument to
3608         cpp_handle_option.
3609
3610         PR c/2896:
3611         * gcc.c (cpp_unique_options): Split from cpp_options.
3612         (cpp_options): Source cpp_unique_options.
3613         (default_compilers): Use cpp_unique_options instead of cpp_options
3614         when used together with cc1_options.
3615         (static_specs): Add cpp_unique_options.
3616         * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
3617         when used together with cc1_options.
3618
3619 2002-01-29  Kazu Hirata  <kazu@hxi.com>
3620
3621         * config/h8300/h8300-protos.h: Update the prototype of
3622         output_a_shift.
3623         * config/h8300/h8300.c (output_a_shift): Remove an unused
3624         argument 'insn'.  Remove redundant code.
3625         * config/h8300/h8300.md: Adust to the new prototype of
3626         output_a_shift.
3627
3628 2002-01-29  Kazu Hirata  <kazu@hxi.com>
3629
3630         * config/h8300/h8300-protos.h: Update the prototypes of
3631         emit_a_rotate and expand_a_rotate.
3632         * config/h8300/h8300.c (emit_a_rotate): Change the type of the
3633         first argument to 'enum rtx_code'.
3634         (expand_a_rotate): Likewise.
3635
3636 2002-01-28  Kazu Hirata  <kazu@hxi.com>
3637
3638         * config/h8300/h8300-protos.h: Update the prototype of
3639         output_simode_bld.
3640         * config/h8300/h8300.c (output_simode_bld): Remove an argumen
3641         'log2'.
3642         * config/h8300/h8300.md: Adjust to the new prototype.
3643
3644 2002-01-28  Kazu Hirata  <kazu@hxi.com>
3645
3646         * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
3647         redundant code.
3648
3649 2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3650
3651         * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
3652         is a fixed register before returning pic_offset_table_rtx.
3653         * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
3654         when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
3655
3656 2002-01-28  Jason Merrill  <jason@redhat.com>
3657
3658         * dwarf2.h: Sync with src version.
3659
3660 2002-01-28  Paul Koning  <pkoning@equallogic.com>
3661
3662         * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
3663         BT_FN_VOID_PTR_VAR.
3664         * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
3665         * doc/extend.texi (__builtin_prefetch): Update documentation:
3666         first argument is now const void ptr.
3667
3668 2002-01-28  Kazu Hirata  <kazu@hxi.com>
3669
3670         * config/h8300/h8300-protos.h: Remove an unused prototype.
3671
3672 2002-01-28  Roman Zippel  <zippel@linux-m68k.org>
3673
3674         * toplev.c (lang_independent_init): Round up identifier size.
3675
3676 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
3677
3678         * config.gcc: Revert previous change.
3679
3680 2002-01-28  Andris Pavenis  <pavenis@latnet.lv>
3681
3682         * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
3683
3684 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
3685
3686         * config.gcc (*-*-netbsdelf*): Set up generic parameters.
3687         (*-*-netbsd*): Always use collect2.  Remove collect2 settings from
3688         other non-elf netbsd config frags.
3689         * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
3690         collect2 will does that.
3691         * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
3692         shared-lib frobbing will work.
3693
3694 2002-01-28  Kazu Hirata  <kazu@hxi.com>
3695
3696         * config/h8300/h8300.h: Fix formatting.
3697         * config/h8300/h8300.md: Likewise.
3698
3699 2002-01-28  Loren J. Rittle  <ljrittle@acm.org>
3700
3701         * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
3702         the old, removed AAA_standards fix.
3703         * fixinc/fixincl.x: Rebuilt.
3704
3705 2002-01-28  Hans-Peter Nilsson  <hp@axis.com>
3706
3707         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
3708         atexit call in crtbegin, hooked in after call to frame_dummy;
3709         register EH before registering __fini__start.
3710
3711 2002-01-28  Aldy Hernandez  <aldyh@redhat.com>
3712
3713         * config/rs6000/altivec.h: Remove spurious semicolons.
3714
3715 2002-01-27  Kazu Hirata  <kazu@hxi.com>
3716
3717         * config/h8300/h8300.md: Replace dead bit extraction patterns
3718         with ones that work.
3719
3720 Sun Jan 27 13:23:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3721
3722         * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
3723         if not STRICT_ALIGNMENT.
3724         * rtl.h (MEM_ALIGN): Likewise.
3725
3726 2002-01-27  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3727
3728         * doc/invoke.texi (-fdump-translation-unit): Revert this
3729         patch: 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3730
3731 2002-01-27  Kazu Hirata  <kazu@hxi.com>
3732
3733         * config/h8300/h8300.md (define_constants): New.
3734         (anonymous patterns) Use defined constants appropriately.
3735
3736 2002-01-27  Kazu Hirata  <kazu@hxi.com>
3737
3738         * config/h8300/h8300.c (function_arg): Remove redundant code.
3739
3740 2002-01-26  Richard Henderson  <rth@redhat.com>
3741
3742         * sched-deps.c (reg_pending_uses_head): New.
3743         (reg_pending_barrier): Rename from reg_pending_sets_all.
3744         (find_insn_list): Don't mark inline.
3745         (find_insn_mem_list): Remove.
3746         (add_dependence_list, add_dependence_list_and_free): New.
3747         (flush_pending_lists): Replace only_write param with separate
3748         for_read and for_write parameters.  Update all callers.  Use
3749         add_dependence_list_and_free.
3750         (sched_analyze_1): Do not add reg dependencies here; just set
3751         the pending bits.  Use add_dependence_list.
3752         (sched_analyze_2): Likewise.
3753         (sched_analyze_insn): Replace schedule_barrier_found with
3754         reg_pending_barrier.  Add all dependencies for pending reg
3755         uses, sets, and clobbers.
3756         (sched_analyze): Don't add reg dependencies for calls, just
3757         set pending bits.  Use regs_invalidated_by_call.  Treat
3758         sched_before_next_call as a normal list, not a fake insn.
3759         (init_deps): No funny init for sched_before_next_call.
3760         (free_deps): Free pending mems lists.  Don't zero reg_last.
3761         (init_deps_global): Init reg_pending_uses.
3762         (finish_deps_global): Free it.
3763         * sched-int.h (deps): Make in_post_call_group_p boolean.  Update docs.
3764         (find_insn_mem_list): Remove.
3765         * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
3766         (propagate_deps): Use them.  Zero temp mem lists.
3767
3768 2002-01-26  Richard Henderson  <rth@redhat.com>
3769
3770         * Makefile.in (CRTSTUFF_CFLAGS): New.
3771         (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
3772         * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
3773         crtstuff.c instead of alpha assembly version.
3774         * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
3775         entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
3776         not FORCE_{INIT,FINI}_SECTION_ALIGN.
3777         (__do_global_dtors_aux): Mark used.
3778         (frame_dummy, __do_global_ctors_aux): Mark used.
3779         (fini_dummy, init_dummy): Remove.
3780
3781         * config/alpha/crtbegin.asm: Remove file.
3782         * config/alpha/crtend.asm: Remove file.
3783         * config/alpha/t-crtbe: Remove file.
3784         * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
3785         (LINK_EH_SPEC): New.
3786
3787         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
3788         FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
3789         calling constructors.
3790         * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
3791
3792         * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
3793         * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
3794         CRT_END_INIT_DUMMY hack.
3795         * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
3796         FORCE_{INIT,FINI}_SECTION_ALIGN.
3797
3798         * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
3799         FORCE_{INIT,FINI}_SECTION_ALIGN.
3800
3801         * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
3802         invocation sequence.
3803         * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
3804
3805         * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
3806         (FORCE_CODE_SECTION_ALIGN): New.
3807
3808 2002-01-26  Richard Henderson  <rth@redhat.com>
3809
3810         * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
3811
3812 2002-01-26  Richard Henderson  <rth@redhat.com>
3813
3814         * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
3815         (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
3816
3817 2002-01-26  Kazu Hirata  <kazu@hxi.com>
3818
3819         * config/h8300/h8300.md: Remove bit extraction patterns that
3820         cannot be triggered.
3821         Restrict each bit extraction pattern to a variant on which the
3822         pattern is tested.
3823
3824 2002-01-26  Joseph S. Myers  <jsm28@cam.ac.uk>
3825
3826         * doc/include/texinfo.tex: Update to version 2002-01-04.07.
3827
3828 2002-01-26  Kazu Hirata  <kazu@hxi.com>
3829
3830         * config/h8300/h8300.md: Remove bit test patterns that cannot
3831         be triggered.
3832         Restrict each bit test pattern to a variant on which the
3833         pattern is tested.
3834
3835 2002-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3836
3837         * builtins.c (expand_builtin_strncat): Remove redundant check for
3838         INTEGER_CST.
3839
3840 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
3841
3842         * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
3843         default setting.
3844         * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
3845         existing setting.
3846
3847 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
3848
3849         * dbxout.c (dbxout_init): Use assemble_name rather than just
3850         stripping off the first character.
3851         (dbxout_source_file): Likewise.
3852
3853 2002-01-25  DJ Delorie  <dj@redhat.com>
3854
3855         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
3856         using rtx_equal_p, not by comparing pointers.
3857
3858 2002-01-25  Steve Ellcey  <sje@cup.hp.com>
3859
3860         * emit-rtl.c (gen_rtx_REG): Always return the same rtx
3861         for PIC_OFFSET_TABLE_REGNUM.
3862         (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
3863
3864 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
3865
3866         * config.gcc (x86_64-*-freebsd*): New target.
3867         (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
3868         value.
3869         (i[34567]86-*-freebsd*): Don't include svr4.h.
3870         * config/i386/freebsd64.h: New file.
3871
3872 2002-01-25  Douglas B Rupp  <rupp@gnat.com>
3873
3874         * config/alpha/x-vms (version): Make static.
3875
3876         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
3877         in previous checkin.
3878
3879         * Makefile.in (install-headers-cp): New target.
3880         * config.gcc (alpha-dec-*vms*): Install headers with
3881         install-headers-cp
3882
3883 Fri Jan 25 22:42:49 CET 2002  Jan Hubicka  <jh@suse.cz>
3884
3885         * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
3886         avoid it's copies.
3887
3888 Fri Jan 25 08:26:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3889
3890         * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
3891         of compare_tree_int.
3892         (expand_builtin_strncat): Likewise.
3893         * c-decl.c (finish_struct): Use tree_low_cst.
3894         * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
3895         * tree.c (compare_tree_int): Likewise.
3896
3897 2002-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
3898
3899         * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
3900         adjustments even if they are implemented by more than two insns.
3901
3902 Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
3903
3904         * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
3905         * df.h (struct ref): Kill B.
3906         (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
3907
3908         * basic-block.h (PROP_EQUAL_NOTES): New flag.
3909         * flow.c (propagate_one_insn): Use it.
3910         (mark_used_regs): Handle NIL.
3911
3912 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
3913
3914         * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
3915         to help folding.
3916
3917 2002-01-25  David Edelsohn  <edelsohn@gnu.org>
3918
3919         * rs6000.md (prefetch): Make address V4SI mode so that the address
3920         is restricted to legitimate form for instruction.
3921
3922 2002-01-25  Bob Wilson  <bob.wilson@acm.org>
3923
3924         * doc/install.texi (xtensa-*-elf): New target.
3925         (xtensa-*-linux*): New target.
3926         * doc/contrib.texi: Add myself.
3927
3928 2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>
3929
3930         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
3931         purpose register to hold an SImode (or smaller) value.
3932
3933 2002-01-25  Jakub Jelinek  <jakub@redhat.com>
3934
3935         * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
3936         registry only.
3937         * crtstuff.c: Likewise.
3938
3939 2002-01-25  Kazu Hirata  <kazu@hxi.com>
3940
3941         * config/h8300/h8300.md (negation patterns): Tighten
3942         predicates to register_operand.
3943
3944 2002-01-24  Aldy Hernandez  <aldyh@redhat.com>
3945
3946         * loop.c (emit_prefetch_instructions): Use the prefetch insn's
3947         mode, not Pmode.
3948
3949         * builtins.c (expand_builtin_prefetch): Same.
3950
3951 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
3952
3953         * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
3954         modes.
3955
3956 2002-01-24  Kazu Hirata  <kazu@hxi.com>
3957
3958         * config/h8300/h8300.c (print_operand): Remove support for
3959         operand character 'A'.
3960         * config/h8300/h8300.md (three anonymous patterns): Replace
3961         operand character 'A' with either 'T' or 'S'.
3962
3963 2002-01-24  Kazu Hirata  <kazu@hxi.com>
3964
3965         * config/h8300/h8300.c (print_operand): Remove support for
3966         operand character 'U'.
3967
3968 2002-01-24  Andris Pavenis  <pavenis@latnet.lv>
3969
3970         * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
3971
3972 2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>
3973
3974         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
3975         values to be assigned to the stack pointer.
3976
3977 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
3978
3979         * emit_rtl.c (gen_lowpart_common): Conversion from const_int
3980         to const_double needs to be done right for big-endian systems.
3981
3982 2002-01-24  Jason Merrill  <jason@redhat.com>
3983
3984         PR c++/2432
3985         * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
3986         to can_throw_internal.
3987
3988 2002-01-23  Richard Henderson  <rth@redhat.com>
3989
3990         * fold-const.c (fold): Change UINT_MAX test to check vs precision
3991         rather than TYPE_MAX_VALUE.  Fix indentation and a bogus negation.
3992
3993 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
3994
3995         * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
3996         (symGOT2reg): Use them, then set as GOT value as unchanging.
3997         (symGOTOFF2reg): Set REG_EQUAL note.  Use a different pseudo
3998         as a temporary, if possible.
3999         (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC.  Emit
4000         sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
4001
4002 2002-01-23  Kazu Hirata  <kazu@hxi.com>
4003
4004         * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
4005         accept to accept 0x80 as operands[2].
4006
4007 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
4008
4009         * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
4010
4011 2002-01-23  Richard Henderson  <rth@redhat.com>
4012
4013         * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
4014
4015 2002-01-23  Aldy Hernandez  <aldyh@redhat.com>
4016
4017         * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
4018         (parmlist_or_identifiers_1): Verify that only a parmlist follows
4019         an attribute.
4020
4021 2002-01-23  Richard Henderson  <rth@redhat.com>
4022
4023         * expr.c (move_by_pieces_1): Extend size before negation.
4024
4025         * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
4026         (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
4027         (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
4028         * config/m68k/t-m68kelf: Likewise.
4029
4030 2002-01-23  Bob Wilson  <bob.wilson@acm.org>
4031
4032         * config/xtensa/elf.h: New file.
4033         * config/xtensa/lib1funcs.asm: New file.
4034         * config/xtensa/lib2funcs.S: New file.
4035         * config/xtensa/linux.h: New file.
4036         * config/xtensa/t-xtensa: New file.
4037         * config/xtensa/xtensa-config.h: New file.
4038         * config/xtensa/xtensa-protos.h: New file.
4039         * config/xtensa/xtensa.c: New file.
4040         * config/xtensa/xtensa.h: New file.
4041         * config/xtensa/xtensa.md: New file.
4042         * config.gcc (xtensa-*-elf*): New target.
4043         (xtensa-*-linux*): New target.
4044         * cse.c (canon_hash): Compare rtx pointers instead of register
4045         numbers.  This is required for the Xtensa port.
4046         * integrate.c (copy_insn_list): Handle case where the static
4047         chain is in memory and the memory address has to be copied to
4048         a register.
4049         * doc/invoke.texi (Option Summary): Add Xtensa options.
4050         (Xtensa Options): New node.
4051         * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
4052
4053 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
4054
4055         * diagnostic.c (internal_error): Do ICE suppression only
4056         when ENABLE_CHECKING is not defined.
4057
4058         * c-typeck.c (require_complete_type): Return error_mark_node
4059         if type is error_mark_node.
4060
4061 2002-01-23  Janis Johnson  <janis187@us.ibm.com>
4062
4063         * toplev.c (process_options): Disable -fprefetch-loop-arrays with
4064         -Os and issue a warning.
4065
4066 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
4067
4068         * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
4069         current (lack of) need for host configuration by hand.
4070
4071         * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
4072         references.  Documentation of some target macros moved from
4073         hostconfig.texi to tm.texi.
4074
4075 2002-01-23  Will Cohen  <wcohen@redhat.com>
4076
4077         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
4078         defined.
4079
4080 2002-01-23  Kazu Hirata  <kazu@hxi.com>
4081
4082         * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
4083         operand[3].
4084
4085 2002-01-23  Jason Merrill  <jason@redhat.com>
4086
4087         * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
4088
4089         * function.c (assign_parms): Don't put args of inline functions
4090         into registers when not optimizing.
4091
4092 2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>
4093
4094         * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
4095         (prologue_use): New pattern.
4096         * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
4097         preference to gen_rtx_USE.
4098         (thumb_expand_prologue): Use gen_prologue_use in preference to
4099         gen_rtx_USE.
4100         (thumb_expand_epilogue): Use gen_prologue_use in preference to
4101         gen_rtx_USE.
4102
4103 2002-01-23  Hans-Peter Nilsson  <hp@bitrange.com>
4104
4105         * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
4106
4107 2002-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
4108
4109         PR c/3504
4110         * doc/extend.texi: Correct documentation of __alignof__.
4111
4112 2002-01-22  Zack Weinberg  <zack@codesourcery.com>
4113
4114         * params.h: Rename arguments of DEFPARAM so that it will be
4115         recognized as a translation keyword.
4116
4117 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
4118
4119         * extend.texi: Document altivec functions.
4120         Fix N-bit adjectives in X86 builtin documentation.
4121
4122 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
4123
4124         * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
4125         auto_inc_dec values.
4126
4127 2002-01-22  Richard Earnshaw  <rearnsha@arm.com>
4128
4129         * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
4130         after backslash.
4131         (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
4132
4133 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
4134
4135         * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
4136
4137 2002-01-22  Richard Henderson  <rth@redhat.com>
4138
4139         * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
4140         copy_insn not copy_rtx.
4141
4142 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
4143
4144         * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
4145         "nonzero" as that might add "1" bits.  Ensure "constop" is
4146         properly sign extened.
4147         (force_to_mode): Tweak for sign extended constop.
4148
4149 2002-01-22  Richard Henderson  <rth@redhat.com>
4150
4151         * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
4152         for_each_rtx instead of assuming we're already looking at the MEM.
4153         (split_small_symbolic_mem_operand): Likewise.
4154         * config/alpha/alpha.h (PREDICATE_CODES): Update.
4155         * config/alpha/alpha.md (small symbolic memory splitters): Update.
4156
4157 2002-01-22  Richard Henderson  <rth@redhat.com>
4158
4159         * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
4160         sequence number for the literal.
4161         (divmoddi_internal_er): Likewise.
4162
4163 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4164
4165         PR java/4972
4166         * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
4167         in LIBICONV variable.
4168         * configure: Regenerated.
4169
4170 2002-01-22  Krister Walfridsson  <cato@df.lth.se>
4171
4172         * dependence.c (build_def_use): Remove array_idx.
4173
4174         * dwarfout.c (last_filename): Remove.
4175         (output_compile_unit_die): Remove last_filename.
4176
4177 2002-01-22  Roger Sayle  <roger@eyesopen.com>
4178             Richard Henderson  <rth@redhat.com>
4179
4180         PR opt/3640
4181         * fold-const.c (fold): Optimize unsigned comparisons against
4182         UINT_MAX (and similar unsigned constants).
4183
4184 2002-01-22  Janis Johnson  <janis187@us.ibm.com>
4185
4186         * Makefile.in (loop.o): Depend on OPTABS_H.
4187         * loop.c (emit_prefetch_instructions): Check the prefetch operand
4188         against the predicate.
4189
4190         PR target/5379
4191         * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
4192         for the address operand.
4193
4194 2002-01-22  Richard Henderson  <rth@redhat.com>
4195
4196         * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
4197
4198 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4199
4200         PR other/5450
4201         * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
4202         preprocessor flags.
4203
4204 2002-01-22  Jason Thorpe  <thorpej@wasabisystems.com>
4205
4206         * config.gcc (x86_64-*-netbsd*): New target.
4207         * config/i386/netbsd64.h: New file.
4208
4209 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
4210
4211         * regrename.c (kill_value): Fix typo.
4212
4213 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
4214
4215         * doc/tm.texi: Remove STARTING_FRAME_PHASE.
4216
4217         * config/rs6000/rs6000.h: Same.
4218
4219         * function.c (instantiate_virtual_regs): Remove
4220         STARTING_FRAME_PHASE.
4221         (assign_stack_local_1): Same.
4222         Calculate frame phase.
4223
4224 2002-01-22  Nick Clifton  <nickc@redhat.com>
4225
4226         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
4227         variable declaration to outer scope in order to simplify
4228         future extensions.
4229         (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
4230         arm_hard_regno_mode_ok.
4231         * config/arm/arm-protos.h: Add a prototype for
4232         arm_hard_regno_mode_ok.
4233         * config/arm/arm.c (soft_df_operand): Remove now redundant
4234         check for DImode values using IP_REGNUM.
4235         (nonimmediate_soft_df_operand): Remove now redundant check for
4236         DImode values using IP_REGNUM.
4237         (arm_hard_regno_mode_ok): New function. New check: make sure
4238         that DImode values are not stored in IP_REGNUM.
4239
4240         * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
4241         note with a USE.
4242         (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
4243
4244 2002-01-22  Jason Merrill  <jason@redhat.com>
4245
4246         * c-semantics.c (genrtl_compound_stmt): Only check nesting
4247         consistency if this COMPOUND_STMT is scoped.
4248
4249 2002-01-22  Kazu Hirata  <kazu@hxi.com>
4250
4251         * predict.c: Fix formatting.
4252         * print-tree.c: Likewise.
4253         * protoize.c: Likewise.
4254         * real.h: Likewise.
4255         * rtl.h: Likewise.
4256         * sbitmap.h: Likewise.
4257         * scan.c: Likewise.
4258         * sched-deps.c: Likewise.
4259         * sched-vis.c: Likewise.
4260         * sdbout.c: Likewise.
4261         * sibcall.c: Likewise.
4262         * ssa.c: Likewise.
4263         * ssa-ccp.c: Likewise.
4264         * ssa-dce.c: Likewise.
4265         * stmt.c: Likewise.
4266         * stor-layout.c: Likewise.
4267         * system.h: Likewise.
4268
4269 Tue Jan 22 06:26:33 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4270
4271         * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
4272         if fits in bounds of base type.
4273
4274         * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
4275         (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
4276         (add_bound_info, default): If can't find a context, make a
4277         SAVE_EXPR.
4278         (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
4279
4280 2002-01-22  Hans-Peter Nilsson  <hp@axis.com>
4281
4282         * c-typeck.c (parser_build_binary_op): If result from
4283         build_binary_op is ERROR_MARK just return error_mark_node without
4284         further processing.
4285
4286 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
4287
4288         * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
4289         Split a.out-specific bits into...
4290         * config/netbsd-aout.h: ...this.
4291         * config/netbsd-elf.h: New file.
4292         * config/alpha/netbsd-elf.h: Remove.
4293         * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
4294         * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
4295         (STARTFILE_SPEC): Remove redundant definition.
4296         (ENDFILE_SPEC): Likewise.
4297         (LINK_SPEC): Likewise.
4298         (CPP_SPEC): Likewise.
4299         (ASM_SPEC): Likewise.
4300         (LIB_SPEC): Likewise.
4301         (SWITCH_TAKES_ARG): Likewise.
4302         (TARGET_MEM_FUNCTIONS): Likewise.
4303         (CPP_PREDEFINES): Redefine.
4304         (ASM_FINAL_SPEC): Remove redefinition.
4305         (ASM_COMMENT_START): Redefine.
4306         (FUNCTION_PROFILER): Define.
4307         (TARGET_VERSION): Redefine.
4308         Comment and formatting cleanup.
4309         * config/i386/netbsd.h: Include <netbsd-aout.h>.
4310         * config/m68k/netbsd.h: Include <netbsd-aout.h>.
4311         * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
4312         big- or little-endian.
4313         * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
4314         * config.gcc (*-*-netbsd*): Add definitions common to all
4315         NetBSD configs.
4316         (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
4317         gnu_ld definitions.  Add netbsd-elf.h to and remove
4318         alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
4319         tmake_file, and don't lose previous tmake_file contents.
4320         (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
4321         (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
4322         gnu_ld definitions.  Add netbsd-elf.h to tm_file.
4323         (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
4324         (mipsel-*-netbsd*): Rename this to...
4325         (mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
4326         mips/little.h to tm_file for mips*el-*.
4327         (powerpc-*-netbsd*): Remove redundant xm_defines definition.
4328         (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
4329         (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
4330
4331 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4332
4333         * pa-protos.h (reg_before_reload_operand): New function prototype.
4334         * pa.c (reg_before_reload_operand): New function implementation.
4335         * pa.md (decrement_and_branch_until_zero, movb): Use it.  Change "!*m"
4336         contraints to "*m".
4337
4338 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4339
4340         * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
4341
4342 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4343
4344         * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
4345         (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
4346         (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
4347         (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
4348         (ENDFILE_SPEC): Undefine.
4349         (STARTFILE_SPEC): Redefine for PA.
4350
4351 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4352
4353         * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
4354
4355 2002-01-21  Daniel Jacobowitz  <drow@mvista.com>
4356
4357         * config.gcc: Add entries to supported PowerPC --with-cpu
4358         types.
4359
4360 2002-01-21  Jakub Jelinek  <jakub@redhat.com>
4361
4362         * config/i386/i386.c (ix86_function_arg_regno_p): Never return
4363         true for 64-bit mode only SSE registers in 32-bit mode.
4364
4365 2002-01-21  Kazu Hirata  <kazu@hxi.com>
4366
4367         * unwind-dw2.c: Fix formatting.
4368         * unwind-dw2-fde.c: Likewise.
4369         * unwind-dw2-fde.h: Likewise.
4370         * unwind-pe.h: Likewise.
4371         * varasm.c: Likewise.
4372         * varray.h: Likewise.
4373
4374 2002-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
4375
4376         Remove workaround for register stack overwrite bug in mmix.
4377         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
4378         support for TARGET_REG_STACK_FILL_BUG.
4379         * config/mmix/mmix.h: Remove member has_call_without_parameters.
4380         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
4381         Delete.
4382         (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
4383         (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
4384         -mno-reg-stack-fill-bug-workaround.
4385         * config/mmix/mmix.md ("call", "call_value"): Don't set struct
4386         machine member has_call_without_parameters.
4387         * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
4388         -mreg-stack-fill-bug-workaround and
4389         -mno-reg-stack-fill-bug-workaround.
4390         (MMIX Options): Ditto.
4391
4392 2002-01-21  Kazu Hirata  <kazu@hxi.com>
4393
4394         * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
4395         as appropriate.
4396         Remove redundant code.
4397
4398 2002-01-21  Joseph S. Myers  <jsm28@cam.ac.uk>
4399
4400         * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
4401         config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
4402         config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
4403         config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
4404         config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
4405         out target macro definitions and non-target-specific comments
4406         mostly taken from old versions of the manual.
4407
4408 2002-01-20  Kazu Hirata  <kazu@hxi.com>
4409
4410         * config/h8300/h8300.h: Fix comment formatting.
4411         * config/ia64/aix.h: Likewise.
4412         * config/ia64/ia64-protos.h: Likewise.
4413         * config/ia64/ia64.c: Likewise.
4414         * config/ia64/ia64.h: Likewise.
4415         * config/ia64/ia64intrin.h: Likewise.
4416         * config/ia64/linux.h: Likewise.
4417         * config/ia64/unwind-aix.c: Likewise.
4418         * config/ia64/unwind-ia64.c: Likewise.
4419
4420 2002-01-20  Kazu Hirata  <kazu@hxi.com>
4421
4422         * config/h8300/h8300.c: Revise comments about shift code.
4423
4424 2002-01-20  Kazu Hirata  <kazu@hxi.com>
4425
4426         * config/h8300/h8300.c (function_arg): Update a comment.
4427
4428 2002-01-20  Kazu Hirata  <kazu@hxi.com>
4429
4430         * config/h8300/h8300.md: Update the comments at the beginning
4431         of the file.
4432
4433 2002-01-20  Kazu Hirata  <kazu@hxi.com>
4434
4435         * config/i370/i370.c: Fix comment formatting.
4436         * config/i370/i370.h: Likewise.
4437         * config/i370/i370.md: Likewise.
4438         * config/i370/linux.h: Likewise.
4439
4440 Sun Jan 20 18:40:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4441
4442         * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
4443
4444         * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
4445         (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
4446         in incomplete case.
4447
4448 2002-01-20  Graham Stott  <grahams@redhat.com>
4449
4450         * cfgloop.c (flow_loop_preheader_scan): Fix typo.
4451
4452 2002-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4453
4454         * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
4455
4456 2002-01-19  Tom Rix  <trix@redhat.com>
4457
4458         * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
4459
4460 2002-01-18  Aldy Hernandez  <aldyh@redhat.com>
4461
4462         * doc/tm.texi (STARTING_FRAME_PHASE): Document.
4463
4464         * function.c (assign_stack_local_1): Adjust x_frame_offset with
4465         STARTING_FRAME_PHASE.
4466         (STARTING_FRAME_PHASE): New.
4467         (instantiate_virtual_regs): Check saneness of
4468         STARTING_FRAME_PHASE.
4469
4470         * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
4471
4472 2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
4473
4474         * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
4475
4476 2002-01-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4477
4478         * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
4479         be used for bootstrapping GCC 3.0.
4480
4481 2002-01-18  Kazu Hirata  <kazu@hxi.com>
4482
4483         * config/h8300/h8300.md: Fix an insn length.
4484
4485 2002-01-18  Kazu Hirata  <kazu@hxi.com>
4486
4487         * bitmap.h: Fix comment formatting.
4488         * combine.c: Likewise.
4489         * cppfiles.c: Likewise.
4490         * c-pragma.h: Likewise.
4491         * c-typeck.c: Likewise.
4492         * df.c: Likewise.
4493         * dwarf2out.c: Likewise.
4494         * function.c: Likewise.
4495         * gcc.c: Likewise.
4496         * genattrtab.c: Likewise.
4497         * gthr-win32.h: Likewise.
4498         * haifa-sched.c: Likewise.
4499         * predict.c: Likewise.
4500         * rtlanal.c: Likewise.
4501         * rtl.h: Likewise.
4502         * unwind-dw2-fde.h: Likewise.
4503         * unwind-pe.h: Likewise.
4504         * vmsdbgout.c: Likewise.
4505
4506 Thu Jan 17 15:28:26 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4507
4508         * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
4509         if type_required and passed decl.
4510
4511 2002-01-17  Aldy Hernandez  <aldyh@redhat.com>
4512
4513         * config.gcc (cpu_type): Include altivec.h in powerpc
4514         extra_headers.
4515         Same for darwin.
4516
4517         * config/rs6000/altivec.h: New.
4518
4519 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
4520
4521         * doc/install.texi (*-ibm-aix*): Update assembler and exception
4522         handling information.
4523         * doc/trouble.texi (Interoperation): Add libstdc++ information
4524         for AIX.
4525         (Misunderstandings): Add template instantiation and static template
4526         member information for AIX.
4527
4528 2002-01-17  Jason Merrill  <jason@redhat.com>
4529
4530         * dbxout.c (dbxout_type): Support const and volatile.
4531
4532         * except.c (add_partial_entry): Remove backwards compatibility code.
4533         (end_protect_partials): Likewise.
4534
4535 2002-01-17  Jakub Jelinek  <jakub@redhat.com>
4536
4537         * config/ia64/ia64.md (prologue_use): New.
4538         * config/ia64/ia64.c (ia64_expand_prologue): Use
4539         gen_prologue_use instead of gen_rtx_USE.
4540         (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
4541         as CODE_FOR_pred_rel_mutex.
4542         (ia64_sched_reorder2): Likewise.
4543
4544 2002-01-16  Eric Christopher  <echristo@redhat.com>
4545
4546         * config/mips/r3900.h: Reformat.
4547         (SUBTARGET_CPP_SIZE_SPEC): Remove.
4548         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
4549         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
4550         (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
4551         * config/mips/t-elf: Remove mips3 multilib.
4552
4553 2002-01-16  H.J. Lu <hjl@gnu.org>
4554
4555         * config/mips/linux.h: Include "mips/abi64.h".
4556
4557 2002-01-16  H.J. Lu <hjl@gnu.org>
4558
4559         * config/mips/t-linux: New.
4560
4561         * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
4562
4563         * config/mips/linux.h: Don't include "gofast.h".
4564         (INIT_SUBTARGET_OPTABS): Removed.
4565
4566 2002-01-16  Kazu Hirata  <kazu@hxi.com>
4567
4568         * config/h8300/h8300-protos.h: Replace emit_a_shift with
4569         output_a_shift.
4570         * config/h8300/h8300.c: Likewise.
4571         * config/h8300/h8300.md: Likewise.
4572
4573 2002-01-16  Kazu Hirata  <kazu@hxi.com>
4574
4575         * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
4576         spaces after an opcode name.
4577         (pushqi1_h8300hs): Likewise.
4578         (pushhi1_h8300hs): Likewise.
4579
4580 2002-01-16  Kazu Hirata  <kazu@hxi.com>
4581
4582         * doc/extend.texi: Replace "option" with "attribute"
4583         appropriately.
4584
4585 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
4586
4587         * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
4588         (and:DI () (const_int -8)).
4589         (split_small_symbolic_mem_operand): Split
4590         (mem (and:DI () (const_int -8)).
4591
4592 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
4593
4594         PR target/5309:
4595         * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
4596         same way as TYPE_IMUL.
4597         (ultrasparc_sched_reorder): Likewise.
4598         * config/sparc/sparc.md (type): Add comment to update
4599         ultrasparc_sched_reorder when making changes.
4600
4601 2002-01-16  Kazu Hirata  <kazu@hxi.com>
4602
4603         * doc/invoke.texi: Change the dump file name of block
4604         reordering pass from 28.bbro to 29.bbro.
4605         Mention -dk option.
4606
4607 Wed Jan 16 17:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
4608
4609         * i386.md (minsf splitter): Fix pasto.
4610
4611 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
4612
4613         * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
4614         to frame pointer initialisation instruction.
4615         (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
4616         initialisation instruction.
4617         (soft_df_operand): Do not accept the IP register.
4618         (nonimmediate_soft_df_operand): Do not accept the IP register.
4619
4620 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
4621
4622         PR target/5357:
4623         * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
4624         MASK_V8 being both set.
4625
4626 2002-01-16  Ulrich Weigand  <uweigand@de.ibm.com>
4627
4628         * config/s390/s390.c (s390_emit_prologue): Do not emit USE
4629         insn for GOT register; add REG_MAYBE_DEAD notes instead.
4630         config/s390/s390.md (call, call_value): Add GOT register to
4631         CALL_INSN_FUNCTION_USAGE where needed.
4632         (call_exp, call_value_exp): New.
4633
4634 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
4635
4636         * config/arm/arm.c: General formatting tidy up.
4637
4638 2002-01-16  Graham Stott  <grahams@redhat.com>
4639
4640         * calls.c (try_to_integrate): Use "(size_t)" intermediate
4641         cast and when casting an integer literal to "rtx" pointer.
4642         (expand_call): Likewise.
4643         * flow.c (try_pre_increment): Likewise.
4644         (find_use_as_address): Likewise.
4645         * integrate.c (expand_iline_function): Likewise.
4646         * regmove.c (try_auto_increment): Likewise.
4647
4648 2002-01-16  Graham Stott  <grahams@redhat.com>
4649
4650         * sched-rgn.c (passed): Use sbitmap_free.
4651         (header): Likewise.
4652         (inner): Likewise.
4653         (in_queue): Likewise.
4654         (in_stack): Likewise.
4655
4656 2002-01-15  Eric Christopher  <echristo@redhat.com>
4657
4658         * flow.c (propagate_one_insn): Change to use fatal_insn.
4659
4660 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4661
4662         * expmed.c (extract_fixed_bit_field): Remove unused code.
4663         * system.h: Poison SLOW_ZERO_EXTEND.
4664         * doc/tm.texi: Remove.
4665         * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
4666         * config/arm/arm.h: Likewise.
4667         * config/avr/avr.h: Likewise.
4668         * config/clipper/clipper.h: Likewise.
4669         * config/convex/convex.h: Likewise.
4670         * config/d30v/d30v.h: Likewise.
4671         * config/dsp16xx/dsp16xx.h: Likewise.
4672         * config/elxsi/elxsi.h: Likewise.
4673         * config/fr30/fr30.h: Likewise.
4674         * config/h8300/h8300.h: Likewise.
4675         * config/i370/i370.h: Likewise.
4676         * config/i386/i386.h: Likewise.
4677         * config/m68k/m68k.h: Likewise.
4678         * config/mips/mips.h: Likewise.
4679         * config/ns32k/ns32k.h: Likewise.
4680         * config/pdp11/pdp11.h: Likewise.
4681         * config/pj/pj.h: Likewise.
4682         * config/s390/s390.h: Likewise.
4683         * config/sh/sh.h: Likewise.
4684         * config/stormy16/stormy16.h: Likewise.
4685         * config/v850/v850.h: Likewise.
4686         * config/vax/vax.h: Likewise.
4687         * config/we32k/we32k.h: Likewise.
4688
4689 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
4690
4691         * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
4692         (altivec_lvsl): Change constraint to b.
4693         (altivec_lvsr): Same.
4694         (altivec_lvebx): Same.
4695         (altivec_lvehx): Same.
4696         (altivec_lvewx): Same.
4697         (altivec_lvxl): Same.
4698         (altivec_lvx): Same.
4699         (altivec_stvx): Add parallel.
4700         (altivec_stvxl): Same.
4701         (altivec_stvehx): Same.
4702         (altivec_stvebx): Same.
4703         (altivec_stvebx): Same.
4704
4705 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
4706
4707         * config.gcc: Change altivec.h to altivec-defs.h.
4708
4709         * config/rs6000/altivec.h: Delete.
4710
4711         * config/rs6000/altivec-defs.h: Add.
4712
4713 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4714
4715         * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
4716         and UMOD modes.
4717
4718         * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
4719         less than or equal to eight bytes.
4720
4721         * vax.md (andsi3): Remove constraints and change SET destination
4722         operand type to nonimmediate_operand.
4723         (andhi3, andqi3): Likewise.  Don't clear high order bits of operand 1
4724         when it is a CONST_INT.
4725
4726 2002-01-15  Jason Merrill  <jason@redhat.com>
4727
4728         * c-common.def (FILE_STMT): New code.
4729         * c-common.c (statement_code_p): It's a statement.
4730         * c-common.h (stmt_tree_s): Add x_last_filename.
4731         (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
4732         (last_expr_filename): New macro.
4733         * c-semantics.c (begin_stmt_tree): Initialize it.
4734         (add_stmt): If the filename changed, also insert a
4735         FILE_STMT.
4736         (expand_stmt): Handle seeing one.
4737
4738 2002-01-15  Eric Christopher  <echristo@redhat.com>
4739
4740         * flow.c (propagate_one_insn): Add error message and print out
4741         insn for debugging.
4742
4743 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
4744
4745         * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
4746         ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
4747         * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
4748         TRAMPOLINE_ALIGNMENT.
4749         * config/arm/arm.h, config/mcore/mcore.h: Likewise.  Change value
4750         to be in bits.
4751         * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
4752         PCC_BITFIELD_TYPE_MATTERS.
4753         * config/interix.h (STDC_VALUE): Remove.  Use
4754         STDC_0_IN_SYSTEM_HEADERS.
4755         * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
4756         (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
4757         ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
4758
4759 2002-01-15  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4760
4761         * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
4762         not work on this platform currently.
4763
4764 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
4765
4766         * c-typeck.c (build_unary_op): Don't wrap msgid argument of
4767         readonly_warning in _().
4768
4769 2002-01-15  Douglas B Rupp  <rupp@gnat.com>
4770
4771         * gcc.c (delete_if_ordinary): Backout previous change.
4772
4773 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4774
4775         * config/h8300/h8300.c (print_operand): Remove support for
4776         unused operand characters.
4777
4778         * read-rtl.c: Fix formatting.
4779         * real.c: Likewise.
4780         * recog.c: Likewise.
4781         * regclass.c: Likewise.
4782         * regmove.c: Likewise.
4783         * reg-stack.c: Likewise.
4784         * reload1.c: Likewise.
4785         * rtlanal.c: Likewise.
4786
4787 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4788
4789         * config/i386/i386.c: Fix formatting.
4790
4791 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
4792
4793         * c-typeck.c (process_init_element): Don't save_expr
4794         COMPOUND_LITERAL_EXPR if just its initializer will be used.
4795
4796 2002-01-15  David Edelsohn  <edelsohn@gnu.org>
4797
4798         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
4799         emit optional traceback table if optimize_size or TARGET_ELF.
4800         * config/rs6000/rs6000.md (prefetch): New.
4801
4802 2002-01-15  Andreas Jaeger  <aj@suse.de>
4803
4804         * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
4805
4806 2002-01-15  Kazu Hirata  <kazu@hxi.com>
4807
4808         * mips-tfile.c: Fix formatting.
4809
4810 Tue Jan 15 00:56:11 CET 2002  Jan Hubicka  <jh@suse.cz>
4811
4812         * unroll.c (final_reg_note_copy): Fix previous commit.
4813
4814 2002-01-14  Kazu Hirata  <kazu@hxi.com>
4815
4816         * config/h8300/h8300-protos.h: Remove the prototype for
4817         eq_operator.
4818         * config/h8300/h8300.c (eq_operator): Remove.
4819
4820 2002-01-14  Richard Henderson  <rth@redhat.com>
4821
4822         * config/i386/i386.md (prefetch): Tidy.
4823         (prefetch_3dnow): Fix locality operand.
4824
4825 2002-01-14  Richard Henderson  <rth@redhat.com>
4826
4827         * config/mips/mips.h (HI_AND_FP_REGS): New register class.
4828         (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
4829
4830 2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>
4831
4832         * reload1.c (reload_combine): Pass reg_sum replacement through
4833         copy_rtx in loop performing multiple changes.
4834
4835 2002-01-14  Jakub Jelinek  <jakub@redhat.com>
4836
4837         * except.c (remove_unreachable_regions): New.
4838         (free_eh_status): Clear exception_handler_labels.
4839         (convert_from_eh_region_ranges): Call remove_unreachable_regions.
4840         (find_exception_handler_labels): Don't add the same label more than
4841         once.
4842         (remove_exception_handler_label): Don't die if
4843         find_exception_handler_labels hasn't been called for the current
4844         function yet.
4845
4846 Mon Jan 14 21:26:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4847
4848         * toplev.c (rest_of_compilation): Rebuild jump labels after
4849         gcse.
4850
4851 2002-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
4852
4853         * doc/extend.texi: Move documentation of X86 built-in functions
4854         here.
4855         * doc/invoke.texi: From here.
4856         * doc/sourcebuild.texi: Document location of documentation for
4857         machine built-in functions.
4858
4859 2002-01-13  Christopher Faylor  <cgf@redhat.com>
4860
4861         * cppfiles.c (TEST_THRESHOLD): New macro.
4862         (SHOULD_MMAP): Ditto.
4863         (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
4864         be used.
4865
4866 Mon Jan 14 20:23:34 CET 2002  Jan Hubicka  <jh@suse.cz>
4867
4868         * unroll.c (final_reg_note_copy): Properly handle
4869         REG_LABEL
4870         (unroll_loops): Fix LOOP_CONDITION heuristics.
4871
4872 2002-01-14  Geoffrey Keating  <geoffk@redhat.com>
4873
4874         * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
4875         * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
4876
4877 Mon Jan 14 20:18:19 CET 2002  Jan Hubicka  <jh@suse.cz>
4878
4879         * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
4880         threaded loop.
4881
4882 2002-01-14  Tom Rix  <trix@redhat.com>
4883
4884         * config/rs6000/rs6000.md: Fix typo with sradi.
4885
4886 2002-01-14  Ulrich Weigand  <uweigand@de.ibm.com>
4887
4888         * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
4889         movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
4890         (clrstrdi, clrstrsi): Adapt callers.
4891
4892         (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
4893
4894         (movti splitter): Never use register 0 as base register.
4895
4896 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
4897
4898         * combine.c (simplify_shift_const): Always generate new rtx
4899         for shift expression instead of reusing given expression.
4900
4901 Mon Jan 14 07:08:55 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4902
4903         * config/alpha/alpha.c (alpha_expand_mov): Don't call
4904         alpha_legitimize_address unless mode is Pmode.
4905
4906 2002-01-13  Geoffrey Keating  <geoffk@redhat.com>
4907
4908         * doc/md.texi (Modifiers): Document the '*' constraint for the
4909         user.
4910
4911         * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
4912         * doc/extend.texi (Function Attributes): 'interrupt' is valid
4913         for xstormy16 too.
4914
4915 2002-01-13  Richard Henderson  <rth@redhat.com>
4916
4917         * reload.c (find_reloads): Use a hard reg destination as reload reg
4918         for an input reload of the source.
4919
4920 2002-01-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4921
4922         * doc/install.texi (Binaries): Make link to ftp.writtenword.com
4923         more generic.
4924
4925 Sun Jan 13 07:23:01 2002  Douglas B Rupp  <rupp@gnat.com>
4926
4927         * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
4928         * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
4929
4930         * config/alpha/x-vms (USE_COLLECT2): Set to empty.
4931
4932 Sun Jan 13 06:55:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4933
4934         * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
4935
4936 2002-01-12  Tom Rix  <trix@redhat.com>
4937
4938         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
4939         TARGET_POWERPC64.
4940
4941 2002-01-12  Richard Henderson  <rth@redhat.com>
4942
4943         * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
4944
4945         * doc/invoke.texi: Update Alpha options.
4946
4947         * doc/invoke.texi: Update i386 built-in function lists.
4948
4949 Sat Jan 12 17:38:11 CET 2002  Jan Hubicka  <jh@suse.cz>
4950
4951         * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
4952         referencing outside.
4953
4954 Sat Jan 12 08:54:51 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4955
4956         * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
4957         * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
4958         offsets, and change line folding.
4959         * optabs.c (expand_binop): Remove warnings.
4960         * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
4961
4962 2002-01-12  Graham Stott <grahams@redhat.com>
4963
4964         * attribs.c (handle_deprecated_attribute): constify WHAT.
4965         * diagnostic.c (warn_deprecated_use): Add braces, fixes
4966         dangling else warning and constify WHAT.
4967         * except.h (struct function, struct inline_remap): Move
4968         struct tag forward defs before all prototypes.
4969         (duplicate_eh_regions): Whitespace.
4970
4971 2002-01-12  Nick Clifton  <nickc@cambridge.redhat.com>
4972
4973         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
4974         MODE_BASE_REG_CLASS.
4975         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
4976
4977 2002-01-12  Richard Henderson  <rth@redhat.com>
4978
4979         * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
4980         (ix86_expand_vector_move): New.
4981         (bdesc_2arg): Remove andps, andnps, orps, xorps.
4982         (ix86_init_mmx_sse_builtins): Make static.  Remove composite builtins.
4983         Remove old prefetch builtins.  Special case the logicals removed above.
4984         (ix86_expand_builtin): Likewise.
4985         (safe_vector_operand): Use V4SFmode, not TImode.
4986         (ix86_expand_store_builtin): Remove shuffle arg.  Update callers.
4987         (ix86_expand_timode_binop_builtin): New.
4988         * config/i386/i386-protos.h: Update.
4989         * config/i386/i386.h (enum ix86_builtins): Update.
4990         * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
4991         Use ix86_expand_vector_move in vector move expanders.
4992         (movti_internal, movti_rex64): Add xorps alternative.
4993         (sse_clrv4sf): Rename and adjust from sse_clrti.
4994         (prefetch): Don't work so hard.
4995         (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
4996         * config/i386/xmmintrin.h (__m128): Use V4SFmode.
4997         (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
4998
4999 2002-01-11  Richard Henderson  <rth@redhat.com>
5000
5001         * config/i386/mmintrin.h: New file.
5002         * config/i386/xmmintrin.h: New file.
5003         * config.gcc (i?86-*-*): Add extra_headers.
5004         * simplify-rtx.c (simplify_unary_operation): Handle saturating
5005         truncation codes.
5006         (simplify_binary_operation): Handle saturating arithmetic codes.
5007         * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
5008         not the lowpart subreg.
5009         (ix86_expand_builtin): Return a TImode dummy register instead of 0
5010         on error.
5011         * config/i386/i386.md (mmx_clrdi): Override memory attribute.
5012
5013 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5014
5015         * conflict.c (conflict_graph_compute): Free regsets when finished.
5016         * ssa.c (compute_coalesced_reg_partition): Likewise.
5017
5018 2002-01-12  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5019
5020         * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
5021         every where we allocate a register.
5022
5023 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5024
5025         * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
5026         * lcm.c (compute_earliest, compute_farthest): Likewise.
5027
5028 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
5029
5030         * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
5031
5032 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
5033
5034         * doc/rtl.texi (Insns): Fix 2 typos.
5035
5036 2002-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5037
5038         * doc/invoke.texi: Avoid overfull hboxes.  Add summary of D30V
5039         options.  Use @table @gcctabopt for MMIX options.  Add index
5040         entries for MMIX options.  Start new paragraph with first
5041         heading of the machine-dependent options.
5042
5043 2002-01-11  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5044
5045         PR other/5299
5046         * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
5047         * combine.c (force_to_mode): Same.
5048         * reload1.c (clear_reload_reg_in_use): Same.
5049
5050 2002-01-11  Nick Clifton  <nickc@cambridge.redhat.com>
5051
5052         * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
5053         and 'subtargets'.
5054
5055 2002-01-11  Andreas Jaeger  <aj@suse.de>,
5056             Brad Lucier <lucier@math.purdue.edu>
5057
5058         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
5059         mcpu.
5060
5061 Fri Jan 11 07:35:12 2002  Douglas B Rupp  <rupp@gnat.com>
5062
5063         * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
5064         Protect with IN_LIBGCC.
5065         (LINK_EH_SPEC): Add required trailing space.
5066
5067 Fri Jan 11 09:25:05 2002  Nicola Pero  <n.pero@mi.flashnet.it>
5068
5069         * c-tree.h: Move function declarations so that they are listed
5070         under the filename which contains them.
5071         (check_identifier, finish_decl_top_level,
5072         lookup_name_current_level_global, shadow_record_fields): Remove.
5073
5074 2002-01-11  Andreas Jaeger  <aj@suse.de>
5075
5076         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
5077         march.
5078
5079 2002-01-10  Richard Henderson  <rth@redhat.com>
5080
5081         * config/alpha/alpha.c (print_operand): Add 'J'.
5082         * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
5083         new operand with the sequence number for the lituse.  When splitting
5084         the insns, use gen_movdi_er_high_g and generate a sequence number.
5085         (gen_movdi_er_high_g): Print the sequence number if non-zero.
5086
5087 2002-01-10  Aldy Hernandez  <aldyh@redhat.com>
5088
5089         * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
5090         lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
5091         stvxl.
5092         (altivec_expand_builtin): Same.
5093         (altivec_expand_stv_builtin): New.
5094
5095         * config/rs6000/rs6000.h (rs6000_builtins): Same.
5096
5097         * config/rs6000/rs6000.md ("altivec_lvebx"): New.
5098         ("altivec_lvehx"): New.
5099         ("altivec_lvewx"): New.
5100         ("altivec_lvxl"): New.
5101         ("altivec_lvx"): New.
5102         ("altivec_stvx"): New.
5103         ("altivec_stvebx"): New.
5104         ("altivec_stvehx"): New.
5105         ("altivec_stvewx"): New.
5106         ("altivec_stvxl"): New.
5107
5108 2002-01-10  Richard Henderson  <rth@redhat.com>
5109
5110         * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
5111         * reload1.c (delete_output_reload): Zap spill_reg_store.  Take
5112         care not to delete instructions twice.
5113
5114 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
5115
5116         * toplev.c: Don't declare environ (it's not used anywhere).
5117         * configure.in: Don't check for declaration of environ.
5118         * config/i386/xm-mingw32.h: Don't #define environ.
5119         * config.in, configure: Regenerate.
5120
5121 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
5122
5123         * configure.in: Set stage1_cflags for powerpc-*-darwin*.
5124         * configure: Regenerate.
5125
5126         * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
5127         DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
5128         * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
5129         alpha/xm-vms.h.
5130         * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
5131         LIMITS_H_TEST here, not in m68k/x-next.
5132         * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
5133         SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
5134
5135         * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
5136         LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
5137         * config/alpha/x-vms: Don't set USE_COLLECT2.  Add comments.
5138
5139         * config/i386/x-djgpp: Renamed i386/t-djgpp.
5140         * config/m88k/x-dolph: Renamed m88k/t-dolph.
5141         * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
5142         * config/pa/x-pa-mpeix: Renamed pa/t-mpeix.  Update for
5143         replacement of quadlib.asm with quadlib.c.
5144
5145         * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
5146         config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
5147         config/rs6000/xm-beos.h: Delete file.
5148
5149         * config.gcc: Update to match above changes.
5150
5151 2002-01-10  Kazu Hirata  <kazu@hxi.com>
5152
5153         * config/h8300/h8300.h: Fix comment typos.
5154         * config/h8300/h8300.md: Likewise.
5155         * config/h8300/lib1funcs.asm: Likewise.
5156
5157 2002-01-10  Dale Johannesen  <dalej@apple.com>
5158
5159         PR optimization/5269
5160         * unroll.c (precondition_loop_p): Make *increment be the correct
5161         sign when n_iterations known, to avoid confusing caller.
5162
5163 2002-01-10  Kazu Hirata  <kazu@hxi.com>
5164
5165         * doc/extend.texi (deprecated): Fix a typo.
5166
5167 Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5168
5169         * basic-block.h (update_br_prob_note): Declare.
5170         * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
5171         (try_forward_edges): Care negative frequencies and update note.
5172         (outgoing_edges_match): Tweek conditional merging heuristics.
5173         (try_crossjump_to_edge): use update_br_prob_note.
5174         * cfglayout.c (fixup_reorder_chain): Likewise.
5175         * cfrtl.c (update_br_prob_note): New.
5176         * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
5177
5178         * i386.c (ix86_decompose_address): Return -1 if address contains
5179         shift.
5180         (legitimate_address_p): Require ix86_decompose_address to return 1.
5181
5182         * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
5183         (cprop_insn): Likewise.
5184
5185 2002-01-10  Kazu Hirata  <kazu@hxi.com>
5186
5187         * toplev.c: Fix formatting.
5188         * tree.c: Likewise.
5189         * tree-dump.c: Likewise.
5190         * unroll.c: Likewise.
5191         * unwind-dw2.c: Likewise.
5192         * unwind-dw2-fde.c: Likewise.
5193         * unwind-dw2-fde-glibc.c: Likewise.
5194         * unwind-sjlj.c: Likewise.
5195
5196 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
5197
5198         * doc/invoke.texi: Document PDP-11 options.
5199
5200 2002-01-10  Kazu Hirata  <kazu@hxi.com>
5201
5202         * config/h8300/h8300.h: Fix formatting.
5203
5204 2002-01-10  Ira Ruben   <ira@apple.com>
5205
5206         Add __attribute__ ((deprecated)).
5207         * extend.texi: Document __attribute__ ((deprecated)).
5208         * invoke.texi: Document -Wno-deprecated-declarations.
5209         * testsuite/g++.dg/other/deprecated.C: New C++ test.
5210         * testsuite/gcc.dg/deprecated.c: New C test.
5211         * attribs.c (enum attrs): Declare handle_deprecated_attribute().
5212         (c_common_attribute_table): Add "deprecated" entry.
5213         (handle_deprecated_attribute): New function.
5214         * c-decl.c (deprecated_states): New enum.
5215         deprecated_state: State of "deprecated" handling.
5216         (start_decl): Set deprecated_state based on attributes.
5217         (grokdeclarator): Test for deprecated uses, propagate attribute.
5218         * c-typeck.c (build_component_ref): Test for deprecated fields.
5219         (build_external_ref): Test for deprecated primaries.
5220         * diagnostic.c (warn_deprecated_use) New function to issue
5221         warnings about __attribute__ ((depricated)) references.
5222         * flags.h (warn_deprecated_decl): Extern declared for
5223         -W[no-]deprecated-declarations option.
5224         * print-tree.c (print_node): Show deprecated flag status.
5225         * toplev.c (warn_deprecated_decl): Defined.
5226         (W_options): Added "deprecated-declaration".
5227         * toplev.h (warn_deprecated_use): Extern declared.
5228         * tree.h (struct tree_common): Define deprecated_flag.
5229         (TREE_DEPRECATED): New macro to access flag.
5230         * cp/call.c (build_call): Test for deprecated calls.
5231         * cp/class.c (add_implicitly_declared_members): Set global
5232         flag to tell grokdeclarator to not issue deprecated warnings.
5233         * cp/cp-tree.h: Add extern for adding_implicit_members.
5234         * cp/decl.c (deprecated_states): New enum.
5235         (start_decl): Set deprecated_state based on attributes.
5236         (grokdeclarator): Test for deprecated uses, propagate attribute.
5237         * cp/lex.c (do_identifier): Test for deprecated primaries.
5238         * cp/typeck.c (build_component_ref): Test for deprecated fields.
5239
5240 2002-01-10  Ira Ruben   <ira@apple.com>
5241
5242         Fix to assign attributes to inline member functions.
5243         * cp/decl.c (start_method): Handle attrlist.
5244
5245 2002-01-10  Kazu Hirata  <kazu@hxi.com>
5246
5247         * combine.c (expand_field_assignment): Use subreg_lsb().
5248
5249 2002-01-10  David Edelsohn  <edelsohn@gnu.org>
5250
5251         * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
5252         POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
5253         (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
5254         Recurse for any operand of AND as long as constant is non-zero.
5255
5256 2002-01-10  Kazu Hirata  <kazu@hxi.com>
5257
5258         * config/h8300/h8300.md: Remove constraints from expanders.
5259
5260 2002-01-10  Kazu Hirata  <kazu@hxi.com>
5261
5262         * varasm.c: Fix formatting.
5263         * varray.c: Likewise.
5264         * vmsdbgout.c: Likewise.
5265         * xcoffout.c: Likewise.
5266
5267 Thu Jan 10 17:19:12 CET 2002  Jan Hubicka  <jh@suse.cz>
5268
5269         * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
5270         update edge probabilities to match.
5271
5272 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
5273
5274         * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
5275         dependencies.
5276         * doc/languages.texi, doc/sourcebuild.texi: New files.
5277         * doc/configfiles.texi: Make a subsubsection.  Update.
5278         * doc/configterms.texi: Add @node.  Remove warning that this isn't
5279         instructions for building GCC.
5280         * doc/makefile.texi: Make a subsection.
5281         * doc/gccint.texi: Update.
5282
5283 Thu Jan 10 16:39:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5284
5285         * i386.md (sse_mov?fcc_const0_?): Fix constraints.
5286
5287 Thu Jan 10 12:45:50 2002  Nicola Pero  <n.pero@mi.flashnet.it>
5288
5289         * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
5290
5291 Thu Jan 10 11:19:18 CET 2002  Jan Hubicka  <jh@suse.cz>
5292
5293         * optabs.c (expand_fix): Look for wider integer modes first.
5294
5295         * i386.md (mov?f): Avoid the fake const double trick for medium
5296         memory model.
5297         (min?f*/max?f*): Prohibit memory operands for i387 variant.
5298         (fop_df_4): Disable for SSE compilation.
5299
5300 2002-01-10  Graham Stott  <grahams@redhat.com>
5301
5302         * dwarf2out.c (indirect_string_alloc, output_indirect_string):
5303         Move prototype into DWARF2_DEBUGGING_INFO conditional block.
5304
5305 2002-01-10  Richard Henderson  <rth@redhat.com>
5306
5307         * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
5308
5309 2002-01-10  Richard Henderson  <rth@redhat.com>
5310
5311         * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
5312         (copyprop_hardreg_forward_1): Likewise.  Use mode_change_ok.
5313
5314 2002-01-10  Kazu Hirata  <kazu@hxi.com>
5315
5316         * combine.c (can_combine_p): Fix a comment typo.
5317
5318 2002-01-09  Zack Weinberg  <zack@codesourcery.com>
5319
5320         * Makefile.in (s-gencheck, s-options, s-specs): Handle an
5321         empty list correctly.  Change loop index $t to $f for
5322         consistency with rest of Makefile.
5323
5324 2002-01-08  Aldy Hernandez  <aldyh@redhat.com>
5325
5326         * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
5327         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
5328
5329         * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
5330         mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
5331         (altivec_init_builtins): Same.
5332         (altivec_expand_unop_builtin): Return NULL_RTX on error.
5333         (altivec_expand_binop_builtin): Same.
5334         (altivec_expand_ternop_builtin): Same.
5335         (bdesc_dst): New.
5336
5337         * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
5338         ("altivec_vctuxs"): Fix typo.
5339         ("altivec_vnmsubfp"): Same.
5340         ("altivec_dssall"): New.
5341         ("altivec_mfvscr"): New.
5342         ("altivec_dss"): New.
5343         ("altivec_lvsl"): New.
5344         ("altivec_lvsr"): New.
5345         ("altivec_dstt"): New.
5346         ("altivec_dstst"): New.
5347         ("altivec_dststt"): New.
5348         ("altivec_dst"): New.
5349
5350         * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
5351         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
5352
5353 2002-01-09  Richard Henderson  <rth@redhat.com>
5354
5355         * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
5356
5357 2002-01-10  Hans-Peter Nilsson  <hp@bitrange.com>
5358
5359         * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
5360         function.
5361         * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
5362         prototype.
5363         * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
5364
5365 2002-01-09  Kazu Hirata  <kazu@hxi.com>
5366
5367         * read-rtl.c: Fix formatting.
5368         * real.c: Likewise.
5369         * regclass.c: Likewise.
5370         * regrename.c: Likewise.
5371         * reg-stack.c: Likewise.
5372         * reload1.c: Likewise.
5373         * reload.c: Likewise.
5374         * rtl.c: Likewise.
5375
5376 2002-01-09  Kazu Hirata  <kazu@hxi.com>
5377
5378         * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
5379         to extract items in the expr_list chain.
5380
5381 2002-01-09  Richard Henderson  <rth@redhat.com>
5382
5383         * config/vax/vax.c (vax_rtx_cost): Never abort.
5384
5385         * config/vax/vax.h (REAL_ARITHMETIC): Define.
5386
5387 2002-01-09  Jan Hubicka  <jh@suse.cz>
5388
5389         * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
5390
5391 2002-01-09  Richard Henderson  <rth@redhat.com>
5392
5393         * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
5394         Unify code from various alternatives.
5395
5396 2002-01-09  Richard Henderson  <rth@redhat.com>
5397
5398         * regrename.c (copy_value): Ignore the copy if the source register
5399         is present in the value chain with a narrower mode.
5400
5401 2002-01-09  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
5402
5403         * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
5404         for the c4x target. Also improve layout.
5405
5406 2002-01-09  Richard Henderson  <rth@redhat.com>
5407
5408         * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
5409         * config/m32r/m32r.md (and ior xor splitters): Swap operands
5410         to match insn patterns.
5411
5412 2002-01-09  Richard Henderson  <rth@redhat.com>
5413
5414         * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
5415         (copyprop_hardreg_forward_1): Likewise.
5416
5417 2002-01-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5418
5419         * pa.md (decrement_and_branch_until_zero): Change predicate for
5420         operand 0 from register_operand to reg_or_nonsymb_mem_operand.
5421
5422 2002-01-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
5423
5424         * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
5425         gets undefined. For Darwin.
5426
5427 2002-01-09  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5428
5429         * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
5430
5431 2002-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5432
5433         * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
5434
5435 2002-01-08  Richard Henderson  <rth@redhat.com>
5436
5437         * regrename.c (copy_value): Ignore overlapping copies.
5438
5439 2002-01-08  Richard Henderson  <rth@redhat.com>
5440
5441         * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
5442         as needed to avoid shared structure.
5443
5444 2002-01-08  Kazu Hirata  <kazu@hxi.com>
5445
5446         * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
5447         H8/300H and H8/S.
5448
5449 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
5450
5451         * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
5452         LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
5453         documentation of obsolete macros.
5454         * system.h: Poison these macros.
5455         * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
5456         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
5457         config/c4x/c4x.h, config/clipper/clipper.h,
5458         config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
5459         config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
5460         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
5461         config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
5462         config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
5463         config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
5464         config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
5465         config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
5466         config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
5467         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
5468         config/sparc/sparc.h, config/stormy16/stormy16.h,
5469         config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
5470         definitions and commented out definitions of obsolete macros.
5471         * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
5472         of MAX_INT_TYPE_SIZE.
5473
5474 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
5475
5476         * config/s390/s390.c (s390_preferred_reload_class): Never
5477         return ADDR_REGS if it isn't a subset of the given class.
5478         * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
5479         FP_REGS, but all superclasses as well.
5480
5481         * config/s390/s390.c (s390_function_profiler): Fix thinko.
5482
5483         * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
5484         cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
5485         must not be a const_int.
5486
5487 2002-01-08  Richard Henderson  <rth@redhat.com>
5488
5489         * Makefile.in (toplev.o): Depend on options.h.
5490         (gcc.o): Depend on specs.h.
5491
5492 2002-01-08  Jakub Jelinek  <jakub@redhat.com>
5493
5494         * expr.c (store_expr): Convert VOIDmode constants back to target's
5495         mode.
5496
5497 2002-01-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5498
5499         * doc/invoke.texi: Markup gcc as @command.  Refer to
5500         http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
5501         of http://gcc.gnu.org/thanks.html.
5502
5503 2002-01-08  Dale Johannesen  <dalej@apple.com>
5504
5505         * config/rs6000/rs6000.md: Add missing int register
5506         target case to movdf_low.
5507
5508 2002-01-08  Zack Weinberg  <zack@codesourcery.com>
5509
5510         * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
5511         except.h.  Remove commands to define USING_SJLJ_EXCEPTIONS.
5512         (cppinit.o): Depend on except.h.
5513         (gencheck.h, options.h, specs.h, s-gencheck, s-options,
5514         s-specs): New rules.
5515
5516         * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
5517         Don't create specs.h/options.h/gencheck.h here.  Remove
5518         unnecessary variable settings from last argument of AC_OUTPUT.
5519         * config.in, configure: Regenerate.
5520         * intl.c: Hardcode package name as "gcc".
5521
5522         * cppinit.c: Include except.h.
5523         (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
5524         appropriate.
5525         * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
5526         Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
5527         (!)USING_SJLJ_EXCEPTIONS.
5528         * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
5529
5530 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
5531
5532         * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
5533         ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
5534         OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
5535         documentation of obsolete macros.
5536         * system.h: Poison these macros.
5537         * config/d30v/d30v.h, config/ns32k/encore.h,
5538         config/stormy16/stormy16.h: Remove definitions and commented out
5539         definitions of obsolete macros.
5540
5541 Tue Jan  8 15:56:41 2002  Nicola Pero  <nicola@brainstorm.co.uk>
5542
5543         * objc/objc-act.c (handle_class_ref): Mark the declaration of
5544         %sobjc_class_ref_%s as used - to prevent unwanted compiler
5545         warnings.
5546
5547 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
5548
5549         * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
5550         * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
5551         to insn adjusting stack/frame pointer.
5552         * config/s390/s390.md (reload_la_64, reload_la_31): Do not
5553         accept operands that cause the insn to be non-splittable.
5554
5555 2002-01-08  Graham Stott  <grahams@redhat.com>
5556
5557         * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
5558         (C_TYPE_FIELDS_VOLATILE): Likewise.
5559         (C_TYPE_BEING_DEFINED): Likewise.
5560         (C_IS_RESERVED_WORD): Likewise.
5561         (C_TYPE_VARIABLE_SIZE): Likewise.
5562         (C_DECL_VARIABLE_SIZE): Likewise.
5563         (C_MISSING_PROTOTYPE_WARNED): Likewise.
5564         (C_SET_EXP_ORIGINAL_CODE): Likewise.
5565         (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
5566         parenthesis.
5567         (C_DECL_ANTICIPATED): Likewise.
5568         (c_build_type_variant): Add parenthesis.
5569
5570 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
5571
5572         * gcc.c (option_map): Remove --version.
5573         (process_command): Handle -fversion following the GNU Coding
5574         Standards.  Partially addresses PR other/704.
5575
5576 2002-01-08  Graham Stott  <grahams@redhat.com>
5577
5578         * combine.c (combine_instructions): Fix typo.
5579
5580 2002-01-08  Graham Stott  <grahams@redhat.com>
5581
5582         * debug.h: Use "tree" and "rtx" throughout.
5583
5584         * debug.c: Likewise.
5585
5586 2002-01-08  Nick Clifton  <nickc@cambridge.redhat.com>
5587
5588         * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
5589         constant pool, use the pool's version of the symbol instead.
5590
5591 2002-01-07  Richard Henderson  <rth@redhat.com>
5592
5593         * regrename.c (find_oldest_value_reg): Ignore the value chain if
5594         the original register was copied in a mode with a fewer number of
5595         hard registers than the desired mode.
5596         (copyprop_hardreg_forward_1): Likewise.
5597         (debug_value_data): Fix loop test.
5598         * toplev.c (parse_options_and_default_flags): Reenable
5599         -fcprop-registers at -O1.
5600
5601 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
5602
5603         * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
5604         (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
5605
5606         * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
5607         predicates.
5608
5609         * config/rs6000/rs6000.md: Add altivec predicate patterns.
5610
5611 2002-01-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5612
5613         * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
5614         (pa_output_function_prologue): Output local label at the beginning of
5615         the prologue when profiling.
5616         (hppa_profile_hook): Use the local label rather than the function label.
5617         * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
5618
5619 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
5620
5621         * config/rs6000/rs6000.c (print_operand): Remove extra space.
5622         (altivec_expand_unop_builtin): Fix thinko.
5623         (altivec_expand_binop_builtin): Same.
5624         (altivec_expand_ternop_builtin): Same.
5625         (altivec_expand_builtin): Same.
5626
5627 2002-01-07  Richard Henderson  <rth@redhat.com>
5628
5629         * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
5630
5631 2002-01-07  Jason Merrill  <jason@redhat.com>
5632
5633         * unwind-dw2.c (execute_cfa_program): Use < again.
5634
5635 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
5636
5637         * predict.c (combine_predictions_for_insn): Avoid division by zero.
5638
5639 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
5640
5641         * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
5642         Don't allow -1 - x -> ~x simplifications in the first pass.
5643
5644 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
5645
5646         * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
5647         arguments.
5648         (altivec_expand_binop_builtin): Same.
5649         (altivec_expand_unop_builtin): Same.
5650         (print_operand): Fix typo.
5651         (bdesc_1arg): Add vupk* variants.
5652
5653         * rs6000.h (rs6000_builtins): Add vupk* enums.
5654
5655         * rs6000.md: Add altivec_vupk* variants.
5656
5657 2002-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5658
5659         * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
5660         doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
5661         and last update dates.
5662
5663 2002-01-07  Janis Johnson  <janis187@us.ibm.com>
5664
5665         * doc/rtl.texi (Flags): Clean up documentation of RTL flags
5666
5667 2002-01-07  Marek Michalkiewicz  <marekm@amelek.gda.pl>
5668
5669         * config/avr/avr.c (avr_mcu_types): Add new MCU types.
5670         * config/avr/avr.h (CPP_SPEC): Likewise.
5671         (LINK_SPEC): Likewise.
5672         (CRT_BINUTILS_SPECS): Likewise.
5673         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
5674         * doc/invoke.texi (AVR Options): Document them.
5675
5676 Mon Jan  7 11:59:34 CET 2002  Jan Hubicka  <jh@suse.cz>
5677
5678         * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
5679         LABEL_NUSES.
5680
5681 2002-01-07  Graham Stott  <grahams@redhat.com>
5682
5683         * config/i386/i386.h: Update copyright date.
5684         (HALF_PIC_PTR): Add parenthesis.
5685         (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
5686         (CONSTANT_ALIGNMENT): Add parenthesis.
5687         (DATA_ALIGNMENT): Likewise.
5688         (LOCAL_ALIGNMENT): Likewise.
5689         (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
5690         (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
5691         (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
5692         (HARD_REGNO_NREGS): Add paranethesis.
5693         (VALID_SSE_REG_MODE): Whitespace.
5694         (VALID_MMX_REG_MODE): Whitespace.
5695         (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
5696         (ix86_hard_regno_mode_ok): Add parenthesis.
5697         (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
5698         (RETURN_IN_MEMORY): Whitespace.
5699         (N_REG_CLASSES): Add parenthesis.
5700         (INTEGER_CLASS_P): Add parenthesis and wrap.
5701         (FLOAT_CLASS_P): Likewise.
5702         (SSE_CLASS_P): Likewise.
5703         (MMX_CLASS_P): Likewise.
5704         (MAYBE_INTEGER_CLASS_P): Likewise.
5705         (MAYBE_FLOAT_CLASS_P): Likewise.
5706         (MAYBE_SSE_CLASS_P): Likewise.
5707         (MAYBE_MMX_CLASS_P): Likewise.
5708         (Q_CLASS_P): Likewise.
5709         (GENERAL_REGNO_P): Uppercase macro parameter.
5710         (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
5711         (FP_REGNO_P): Likewise.
5712         (ANY_FP_REGNO_P): Uppercase macro parameter.
5713         (SSE_REGNO_P): Likewise.
5714         (SSE_REGNO): Likewise.
5715         (SSE_REG_P): Likewise.
5716         (SSE_FLOAT_MODE_P): Likewise.
5717         (MMX_REGNO_P): Likewise.
5718         (MMX_REG_P):Likewise.
5719         (STACK_REG_P): Likewise.
5720         (NON_STACK_REG_P): Likewise.
5721         (STACK_TOP_P): Likewise.
5722         (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
5723         (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
5724         (SECONDARY_MEMORY_NEEDED): Likewise.
5725         (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
5726         (MD_ASM_CLOBBERS): Whitespace and wrap.
5727         (MUST_PASS_IN_STACK): Whitespace and wrap.
5728         (RETURN_POPS_ARGS): Add parenthesis.
5729         (INIT_CUMULATIVE_ARGS): Likewise.
5730         (FUNCTION_ARG): Likewise.
5731         (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
5732         (SETUP_INCOMING_VARARGS): Likewise.
5733         (BUILD_VA_LIST_TYPE):  Add parenthesis.
5734         (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
5735         parenthsis.
5736         (EXPAND_BUILTIN_VA_ARG): Likewise.
5737         (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
5738         (INITIALIZE_TRAMPOLINE): Add parenthesis.
5739         (INITIAL_ELIMINATION_OFFSET): Likewise.
5740         (REGNO_OK_FOR_INDEX_P): Add parenthesis.
5741         (REGNO_OK_FOR_BASE_P): Likewise.
5742         (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
5743         (REGNO_OK_FOR_DIREG_P): Likewise.
5744         (REG_OK_FOR_INDEX_P): Whitespace.
5745         (REG_OK_FOR_BASE_P): Whitespace.
5746         (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
5747         parenthesis.
5748         (FIND_BASE_TERM): Fix typo.
5749         (LEGITIMIZE_ADDRESS): Wrap in  { .. } while (0) and add parenthesis.
5750         (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
5751         (SYMBOLIC_CONST; Whitespace.
5752         (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in  { .. } while (0) and wrap.
5753         (ENCODE_SECTION_INFO): Whitespace.
5754         (FINALIZE_PIC): Remove do { ... } while (0).
5755         (PROMOTE_MODE): Wrap in do { ... } while (0).
5756         (CONST_COSTS): Whitespace.
5757         (RTX_COSTS): Add paramethesis, whitespace and wrap.
5758         (REGISTER_MOVE_COST): Add parenthesis.
5759         (MEMORY_MOVE_COST): Likewise.
5760         (EXTRA_CC_MODES): Whitespace.
5761         (SELECT_CC_MODE): Add parenthesis and whitespace.
5762         (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
5763         (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
5764         (ASM_OUTPUT_LABEL): Add paramethesis.
5765         (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
5766         (ASM_OUTPUT_REG_POP): Likewise.
5767         (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
5768         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5769
5770         * config/i386/i386.c: Update copyright.
5771         (CHECK_STACK_LIMIT): Add parenthesis.
5772         (AT_BP): Uppercase macro parameter.
5773         (x86_64_int_parameter_registers): Constify.
5774         (x86_64_int_return_registers): Likewise.
5775         (ix86_compare_op0): Use rtx.
5776         (construct_container): Constify INTREG parameter.
5777         (function_arg): Use rtx.
5778
5779         * diagnostic.h: Update copyright date.
5780         (output_buffer_state): Add parenthesis.
5781         (output_buffer_format_args): Likewise.
5782
5783         * combine.c (combine_instructions): Replace XEXP (links, 0)
5784         with link.
5785
5786 2002-01-06  H.J. Lu <hjl@gnu.org>
5787
5788         * cfgcleanup.c (thread_jump): Fix 2 typos.
5789
5790 2002-01-06  Aldy Hernandez  <aldyh@redhat.com>
5791
5792         * config.gcc: Add support for --enable-altivec.
5793
5794 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5795
5796         * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
5797
5798 2002-01-06  Jakub Jelinek  <jakub@redhat.com>
5799
5800         * objc/objc-act.c (handle_impent): Use assemble_variable to emit
5801         __objc_class_name_*.
5802
5803 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5804
5805         * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
5806
5807 2002-01-06  Richard Henderson  <rth@redhat.com>
5808
5809         * reorg.c (emit_delay_sequence): Remove death notes, not merely
5810         nop them out.  Increment label reference count for REG_LABEL.
5811         (fill_slots_from_thread): Frob label reference count around
5812         delete_related_insns.
5813
5814 2002-01-05  Richard Henderson  <rth@redhat.com>
5815
5816         * cfgcleanup.c (try_forward_edges): Detect infinite loops while
5817         jump threading.
5818
5819 2002-01-05  Richard Henderson  <rth@redhat.com>
5820
5821         * c-decl.c (c_expand_body): Don't call outlining_inline_function.
5822         * integrate.c (output_inline_function): Likewise.
5823         * toplev.c (rest_of_compilation): Do it here instead.  Move call
5824         to remove_unnecessary_notes after emitting abstract instance.
5825         Force an emitted nested function to have its parent emited as well.
5826         * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
5827         for null.
5828         (rtl_for_decl_location): Do not look at reload data structures
5829         before reload has run.
5830
5831 2002-01-05  Kazu Hirata  <kazu@hxi.com>
5832
5833         * cse.c: Fix formatting.
5834         * dwarf2asm.c: Likewise.
5835         * dwarf2out.c: Likewise.
5836         * explow.c: Likewise.
5837         * expmed.c: Likewise.
5838         * function.c: Likewise.
5839         * gcov.c: Likewise.
5840         * gencheck.c: Likewise.
5841         * genrecog.c: Likewise.
5842         * ggc-common.c: Likewise.
5843         * ggc-page.c: Likewise.
5844         * global.c: Likewise.
5845
5846 2002-01-05  Kazu Hirata  <kazu@hxi.com>
5847
5848         * combine.c: Fix formatting.
5849
5850 2002-01-05  Craig Rodrigues  <crodrigu@bbn.com>
5851
5852         PR middle-end/1557
5853         * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
5854
5855 2002-01-05  David Edelsohn  <edelsohn@gnu.org>
5856
5857         * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
5858         as 1 for __powerpc64__ as well.
5859
5860         * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
5861
5862         * alias.c (find_base_value, PLUS/MINUS): If we found a base,
5863         return it.
5864
5865 2002-01-05  Daniel Berlin  <dan@dberlin.org>
5866
5867         * lcm.c: Revert change, due to performance regression it causes on
5868         SPEC because it's slightly more conservative (sigh, I hate
5869         edge-based LCM).
5870
5871 Sat Jan  5 11:52:05 CET 2002  Jan Hubicka  <jh@suse.cz>
5872
5873         * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
5874
5875 2002-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
5876
5877         * doc/cppinternals.texi: Update.
5878
5879 2002-01-05  Hans-Peter Nilsson  <hp@bitrange.com>
5880
5881         * doc/invoke.texi (Option Summary) <MMIX Options>: Document
5882         -mbranch-predict, -mreg-stack-fill-bug-workaround and their
5883         negatives.
5884         (MMIX Options): Ditto.  Fix item/itemx typo for -mno-zero-extend.
5885         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
5886         kludge for pre-october-14th mmix versions to handle new-found bug
5887         with PUSHJ/PUSHGO and the register stack.
5888         * config/mmix/mmix.h (struct machine_function): Rename member
5889         has_call_value_without_parameters to has_call_without_parameters.
5890         All referers changed.
5891         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
5892         TARGET_MASK_BRANCH_PREDICT): New macros.
5893         (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
5894         -mno-reg-stack-fill-bug-workaround.
5895         * config/mmix/mmix.md ("call"): Set struct machine member
5896         has_call_without_parameters.
5897
5898 Sat Jan  5 02:20:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5899
5900         * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
5901
5902 Sat Jan  5 01:35:29 CET 2002  Jan Hubicka  <jh@suse.cz>
5903
5904         * cfgcleanup.c: Include tm_p.h
5905         (mark_effect): Fix handling of hard register; fix handling of SET
5906
5907 2002-01-04  Kazu Hirata  <kazu@hxi.com>
5908
5909         * config/h8300/h8300.md (anonymous patterns): Check that
5910         operands are registers before using REGNO on them.
5911
5912 2002-01-03  Roland McGrath  <roland@frob.com>
5913
5914         * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
5915
5916 2002-01-04  Jakub Jelinek  <jakub@redhat.com>
5917
5918         * tree.h (expand_expr_stmt_value): Add maybe_last argument.
5919         * c-common.h (genrtl_expr_stmt_value): Likewise.
5920         * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
5921         (expand_expr_stmt_value): Add maybe_last argument.
5922         Don't warn about statement with no effect if it is the last statement
5923         in expression statement.
5924         * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
5925         (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
5926         expand_expr_stmt_value.
5927         (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
5928         genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
5929         * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
5930         as maybe_last to expand_expr_stmt_value.
5931
5932 Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)
5933
5934         * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
5935         be passed in, do not build it.
5936         (c_begin_if_stmt): New function.
5937         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
5938         * c-common.h (c_expand_start_cond): Update prototype.
5939         (c_begin_if_stmt): Prototype new function.
5940         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
5941         * c-parse.in (if_prefix): Use c_begin_if_stmt,
5942         c_begin_while_stmt and c_finish_while_stmt_cond.
5943
5944 2002-01-04  William Cohen  <wcohen@redhat.com>
5945
5946         * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
5947         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
5948         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
5949         * config/pa/som.h (ASM_FILE_START): Likewise.
5950
5951 2002-01-04  Daniel Berlin  <dan@cgsoftware.com>
5952
5953         * lcm.c: Include df.h.
5954         Add available_transfer_function prototype.
5955         (compute_available): Rework to use iterative dataflow framework.
5956         (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
5957         with bb_info in df.h
5958         (available_transfer_function): New function.
5959
5960         * Makefile.in (lcm.o): add df.h to dependencies.
5961
5962 2002-01-04  Richard Henderson  <rth@redhat.com>
5963
5964         * config/alpha/alpha.c (some_operand): Accept HIGH.
5965         (input_operand): Likewise; accept simple references to globals.
5966         (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
5967         (alpha_const_double_ok_for_letter_p): Likewise.
5968         (alpha_extra_constraint): Likewise.
5969         (alpha_preferred_reload_class): Likewise.  Do not force
5970         symbolic constants to memory.
5971         (alpha_legitimate_address_p): Accept simple references
5972         to small_symbolic_operand.
5973         (alpha_legitimize_address): New arg scratch.  Be prepared to be
5974         called when no_new_pseudos.  Emit simple symbolic references.
5975         Split integers into low, high, and rest.
5976         (alpha_expand_mov): Use alpha_legitimize_address.
5977         (some_small_symbolic_mem_operand): New.
5978         (split_small_symbolic_mem_operand): New.
5979         * config/alpha/alpha-protos.h: Update.
5980         * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
5981         (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
5982         (EXTRA_CONSTRAINT): Likewise.
5983         (PREFERRED_RELOAD_CLASS): Likewise.
5984         (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
5985         (PREDICATE_CODES): Update.
5986         * config/alpha/alpha.md: New post-reload splitters to convert
5987         simplfied symbolic operands to the form that references $29.
5988         (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
5989         (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
5990
5991 2002-01-03  Richard Henderson  <rth@redhat.com>
5992
5993         * local-alloc.c (function_invariant_p): Update commentary.
5994
5995 2002-01-04  H.J. Lu <hjl@gnu.org>
5996
5997         * toplev.c (rest_of_compilation): Fix a typo when calling
5998         cleanup_cfg.
5999
6000 2002-01-03  Kazu Hirata  <kazu@hxi.com>
6001
6002         * c-common.c: Fix formatting.
6003         * diagnostic.c: Likewise.
6004         * doloop.c: Likewise.
6005         * dwarf2out.c: Likewise.
6006
6007 2002-01-03  Kazu Hirata  <kazu@hxi.com>
6008
6009         * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
6010         of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
6011
6012 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
6013
6014         * cpperror.c: Update comments and copyright.
6015         * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
6016         cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
6017
6018 2002-01-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6019
6020         * collect2.c (main): Use strcmp when testing for "-shared".
6021
6022 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
6023
6024         * cppmacro.c: Don't include intl.h.  Update comments.
6025         (new_number_token): Allocate enough buffer for 64-bit unsigned
6026         integers; update prototype.
6027         * cppmain.c: Update comments.
6028
6029 2002-01-03  William Cohen  <wcohen@redhat.com>
6030
6031         * function.h (struct function): Add profile.
6032         (current_function_profile): New.
6033         doc/extend.texi: Update documentation.
6034         * final.c (final_start_function): Use current_function_profile
6035         instead of profile_flag.
6036         (profile_after_prologue): Likewise.
6037         * function.c (expand_function_start): Likewise.
6038         (expand_function_start): Likewise.
6039         * config/alpha/alpha.c (direct_call_operand):
6040         (alpha_does_function_need_gp): Likewise.
6041         (alpha_expand_prologue): Likewise.
6042         * config/arm/arm.c (arm_expand_prologue): Likewise.
6043         thumb_expand_prologue: Likewise.
6044         * config/d30v/d30v.c (d30v_stack_info): Likewise.
6045         * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
6046         (fr30_expand_prologue): Likewise.
6047         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
6048         * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
6049         * config/i386/i386.h (FINALIZE_PIC): Likewise.
6050         * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
6051         * config/i960/i960.c (i960_output_function_prologue): Likewise.
6052         * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
6053         * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
6054         (m32r_expand_prologue): Likewise.
6055         * config/m88k/m88k.c (m88k_layout_frame): Likewise.
6056         (m88k_expand_prologue): Likewise.
6057         * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
6058         * config/mips/mips.c (compute_frame_size): Likewise.
6059         (mips_expand_prologue): Likewise.
6060         (mips_can_use_return_insn): Likewise.
6061         * config/pa/elf.h (ASM_FILE_START): Likewise.
6062         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
6063         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
6064         * config/pa/som.h (ASM_FILE_START): Likewise.
6065         * config/romp/romp.c (romp_using_r14): Likewise.
6066         * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
6067         (rs6000_stack_info): Likewise.
6068         * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
6069         * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
6070         * config/v850/v850.c (compute_register_save_size): Likewise.
6071
6072 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
6073
6074         * simplify-rtx.c (simplify_binary_operation) [DIV]: If
6075         gen_lowpart_common fails, use gen_lowpart_SUBREG.
6076
6077 2002-01-03  Turly O'Connor  <turly@apple.com>
6078
6079         * darwin.c (machopic_output_possible_stub_label): Don't generate
6080         stub routines for pseudo-stubs which we've just defined.
6081
6082 2002-01-03  Kazu Hirata  <kazu@hxi.com>
6083
6084         * builtins.c: Fix formatting.
6085         * c-typeck.c: Likewise.
6086         * combine.c: Likewise.
6087         * expr.c: Likewise.
6088         * loop.c: Likewise.
6089
6090 2002-01-03  Andreas Schwab  <schwab@suse.de>
6091
6092         * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
6093         and return true if _cpp_push_next_buffer pushed a new include
6094         file.
6095         * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
6096         _cpp_pop_file_buffer did not push a new file.
6097         * cpphash.h (_cpp_pop_file_buffer): Update declaration.
6098
6099 2002-01-02  Eric Christopher  <echristo@redhat.com>
6100
6101         * final.c (final_scan_insn): Change 0 -> NULL_RTX in
6102         FIND_REG_INC_NOTE call. Update copyright.
6103         * loop.c (canonicalize_condition): Ditto.
6104         * reorg.c (delete_scheduled_jump): Ditto.
6105
6106 2002-01-03  Kazu Hirata  <kazu@hxi.com>
6107
6108         * gcse.c: Fix formatting.
6109
6110 2002-01-03  Graham Stott  <grahams@redhat.com>
6111
6112         * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
6113         forward defs for struct tags rtx_def, union_tree, rtvec_def
6114         also output corresponding typedefs for rtx, tree, and rtvec.
6115
6116         * system.h: Move forward defs for struct tags rtx_def, union_tree,
6117         rtvec_def along with corresponding typedefs for rtx, tree, and
6118         rtvec to config.h, hconfig.h, tconfig.h.
6119
6120 2002-01-03  Graham Stott  <grahams@redhat.com>
6121
6122         * tree.h: Update copyright date.
6123         (IS_EXPR_CODE_CLASS): Add parenthesis.
6124         (TREE_SET_CODE): Add whitespace.
6125         (TREE_CHECK): Add parenthesis.
6126         (TREE_CLASS_CODE): Add parenthesis and wrap long line.
6127         (CST_OR_CONSTRUCTOR_CHECK):
6128         (EXPR_CHECK): Add parenthis, whitespace and wrap line.
6129         (TREE_SYMBOL_REFERENCED): Whitespace.
6130         (INT_CST_LT): Likewise.
6131         (INT_CST_LT_UNSIGNED): Likewise.
6132         (tree_real_cst): Unwrap comment.
6133         (tree_string): Likewise.
6134         (tree_complex): Likewise.
6135         (IDENTIFIER_POINTER): correct cast.
6136         (SAVE_EXPR_CONTEXT): Whitespace.
6137         (EXPR_WFL_FILENAME_NODE): Likewise.
6138         (EXPR_WFL_FILENAME): Remove parenthesis.
6139         (DECL_ORIGIN): Add parenthesis.
6140         (DECL_FROM_INLINE): Use NULL_TREE.
6141         (build_int_2): Whitespace.
6142         (build_type_variant): Add parenthesis.
6143
6144         * gcc/jcf-parse.c: Update copyright date.
6145         (yyparse): Constify resource_filename.
6146
6147 2002-01-03  Graham Stott  <grahams@redhat.com>
6148
6149         * rtl.h: Update copyright date.
6150         (RTL_CHECK1): Wrap long line.
6151         (RTL_CHECK2): Likewise.
6152         (RTL_CHECKC1): Wrap long line and whitespace.
6153         (RTL_CHECKC2): Likewise.
6154         (XWINT): Whitespace.
6155         (XINT): Likewise.
6156         (XSTR): Likewise.
6157         (XEXP): Likewise.
6158         (XVEC): Likewise.
6159         (XMODE): Likewise.
6160         (XBITMAP): Likewise.
6161         (XTREE): Likewise.
6162         (XBBDEF): Likewise.
6163         (XTMPL): Likewise.
6164         (X0WINT): Likewise.
6165         (X0INT):Likewise.
6166         (X0UINT): Likewise.
6167         (X0STR): Likewise.
6168         (X0EXP): Likewise.
6169         (X0VEC): Likewise.
6170         (X0MODE): Likewise.
6171         (X0BITMAP): Likewise.
6172         (X0TREE): Likewise.
6173         (X0BBDEF): Likewise.
6174         (X0ADVFLAGS): Likewise.
6175         (X0CSELIB): Likewise.
6176         (X0MEMATTR): Likewise.
6177         (XCWINT): Likewise.
6178         (XCINT): Likewise.
6179         (XCUINT): Likewise.
6180         (XCSTR): Likewise.
6181         (XCEXP): Likewise.
6182         (XCVEC): Likewise.
6183         (XCMODE): Likewise.
6184         (XCBITMAP): Likewise.
6185         (XCTREE): Likewise.
6186         (XCBBDEF): Likewise.
6187         (XCADVFLAGS): Likewise.
6188         (XCCSELIB): Likewise.
6189         (XC2EXP): Likewise.
6190         (INSN_UID): Likewise.
6191         (PREV_INSN): Likewise.
6192         (PATTERN): Likewise.
6193         (INSN_CODE): Likewise.
6194         (PUT_REG_NOTE_KIND): Likewise.
6195         (CODE_LABEL_NUMBER): Likewise.
6196         (NOTE_SOURCE_FILE): Likewise.
6197         (NOTE_BLOCK): Likewise.
6198         (NOTE_EH_HANDLER): Likewise.
6199         (NOTE_RANGE_INFO): Likewise.
6200         (NOTE_LIVE_INFO): Likewise.
6201         (NOTE_BASIC_BLOCK): Likewise.
6202         (NOTE_EXPECTED_VALUE): Likewise.
6203         (NOTE_LINE_NUMBER): Likewise.
6204         (LABEL_NAME): Likewise.
6205         (LABEL_NUSES): Likewise.
6206         (LABEL_ALTERNATE_NAME): Likewise.
6207         (ADDRESSOF_DECL): Likewise.
6208         (JUMP_LABEL): Likewise.
6209         (LABEL_NEXTREF): Likewise.
6210         (REGNO): Likewise.
6211         (ORIGINAL_REGNO: Likewise.
6212         (HARD_REGISTER_NUM_P): Add parenthesis.
6213         (SUBREG_REG): Whitespace.
6214         (SUBREG_BYTE): Likewise.
6215         (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
6216         (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
6217         (ASM_OPERANDS_OUTPUT_IDX): Likewise.
6218         (ASM_OPERANDS_INPUT_VEC): Likewise.
6219         (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
6220         (ASM_OPERANDS_INPUT): Likewise.
6221         (ASM_OPERANDS_INPUT_LENGTH): Likewise.
6222         (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
6223         (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
6224         (ASM_OPERANDS_INPUT_MODE): Likewise.
6225         (ASM_OPERANDS_SOURCE_FILE): Likewise.
6226         (ASM_OPERANDS_SOURCE_LINE): Likewise.
6227         (MEM_SET_IN_STRUCT_P): Minor reformat.
6228         (TRAP_CONDITION): Whitespace.
6229         (TRAP_CODE): Likewise.
6230         (COND_EXEC_TEST): Likewise.
6231         (COND_EXEC_CODE): Likewise.
6232         (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
6233         (PHI_NODE_P): Add parenthesis.
6234         (plus_constant): Whitespace and add parenthesis.
6235
6236 2002-01-03  Kazu Hirata  <kazu@hxi.com>
6237
6238         * config/avr/avr.c: Fix comment typos.
6239         * config/c4x/c4x.md: Likewise.
6240         * config/dsp16xx/dsp16xx.h: Likewise.
6241         * config/dsp16xx/dsp16xx.md: Likewise.
6242         * config/i386/i386.md: Likewise.
6243         * config/ia64/ia64.c: Likewise.
6244         * config/m32r/m32r.h: Likewise.
6245         * config/m68hc11/m68hc11.md: Likewise.
6246         * config/mmix/mmix.c: Likewise.
6247         * config/mn10200/mn10200.c: Likewise.
6248         * config/romp/romp.c: Likewise.
6249         * config/sh/sh.c: Likewise.
6250         * config/stormy16/stormy16.c: Likewise.
6251         * config/stormy16/stormy16.h: Likewise.
6252         * config/stormy16/stormy16.md: Likewise.
6253
6254 2002-01-03  Graham Stott  <grahams@redhat.com>
6255
6256         * loop.h: Update copyright date.
6257         (LOOP_MOVABLES): Fix typo.
6258         (LOOP_REGS): Likewise.
6259         (LOOP_IVS): Likewise.
6260
6261 2002-01-03  Graham Stott  <grahams@redhat.com>
6262
6263         * cppinit.c: Update copyright date.
6264         Don't include output.h
6265         * Makefile.in: Update copyright date.
6266         Update dependency.
6267
6268 2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6269
6270         PR c/5226
6271         * invoke.texi (-mthreads): Remove from documented RS/6000 options.
6272         (-pthread) Add to RS/6000 options.
6273
6274 2002-01-02  Kazu Hirata  <kazu@hxi.com>
6275
6276         * except.c: Fix comment typos.
6277         * loop.c: Likewise.
6278         * varasm.c: Likewise.
6279         * doc/tm.texi: Fix a typo.
6280
6281 2002-01-02  Jakub Jelinek  <jakub@redhat.com>
6282
6283         * c-typeck.c (output_init_element): Allow initializing static storage
6284         duration objects with compound literals.
6285
6286 2002-01-02  Richard Henderson  <rth@redhat.com>
6287
6288         * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
6289         after abusing it.
6290
6291 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6292
6293         * gcc.c (default_compilers): Const-ify.
6294         * mips-tdump.c (stab_names): Likewise.
6295         * mips-tfile.c (map_coff_types, map_coff_storage,
6296         map_coff_sym_type, map_coff_derived_type, stabs_symbol,
6297         pseudo_ops_t, pseudo_ops): Likewise.
6298         * protoize.c (default_include): Likewise
6299
6300         * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
6301         (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
6302         Add array size in declaration.
6303         (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
6304         emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
6305         esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
6306         etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
6307         eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
6308         efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
6309         c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
6310         emtens, make_nan): Const-ify.
6311         (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
6312         DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
6313
6314 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
6315
6316         * config.gcc (ia64-*-*): Set extra_headers.
6317         (alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
6318         * config/alpha/t-osf: Remove.
6319         * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
6320
6321 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
6322
6323         * config/rs6000/t-aix43: Revert previous change.
6324
6325 2002-01-02  Jason Merrill  <jason@redhat.com>
6326
6327         * c-decl.c (c_expand_body): Call outlining_inline_function when
6328         emitting an inline function out of line.
6329
6330 2002-01-02  Richard Henderson  <rth@redhat.com>
6331
6332         * dwarf2out.c (limbo_die_node): Add created_for member.
6333         (new_die): New argument created_for.  Update all callers.
6334         (mark_limbo_die_list): New.
6335         (dwarf2out_init): Register limbo_die_list as a root.
6336         (dwarf2out_finish): Force insert limbo dies into their function
6337         context.
6338
6339 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
6340
6341         PR c++/5089
6342         * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
6343
6344 2002-01-02  Kazu Hirata  <kazu@hxi.com>
6345
6346         * config/h8300/fixunssfsi.c: Update copyright.
6347         Fix comment typos.
6348         Fix formatting.
6349         * config/h8300/h8300.c: Update copyright.
6350         Eliminate warnings.
6351
6352 2002-01-02  Kazu Hirata  <kazu@hxi.com>
6353
6354         * config/romp/romp.c: Fix comment formatting.
6355         * config/romp/romp.h: Likewise.
6356         * config/romp/romp.md: Likewise.
6357         * config/s390/s390.c: Likewise.
6358         * config/stormy16/stormy16.c: Likewise.
6359         * config/stormy16/stormy16.h: Likewise.
6360
6361 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
6362
6363         * c-common.h (genrtl_expr_stmt_value): Declare.
6364         * c-semantics.c (genrtl_goto_stmt): Redirect to...
6365         (genrtl_goto_stmt_value): ... this new function.  Pass new
6366         argument down to expand_expr_stmt_value, taking
6367         TREE_ADDRESSABLE into account.
6368         * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
6369         STMT_EXPR as addressable, i.e., one whose result we want.
6370         * expr.c (expand_expr): Don't save expression statement value
6371         of labeled_blocks or loop_exprs.
6372         * stmt.c (expand_expr_stmt): Redirect to...
6373         (expand_expr_stmt_value): ... this new function.  Use new
6374         argument to tell whether to save expression value.
6375         (expand_end_stmt_expr): Reset last_expr_type and
6376         last_expr_value if we don't have either.
6377         * tree-inline.c (declare_return_variable): Mark its use
6378         statement as addressable.
6379         * tree.h: Document new use of TREE_ADDRESSABLE.
6380         (expand_expr_stmt_value): Declare.
6381
6382 2002-01-01  Tom Rix  <trix@redhat.com>
6383
6384         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
6385         rs6000_emit_allocate_stack.
6386
6387 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
6388
6389         * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
6390         ${srcdir}/ginclude/ to every entry in extra_headers.
6391         * configure: Regenerate.
6392         * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
6393         * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
6394         * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
6395         * ginclude/proto.h: Rename to config/convex/proto.h.
6396
6397 Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6398
6399         * attribs.c (handle_vector_size_attribute): Use host_integerp
6400         and tree_int_cst; remove warnings.
6401         * caller-save.c (insert_restore): Add cast to get rid of warning.
6402         (insert_save): Likewise.
6403         * emit-rtl.c (adjust_address_1, offset_address): Likewise.
6404         * regmove.c (find_matches): Add temporary var to kill a warning.
6405
6406 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
6407
6408         * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
6409         LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
6410         * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
6411         (vms-dwarf2eh.o): Add Makefile rule.
6412         * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
6413         * config/alpha/vms-dwarf2eh.asm: New file.
6414
6415         * gcc.c (delete_if_ordinary): Delete all versions.
6416
6417 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
6418
6419         * config/mmix/mmix.md: Update FIXME to not mention
6420         define_constants.
6421         (MMIX_rJ_REGNUM): New define_constants constant.
6422         ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
6423         "*movdicc_real"): Adjust contraints formatting.
6424         ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
6425         for branch prediction.
6426         ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
6427         output template.
6428         ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
6429         "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
6430         number.  Delete related FIXMEs.
6431         * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
6432         from number to MMIX_rJ_REGNUM.
6433         (TARGET_MASK_BRANCH_PREDICT): New.
6434         (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
6435         (TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
6436         value.  Add -mbranch-predict and -mno-branch-predict.
6437         (TARGET_VERSION): Drop date.
6438         (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
6439         * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
6440         for finding out global symbols.
6441         (mmix_asm_output_labelref): Revert condition for global symbol.
6442         (mmix_print_operand): <case '+'>: Emit P for a likely branch.
6443         (mmix_print_operand_punct_valid_p): A '+' is valid.
6444
6445 See ChangeLog.6 for earlier changes.