OSDN Git Service

* config/alpha/alpha.c (alpha_need_linkage): Fix obvious
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
2
3         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
4         mistake in last checkin.
5
6 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
7
8         * et-forest.c: Fix comment typos.
9         * et-forest.h: Likewise.
10         * except.c: Likewise.
11         * expr.c: Likewise.
12         * flags.h: Likewise.
13         * flow.c: Likewise.
14         * gcc.c: Likewise.
15         * gcse.c: Likewise.
16         * genattrtab.c: Likewise.
17         * genautomata.c: Likewise.
18         * gengtype.c: Likewise.
19         * genrecog.c: Likewise.
20         * global.c: Likewise.
21         * gthr-rtems.h: Likewise.
22
23 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
24
25         * i386.c (x86_function_profiler): Fix format specifier.
26
27 2003-01-17  Richard Henderson  <rth@redhat.com>
28
29         * gengtype.c (walk_type): Allow paramN_is.
30
31 2003-01-17  Nick Clifton  <nickc@redhat.com>
32
33         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
34
35 2003-01-16  Richard Henderson  <rth@redhat.com>
36
37         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
38
39 2003-01-16  Richard Henderson  <rth@redhat.com>
40
41         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
42         (alpha_next_sequence_number): Likewise.
43         (alpha_this_literal_sequence_number): Likewise.
44         (alpha_this_gpdisp_sequence_number): Likewise.
45         (struct alpha_funcs, alpha_funcs_num): Likewise.
46         (struct alpha_links): Fix branch merge error.
47         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
48
49 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
50
51         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
52         R. Ghazi.
53
54 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
55
56         * ifcvt.c: Fix comment typos.
57         * lcm.c: Likewise.
58         * libgcc2.c: Likewise.
59         * local-alloc.c: Likewise.
60         * loop.c: Likewise.
61         * predict.c: Likewise.
62         * ra-build.c: Likewise.
63         * ra.c: Likewise.
64         * ra-colorize.c: Likewise.
65         * ra.h: Likewise.
66         * ra-rewrite.c: Likewise.
67         * regmove.c: Likewise.
68         * reload.h: Likewise.
69         * rtlanal.c: Likewise.
70         * toplev.c: Likewise.
71         * tree.h: Likewise.
72         * unwind-dw2-fde-glibc.c: Likewise.
73         * vmsdbgout.c: Likewise.
74
75 2003-01-16  Richard Henderson  <rth@redhat.com>
76
77         * dwarf2out.c (struct file_table): Remove.
78         (FILE_TABLE_INCREMENT): Remove.
79         (file_table): Make a varray; mark for GC.  Update all users.
80         (file_table_last_lookup_index): Extract from struct file_table.
81         (output_file_names): Fix unsigned compare warnings.
82         (add_name_attribute): Remove inline marker.
83         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
84         (lookup_filename): Don't manage size of file_table.
85         (init_file_table): Allocate file_table with GC.
86         (dwarf2out_init): Don't record main_input_filename here.
87         (dwarf2out_finish): Do it here instead.
88
89 2003-01-16  Bruce Korb  <bkorb@gnu.org>
90
91         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
92
93 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
94
95         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
96         instead of rotldi3_mextr.
97
98 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
99
100         * haifa-sched.c (move_insn): Restore moving all schedule group.
101         (set_priorities): Restore taking SCHED_GROUP_P into account.
102
103         * sched-deps.c (add_dependence): Restore processing the last group
104         insn.
105         (remove_dependence, group_leader): Restore the functions.
106         (set_sched_group_p): Restore adding dependencies from previous insn
107         in the group.
108         (compute_forward_dependences): Restore usage of group_leader.
109
110         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
111         account.
112
113         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
114         account.
115         (can_schedule_ready_p): Ditto.
116         (add_branch_dependences): Restore skipping over the group insns.
117         
118 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
119
120         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
121         68HC12 pre/post inc/dec side effects.
122
123 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
124
125         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
126
127 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
128
129         * sh.md (mshflo_w_x): Fix description of operation.
130
131 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
132
133         * config/rs6000/rs6000.h: Mention Altivec registers in
134         commentary.  Fix typo.
135
136 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
137
138         * config/rs6000/rs6000.md (movti_string): Remove clobber.
139         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
140         generate PARALLEL with clobber for TARGET_POWER.
141
142 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
143
144         * ra-colorize.c (colorize_one_web): Initialize variable.
145         * regmove.c (fixup_match_1): Likewise.
146         * reload1.c (reload_as_needed): Likewise.
147         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
148
149 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
150
151         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
152
153 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
154
155         * dbxout.c (lastfile, cwd): Fix `unused' warning.
156         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
157         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
158         is_main_source, file_table, decl_die_table_in_use,
159         abbrev_die_table_in_use, line_info_table_in_use,
160         separate_line_info_table_in_use, pubname_table_in_use,
161         arange_table_in_use, ranges_table_in_use,
162         current_function_has_inlines): Likewise.
163         * flow.c (life_analysis): Likewise.
164         * genemit.c (gen_insn): Likewise.
165         * protoize.c (cplus_suffix): Likewise.
166
167         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
168         * arm.h (ROUND_UP_WORD): Likewise.
169
170         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
171         warning.
172         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
173         init_emit_once): Likewise.
174         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
175         Likewise.
176         * function.c (assign_stack_temp_for_type): Likewise.
177         * loop.c (loop_invariant_p): Likewise.
178         * recog.c (push_operand): Likewise.
179         * regclass.c (init_reg_sets_1): Likewise.
180         * reload.c (update_auto_inc_notes): Likewise.
181         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
182         * stmt.c (expand_asm_operands): Likewise.
183         * stor-layout.c (start_record_layout): Likewise.
184
185 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
186
187         * config/c4x/c4x.md (epilogue): Correct last patch.
188
189 2003-01-15  Richard Henderson  <rth@redhat.com>
190
191         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
192         also check that GP is being used.
193         (alpha_find_lo_sum_using_gp): New.
194         (alpha_does_function_need_gp): Use get_attr_usegp.
195         * config/alpha/alpha-protos.h: Update.
196         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
197         as needed.
198
199 2003-01-15  Roger Sayle  <roger@eyesopen.com>
200
201         * gcse.c (one_cprop_pass): Change function arguments to take both
202         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
203         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
204         (bypass_jumps): New function to perform separate jump bypassing pass.
205         * rtl.h (bypass_jumps): Add function prototype.
206         * timevar.def (TV_BYPASS): New timing variable.
207         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
208         (dump_file): New entry for the bypass RTL dump file.
209         (rest_of_compilation): Insert new jump bypassing optimization
210         pass after loop.
211         * doc/passes.texi: Document new pass.
212
213 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
214
215         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
216         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
217         * pa.h (TARGET_SOM_SDEF): Define.
218         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
219
220 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
221
222         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
223         allocate 4-bytes of locals on 68HC11.
224         (expand_epilogue): Likewise.
225         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
226
227 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
228
229         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
230         and -mshort-double to the assembler to specify the ABI.
231         (LINK_SPEC): Likewise.
232         (CPP_SPEC): Pass HCS12 specific define.
233         (MASK_M68S12): New define.
234         (TARGET_M68S12): Likewise.
235         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
236         (TARGET_VERSION): Update.
237         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
238         (LINK_SPEC): Update.
239         (ASM_SPEC): Update.
240         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
241         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
242
243 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
244
245         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
246         the return code.
247
248 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
249
250         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
251         flag before setting it.
252
253 2003-01-15  Roger Sayle  <roger@eyesopen.com>
254
255         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
256         when loop condition is known true, i.e.  "while (1) { ... }".
257         (genrtl_for_stmt): Similarly for "for" statements.
258
259 2003-01-15  Roger Sayle  <roger@eyesopen.com>
260
261         * real.c (real_sqrt): Return a bool result indicating whether
262         a floating point exception or trap should be raised.
263         * real.h (real_sqrt): Update function prototype.
264         * builtins.c (fold_builtin): Only fold non-trapping square
265         roots unless we're ignoring errno and trapping math.
266
267 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
268
269         * expr.h (emit_conditional_add): Add PARAMS to declaration.
270         * gengtype-lex.l (malloc, realloc): Move defines after include of
271         system.h.  Remove duplicate include of system.h.
272
273 2003-01-15  Roger Sayle  <roger@eyesopen.com>
274
275         PR middle-end/9009
276         * optabs.c (expand_unop):  When manipulating the FP sign bit
277         using integer operations, account for targets with different
278         integer and FP word orders.
279         (expand_abs): Likewise.
280
281 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
282
283         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
284         file extension in section name.
285
286 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
287
288         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
289         constant offset.
290
291 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
292
293         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
294         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
295         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
296         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
297
298 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
299
300         PR f/9258
301         * global.c (struct allocno): Add no_stack_reg.
302         (global_conflicts): Set no_stack_reg.
303         (find_reg): Use it.
304
305         * convert.c (convert_to_real): Fold - and abs only when profitable.
306         * fold-const.c (fold): Fold truncates in - and abs.
307
308 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
309
310         Segher Boessenkool  <segher@koffie.nl>
311
312         * predict.c (real_inv_br_prob_base): New variable.
313         (propagate_freq): Use multiply by reciprocal instead of
314         division.  Don't divide by 1.0 at all.
315         (estimate_bb_frequencies): Similar.
316
317 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
318
319         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
320         * configure: Rebuilt.
321
322 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
323
324         * config/s390/s390.c (s390_safe_attr_type): New function.
325         (s390_use_dfa_pipeline_interface): New function, return true for z900.
326         (s390_issue_rate): New function.
327         (s390_agen_dep_p): New function.
328         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
329         (s390_adjust_cost): Return 'cost' if new DFA is used.
330         (s390_adjust_priority): Delete function.
331         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
332         * config/s390/s390.md (atype attribute): Attribute 'atype' default
333         determined by 'op_type'.
334         (type attribute): Added more type attributes.
335         * config/s390/2064.md: New DFA description for z900 pipeline.
336
337 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
338
339         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
340         forced to memory.  Fixes PR bootstrap/9036.
341
342         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
343         to set $gp before the call.
344
345 2003-01-14  Richard Henderson  <rth@redhat.com>
346
347         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
348         for force_const_mem.
349
350 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
351
352         * genattr.c (main): Rearrange output to avoid prototype warning.
353         * genautomata.c (transform_3): Fix ambiguous-else warning.
354         * local-alloc.c (requires_inout): Add parentheses around
355         assignment used as truth-value.
356         * timevar.c: Move system includes above local includes.  Include
357         toplev.h
358         * Makefile.in (timevar.o): Depend on toplev.h.
359
360 2003-01-14  Denis Chertykov  <denisc@overta.ru>
361
362         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
363         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
364
365         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
366         attributes.
367         (TARGET_ATTRIBUTE_TABLE): New macro.
368         (valid_machine_type_attribute): Remove.
369         (valid_machine_decl_attribute): Remove.
370         (ip2k_handle_progmem_attribute): New function.
371         (ip2k_handle_fndecl_attribute): New function.
372
373 2003-01-10  Andrew Haley  <aph@redhat.com>
374
375         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
376         registers to be in correct order.  Add rip.
377
378 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
379
380         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
381         (*iorsi3_and_lshiftrt_9_sb): Likewise.
382
383 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
384
385         * convert.c (strip_float_extensions):  Look for narrowest type handling
386         FP constants.
387
388         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
389         float1 CMP float2.
390         * convert.c (strip_float_extensions): Make global.
391         * tree.h (strip_float_extensions): Declare.
392
393 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
394
395         * timevar.def: define TV_NAME_LOOKUP.
396         * timevar.c (timevar_pop): Be verbose when aborting.
397
398 2003-01-13  Andreas Schwab  <schwab@suse.de>
399
400         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
401         $(parsedir), just move the temporary file at the end.
402         ($(parsedir)/gengtype-yacc.c): Likewise.
403
404 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
405
406         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
407         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
408         splitting.
409         * configure: Rebuilt.
410
411 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
412
413         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
414         internal_mcount): Don't use PARAMS.
415         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
416         ISO C style.
417         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
418
419 2003-01-13  Andreas Schwab  <schwab@suse.de>
420
421         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
422         directive.
423
424 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
425
426         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
427         (*iorsi3_and_lshiftrt_n_sb): Likewise.
428
429 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
430
431         PR c++/9264
432         * c-lex.c (c_lex): Set the token value to error_mark_node for
433         invalid numeric constants.
434
435 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
436
437         * c-pch.c (asm_file_startpos): Change to `long'.
438         (pch_init): Use ftell, not ftello.
439         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
440         Use `long' instead of `off_t'.
441         (c_common_read_pch): Likewise.
442         * ggc-common.c (gt_pch_save): Use long/ftell instead of
443         off_t/ftello.
444
445 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
446
447         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
448
449 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
450
451         * arm-protos.h (struct cpp_reader): Add declaration.
452
453 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
454
455         PR target/9068
456         * i386.c (output_fp_compare): Fix typo.
457
458 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
459
460         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
461
462 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
463
464         * Makefile.in (parsedir): New variable.
465         (docobjdir): New variable.
466         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
467         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
468         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
469         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
470         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
471         Use docobjdir.
472         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
473         objc.maintainer-clean): Use parsedir.
474
475         * varasm.c (struct constant_descriptor_rtx): Remove unused
476         `label' field.
477
478         * toplev.c (documented_lang_options): Document -Winvalid-pch.
479
480 2003-01-10  Richard Henderson  <rth@redhat.com>
481
482         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
483         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
484
485 2003-01-10  Richard Henderson  <rth@redhat.com>
486
487         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
488         not INTEGRAL_MODE_P when widening extensions.
489
490 2003-01-10  Richard Henderson  <rth@redhat.com>
491
492         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
493
494 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
495
496         * ggc-page.c (ggc_collect): Avoid overflow computing
497         min_expand.
498
499         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
500         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
501         Remove calls.
502         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
503
504 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
505
506         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
507         with weird operands.
508
509 2003-01-10  Dale Johannesen <dalej@apple.com>
510
511         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
512         parameters.  Call check_sibcall_argument_overlap if indicated.
513         (check_sibcall_argument_overlap):  Add mark_stored_args_map
514         parameter.  Don't mark parameter area as clobbered if not set.
515         (expand_call):  Adjust calls to above.
516
517 2003-01-10 Kelley Cook <kelleycook@comcast.net>
518
519         * configure.in (linker read-only and read-write section mixing):
520         Squelch some assembler warnings.
521         * configure: Likewise.
522
523 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
524
525         * doc/invoke.texi: Document -mtune, delete -mcpu
526         option for S/390 and zSeries.
527         * config/s390/s390.c (s390_tune_string) New variable.
528         (s390_cpu_string) Delete variable.
529         (override_options): Use s390_tune_string instead of
530         s390_cpu_string.
531         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
532
533 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
534
535         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
536
537 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
538
539         * jump.c (next_nonnote_insn_in_loop): New function.
540         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
541         next_nonnote_insn.
542         (duplicate_loop_exit_test). Likewise.
543
544 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
545
546         Merge from pch-branch:
547
548         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
549
550         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
551         load.
552
553         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
554
555         * cpplib.c (count_registered_pragmas): New function.
556         (save_registered_pragmas): New function.
557         (_cpp_save_pragma_names): New function.
558         (restore_registered_pragmas): New function.
559         (_cpp_restore_pragma_names): New function.
560         * cpphash.h (_cpp_save_pragma_names): Prototype.
561         (_cpp_restore_pragma_names): Likewise.
562         * cpppch.c (struct save_macro_item): Split from save_macro_data.
563         (struct save_macro_data): New field 'saved_pragmas'.
564         (save_macros): Update for changes to struct save_macro_data.
565         (cpp_prepare_state): Call _cpp_save_pragma_names, update
566         for changes to struct save_macro_data.
567         (cpp_read_state): Call _cpp_restore_pragma_names, update
568         for changes to struct save_macro_data.
569
570         * cpppch.c (cpp_read_state): Restore the hashtable references
571         in the cpp_reader.
572
573         * tree.h (built_in_decls): Mark for PCH.
574
575         * dbxout.c (lastfile): Don't mark for PCH.
576
577         * ggc.h: Document PCH calls into memory managers.
578
579         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
580
581         * doc/invoke.texi (Precompiled Headers): Document the
582         directory form of PCH.
583         * cppfiles.c (validate_pch): New function.
584         (open_file_pch): Search suitably-named directories for PCH files.
585
586         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
587
588         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
589         reorder options.
590         (Type Information): Mention that the information is also
591         used to implement PCH.
592         * doc/passes.texi (Passes): Improve documentation of
593         language-specific files.
594
595         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
596
597         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
598         (struct walk_type_data): Add reorder_fn field.
599         (walk_type): Process 'reorder' option.
600         (write_types_process_field): Reorder parameters to gt_pch_note_object,
601         call reorder_note_routine.
602         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
603         (ggc_wtd): Update for change to struct write_types_data.
604         (pch_wtd): Likewise.
605         * ggc.h (gt_pch_note_object): Reorder parameters.
606         (gt_handle_reorder): New definition.
607         (gt_pch_note_reorder): New prototype.
608         * ggc-common.c (struct ptr_data): Add reorder_fn.
609         (gt_pch_note_object): Reorder parameters.
610         (gt_pch_note_reorder): New.
611         (gt_pch_save): Call reorder_fn.
612         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
613
614         * dbxout.c (cwd): Don't mark for PCH.
615
616         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
617
618         * gengtype.c (finish_root_table): Fix some warnings.
619         (write_root): Handle TYPE_STRING.
620         * ggc.h (gt_ggc_m_S): Add prototype.
621         * stringpool.c (gt_ggc_m_S): New function.
622
623         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
624
625         * dwarf2out.c (dw2_string_counter): New.
626         (AT_string_form): Use it.
627         (same_dw_val_p): Update for removal of hashtable.h hash tables.
628
629         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
630
631         * dbxout.c: Include gt-dbxout.h.
632         (lastfile): Mark for PCH/GGC.
633         (cwd): Likewise.
634         (struct typeinfo): Likewise.
635         (typevec): Likewise.
636         (typevec_len): Likewise.
637         (next_type_number): Likewise.
638         (struct dbx_file): Likewise.
639         (current_file): Likewise.
640         (next_file_number): Likewise.
641         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
642         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
643         (dbxout_end_source_file): Don't free struct dbx_file.
644         (dbxout_type): Use GGC to allocate typevec.
645         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
646         (GTFILES): Add dbxout.c.
647         (gt-dbxout.h): New rule.
648
649         * Makefile.in (c-pch.o): Add debug.h as dependency.
650         * c-pch.c: Include debug.h.
651         (pch_init): Call start_source_file to keep nesting right.
652         (c_common_read_pch): Add orig_name parameter.  Call
653         start_source_file debug hook.  Call end_source_file debug hook.
654         * c-common.h (c_common_read_pch): Update prototype.
655         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
656         callback.
657         * cppfiles.c (struct include_file): Add new field `header_name'.
658         (find_or_create_entry): Default it to `name'.
659         (open_file_pch): Set it to the original header file searched for.
660         (stack_include_file): Don't stack an empty buffer, just handle
661         PCH files immediately.  Pass header_name field to read_pch callback.
662
663         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
664
665         * function.c (funcdef_no): Mark to be saved in a PCH.
666
667         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
668
669         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
670
671         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
672
673         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
674
675         * optabs.h (code_to_optab): Add GTY marker.
676
677         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
678
679         * Makefile.in (GTFILES): Add cpplib.h.
680         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
681         * c-decl.c (build_compound_literal): Don't use var_labelno.
682         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
683         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
684         * varasm.c (const_labelno): Use gengtype to mark.
685         (var_labelno): Likewise.
686         (in_section): Likewise.
687         (in_named_name): Likewise.
688         (struct in_named_entry): Likewise.
689         (in_named_htab): Likewise.
690         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
691         (init_varasm_once): Use GGC to allocate in_named_htab.
692         * config/darwin.c (current_pic_label_num): Mark for PCH.
693
694         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
695
696         * ggc-simple.c (init_ggc_pch): New stub procedure.
697         (ggc_pch_count_object): Likewise.
698         (ggc_pch_total_size): Likewise.
699         (ggc_pch_this_base): Likewise.
700         (ggc_pch_alloc_object): Likewise.
701         (ggc_pch_prepare_write): Likewise.
702         (ggc_pch_write_object): Likewise
703         (ggc_pch_finish): Likewise.
704         (ggc_pch_read): Likewise.
705
706         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
707
708         * c-pch.c (c_common_write_pch): Write the macro definitions after
709         the GCed data.
710         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
711         definitions after the GCed data.
712         * cpplib.c (save_macros): New.
713         (reset_ht): New.
714         (cpp_write_pch_deps): Split out of cpp_write_pch.
715         (cpp_write_pch_state): Split out of cpp_write_pch.
716         (cpp_write_pch): Delete.
717         (struct save_macro_data): Delete.
718         (cpp_prepare_state): New.
719         (cpp_read_state): Erase and restore initial macro definitions.
720         * cpplib.h (struct save_macro_data): Forward-declare.
721         (cpp_write_pch_deps): Prototype.
722         (cpp_write_pch_state): Prototype.
723         (cpp_write_pch): Delete prototype.
724         (cpp_prepare_state): Prototype.
725         (cpp_read_state): Add fourth argument.
726
727         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
728
729         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
730         (write_array): Remove warning.
731
732         * gengtype.c (contains_scalar_p): New.
733         (finish_root_table): Add the table to all languages, even if it's
734         empty.
735         (write_roots): Output gt_pch_scalar_rtab.
736         * ggc-common.c (gt_pch_save): Write out scalars.
737         (gt_pch_restore): Read scalars back.
738
739         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
740         (struct page_entry): Delete pch_page field.
741         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
742         (clear_marks): Likewise.
743         (sweep_pages): Likewise.
744         (poison_pages): Likewise.
745         (ggc_print_statistics): Likewise.
746         (ggc_pch_read): Don't free objects read from a PCH.
747         Properly set up in_use_p and page_tails.
748
749         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
750
751         * gengtype.c (struct write_types_data): New.
752         (struct walk_type_data): Make `cookie' const; add extra
753         prev_val item; add `orig_s' field.
754         (walk_type): Update prev_val[3].
755         (write_types_process_field): New.
756         (write_func_for_structure): Take write_types_data structure.
757         (write_types): New.
758         (ggc_wtd): New.
759         (pch_wtd): New.
760         (write_types_local_process_field): New.
761         (gc_mark_process_field): Delete.
762         (write_local_func_for_structure): New.
763         (gc_mark_func_name): Delete.
764         (write_gc_types): Delete.
765         (write_local): New.
766         (finish_root_table): Don't include 'ggc_' in PFX.
767         (write_root): Rename from write_root.  Fill pchw field of structures.
768         (write_array): New.
769         (write_roots): Rename from write_gc_roots.  Split out to write_array.
770         Update to changes to other routines.  Write gt_pch_cache_rtab table.
771         (main): Write PCH walking routines.
772         * ggc-common.c: Include toplev.h, sys/mman.h.
773         (ggc_mark_roots): For cache hashtables, also mark the hash table
774         and the array of entries.
775         (saving_htab): New.
776         (struct ptr_data): New.
777         (POINTER_HASH): New.
778         (gt_pch_note_object): New.
779         (saving_htab_hash): New.
780         (saving_htab_eq): New.
781         (struct traversal_state): New.
782         (call_count): New.
783         (call_alloc): New.
784         (compare_ptr_data): New.
785         (relocate_ptrs): New.
786         (write_pch_globals): New.
787         (struct mmap_info): New.
788         (gt_pch_save): New.
789         (gt_pch_restore): New.
790         * ggc-page.c (ROUND_UP_VALUE): New.
791         (ROUND_UP): New.
792         (struct page_entry): Add field `pch_page'.
793         (init_ggc): Use ROUND_UP.
794         (struct ggc_pch_data): Declare.
795         (init_ggc_pch): New.
796         (ggc_pch_count_object): New.
797         (ggc_pch_total_size): New.
798         (ggc_pch_this_base): New.
799         (ggc_pch_alloc_object): New.
800         (ggc_pch_prepare_write): New.
801         (ggc_pch_write_object): New.
802         (ggc_pch_finish): New.
803         (ggc_pch_read): New.
804         * ggc.h (gt_pointer_operator): New.
805         (gt_note_pointers): New.
806         (gt_pch_note_object): New prototype.
807         (gt_pointer_walker): New.
808         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
809         (LAST_GGC_ROOT_TAB): Update.
810         (gt_pch_cache_rtab): Declare.
811         (gt_pch_scalar_rtab): Declare.
812         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
813         (LAST_GGC_CACHE_TAB): Update.
814         (gt_pch_save_stringpool): Declare.
815         (gt_pch_restore_stringpool): Declare.
816         (gt_pch_p_S): Declare.
817         (gt_pch_n_S): Declare.
818         (struct ggc_pch_data): Forward-declare.
819         (init_ggc_pch): Declare.
820         (ggc_pch_count_object): Declare.
821         (ggc_pch_total_size): Declare.
822         (ggc_pch_this_base): Declare.
823         (ggc_pch_alloc_object): Declare.
824         (ggc_pch_prepare_write): Declare.
825         (ggc_pch_write_object): Declare.
826         (ggc_pch_finish): Declare.
827         (ggc_pch_read): Declare.
828         (gt_pch_save): Declare.
829         (gt_pch_restore): Declare.
830         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
831         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
832         const_double_htab, mem_attrs_htab using GGC.
833         * c-pch.c: Include ggc.h.
834         (pch_init): Allow reading PCH file back.
835         (c_common_write_pch): Call gt_pch_save.
836         (c_common_read_pch): Call gt_pch_restore.
837         * c-parse.in (init_reswords): Delete now-untrue comment.
838         Allocate ridpointers using GGC.
839         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
840         calling expand_deferred_fns.
841         * c-common.h (ridpointers): Mark for GTY machinery.
842         * Makefile.in (stringpool.o): Update dependencies.
843         (c-pch.o): Update dependencies.
844         (ggc-common.o): Update dependencies.
845         * stringpool.c: Include gt-stringpool.h.
846         (gt_pch_p_S): New.
847         (gt_pch_n_S): New.
848         (struct string_pool_data): New.
849         (spd): New.
850         (gt_pch_save_stringpool): New.
851         (gt_pch_restore_stringpool): New.
852         * tree.c (init_ttree): Make type_hash_table allocated using GC.
853
854         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
855
856         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
857         (output_mangled_typename): Don't pass size_t to printf.
858
859         * tree.h (union tree_type_symtab): Add tag to `address' field.
860         (union tree_decl_u2): Add tag to 'i' field.
861         * varasm.c (union rtx_const_un): Add tags to all fields.
862         * gengtype.c (struct walk_type_data): New.
863         (output_escaped_param): Take struct walk_type_data parameter.
864         (write_gc_structure_fields): Delete.
865         (walk_type): New.
866         (write_gc_marker_routine_for_structure): Delete.
867         (write_func_for_structure): New.
868         (gc_mark_process_field): New.
869         (gc_mark_func_name): New.
870         (gc_counter): Delete.
871         (write_gc_types): Use write_func_for_structure.
872         (write_gc_roots): Use walk_type.
873
874         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
875
876         * ggc-common.c (ggc_mark_roots): Delete 'x'.
877         (ggc_splay_dont_free): Fix warning about unused 'x'.
878         (ggc_print_common_statistics): Remove warnings.
879
880         2002-10-01  Mike Stump  <mrs@apple.com>
881
882         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
883         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
884
885         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
886             Catherine Moore  <clm@redhat.com>
887
888         * Makefile (c-pch.o): Update dependencies.
889         (LIBCPP_OBJS): Add cpppch.o.
890         (cpppch.o): New.
891         * c-common.c (c_common_init): Don't call pch_init here.
892         * c-common.h (c_common_read_pch): Update prototype.
893         * c-lex.c (c_common_parse_file): Call pch_init here.
894         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
895         (c_common_decode_option): Handle them.
896         * c-pch.c: Include c-pragma.h.
897         (save_asm_offset): Delete.
898         (pch_init): Move contents of save_asm_offset into here, call
899         cpp_save_state.
900         (c_common_write_pch): Call cpp_write_pch.
901         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
902         cpp_valid_state.
903         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
904         * cppfiles.c (stack_include_file): Update for change to
905         parameters of cb.read_pch.
906         * cpphash.h (struct cpp_reader): Add `savedstate' field.
907         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
908         `restore_pch_deps' fields.
909         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
910         (cpp_save_state): Prototype.
911         (cpp_write_pch): Prototype.
912         (cpp_valid_state): Prototype.
913         (cpp_read_state): Prototype.
914         * cpppch.c: New file.
915         * flags.h (version_flag): Remove prototype.
916         * mkdeps.c (deps_save): New.
917         (deps_restore): New.
918         * mkdeps.h (deps_save): Prototype.
919         (deps_restore): Prototype.
920         * toplev.c (late_init_hook): Delete.
921         (version_flag): Make static again.
922         (compile_file): Don't call late_init_hook.
923         * toplev.h (late_init_hook): Delete.
924         * doc/cppopts.texi: Document -fpch-deps.
925         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
926
927         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
928
929         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
930         callers.
931         (c_common_valid_pch): Rename from c_valid_pch, change callers.
932         (c_common_read_pch): Rename from c_read_pch, change callers.
933
934         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
935         a space between it and its argument.
936
937         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
938
939         * c-pch.c: New file.
940         * toplev.h (late_init_hook): Declare.
941         * toplev.c (late_init_hook): Define.
942         (version_flag): Make globally visible.
943         (compile_file): Call late_init_hook.
944         (init_asm_output): Make output file seekable.
945         * gcc.c (default_compilers): Update c-header rule.
946         * flags.h (version_flag): Declare.
947         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
948         fields.
949         * cppfiles.c (struct include_file): Add 'pch' field.
950         (INCLUDE_PCH_P): New.
951         (open_file_pch): New.
952         (stack_include_file): Handle PCH files specially.
953         (find_include_file): Call open_file_pch instead of open_file.
954         (_cpp_read_file): Explain why open_file is used instead of
955         open_file_pch.
956         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
957         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
958         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
959         in cpplib callbacks.
960         * c-common.c (pch_file): Correct comment.
961         (allow_pch): Define.
962         (c_common_init): Call pch_init.
963         * c-common.h (allow_pch): Declare.
964         (pch_init): Declare.
965         (c_valid_pch): Declare.
966         (c_read_pch): Declare.
967         (c_write_pch): Declare.
968         * Makefile.in (c-pch.o): New.
969         (C_AND_OBJC_OBJS): Add c-pch.o.
970         * doc/invoke.texi (Precompiled Headers): Add index entries,
971         complete truncated paragraph.
972
973         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
974
975         * c-common.c: (pch_file): Define.
976         * c-common.h (pch_file): Declare.
977         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
978         (missing_arg): Require --output-pch= to have an argument.
979         (c_common_decode_option): Handle --output-pch=.
980         * gcc.c: Document new %V.
981         (default_compilers): Handle compiling C header files.
982         (do_spec_1): Implement %V.
983         (main): Handle "gcc foo.h" without trying to run linker.
984         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
985         (Overall Options): Document what the driver does with header files,
986         document new -x option possibilities.
987         (Invoking G++): More documentation for PCH.
988         (Precompiled Headers): New.
989
990         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
991
992         * ggc.h: Don't include varray.h.  Rearrange functions to be more
993         organized.
994         (ggc_add_root): Delete.
995         (ggc_mark_rtx): Delete.
996         (ggc_mark_tree): Delete.
997         (struct ggc_statistics): Remove contents.
998         * ggc-common.c: Remove unneeded includes.
999         (struct ggc_root): Delete.
1000         (roots): Delete.
1001         (ggc_add_root): Delete.
1002         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1003         (ggc_print_common_statistics): Remove most of the contents.
1004         * Makefile.in (GGC_H): No longer uses varray.h.
1005         (ggc-common.o): Update dependencies.
1006         (c-parse.o): Add varray.h to dependencies.
1007         (c-common.o): Add varray.h.
1008         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1009         (mark_ident_hash): Rename to ggc_mark_stringpool.
1010         (init_stringpool): Don't use ggc_add_root.
1011         * c-parse.in: Include varray.h.
1012         * c-common.c: Include varray.h.
1013         * objc/Make-lang.in (objc-act.o): Add varray.h.
1014         * objc/objc-act.c: Include varray.h.
1015
1016         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1017
1018         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1019         (dw_cfi_oprnd1_desc): Likewise.
1020
1021         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1022
1023         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1024         move out of ifdef.
1025         (alpha_links): Use gengtype to mark; move out of ifdef.
1026         (mark_alpha_links_node): Delete.
1027         (mark_alpha_links): Delete.
1028         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1029         alpha_links, strings.  Don't use ggc_add_root.
1030         * ggc-common.c (ggc_splay_alloc): New.
1031         (ggc_splay_dont_free): New.
1032         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1033         (ggc_mark_tree): Likewise.
1034         (splay_tree_new_ggc): New.
1035         (ggc_splay_alloc): Declare.
1036         (ggc_splay_dont_free): Declare.
1037         * dwarf2asm.c: Include gt-dwarf2asm.h.
1038         (mark_indirect_pool_entry): Delete.
1039         (mark_indirect_pool): Delete.
1040         (indirect_pool): Use gengtype to mark.
1041         (dw2_force_const_mem): Don't use ggc_add_root.
1042         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1043         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1044         (gt-dwarf2asm.h): Depend on s-gtype.
1045
1046         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1047
1048         * tree.h (union tree_type_symtab): Mark `die' field.
1049         * Makefile.in (dwarf2out.o): Update dependencies.
1050         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1051         hash tables.
1052         (dw_cfi_oprnd1_desc): New function.
1053         (dw_cfi_oprnd2_desc): New function.
1054         (indirect_string_alloc): Delete.
1055         (debug_str_do_hash): New function.
1056         (debug_str_eq): New function.
1057         (mark_limbo_die_list): Delete.
1058         (dwarf2out_init): Don't call ggc_add_root.
1059
1060 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1061
1062         The following changes are merged from itanium-sched-branch:
1063
1064         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1065
1066         * doc/md.texi: Clarify assignment of units to automata description.
1067
1068         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1069
1070         * genautomata.c (unit_decl): Remove members
1071         `the_same_automaton_unit' and
1072         `the_same_automaton_message_reported_p'.
1073         (process_unit_to_form_the_same_automaton_unit_lists,
1074         form_the_same_automaton_unit_lists_from_regexp,
1075         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1076         Remove them.
1077         (annotation_message_reported_p): New global variable.
1078         (check_unit_distribution_in_reserv,
1079         check_regexp_units_distribution): New functions.
1080         (check_unit_distributions_to_automata): Rewrite it.
1081
1082         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1083
1084         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1085         Use continue instead of break if cycle is too big.
1086
1087         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1088
1089         * genautomata.c (check_unit_distributions_to_automata): Output at
1090         most one message for a unit.
1091         (process_unit_to_form_the_same_automaton_unit_lists): Check
1092         automaton of units instead of units themself.
1093
1094         * doc/md.texi: Describe the constraint about assigning unit to
1095         automata.
1096
1097         2002-12-20  Jan Hubicka  <jH@suse.cz>
1098                     Vladimir Makarov  <vmakarov@redhat.com>
1099
1100         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1101         and `in_set_p'.
1102         (gen_cpu_unit): Initialize the new members.
1103         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1104         up `min_occ_cycle_num'.
1105         (evaluate_max_reserv_cycles): Change the function call.
1106         (CLEAR_BIT): New macro.
1107         (states_union, state_shift): Use the mask.
1108         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1109         (form_reservs_matter): New function.
1110         (make_automaton): Call the function and use the mask.
1111         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1112         account.
1113
1114         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1115
1116         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1117
1118         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1119
1120         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1121         for Itanium.
1122
1123         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1124
1125         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1126         default cpu.
1127
1128         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1129                 2002-10-31  Dale Johannesen <dalej@apple.com>
1130
1131         * haifa-sched.c (find_set_reg_weight): New function.
1132         (find_insn_reg_weight): Use the new function.
1133         (schedule_block): Do sorting ready queue always
1134         after insn issue.
1135
1136         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1137
1138         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1139
1140         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1141
1142         * haifa-sched.c (choice_entry): New structure.
1143         (choice_stack, cycle_issued_insns): New variables.
1144         (max_issue): Rewrite it.
1145         (choose_ready): Set up ready_try for unknown insns too.
1146         (schedule_block): Allocate and free choice_stack.  Set up
1147         and modify cycle_issued_insns.
1148
1149         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1150         with and without filling the bundle.
1151         (bundling): Combine calls of issue_nops_and_insn.
1152
1153         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1154
1155         * config/ia64/itanium1.md: New file.
1156
1157         * config/ia64/itanium2.md: New file.
1158
1159         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1160         Remove the old pipeline description.
1161
1162         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1163         itanium processor names.
1164
1165         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1166
1167         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1168         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1169
1170         * config/ia64/ia64.md: Add descriptions for Itanium2.
1171
1172         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1173
1174         * config/ia64/ia64.h (processor_type): New enumeration.
1175         (ia64_tune, ia64_tune_string): New external declarations.
1176         (TARGET_OPTIONS): Add option `tune='.
1177
1178         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1179         variables.
1180         (ia64_override_options): Set up `ia64_tune'.
1181         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1182         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1183         (bundling): Add nops for MM-insns only for Itanium.
1184         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1185         Itanium.
1186
1187         * config/ia64/ia64.md (cpu): New attribute.
1188         (DFA description): Enable it only for Itanium.
1189
1190         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1191                     Richard Henderson  <rth@redhat.com>
1192
1193         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1194         MASK_EARLY_STOP_BITS.
1195         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1196         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1197         `early-stop-bits'.
1198
1199         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1200         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1201         instead of TARGET_TUNE_STOP_BITS.
1202
1203         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1204         `-mearly-stop-bits'.
1205
1206         * config/ia64/ia64.c (automata_option "v"): Comment it.
1207
1208         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1209
1210         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1211         New macros.
1212         (TARGET_SWITCHES): Add entries for the new option.
1213
1214         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1215         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1216         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1217         global variables.
1218         (ia64_sched_reorder2): Set up `clocks'.
1219         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1220         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1221         queue when TARGET_TUNE_STOP_BITS.
1222         (bundling): Insert additional nops for MM-insns.
1223         (final_emit_insn_group_barriers): Add insertion of stop bits
1224         according `stops_p'.
1225         (ia64_reorg): Initiate the new varibales.
1226
1227         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1228
1229         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1230
1231         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1232         insns at the end of block insn scheduling.
1233
1234         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1235
1236         * sched-deps.c (remove_dependence, group_leader): Remove it.
1237         (add_dependence): Add dependence to group leader to.
1238         (set_sched_group_p): Add dependence to the first insn of the
1239         schedule group too.
1240         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1241         Change true dependence by anti-dependence when
1242         `reg_pending_barrier'.
1243
1244         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1245         add_branch_dependences): Ignore schedule groups.
1246
1247         * sched-ebb.c (init_ready_list): Ditto.
1248
1249         * (move_insn, set_priorities): Ditto.
1250
1251         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1252         flag is clear after reload.
1253         (adjust_cost): Change cost only for output dependencies.
1254
1255         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1256
1257         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1258
1259         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1260
1261         * target.h (gcc_target): Add member
1262         `dependencies_evaluation_hook'.
1263
1264         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1265         macro.
1266         (TARGET_SCHED): Add initiatialization of the new member.
1267
1268         * sched-ebb.c: Include `target.h'.
1269         (schedule_ebb): Call `dependencies_evaluation_hook'.
1270
1271         * sched-rgn.c (schedule_region): Call
1272         `dependencies_evaluation_hook'.
1273
1274         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1275         New macro.
1276         (ia64_dependencies_evaluation_hook): New function.
1277
1278         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1279         Describe the new hook.
1280
1281         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1282
1283         * target.h (gcc_target): Add members
1284         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1285
1286         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1287         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1288         macros.
1289         (TARGET_SCHED): Add initiatialization of the new members.
1290
1291         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1292         insn scheduling too.
1293         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1294         initialize `ready_try'.
1295         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1296         `dfa_new_cycle' says not to do it.
1297
1298         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1299         bundling.
1300
1301         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1302
1303         * config/ia64/ia64.c: Include `hashtab.h'.
1304         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1305         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1306         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1307         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1308         bundle_state_eq_p, insert_bundle_state,
1309         initiate_bundle_state_table, finish_bundle_state_table,
1310         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1311         get_template, get_next_important_insn, bundling): New functions.
1312         (ia64_internal_sched_reorder): Remove it.
1313         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1314         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1315         (ia64_safe_itanium_requires_unit0): Remove it.
1316         (group_barrier_needed_p): Place group barrier right before a real
1317         insn.
1318         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1319         Remove them.
1320         (bundle_name): New variable.
1321         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1322         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1323         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1324         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1325         temp_dfa_state, prev_cycle_state): New global variables.
1326         (insn_matches_slot, maybe_rotate, finish_last_head,
1327         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1328         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1329         find_best_packet, itanium_reorder, dump_current_packet,
1330         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1331         (sched_data, sched_ready, sched_types): Remove them.
1332         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1333         `init_insn_group_barriers'.
1334         (ia64_sched_reorder, ia64_sched_reorder2): Call
1335         ia64_dfa_sched_reorder.
1336         (ia64_variable_issue): Rewrite it.
1337         (bundle_state): New structure.
1338         (index_to_bundle_states, bundle_states_num,
1339         allocated_bundle_states_chain, free_bundle_state_chain): New
1340         global variables.
1341         (ia64_sched_finish): Add stop bits and call `bundling' after the
1342         2nd insn scheduling.
1343         (ia64_use_dfa_pipeline_interface): Return zero always.
1344         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1345         insn scheduling.
1346         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1347         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1348         (ia64_reorg): Add bundling insns.
1349
1350         * doc/tm.texi
1351         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1352         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1353
1354         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1355
1356         * config/ia64/ia64.md: Add Itanium1 DFA description.
1357         (itanium_class): Add `nop' and `pre_cycle'.  Add
1358         define_function_unit for `nop'.
1359         (nop): Change attribute `itanium_class'.
1360         (pre_cycle): New define_insn.
1361
1362         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1363         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1364         ia64_produce_address_p): New function prototypes.
1365
1366         * config/ia64/ia64.c (bundling_p): New global variable.
1367         (ia64_use_dfa_pipeline_interface,
1368         ia64_first_cycle_multipass_dfa_lookahead,
1369         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1370         functions.
1371         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1372         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1373         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1374         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1375         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1376         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1377         (dfa_pre_cycle_insn): New variable.
1378
1379         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1380
1381         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1382         constructions.
1383
1384         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1385         New function prototypes.
1386
1387         * genattrtab.c (main): Process the new constructions.
1388
1389         * genautomata.c (gen_presence_absence_set,
1390         process_presence_absence_names, process_presence_absence_patterns,
1391         add_presence_absence, check_absence_pattern_sets): Add parameter
1392         `final_p'.
1393         (unit_decl): Add new members `final_presence_list' and
1394         `final_absence_list'.
1395         (unit_pattern_rel_decl): Add new member `final_p'.
1396         (gen_final_presence_set, gen_final_absence_set): New functions.
1397         (process_decls): Use member `final_p'.
1398         (temp_reserv): New global variable.
1399         (reserv_sets_are_intersected): Add processing `final_presence_set'
1400         and `final_absence_set'.
1401         (initiate_states): Allocate `temp_reserv'.
1402         (unit_final_presence_set_table, unit_final_absence_set_table): New
1403         gloabal variables.
1404         (initiate_presence_absence_pattern_sets): Initiate them.
1405         (NDFA_to_DFA): Fix typo.
1406         (output_description): Output `final_presence_set' and
1407         `final_absence_set'.
1408
1409         * doc/md.texi (final_presence_set, final_absence_set): Describe
1410         them.
1411
1412         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1413
1414         * genautomata.c (transform_3): Process a missing case (nothing on
1415         unit place).
1416
1417         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1418
1419         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1420         comments about queried units and the minimization.
1421
1422         * doc/md.texi: Ditto.
1423
1424         * genautomata.c (create_composed_state): Return nonzero if the new
1425         state has been created.
1426         (first_cycle_unit_presence): New function.
1427         (state_is_differed): Add new parameter.  Use the new function.
1428         Take queried units into account.
1429         (partition_equiv_class): Pass additional parameter to
1430         `state_is_differed'.
1431         (merge_states): Process composed states too.
1432         (build_automaton, create_automata, output_min_issue_delay_table,
1433         output_tables, output_statistics): Output more information.
1434         (output_reserved_units_table): Use function
1435         `first_cycle_unit_presence'.
1436         (output_tables): Output table of queried units even if the
1437         minimization is switched on.
1438         (write_automata): Output code for querying units even if the
1439         minimization is switched on.
1440
1441         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1442
1443         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1444         syntax of the constructions.
1445
1446         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1447         extended syntax of the constructions.
1448
1449         * genautomata.c (unit_rel_decl): Rename it to
1450         `unit_pattern_rel_decl'.
1451         (pattern_set_el, pattern_reserv): New structures.
1452         (pattern_set_el_t, pattern_reserv_t): New types.
1453         (gen_presence_absence_set): New function.
1454         (process_presence_absence): Remove it.
1455         (process_presence_absence_names,
1456         process_presence_absence_patterns): New functions.
1457         (get_presence_absence_set): Remove it.
1458         (initiate_presence_absence_sets): Rename it on
1459         `initiate_presence_absence_pattern_sets'.  Use new function
1460         `form_reserv_sets_list'.
1461         (form_reserv_sets_list, check_presence_pattern_sets,
1462         check_absence_pattern_sets, output_pattern_set_el_list): New
1463         functions.
1464         (unit_decl): Change types of members `presence_list' and
1465         `absence_list'.
1466         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1467         (decl): Change types of members `excl', `presence', and `absence'.
1468         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1469         at the end of the vector.
1470         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1471         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1472         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1473         (gen_presence_set, gen_absence_set): Use new function
1474         `gen_presence_absence_set'.
1475         (add_presence_absence): Process `pattern_list' instead of
1476         `source_list'.
1477         (process_decls): USe new functions
1478         `process_presence_absence_names' and
1479         `process_presence_absence_patterns'.
1480         (reserv_sets_are_intersected): Use new function
1481         `check_presence_pattern_sets'.
1482         (presence_set, absence_set): Remove them.
1483         (unit_presence_set_table, unit_absence_set_table): New global
1484         variables.
1485         (output_description): Use new function
1486         `output_pattern_set_el_list'.
1487         (generate): Use `initiate_presence_absence_pattern_sets'.
1488
1489         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1490
1491         * genattr.c (main): Add output of prototype of new interface
1492         function `dfa_clean_insn_cache'.
1493
1494         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1495         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1496         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1497         the generated code.
1498         (write_automata): Call the new function.
1499
1500 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1501
1502         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1503         correctly.
1504
1505 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1506
1507         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1508
1509 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1510
1511         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1512         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1513         (CONSTRAINT_LEN): Provide default definition.
1514         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1515         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1516         (EXTRA_CONSTRAINT_STR): Likewise.
1517         (REG_CLASS_FROM_CONSTRAINT): Define.
1518         * genoutput.c (check_constraint_len, constraint_len): New functions.
1519         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1520         constraint / modifier.
1521         (gen_insn): Call check_constraint_len.
1522         * local-alloc.c (block_alloc): Update to use new macros / pass
1523         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1524         * ra-build.c (handle_asm_insn): Likewise.
1525         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1526         (constrain_operands, peep2_find_free_register): Likewise.
1527         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1528         * regmove.c (find_matches): Likewise.
1529         * reload.c (push_secondary_reload, find_reloads): Likewise.
1530         (alternative_allows_memconst): Likewise.
1531         * reload1.c (maybe_fix_stack_asms): Likewise.
1532         (reload_cse_simplify_operands): Likewise.
1533         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1534         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1535         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1536         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1537         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1538         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1539
1540         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1541
1542 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1543
1544         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1545         length.
1546         (*extzv_1_r_h8300hs): Likewise.
1547         (*extzv_1_r_inv_h8300): Likewise.
1548         (*extzv_1_r_inv_h8300hs): Likewise.
1549
1550 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1551
1552         * config/h8300/h8300.h (PREDICATE_CODES): New.
1553
1554 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1555
1556         * config/h8300/h8300.md (*addsi3_upper): New.
1557         (*iorsi3_shift): Likewise.
1558         (two splitters): Likewise.
1559         (*addsi3_shift): Likewise.
1560         (two splitters): Likewise.
1561
1562 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1563
1564         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1565         * basic-block.h (control_flow_insn_p): Fuction was exported.
1566         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1567         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1568         notes only when the region is contained in a single basic block.
1569
1570 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1571
1572         PR inline-asm/8832
1573         * tree.h (expand_asm): New prototype.
1574         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1575         to do so.
1576         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1577         down to expand_asm.
1578         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1579         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1580         (volatile_refs_p) [ASM_INPUT]: Likewise.
1581         (side_effects_p) [ASM_INPUT]: Likewise.
1582
1583 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1584
1585         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1586         athlon_decode attributes
1587         (imul/k8 optimization peep2s): New.
1588
1589         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1590         * i386.md (type attribute): Add ssecomi.
1591         (unit, memory, prefix attributes): Handle ssecomi.
1592         (cvt?2? patterns): Fix athlon_decode attribute
1593         (comi patterns): Set attribute to ssecomi.
1594
1595         PR target/8343
1596         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1597
1598 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1599
1600         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1601         that match register_operands.
1602         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1603         register_operand the default case.
1604
1605 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1606
1607         PR c/8032
1608         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1609         an empty element, do not advance the pointer to unfilled
1610         fields if there are pending initializers.
1611
1612 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1613
1614         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1615         (install-gcc-tooldir, install-cpp, installdirs,
1616         install-common, install-driver, install-info, install-man,
1617         install-headers, install-include-dir, install-headers-tar,
1618         install-headers-cpio, install-headers-cp, install-mkheaders,
1619         install-collect2, uninstall): Prepend $(DESTDIR) to
1620         destination paths in all (un)installation commands.
1621         (install-driver): Rewrite $(LN) commands to support DESTDIR
1622         with "ln" as well as with "ln -s".
1623         (installdirs): Simply use mkinstalldirs.
1624         (install-libgcc, install-multilib): Also pass DESTDIR.
1625         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1626         installation destination variable ldir.
1627         * config/alpha/t-osf4, config/arm/t-netbsd,
1628         config/ia64/t-hpux, config/mips/t-iris5-6,
1629         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1630         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1631         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1632         in the definition of SHLIB_INSTALL.
1633         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1634         $(libsubdir) in the installation commands.
1635
1636 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1637
1638         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1639         non-optimizing compile.
1640         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1641         compile.
1642
1643 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1644
1645         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1646         ms_struct and gcc_struct.
1647         (ix86_handle_struct_attribute): New function.
1648         (ix86_ms_bitfield_layout_p): Update to take new attributes
1649         into account.
1650         * doc/extend.texi: Document new attributes.
1651         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1652
1653 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1654
1655         PR optimization/8750
1656         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1657         scheduling pass to move insns across __alloca call.
1658
1659 2003-01-08  Dale Johannesen  <dalej@apple.com>
1660
1661         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1662         with *stmsi[3-8].
1663
1664 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1665
1666         PR target/9210
1667         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1668         Set SYMBOL_REF_FLAG on local data sym_ref.
1669
1670 2003-01-08  Dale Johannesen  <dalej@apple.com>
1671
1672         * function.c (assign_parms):  Don't set pretend_args_size if
1673           REG_PARM_STACK_SPACE.
1674           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1675           pretend_args_size.
1676
1677 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1678
1679         * gcc.hlp: Delete.
1680
1681 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1682
1683         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1684
1685 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1686
1687         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1688         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1689         as hook_bool_tree_hwi_hwi_tree_true.
1690         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1691         (rs6000_emit_epilogue): Same.
1692         (rs6000_output_mi_thunk): Re-implement as RTL.
1693         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1694         xcoffout_declare_function if any debugging enabled.
1695
1696 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1697
1698         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1699         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1700         * config/mips/mips.h (enum processor_type): Rename
1701         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1702         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1703         Add PROCESSOR_M4K.
1704         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1705         (ISA_MIPS32R2): New define.
1706         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1707         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1708         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1709         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1710         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1711         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1712         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1713         compiling MIPS16 code.
1714         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1715         comment.
1716         (ISA_HAS_SEB_SEH): New define.
1717         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1718         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1719         processor_type value renaming.  Add support for MIPS32R2.
1720         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1721         entries.
1722         (override_options): Reimplement -mipsN option handling so that
1723         it will work correctly for -mips32r2.  Avoid branch-likely
1724         instructions on MIPS32R2.
1725         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1726         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1727         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1728         (extendhisi2_hw, extendqisi2_hw): New.
1729         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1730         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1731         MIPS32R2, and MIPS64.
1732         (LINK_SPEC): Pass -mips32r2 to linker.
1733         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1734         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1735         for mips32r2 in the -march description.  Alphabetically sort
1736         CPU names in the -march description.  Add long-missed -mips32
1737         and -mips64 to MIPS option summary.
1738
1739         * config.gcc: Update copyright years to include 2003.
1740         * config/mips/mips.c: Likewise.
1741         * config/mips/mips.h: Likewise.
1742         * config/mips/mips.md: Likewise.
1743         * config/mips/netbsd.h: Likewise.
1744         * doc/invoke.texi: Likewise.
1745
1746 2003-01-08  Andreas Schwab  <schwab@suse.de>
1747
1748         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1749         variable.
1750         * configure: Regenerated.
1751
1752 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1753
1754         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1755         extraction of det with b0, b1, w0, w2, etc.
1756         (compute_logical_op_length): Likewise.
1757         (compute_logical_op_cc): Likewise.
1758
1759 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1760
1761         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1762         HIGH on all variants.
1763
1764 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1765
1766         * Makefile.in (PARTITION_H): New.
1767         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1768         * basic-block.h: Include hard-reg-set.h.
1769
1770 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1771
1772         * arm.h (ENABLE_XF_PATTERNS): Delete.
1773         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1774         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1775         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1776         (cmpxf_trap): Delete.
1777         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1778
1779 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1780
1781         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1782         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1783         (add??cc): New expanders.
1784         * i386.c (expand_int_addcc): New function.
1785         * i386-protos.h (expand_int_addcc): Declare.
1786
1787         * alias.c (memory_modified_1): New static function.
1788         (memory_modified): New static varaible.
1789         (memory_modified_in_insn_p): New global function.
1790         * rtl.h (memory_modified_in_insn_p): Declare.
1791         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1792         references.
1793
1794         * expr.h (emit_conditional_add): Declare.
1795
1796 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1797
1798         PR other/8947
1799         * doc/invoke.texi (-malign-double): Explain that the option breaks
1800         binary compatibility.
1801
1802 2003-01-08  Andreas Schwab  <schwab@suse.de>
1803
1804         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1805         should come from the generic *-*-linux* entry.
1806
1807 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1808
1809         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1810         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1811         we are inside libcall.
1812         * cselib.h (elt_loc_list): Add in_libcall.
1813         * gcse.c (do_local_cprop): Do not copy propagate using insns
1814         in libcalls.
1815
1816 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1817
1818         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1819         not normally affect to issue rate.
1820
1821 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1822
1823         * genopinit.c (optabs): Add addc_optab.
1824         * ifcvt.c (noce_try_store_flag): Rename to ...
1825         (noce_try_addcc): ... this one; handle generic conditional increment.
1826         (noce_process_if_block): Update noce_try_addcc call.
1827         * optabs.c (emit_conditional_add): New.
1828         (init_obtabs): Initialize addc_optab.
1829         * optabs.h (optab_index): Add OTI_addcc.
1830         (addcc_optab): New macro.
1831         * md.texi: Document addMcc
1832
1833         PR target/8322
1834         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1835         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1836         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1837
1838         * reload1.c (delete_output_reload): Avoid repeated attempts
1839         to delete insn.
1840
1841 2003-01-07  Andreas Schwab  <schwab@suse.de>
1842
1843         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1844         Move --enable-initfini-array check ...
1845         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
1846         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1847         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
1848         * configure: Rebuild.
1849
1850 2003-01-07  Richard Henderson  <rth@redhat.com>
1851
1852         * alias.c (find_base_value): Only use new_reg_base_value shortcut
1853         if the register is set once.
1854
1855 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
1856
1857         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
1858         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
1859         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
1860
1861 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1862             Sunil Davasam  <sunil.k.davasam@intel.com>
1863
1864         PR libstdc++/9076
1865         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
1866         DW_CFA_same_value, read next and ignore.
1867
1868 2003-01-07  Richard Henderson  <rth@redhat.com>
1869
1870         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
1871
1872 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1873
1874         * cfg.c: Include alloc-pool.h
1875         (edge_pool): New pool.
1876         (bb_pool): New pool.
1877         (first_deleted_edge): Remove.
1878         (first_deleted_block): Remove.
1879         (init_flow): Alloc/free the pools.
1880         (free_edge): Use pools.
1881         (alloc_block): Ditto.
1882         (expunge_block): Ditto.
1883         (cached_make_edge): Ditto.
1884
1885         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
1886
1887 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1888
1889         * et-forest.c: Include alloc-pool.h.
1890         (struct et_forest): Add node_pool and occur_pool.
1891         (et_forest_create): Create the new pools.
1892         (et_forest_delete): Delete them.
1893         (et_forest_add_node): Allocate and free using pools.
1894         (et_forest_add_edge): Ditto.
1895         (et_forest_remove_node): Ditto.
1896         (et_forest_remove_edge): Ditto.
1897
1898         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
1899
1900 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
1901
1902         * config/h8300/h8300.c (output_logical_op): Simplify and
1903         optimize the handling of SImode.
1904         * config/h8300/h8300.c (compute_logical_op_length): Update
1905         accordingly.
1906         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
1907
1908 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
1909
1910         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
1911         big-endian correction to indirect arguments too.
1912
1913 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1914
1915         Segher Boessenkool  <segher@koffie.nl>
1916
1917         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
1918         (alt_reg_names): Ditto, fix formatting.
1919         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
1920
1921 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1922
1923         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
1924         (output_logical_op): Constify intval and det.
1925         (compute_logical_length): Likewise.
1926         (compute_logical_cc): Likewise.
1927         (output_a_shift): Constify mask.
1928         (h8300_encode_label): Constify len.
1929
1930 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1931
1932         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
1933         (h8300_expand_epilogue): Likewise.
1934
1935 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1936
1937         Segher Boessenkool  <segher@koffie.nl>
1938
1939         * config/rs6000/altivec.md: Remove spaces from assembler
1940         instruction argument lists.
1941
1942 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1943
1944         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
1945         c4x_assembler_function_p.
1946         (c4x_null_epilogue_p): Complement return value, all uses updated.
1947         (c4x_insert_attributes): Add naked.
1948         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
1949         * doc/extend.texi: Update C4x function attributes.
1950
1951 2003-01-06  Richard Henderson  <rth@redhat.com>
1952
1953         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
1954         properly when changing "local-ness".
1955         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
1956
1957 2003-01-06  Dale Johannesen  <dalej@apple.com>
1958
1959         * config/darwin-protos.h:  Add prototypes for new section functions.
1960
1961 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
1962
1963         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
1964         to EABI.
1965
1966 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
1967
1968         * hwint.h: If the current compiler has no 64-bit type at all,
1969         make HOST_WIDEST_INT 32 bits.
1970
1971 2003-01-06  Eric Christopher  <echristo@redhat.com>
1972
1973         * config/mips/mips.md (movdf_internal2): Fix constraints.
1974
1975 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1976
1977         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
1978
1979 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
1980
1981         * config/mips/mips.md (leadi): Use dla rather than la.
1982
1983 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
1984
1985         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
1986         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
1987
1988 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
1989
1990         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
1991         redefinition.
1992
1993 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1994
1995         * config/h8300/h8300.md (*extzv_8_23): New.
1996
1997 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1998
1999         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2000         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2001         USE_EH_FRAME_REGISTRY when defining.
2002
2003 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2004
2005         * config/h8300/h8300.c (output_a_shift): Do not output a
2006         variable shift.
2007         * config/h8300/h8300.md (two splitters): New.
2008
2009 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2010
2011         * config/mips/mips.md: Disable the movstrsi define_split.
2012
2013 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2014
2015         * alloc-pool.c: Don't include "libiberty.h".
2016         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2017         * convert.c (convert_to_real): Hide unused variable.
2018
2019 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2020
2021         * Makefile.in (gtyp-gen.h): Const-ify.
2022         * gcov-dump.c (tag_table): Likewise.
2023
2024 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2025
2026         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2027         of *both* the file name and the fix name.
2028
2029 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2030
2031         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2032         collect2.
2033         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2034         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2035         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2036         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2037         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2038         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2039         elfos.h.
2040         (EH_FRAME_IN_DATA_SECTION): Delete define.
2041         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2042         (STARTFILE_SPEC): Use crtbegin.o.
2043         (ENDFILE_SPEC): Use crtend.o.
2044         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2045         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2046         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2047         DTOR_LIST_BEGIN): Define.
2048         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2049         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2050         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2051
2052 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2053
2054         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2055         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2056         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2057         Cleanup handling of replacement text.
2058         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2059
2060 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2061
2062         * fixinc/tests/base/math.h: removed obsolete results
2063         * fixinc/tests/base/stdlib.h: ditto
2064         * fixinc/tests/base/sys/param.h: ditto
2065         * fixinc/tests/base/sys/stat.h: ditto
2066         * fixinc/tests/base/time.h: ditto
2067         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2068         * fixinc/tests/base/sys/byteorder.h: ditto
2069         * fixinc/inclhack.def: Remove superfluous backslashes
2070
2071 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2072
2073         * config/h8300/h8300-protos.h: Add prototypes for
2074         the new functions defined below.
2075         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2076         define.
2077         (dosize): Emit RTL instead of assembly code.
2078         (push): Likewise.
2079         (pop): Likewise.
2080         (h8300_output_function_prologue): Remove.
2081         (h8300_expand_prologue): New.
2082         (h8300_expand_epilogue): New.
2083         (h8300_output_function_epilogue): Do only the reset of
2084         pragma_saveall.
2085         * config/h8300/h8300.md (push_h8300): New.
2086         (push_h8300hs): Likewise.
2087         (pop_h8300): Likewise.
2088         (pop_h8300hs): Likewise.
2089         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2090         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2091         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2092         (*ldm_h8300s_2): New.
2093         (*ldm_h8300s_3): Likewise.
2094         (*ldm_h8300s_4): Likewise.
2095         (return): Likewise.
2096         (*return_1): Likewise.
2097         (prologue): Likewise.
2098         (epilogue): Likewise.
2099         (monitor_prologue): Likewise.
2100
2101 2003-01-03  Dale Johannesen  <dalej@apple.com>
2102
2103         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2104           machopic_picsymbol_stub1.
2105           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2106         * rs6000/rs6000.c:  Update copyright.
2107           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2108
2109 2003-01-02  Jason Merrill  <jason@redhat.com>
2110
2111         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2112
2113         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2114         static/external decls.
2115
2116         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2117         outermost scope.
2118         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2119
2120 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2121
2122         * config/h8300/h8300-protos.h: Add a prototype for
2123         h8300_current_function_interrupt_function_p.
2124         * config/h8300/h8300.c (interrupt_handler): Remove.
2125         (os_task): Likewise.
2126         (monitor): Likewise.
2127         (pragma_interrupt): New.
2128         (WORD_REG_USED): Use
2129         h8300_current_function_interrupt_function_p.
2130         (dosize): Likewise.
2131         (h8300_output_function_prologue): Likewise.
2132         Do not set interrupt_handler, os_task, monitor.
2133         (h8300_output_function_prologue): Use
2134         h8300_current_function_interrupt_function_p.
2135         Do not set interrupt_handler, os_task, monitor.
2136         (h8300_current_function_interrupt_function_p): New.
2137         (h8300_pr_interrupt): Set pragma_interrupt.
2138         (h8300_insert_attributes): Reset pragma_interrupt.
2139
2140 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2141
2142         * doc/install.texi (Configuration): Fix markup for reference to
2143         gcc/config.gcc.
2144
2145 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2146
2147         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2148         (*iorhi3_two_qi): Likewise.
2149         (*iorsi3_zexthi): Likewise.
2150         (*xorhi3_zextqi): Likewise.
2151         (*xorsi3_zexthi): Likewise.
2152         (*xorsi3_zextqi): Likewise.
2153
2154 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2155
2156         * config/h8300/h8300.c (stack_pointer_operand): New.
2157         (const_int_gt_2_operand): Likewise.
2158         (const_int_ge_8_operand): Likewise.
2159         * config/h8300/h8300.md (a splitter): Likewise.
2160         (a peephole2): Likewise.
2161         * config/h8300/h8300-protos.h: Add prototypes for the new
2162         functions above.
2163
2164 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2165
2166         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2167         objc/objc-act.h: Fix copyright years.
2168
2169 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2170
2171         * doc/passes.texi: Fix documentation for -fssa-ccp
2172
2173 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2174
2175         * gccbug.in: Update for new categories.
2176
2177 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2178
2179         * config/h8300/h8300.md: Reorder some patterns.
2180
2181 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2182
2183         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2184
2185 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2186
2187         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2188         config/cris/cris-protos.h, config/i370/i370-protos.h,
2189         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2190         config/v850/v850-protos.h: Use struct, and don't conditionally
2191         compile on GCC_C_PRAGMA_H.
2192
2193 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2194
2195         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2196         * config/h8300/h8300-protos.h: Likewise.
2197         * config/sh/sh-protos.h: Likewise.
2198
2199 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2200
2201         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2202         cpp_reader.
2203         * config/h8300/h8300-protos.h: Likewise.
2204         * config/sh/sh-protos.h: Likewise.
2205
2206 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2207
2208         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2209         arm_pr_long_calls_off): Use struct.
2210         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2211         : Similarly.
2212         Don't include cpplib.h.
2213         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2214         sh_pr_nosave_low_regs): Similarly.
2215
2216 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2217
2218         * config/h8300/h8300.c: Include cpplib.h.
2219
2220 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2221
2222         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2223           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2224           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2225           "GCC" in the copyright header.
2226
2227 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2228
2229         * c-pragma.c (c_register_pragma): New.
2230         (init_pragma): Use it.
2231         * c-pragma.h (cpp_register_pragma): Don't declare.
2232         (c_register_pragma): New.
2233         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2234         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2235         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2236         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2237         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2238         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2239         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2240         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2241         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2242         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2243         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2244         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2245
2246 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2247
2248         * config/h8300/h8300-protos.h: Update the prototypes.
2249         * config/h8300/h8300.c (const_le_2_operand): Change to
2250         const_int_le_2_operand.
2251         (const_int_le_6_operand): Change to const_int_le_6_operand.
2252         * config/h8300/h8300.md (two peepholes): Update the function
2253         names.
2254
2255 2002-12-31  Tom Tromey  <tromey@redhat.com>
2256
2257         * doc/install.texi (Testing): Fixed typo.
2258
2259 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2260
2261         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2262         (TRAMPOLINE_SIZE): Support the normal mode.
2263         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2264
2265 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2266
2267         * c-common.h (pending_lang_change): Declare.
2268
2269 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2270
2271         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2272         descriptions.
2273
2274 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2275
2276         * gcc/doc/invoke.texi (Optimization Options): List the options
2277         enabled by each -O flag.
2278
2279 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2280
2281         * doc/install.texi (Configuration): Explicitly refer
2282         gcc/config.gcc for a list of cpu models.
2283
2284 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2285
2286         * config/h8300/h8300.h: Fix comment typos.
2287
2288 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2289
2290         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2291
2292 2002-12-30  Tom Tromey  <tromey@redhat.com>
2293
2294         * doc/install.texi (Testing): Mention Jacks.
2295
2296 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2297
2298         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2299
2300 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2301
2302         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2303         cases.
2304         (compute_logical_op_length): Update to reflect the change in
2305         output_logical_op.
2306         (compute_logical_op_cc): Likewise.
2307
2308 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2309
2310         * doc/service.texi: Uncomment and update FAQ link.
2311
2312 2002-12-30  Andreas Jaeger  <aj@suse.de>
2313
2314         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2315
2316 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2317
2318         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2319
2320 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2321
2322         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2323         are clearing the most significant byte.
2324         (compute_logical_op_length): Update to reflect the change in
2325         output_logical_op.
2326         (compute_logical_op_cc): Likewise.
2327
2328 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2329
2330         * config/h8300/h8300.md: Give internal names to anonymous
2331         insns.
2332
2333 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2334
2335         * config/h8300/h8300.md: Reorder some insns.
2336
2337 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2338
2339         * config/h8300/h8300-protos.h: Add prototypes for
2340         const_int_qi_operand and const_int_hi_operand.
2341         * config/h8300/h8300.c (const_int_qi_operand): New.
2342         (const_int_hi_operand): Likewise.
2343         * config/h8300/h8300.md (three peepholes): New.
2344
2345 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2346
2347         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2348         Use @copying.
2349
2350 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2351
2352         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2353         * configure: Regenerate.
2354         * doc/install.texi: Update Texinfo version requirement.
2355
2356 2002-12-28  Andreas Jaeger  <aj@suse.de>
2357
2358         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2359         possibly unused.
2360
2361         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2362         correct format.
2363
2364 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2365
2366         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2367         *iorhi_ashift_8.
2368         (*iorhi_lshiftrt_8): New.
2369
2370 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2371
2372         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2373
2374 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2375
2376         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2377
2378 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2379
2380         * config/h8300/h8300-protos.h: Fix comment typos.
2381         Update copyright.
2382         * config/h8300/h8300.c: Fix comment typos.
2383
2384 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2385
2386         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2387
2388 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2389
2390         * config/i386/athlon.md: Fix comment typos.
2391         * config/i386/crtdll.h: Likewise.
2392         * config/i386/djgpp.h: Likewise.
2393         * config/i386/i386-interix.h: Likewise.
2394         * config/i386/i386.c: Likewise.
2395         * config/i386/i386.h: Likewise.
2396         * config/i386/i386.md: Likewise.
2397         * config/i386/k6.md: Likewise.
2398         * config/i386/mingw32.h: Likewise.
2399         * config/i386/pentium.md: Likewise.
2400         * config/i386/sco5.h: Likewise.
2401         * config/i386/winnt.c: Likewise.
2402         * config/i386/xmmintrin.h: Likewise.
2403
2404 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2405
2406         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2407         INSN_P before checking to see if it is dead.
2408         (mark_all_insn_unnecessary): Similarly.
2409         (ssa_eliminate_dead_code): Similarly.
2410         * rtl.h (struct rtx_def): Update comments for in_struct usage
2411         in dead code elimination pass.
2412         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2413
2414 2002-12-26  Andreas Schwab  <schwab@suse.de>
2415
2416         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2417
2418 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2419
2420         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2421         tartet_flags_explicit.
2422         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2423         Compact target_flags bits.
2424         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2425         (TARGET_SWITCHES): Delete references to *_SET flags.
2426
2427 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2428
2429         * i386.md (memory attribute): Fix setcc attribute.
2430
2431 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2432
2433         * output.h: Fix comment typos.
2434         * predict.c: Likewise.
2435         * print-tree.c: Likewise.
2436         * profile.c: Likewise.
2437         * ra-build.c: Likewise.
2438         * ra-colorize.c: Likewise.
2439         * ra-debug.c: Likewise.
2440         * ra-rewrite.c: Likewise.
2441         * ra.c: Likewise.
2442         * ra.h: Likewise.
2443         * real.c: Likewise.
2444         * recog.c: Likewise.
2445         * reg-stack.c: Likewise.
2446         * regclass.c: Likewise.
2447
2448 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2449
2450         * config/h8300/h8300.c (print_operand_address): Do not negate
2451         a negative number when printing one.
2452
2453 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2454
2455         * config/h8300/h8300-protos.h: Add prototypes for
2456         output_plussi, compute_plussi_length, and compute_plussi_cc.
2457         * config/h8300/h8300.c (output_plussi): New.
2458         (compute_plussi_length): Likewise.
2459         (compute_plussi_cc): Likewise.
2460         * config/h8300/h8300.md (addsi_h8300h): Call
2461         output_plussi, compute_plussi_length, and compute_plussi_cc.
2462
2463 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2464
2465         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2466         of match_operand in the new patterns.
2467
2468 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2469
2470         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2471
2472 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2473
2474         * configure.in (enable-coverage): Add SELF_COVERAGE.
2475         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2476
2477 2002-12-24  Jim Wilson  <wilson@redhat.com>
2478
2479         * alias.c (record_set): Handle multi-reg hard registers.
2480
2481 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2482
2483         * regmove.c: Fix comment typos.
2484         * reload.c: Likewise.
2485         * reload1.c: Likewise.
2486         * resource.c: Likewise.
2487         * rtl.def: Likewise.
2488         * rtl.h: Likewise.
2489         * rtlanal.c: Likewise.
2490         * sched-deps.c: Likewise.
2491         * sched-rgn.c: Likewise.
2492         * sibcall.c: Likewise.
2493         * simplify-rtx.c: Likewise.
2494         * ssa-ccp.c: Likewise.
2495         * ssa.c: Likewise.
2496         * stmt.c: Likewise.
2497         * stor-layout.c: Likewise.
2498         * system.h: Likewise.
2499         * tlink.c: Likewise.
2500         * toplev.c: Likewise.
2501         * tracer.c: Likewise.
2502         * tree-inline.c: Likewise.
2503         * tree.c: Likewise.
2504         * tree.h: Likewise.
2505         * unroll.c: Likewise.
2506         * varasm.c: Likewise.
2507
2508 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2509
2510         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2511         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2512         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2513         DG/UX entries.
2514         * doc/md.texi: Remove AMD 29K entries.
2515         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2516         1.38.1, NewsOS, RT PC, WE32K entries.
2517
2518 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2519
2520         PR/8763
2521         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2522         (altivec_vspltisw_v4sf): Name pattern.
2523         (altivec_vslw_v4sf): New pattern.
2524
2525 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2526
2527         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2528
2529 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2530
2531         * stor-layout.c (update_alignment_for_field): Correct handling of
2532         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2533         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2534         bitfield does not affect alignment.
2535
2536 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2537
2538         * expr.c (expand_assignment): Apply special treatment to
2539         ARRAY_TYPE.
2540
2541 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2542
2543         * config/h8300/h8300-protos.h: Update the prototype of
2544         expand_a_shift.
2545         * config/h8300/h8300.c (expand_a_shift): Change the return
2546         type to void.
2547         * config/h8300/h8300.md: Update all the uses of
2548         expand_a_shift.
2549
2550 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2551
2552         * tree.c (save_expr): Allow either side of a dyadic operand to be
2553         constant.
2554
2555         * doc/portability.texi (portability): Update portability goals.
2556
2557 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2558
2559         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2560
2561 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2562
2563         * stor-layout.c (update_alignment_for_field): Guard use of
2564         ADJUST_FIELD_ALIGN with #ifdef.
2565
2566         * stor-layout.c (update_alignment_for_field): Use
2567         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2568         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2569
2570 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2571
2572         * genautomata.c: Fix comment typos.
2573
2574 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2575
2576         * params.def (tracer-min-branch-probability-feedback): Fix default.
2577         * final.c (compute_alignments): Use profile to avoid code bloat.
2578
2579 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2580
2581         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2582         sequences end with a valid cc0 whenever possible.
2583
2584 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2585
2586         * config/h8300/h8300.md (negsf2): New.
2587         (*negsf2_h8300): Likewise.
2588         (*negsf2_h8300hs): Likewise.
2589
2590 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2591
2592         * integrate.c (output_inline_function): Don't hold private
2593         pointers to 'struct function' over GC calls.
2594
2595 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2596
2597         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2598         NO_FPSCR_VALUES.
2599         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2600
2601 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2602
2603         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2604         length.
2605
2606 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2607
2608         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2609         second alternative "#".
2610         (*zero_extendqihi2_h8300hs): Likewise.
2611         (a define_split): New.
2612
2613 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2614
2615         * config/h8300/h8300-protos.h: Update the prototype for
2616         split_adds_subs.
2617         Add prototypes for const_le_2_operand and const_le_6_operand.
2618         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2619         specify whether inc/dec should be used when possible.
2620         (const_le_2_operand): New.
2621         (const_le_6_operand): Likewise.
2622         * config/h8300/h8300.md (two peepholes): New.
2623
2624 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2625
2626         * config/fr30/fr30.md: Fix a comment typo.
2627         * config/i386/i386.c: Likewise.
2628         * config/ip2k/ip2k.h: Likewise.
2629
2630 2002-12-20  Jim Wilson  <wilson@redhat.com>
2631
2632         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2633         (__ev_subw, __ev_subiw): New.
2634         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2635         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2636
2637 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2638
2639         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2640         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2641         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2642         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2643
2644 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2645
2646         * config/h8300/h8300-protos.h: Add prototypes for
2647         incdec_operand and eqne_operator.
2648         * config/h8300/h8300.c (incdec_operand): New.
2649         (eqne_operator): Likewise.
2650         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2651         (CONST_OK_FOR_O): Likewise.
2652         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2653         CONST_OK_FOR_O.
2654         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2655         (addhi3_incdec): New.
2656         (addsi3_incdec): Likewise.
2657         (two peepholes): Likewise.
2658
2659 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2660
2661         * config/h8300/h8300.c (dosize): Remove warnings.
2662         (print_operand): Likewise.
2663
2664 2002-12-20  Richard Henderson  <rth@redhat.com>
2665
2666         * config/alpha/alpha.c (decl_has_samegp): New.
2667         (samegp_function_operand): Use it.  Rename from
2668         current_file_function_operand.
2669         (direct_call_operand): Handle -msmall-text via symbol->jump.
2670         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2671         (tls_symbolic_operand_type): Likewise.
2672         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2673         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2674         (alpha_end_function): Set symbol->jump for functions defined in
2675         the text section.
2676         * config/alpha/alpha-protos.h: Update.
2677         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2678         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2679         (PREDICATE_CODES): Update.
2680         * config/alpha/alpha.md (call patterns): Update for
2681         samegp_function_operand rename; use !samegp reloc if
2682         TARGET_EXPLICIT_RELOCS.
2683         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2684
2685 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2686
2687         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2688         all registers capable of holding a double float.
2689         (*rcond): change name of "reverse branch" insns to
2690         something more meaningful.
2691         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2692         comparisons properly.
2693         (*ffs): Change operand 0 from write to read-modify-write.
2694         (*ffsssi2): Drop constraints from define_expand.
2695
2696         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2697         MOVE_RATIO as default for store operations.
2698
2699         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2700         LONG_REGS class.
2701         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2702         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2703         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2704
2705         * config/ns32k/STATUS: New File
2706         * config/ns32k/NOTES: New file.
2707
2708 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2709
2710         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2711         option for S/390 and zSeries.
2712         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2713         s390_arch_string): New variables.
2714         (override_options): Checking for options and setting of
2715         appropriate target_flags, cpu and arch flags.
2716         * config/s390/s390.h: (processor_type): New enum.
2717         (TARGET_SWITCHES): New switches -mesa/zarch.
2718         * config/s390/s390.md: New attribute 'cpu'.
2719
2720 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2721
2722         * c-pretty-print.h: Fix comment typos.
2723         * integrate.c: Likewise.
2724         * varasm.c: Likewise.
2725         * config/c4x/c4x.h: Likewise.
2726         * config/c4x/c4x.md: Likewise.
2727         * config/fr30/fr30.md: Likewise.
2728         * config/frv/frv.c: Likewise.
2729         * config/h8300/h8300.c: Likewise.
2730         * config/i386/i386.c: Likewise.
2731         * config/i386/i386.h: Likewise.
2732         * config/ia64/ia64.c: Likewise.
2733         * config/ia64/ia64.h: Likewise.
2734         * config/ip2k/ip2k.md: Likewise.
2735         * config/m68hc11/m68hc11-crt0.S: Likewise.
2736         * config/m68hc11/m68hc11.h: Likewise.
2737         * config/m68hc11/m68hc11.md: Likewise.
2738         * config/m68hc11/m68hc12.h: Likewise.
2739         * config/mcore/mcore.md: Likewise.
2740         * config/mips/mips.c: Likewise.
2741         * config/mips/mips.md: Likewise.
2742         * config/mmix/mmix-modes.def: Likewise.
2743         * config/pa/pa.c: Likewise.
2744         * config/rs6000/rs6000.c: Likewise.
2745         * config/rs6000/rs6000.h: Likewise.
2746         * config/rs6000/rs6000.md: Likewise.
2747
2748 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2749
2750         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2751         output shifts using rotation.
2752
2753 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2754
2755         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2756
2757 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2758
2759         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2760         pointer.
2761         (pushqi_h8300hs): Likewise.
2762         (pushhi_h8300): Likewise.
2763         (pushhi_h8300hs): Likewise.
2764
2765 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2766
2767         * sched-rgn.c (init_regions): Update comment.
2768
2769 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2770
2771         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2772         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2773         attributes.
2774         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2775         (get_vrsave_internal,set_vrsave_internal): Same.
2776         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2777         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2778         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2779
2780 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2781             Danny Smith  <dannysmith@users.sourceforge.net>
2782             Eric Kohl  <ekohl@rz-online.de>
2783
2784         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2785         attributes incompatible with fastcall attribute.
2786         (ix86_handle_regparm_attribute): Likewise.
2787
2788         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2789         fastcall types.
2790
2791         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2792         attributes.
2793         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2794         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2795         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2796         i386_pe_output_labelref rather than here.
2797         (gen_fastcall_suffix): New function. Decorates a label name with the
2798         fastcall prefix (@) and the stdcall suffix.
2799         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2800         has a fastcall attribute.
2801         (i386_pe_output_labelref): New function. Outputs a label reference.
2802         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2803         valid attribute.
2804         (ix86_return_pops_args): Fastcall functions pop the stack.
2805         (init_cumulative_args): Reserve registers ECX and EDX if function has
2806         fastcall attribute.
2807         (function_arg): Use registers ECX and EDX if function has fastcall
2808         attribute.
2809         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2810         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2811         (FASTCALL_PREFIX): Define as '@'.
2812         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2813         attributes.
2814         * doc/extend.texi: Add documentation of fastcall attribute.
2815
2816 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2817
2818         * configure.in: FORBUILD when build!=host changed from
2819         ../$build-alias to ../build-$build_alias to match change made
2820         in top directory.
2821         * configure: Regenerated.
2822
2823 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2824
2825         PR optimization/8988
2826         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2827         the biv when eliminating.
2828
2829 2002-12-19  Devang Patel  <dpatel@apple.com>
2830         * gcc.c (struct default_compiler): Recognizes input file name with
2831         .CPP extension as C++ source files
2832         * cp/lang-spec.h: Same
2833         * doc/invoke.texi:  Add documentation for .CPP support.
2834
2835 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
2836
2837         PR 8553
2838         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2839         registers.
2840         ("absv16qi2"): Same.
2841         ("absv4si2"): Same.
2842         ("absv4sf2"): Same.
2843         ("altivec_abss_v16qi"): Same.
2844         ("altivec_abss_v8hi"): Same.
2845         ("altivec_abss_v4si"): Same.
2846
2847 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
2848
2849         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2850         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2851
2852 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2853
2854         PR target/8340
2855         * stmt.c (expand_asm_operands): Produce an error when
2856         the PIC register is clobbered.
2857
2858 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
2859
2860         * Makefile.in (OBJS): Add alloc-pool.o
2861         (alloc-pool.o): New object.
2862
2863         * alloc-pool.c: New file.
2864         * alloc-pool.h: New file.
2865
2866 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
2867
2868         * gcc.c (validate_switches): Robustify against skipping past '\0'.
2869
2870 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2871
2872         * config.gcc: Set extra_objs in the generic Darwin rule,
2873         not in the machine-specific rules.
2874
2875 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2876
2877         * ChangeLog: Follow spelling conventions.
2878         * ChangeLog.2: Likewise.
2879         * ChangeLog.4: Likewise.
2880         * ChangeLog.5: Likewise.
2881         * cppexp.c: Likewise.
2882         * df.c: Likewise.
2883         * gcov.c: Likewise.
2884         * gengtype.c: Likewise.
2885         * reload1.c: Likewise.
2886         * sched-rgn.c: Likewise.
2887         * stmt.c: Likewise.
2888         * stor-layout.c: Likewise.
2889         * timevar.c: Likewise.
2890         * toplev.c: Likewise.
2891         * tree.h: Likewise.
2892         * varasm.c: Likewise.
2893         * config/fr30/fr30.md: Likewise.
2894         * config/i386/i386.c: Likewise.
2895         * config/ia64/ia64.c: Likewise.
2896         * config/pa/pa.c: Likewise.
2897
2898 2002-12-18  Roger Sayle  <roger@eyesopen.com>
2899
2900         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
2901
2902 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
2903
2904         PR 8551
2905         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
2906         macro.
2907         (vec_cmplt C++ functions): Reverse arguments.
2908
2909 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2910
2911         * config/rs6000/t-rs6000: Move contents to t-fprules,
2912         add rules for dependencies of rs6000.o and to build rs6000-c.o
2913         * config/rs6000/t-fprules: New file from t-rs6000.
2914         * config/rs6000/t-beos: Remove soft-fp rules.
2915         * config/rs6000/t-ppccomm: Likewise.
2916         * config/rs6000/t-newas: Likewise.
2917         * config/rs6000/t-rs6000-c-rule: Delete.
2918         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
2919         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
2920         Create generic Darwin rules.
2921
2922         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
2923
2924 2002-12-18  Doug Evans  <dje@sebabeach.org>
2925
2926         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
2927         and LIT_NAME_P.
2928         (move_src_operand): Remove compile-time warning.
2929         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
2930
2931 2002-12-18  Jason Merrill  <jason@redhat.com>
2932
2933         * unwind-dw2-fde.c (frame_downheap): Split out from...
2934         (frame_heapsort): Here.
2935
2936 2002-12-17  Jason Merrill  <jason@redhat.com>
2937
2938         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
2939         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
2940
2941         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
2942
2943         * calls.c (expand_call): Don't try to be clever about expanding
2944         the return slot address.
2945
2946 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
2947
2948         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
2949         Define.
2950
2951 2002-12-17  Jason Merrill  <jason@redhat.com>
2952
2953         * genmultilib: Use 'cd ./foo'.
2954
2955 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2956
2957         * doc/c-tree.texi: Restore deliberate spelling mistakes.
2958
2959 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2960
2961         * doc/c-tree.texi: Fix typos and follow spelling conventions.
2962         * doc/cpp.texi: Likewise.
2963         * doc/extend.texi: Likewise.
2964         * doc/gty.texi: Likewise.
2965         * doc/install.texi: Likewise.
2966         * doc/invoke.texi: Likewise.
2967         * doc/md.texi: Likewise.
2968         * doc/passes.texi: Likewise.
2969         * doc/rtl.texi: Likewise.
2970         * doc/sourcebuild.texi: Likewise.
2971         * doc/tm.texi: Likewise.
2972
2973 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
2974
2975         * doc/invoke.texi: Minor spelling and grammar fixes.
2976
2977 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
2978
2979         * config/s390/s390.c (s390_output_constant_pool): Replace
2980         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
2981
2982 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
2983
2984         * convert.c (convert_to_real): Disable function transformation for
2985         now.
2986
2987 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2988
2989         * gcc.c (handle_braces): Allow '@' as a switch name.
2990
2991 2002-12-16  Jason Merrill  <jason@redhat.com>
2992
2993         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
2994         with special struct-return ABIs.
2995
2996         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
2997         doesn't match the begin SCOPE_STMT in partialness.
2998
2999 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3000
3001         * genmultilib: Create temporary files in unique subdirectory.
3002
3003         * gcc.c (validate_switches): Allow '@' as a switch name.
3004
3005 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3006
3007         * Makefile.in (gcov-iov.h): Improve portability.
3008
3009 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3010
3011         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3012         gas
3013         * mips.md (tablejump insn): Likewise.
3014
3015 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3016
3017         * doc/include/gcc-common.texi: Change version number to 3.4.
3018
3019 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3020
3021         * fixinc/fixlib.h: add: #include <signal.h>
3022         * fixinc/fixincl.c: remove: #include <signal.h>
3023
3024 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3025
3026         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3027         (EXTRA_CONSTRAINT): Use it.
3028         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3029
3030 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3031
3032         * config.gcc (need_64bit_hwint): New variable.
3033         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3034         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3035         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3036         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3037         Set it.
3038         (powerpc*-*-darwin*): Unset it.
3039         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3040         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3041         deleted/nonexistent xm-*.h headers.
3042         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3043         target set need_64bit_hwint in config.gcc.
3044         * configure, config.in: Regenerate.
3045
3046         * hwint.h: Overhaul.  Don't bother trying int for
3047         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3048         decision to force 64-bit HOST_WIDE_INT on
3049         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3050         not visible at this point.  Don't allow prior definition of
3051         any macro defined by this file.
3052
3053         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3054         HOST_BITS_PER_WIDE_INT.
3055         * config/c4x/c4x.h: Adjust redefinition of
3056         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3057         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3058         config/i386/xm-i386-interix.h: Delete file.
3059
3060 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3061             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3062
3063         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3064         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3065
3066 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3067
3068         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3069
3070 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3071
3072         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3073         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3074         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3075         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3076         config/v850/t-v850:  Correct dependencies and normalize
3077         compilation commands for files that include coretypes.h and tm.h.
3078
3079         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3080         not config.h and system.h.
3081
3082 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3083
3084         * i386.c (flags_reg_operand):  New function.
3085         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3086         * i386.md (cmov splitter, movqicc): Use new predicate.
3087
3088 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3089
3090         * i386.md (movqicc splitter): Fix template.
3091
3092 2002-12-13  Jason Merrill  <jason@redhat.com>
3093
3094         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3095         * calls.c (expand_call): Handle it.
3096         * tree-inline.c (struct inline_data): Remove target_exprs field.
3097         (optimize_inline_calls): Don't initialize it.
3098         (expand_call_inline): Don't modify it.  Handle
3099         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3100         (declare_return_variable): Take return slot addr.
3101         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3102         to return_slot_addr.
3103         * langhooks-def.h, langhooks.c: Adjust.
3104         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3105         a decl with no DECL_INITIAL.
3106
3107         * expr.c (expand_expr): Don't discard the target of a call which
3108         returns in memory.
3109
3110 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3111
3112         * cppinit.c (path_include): Take an environment variable name.
3113         Tidy up.
3114         (init_standard_includes): Simplify environment handling, and
3115         move to ...
3116         (cpp_read_main_file): ...here as -nostdinc should not affect
3117         environment variable paths.
3118
3119 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3120
3121         * pa.c (output_millicode_call): Correct typo.
3122         (output_call): Likewise.
3123
3124 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3125
3126         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3127         operand's range.  Print value directly, without aid from
3128         output_address.
3129         <case U>: New.
3130         <case S>: Make sure argument to fprintf has the right type.
3131         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3132         (EXTRA_CONSTRAINT): Adjust.
3133         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3134         bclr.  Use %U for immediate operands of bset and bclr.
3135         (iorqi3): New expand, with insns for AM33 and mn10300.
3136
3137 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3138
3139         * sh.c (sh_register_operand): New function.
3140         (prepare_move_operands): Use it.
3141         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3142         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3143         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3144         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3145         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3146         (movv2si_i): Likewise.
3147
3148 2002-12-13  Jim Wilson  <wilson@redhat.com>
3149
3150         * doc/extend.texi (Complex Numbers): Update info on debug info.
3151
3152 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3153
3154         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3155         alternative.
3156
3157 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3158
3159         * hooks.h (hook_tree_tree_bool_false): Declare
3160         hook_bool_tree_tree_false instead.
3161
3162 2002-12-12  Devang Patel  <dpatel@apple.com>
3163
3164         * doc/invoke.texi: Document Darwin linker options, -bundle
3165         -bind_at_load, -all_load and -arch_errors_fatal
3166
3167 2002-12-12  Jim Wilson  <wilson@redhat.com>
3168
3169         * dbxout.c (dbxout_fptype_value): New.
3170         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3171
3172 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3173
3174         * c-decl.c: Fix a comment typo.
3175         * cfg.c: Likewise.
3176         * cfgcleanup.c: Likewise.
3177         * cfglayout.c: Likewise.
3178         * cfgrtl.c: Likewise.
3179         * c-typeck.c: Likewise.
3180         * dominance.c: Likewise.
3181         * dwarf2asm.c: Likewise.
3182         * dwarfout.c: Likewise.
3183         * expmed.c: Likewise.
3184         * expr.c: Likewise.
3185         * final.c: Likewise.
3186         * flow.c: Likewise.
3187         * function.c: Likewise.
3188         * gcc.c: Likewise.
3189         * genautomata.c: Likewise.
3190         * integrate.c: Likewise.
3191         * loop.c: Likewise.
3192         * loop.h: Likewise.
3193         * output.h: Likewise.
3194         * profile.c: Likewise.
3195         * ra.h: Likewise.
3196         * reload1.c: Likewise.
3197         * reload.c: Likewise.
3198         * sched-rgn.c: Likewise.
3199         * stmt.c: Likewise.
3200         * tree.h: Likewise.
3201         * vmsdbgout.c: Likewise.
3202
3203 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3204
3205         * config/h8300/h8300.md: Add a new peephole2.
3206
3207 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3208
3209         * config/h8300/h8300.md (a peephole2): Accept a constant
3210         that's accepted by CONST_OK_FOR_J.
3211
3212 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3213
3214         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3215         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3216         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3217         (*addhi_h8300hs): Likewise.
3218
3219 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3220
3221         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3222         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3223         Increase cost for moves involving multiple general purpose registers.
3224         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3225         TARGET_FMOVD.
3226         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3227         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3228         (enum reg_class reg_class_from_letter): No longer const.
3229         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3230         REGCLASS_HAS_GENERAL_REG.
3231         Handle SImode moves from/to fp registers.
3232         ! TARGET_SHMEDIA && TARGET_FMOVD.
3233         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3234         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3235
3236 2002-12-12  Andreas Schwab  <schwab@suse.de>
3237
3238         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3239         change and some warnings.
3240
3241 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3242
3243         * doc/md.texi (pushm): Fix a typo.
3244
3245 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3246
3247         * config/mips/mips.c (mips_output_conditional_branch): Support
3248         PIC-safe out-of-range branch and branch-likely.
3249         * config/mips/mips.md (attr length): PIC-safe out-of-range
3250         branches are longer.
3251         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3252         unused code to support indirect jumps.
3253
3254 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3255
3256         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3257         $(tm_file_list).
3258
3259 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3260
3261         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3262
3263 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3264
3265         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3266
3267 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3268
3269         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3270         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3271         BIGGEST_ALIGNMENT.
3272         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3273         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3274
3275 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3276
3277         * doc/invoke.texi: Correct dump file names.
3278
3279 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3280
3281         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3282         name to globalize_label or assemble_name.
3283
3284 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3285
3286         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3287         if not TARGET_SHMEDIA.
3288
3289 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3290
3291         * sh.h (REG_CLASS_HAS_FP_REG): New.
3292         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3293         move it into:
3294         * sh.c (sh_register_move_cost).
3295         * sh-protos.h (sh_register_move_cost): Declare.
3296
3297         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3298         (sh_adjust_cost): Always return a value.
3299
3300 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3301
3302         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3303         (REGISTER_MOVE_COST): Use it.
3304
3305 2002-12-11  Richard Henderson  <rth@redhat.com>
3306
3307         * tree.h (MODULE_LOCAL_P): Kill.
3308         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3309
3310 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3311
3312         * config/h8300/h8300.md (two define_peephole2): New.
3313
3314 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3315
3316         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3317         (CONST_OK_FOR_K): Likewise.
3318         (CONST_OK_FOR_M): Likewise.
3319         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3320
3321 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3322
3323         * c-common.c (builtin_define_type_max): Handle unsigned
3324         types too.
3325
3326 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3327
3328         * haifa-sched.c (rank_for_schedule): Correct style.
3329
3330 2002-12-10  Per Bothner  <pbothner@apple.com>
3331
3332         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3333         directive_index into an unsigned field and a new is_directive field.
3334         * cppinit.c (mark_named_operators):  Update to set new fields.
3335         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3336         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3337         No longer need to subtract 1 from directive_index.
3338         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3339         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3340
3341 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3342
3343         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3344         check for evaluating sqrt of a constant at compile time.
3345         * simplify-rtx.c (simplify_unary_operation): Likewise.
3346
3347 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3348
3349         PR other/8882
3350         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3351
3352 2002-12-10  Devang Patel  <dpatel@appple.com>
3353
3354         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3355         * doc/invoke.texi: Add new "Darwin Options" section.
3356
3357 2002-12-10  Jim Wilson  <wilson@redhat.com>
3358
3359         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3360         memory.
3361
3362 2002-12-10  Andrew Haley  <aph@redhat.com>
3363
3364         * cse.c (cse_insn): Don't cse past a basic block boundary.
3365
3366 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3367
3368         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3369         -shared.
3370         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3371         * config/alpha/linux.h (LIB_SPEC): Likewise.
3372         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3373         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3374         * config/sparc/linux.h (LIB_SPEC): Likewise.
3375         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3376
3377 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3378
3379         * doc/invoke.texi: Document UltraSparc III option.
3380
3381 2002-12-09  Richard Henderson  <rth@redhat.com>
3382
3383         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3384         __tune_pentium2__ and __tune_pentium3__ as necessary.
3385
3386 2002-12-09  Richard Henderson  <rth@redhat.com>
3387
3388         * target.h (gcc_target): Add cannot_force_const_mem.
3389         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3390         (TARGET_INITIALIZER): Add it.
3391         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3392         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3393         * reload1.c (reload): Likewise.
3394         * hooks.c (hook_bool_rtx_false): New.
3395         * hooks.h: Declare it.
3396
3397         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3398         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3399         (ix86_expand_move): Remove de-const-pooling hack.
3400
3401 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3402
3403         * toplev.c (dump_file): Fix order to match reality.
3404
3405 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3406
3407         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3408         (store_multiple): Likewise.
3409
3410 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3411
3412         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3413         function pointers in page 0.
3414
3415 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3416
3417         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3418         definition
3419         (MEMBER_TYPE_FORCES_BLK): Move.
3420         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3421         aggregate arguments.
3422         (ia64_function_value): Use PARALLEL to return aggregate values.
3423
3424 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3425
3426         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3427         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3428         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3429         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3430         * stmt.c (expand_return): Ditto.
3431         * expr.c (move_block_from_reg): Ditto.
3432         (copy_blkmode_from_reg): Ditto.
3433         * expmed.c (store_bit_field): Ditto.
3434
3435 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3436
3437         * config.gcc: Added tic4x-* target as an alias to c4x-*
3438
3439 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3440
3441         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3442         constructing insn directly.
3443
3444 2002-12-06  Per Bothner  <pbothner@apple.com>
3445
3446         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3447         char to an int bit-field, for hosts where char is unsigned.
3448
3449 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3450             Richard Henderson <rth@redhat.com>
3451
3452         * real.c (ieee_extended_motorola_format,
3453         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3454         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3455         Provide appropriate values for new signbit field.
3456
3457 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3458
3459         * real.h (real_format): Add signbit field.
3460         * real.c (ieee_single_format, ieee_double_format,
3461         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3462         ieee_extended_intel_128_format, ibm_extended_format,
3463         ieee_quad_format, vax_f_format, vax_d_format,
3464         vax_g_format, i370_single_format, i370_double_format,
3465         c4x_single_format, c4x_extended_format, real_internal_format):
3466         Provide suitable signbit value, or -1 to avoid bit twiddling.
3467
3468         * optabs.c (expand_unop): Try implementing negation of
3469         floating point modes by flipping the sign bit.
3470         (expand_abs): Try implementing abs of floating point modes
3471         by clearing the sign bit.
3472
3473 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3474
3475         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3476         of constructing insn directly.
3477
3478 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3479
3480         * config/h8300/h8300.md (*iorhi_shift_8): New.
3481
3482 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3483
3484         * doc/invoke.texi: Document FRV port options.
3485         * doc/md.texi: Document FRV register classes.
3486
3487 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3488
3489         * doc/install.texi (Configuration): Improve description of cases
3490         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3491
3492 2002-12-06  Per Bothner  <pbothner@apple.com>
3493
3494         * cpplib.h (NODE_MACRO_ARG):  New flag.
3495         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3496         Remove value.operator field.  Move arg_index field to value union.
3497         (directive_index):  Make signed, since also used for C++ operators.
3498         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3499         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3500         Save node->value, and set node->value.arg_index.
3501         (_cpp_create_definition):  For each paramater, restore node->value.
3502         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3503         * cpptrad.c (scan_out_logical_line): Likewise.
3504         (scan_out_logical_line): Check for directive > 0.
3505         * cpplib.c (cpp_handle_directive):  Likewise.
3506         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3507         by negative of directive_index.
3508         * cppinit.c (mark_named_operators):  Likewise.
3509
3510         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3511
3512 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3513
3514         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3515         FPU.
3516         (push): Generate push_fpscr.
3517         (pop): Generate pop_fpscr.
3518         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3519         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3520
3521 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3522
3523         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3524         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3525
3526 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3527
3528         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3529
3530 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3531         Merged from basic improvements branch (excerpt):
3532
3533         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3534         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3535
3536 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3537
3538         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3539
3540 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3541
3542         * i386.md (dimode peep2s): Re-add "&& 1".
3543
3544 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3545
3546         * i386.c (ix86_expand_prologue):  Add comment, do not use
3547         fast prologues for cold and normal functions.
3548
3549 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3550
3551         * i386.c (x86_rep_movl_optimal): New variable.
3552         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3553         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3554
3555         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3556         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3557         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3558         generate unnecesary subregs.
3559
3560 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3561
3562         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3563         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3564
3565 2002-12-05  Dale Johannesen  <dalej@apple.com>
3566
3567         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3568
3569 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3570
3571         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3572         PROFILE_HOOK.
3573         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3574
3575 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3576
3577         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3578         (__ev_mwlufia): Remove.
3579         (__ev_mwlumfaaw): Remove.
3580         (__ev_mwlusfaaw): Remove.
3581         (__ev_mwlumfanw): Remove.
3582         (__ev_mwlusfanw): Remove.
3583
3584 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3585
3586         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3587
3588 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3589
3590         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3591         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3592         (get_shift_alg): Return optimal assembly instructions for the
3593         shifts mentioned above.
3594
3595 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3596
3597         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3598         condtiional moves.
3599
3600 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3601
3602         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3603         implement ashiftrt:HI by 13 bits on H8S.
3604
3605 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3606
3607         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3608         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3609         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3610         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3611         CTOR_LIST_BEGIN): New defines.
3612         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3613         (fptr.c): Add make rules.
3614
3615 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3616
3617         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3618         * doc/md.texi (Insn Canonicalizations): Document new
3619         canonicalizations for multiply/add combinations.
3620         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3621         patterns to ensure they're used whenever they can be.
3622
3623 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3624
3625         * config/h8300/h8300.c: Update the comments related to shifts.
3626
3627 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3628
3629         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3630
3631 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3632
3633         * config/h8300/h8300.md (*extzv_8_8): New.
3634         (*extzv_8_16): Likewise.
3635
3636 2002-12-04  Jason Merrill  <jason@redhat.com>
3637
3638         PR c++/8461, c++/8625
3639         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3640         references.
3641         * tree-inline.c (initialize_inlined_parameters): Likewise.
3642
3643         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3644
3645 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3646
3647         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3648         macro instruction in a branch delay slot, to avoid assembler
3649         warnings.
3650
3651 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3652
3653         PR c/7622
3654         * c-semantics (genrtl_scope_stmt): Do not output inlined
3655         nested functions that contain no code.
3656
3657 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3658
3659         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3660         to be forced into nonfallthru.
3661
3662 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3663
3664         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3665
3666 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3667
3668         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3669
3670 2002-12-03  Richard Henderson  <rth@redhat.com>
3671
3672         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3673
3674 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3675
3676         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3677         Initialize tmp.using_obstack to 0.
3678
3679 2002-12-03  Andreas Schwab  <schwab@suse.de>
3680
3681         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3682         (EH_RETURN_STACKADJ_RTX): Define.
3683         (EH_RETURN_HANDLER_RTX): Define.
3684         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3685         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3686         registers and don't save fixed registers.
3687         (m68k_output_function_prologue): Use it.
3688         (use_return_insn): Likewise.
3689         (m68k_output_function_epilogue): Likewise.
3690
3691 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3692
3693         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3694         (single_zero_operand): Likewise.
3695
3696 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3697
3698         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3699         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3700         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3701         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3702         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3703         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3704         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3705         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3706         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3707
3708 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3709
3710         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3711         (ffsdi): Likewise.
3712         (cntlzw2, cntlzd2): New patterns.
3713
3714 2002-12-02  H.J. Lu <hjl@gnu.org>
3715
3716         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3717         (mips*-*-linux*): Remove mips/t-linux.
3718
3719 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3720
3721         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3722
3723 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3724
3725         * config/h8300/h8300.c (dosize): Replace argument op with
3726         sign.
3727         (h8300_output_function_prologue): Update the call to dosize.
3728         (h8300_output_function_epilogue): Likewise.
3729
3730 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3731
3732         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3733
3734 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3735
3736         * configure.in: Use "missing" script to generate warning if
3737         flex or bison programs not found, instead of invoking "false".
3738         * configure: Rebuilt.
3739
3740 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3741
3742         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3743
3744 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3745
3746         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3747
3748 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3749
3750         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3751         (push): Likewise.
3752         (pop): Likewise.
3753         (h8300_output_function_prologue): Likewise.
3754         (h8300_output_function_epilogue): Likewise.
3755
3756 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3757
3758         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3759         corresponding mode of non-integer mode, unless it is VOIDmode.
3760
3761 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3762
3763         * config/h8300/h8300.md (stm_h8300s_2): New.
3764         (stm_h8300s_3): Likewise.
3765         (stm_h8300s_4): Likewise.
3766         (five define_peephole2): Likewise.
3767
3768 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3769
3770         * ra-build.c: Fix a comment typo.
3771
3772 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3773
3774         * i386.c (ix86_expand_int_movcc): fix
3775         reversed BRANCH_COST test; be curefull about infinite recursion.
3776
3777 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3778
3779         * config/h8300/h8300.c (h8300_output_function_prologue):
3780         Remove variable idx.
3781         (h8300_output_function_epilogue): Likewise.
3782
3783 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3784
3785         * config/frv/xm-frv.h: Delete, unnecessary.
3786
3787 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3788
3789         * config/h8300/h8300.md: Add comments for define_peephole2.
3790
3791 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3792
3793         * builtin-types.def (BT_SIZE): Use size_type_node.
3794         * builtins.c (fold_builtin): Make the builtin strlen returns a
3795         size_t, not a sizetype.
3796         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3797         c_size_type_node.
3798         (c_alignof_expr): Likewise.
3799         (c_common_nodes_and_builtins): Likewise.
3800         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3801         (c_size_type_node): Likewise.
3802         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3803         * tree.h (TI_SIZE_TYPE): New enumeral.
3804         (size_type_node): Likewise.
3805
3806 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3807
3808         * configure.in: Don't put ${tm_file} into host_xm_file,
3809         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3810         Take location of tm-preds.h into account when calculating
3811         tm_p_file_list.
3812         * configure: Regenerate.
3813         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3814         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3815         Remove special case code for tm_p.h and *config.h; add new
3816         special case code for tm.h and tconfig.h. Clean up a bit.
3817
3818         * Makefile.in (tm_file, tm_file_list): New variables set from
3819         @-substitutions.
3820         (GCONFIG_H): Deleted.
3821         (GTM_H, TM_H): New.
3822         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3823         (TM_P_H): Move up with the other mkconfig.sh-generated
3824         headers; don't mention tm-preds.h explicitly.
3825         (tm.h, cs-tm.h): New rule.
3826         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3827         invocations of mkconfig.sh for changes to that program.
3828         (mostlyclean): Delete print-rtl1.c.
3829         (clean): Delete tm.h.
3830         Update dependencies for the files listed below.
3831
3832         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3833
3834         * coretypes.h: New file.
3835         * system.h: #define malloc to xmalloc and realloc to xrealloc
3836         when FLEX_SCANNER or YYBISON is defined, independent of the
3837         value of GCC_VERSION.
3838         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3839         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3840         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3841         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3842         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3843         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3844         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3845         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3846         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3847         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3848         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3849         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3850         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3851         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3852         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
3853         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
3854         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
3855         genconstants.c, genemit.c, genextract.c, genflags.c,
3856         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
3857         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
3858         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
3859         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
3860         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
3861         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
3862         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
3863         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
3864         print-tree.c, profile.c, protoize.c, ra-build.c,
3865         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
3866         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
3867         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
3868         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
3869         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
3870         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
3871         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
3872         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
3873         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
3874         xcoffout.c, config/darwin-c.c, config/darwin.c,
3875         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
3876         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
3877         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
3878         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
3879         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
3880         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
3881         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
3882         config/i960/i960-c.c, config/i960/i960.c,
3883         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
3884         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
3885         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
3886         config/mips/irix6-libc-compat.c, config/mips/mips.c,
3887         config/mmix/mmix.c, config/mn10200/mn10200.c,
3888         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
3889         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
3890         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
3891         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
3892         config/sparc/sparc.c, config/stormy16/stormy16.c,
3893         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
3894         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
3895         Include coretypes.h and tm.h.
3896
3897         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
3898         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
3899         genrecog.c: Include coretypes.h and tm.h from the file
3900         generated by this program.
3901
3902         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
3903         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
3904         coretypes.h and tm.h, and tsystem.h when not already included.
3905         No need to include stddef.h nor stdlib.h.
3906
3907         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
3908         include auto-host.h or ansidecl.h/
3909         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
3910         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
3911         include auto-host.h, ansidecl.h, or system.h.
3912         * fixinc/server.c: Likewise.  Also, do not include signal.h,
3913         and do not redefine volatile.
3914
3915 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3916
3917         * i386.md (movdf_integer):  Always enable in 64bit.
3918         (movdf_nointeger): Always disable in 64bit.
3919
3920 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3921
3922         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
3923         pseudo register number plus 1.
3924
3925 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
3926
3927         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3928         corresponding mode of non-integer mode, unless it is VOIDmode.
3929
3930 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
3931
3932         * cpplib.c (_cpp_test_assertion): Default *value to 0.
3933
3934         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
3935
3936 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
3937
3938         * config/s390/t-crtstuff: New target makefile fragment.
3939         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
3940
3941 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3942
3943         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
3944         alternatives to correct the length when the memory operand is
3945         either pre_dec or post_inc.
3946
3947 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3948
3949         * config/h8300/h8300.md (an anonymous pattern): Give an
3950         internal name *tst_extzv_bitqi_1_n.
3951         Accept bit_operand instead of bit_memory_operand.
3952         Do not accept bit tests with the MSB.
3953         (*tst_extzv_memqi_1_n): New.
3954
3955 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3956
3957         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
3958         sharing when operand is SUBREG.
3959
3960 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
3961
3962         * athlon.md (athlon-decodev): New reservation unit.
3963         (athlon-direct0): New reservation.
3964         (athlon-vector): New use athlon-decodev.
3965         (athlon-double, athlon-direct): Better model.
3966         (athlon_imul_k8): Use athlon-direct0.
3967         (athlon_movlpd_load): New insn reservation.
3968
3969 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3970
3971         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3972         Fix a comment typo.
3973         (h8300_tiny_constant_address_p): Likewise.
3974
3975 2002-11-28  Michael Matz  <matz@suse.de>
3976
3977         * doc/passes.texi: Mention the other register allocator.
3978
3979 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3980
3981         * config/h8300/h8300.md (6 new peephole2 patterns): New.
3982
3983 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
3984
3985         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
3986         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
3987         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
3988
3989 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3990
3991         * config/h8300/h8300.c (h8300_and_costs): New.
3992         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
3993         * config/h8300/h8300-protos.h: Add a prototype for
3994         h8300_and_costs.
3995
3996 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
3997
3998         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
3999         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4000         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4001         * i386.md (truncdfsf patterns and splitters): Use
4002         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4003
4004 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4005
4006         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4007         pointer argument in the prototypes of the following builtins
4008         be (const TYPE *) rather than (TYPE *):
4009          + __builtin_altivec_ld_internal_4sf
4010          + __builtin_altivec_ld_internal_4si
4011          + __builtin_altivec_ld_internal_8hi
4012          + __builtin_altivec_ld_internal_16qi
4013          + __builtin_altivec_lvsl
4014          + __builtin_altivec_lvsr
4015          + __builtin_altivec_lvebx
4016          + __builtin_altivec_lvehx
4017          + __builtin_altivec_lvewx
4018          + __builtin_altivec_lvxl
4019          + __builtin_altivec_lvx
4020          + __builtin_altivec_dst
4021          + __builtin_altivec_dstt
4022          + __builtin_altivec_dstst
4023          + __builtin_altivec_dststt
4024
4025 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4026
4027         * except.c (default_exception_section): Move variable into the
4028         scope where it is used.
4029
4030 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4031
4032         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4033         correct version.
4034
4035 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4036
4037         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4038
4039 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4040
4041         * config/h8300/h8300.c (h8300_shift_costs): New.
4042         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4043         * config/h8300/h8300-protos.h: Add a prototype for
4044         h8300_shift_costs.
4045
4046 2002-11-27  Jim Wilson  <wilson@redhat.com>
4047
4048         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4049         in output template.
4050
4051 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4052
4053         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4054         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4055         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4056         (i386_pe_dllimport_name_p): Likewise.
4057         (i386_pe_mark_dllexport): Likewise.
4058         (i386_pe_mark_dllimport): Likewise.
4059         (i386_pe_encode_section_info): Likewise.
4060         (i386_pe_strip_name_encoding): Likewise.
4061
4062 2002-11-27  Richard Henderson  <rth@redhat.com>
4063
4064         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4065         (nm && NF == 3): Set sawsymbol true.
4066         (END): Exit if no symbols seen.
4067         (output): Fix map syntax error if no globals for the version.
4068
4069 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4070
4071         * builtins.def (DEF_C99_BUILTIN): Fix.
4072
4073 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4074
4075         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4076         (all): Add .size and .type information.
4077
4078 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4079
4080         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4081         partial_reg_stall target.
4082
4083 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4084
4085         * i386.md (movhicc): Allow general operand.
4086         (movqicc): New expander.
4087         (movqicc_noc): New pattern.
4088         * i386.c (ix86_expand_carry_flag_compare): New function.
4089         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4090         HImode conversion; support QImode conditional moves
4091
4092 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4093
4094         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4095         (ix86_expand_prologue): Multiply the count by amount of registers to be
4096         pushed.
4097
4098 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4099
4100         * i386.c (override_options): Error about wrong -mcpu on x86-64
4101         compilation.
4102
4103 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4104
4105         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4106
4107 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4108
4109         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4110         x86_extended_reg_mentioned_p): Declare.
4111         * i386.c (extended_reg_mentioned_1): New static function.
4112         (x86_extended_QIreg_mentioned_p,
4113         x86_extended_reg_mentioned_p): New global functions.
4114         * i386.h (REX_SSE_REGNO_P): New macro.
4115         * i386.md (prefix_rex): New attribute.
4116         (length attribute): Add rex.
4117
4118 2002-11-26  Andrew Haley  <aph@redhat.com>
4119
4120         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4121         from_Unwind_Find_Enclosing_Function.
4122         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4123         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4124         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4125         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4126         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4127
4128 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4129
4130         * config/s390/s390.c (390_output_constant_pool): Set alignment
4131         before label in 64 bit mode, behind otherwise.
4132
4133 2002-11-26  Richard Henderson  <rth@redhat.com>
4134
4135         * c-common.c (handle_visibility_attribute): Accept "default".
4136         * tree.h (enum symbol_visibility): New.
4137         (decl_visibility): Declare.
4138         * target.h (gcc_target.visibility): Take visibility arg as integer.
4139         * varasm.c (default_assemble_visibility): Likewise.
4140         (decl_visibility): New.
4141         (maybe_assemble_visibility): Use it.
4142         * output.h (default_assemble_visibility): Update prototype.
4143         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4144         visibility arg as integer.
4145         * doc/extend.texi: Document default visibility.
4146
4147 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4148
4149         * config/h8300/h8300.c: Adjust spacing.
4150         * config/h8300/h8300.h: Likewise.
4151
4152 2002-11-26  Richard Henderson  <rth@redhat.com>
4153
4154         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4155         hook_void_FILEptr_constcharptr): Rename so that the return
4156         type is first.
4157         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4158         hook_bool_tree_false): New.
4159         * hooks.h: Update.
4160         * langhooks-def.h: Update for renames.
4161         * target-def.h: Likewise.
4162         * tree.c (default_comp_type_attributes,
4163         default_set_default_type_attributes, default_insert_attributes,
4164         default_function_attribute_inlinable_p,
4165         default_ms_bitfield_layout_p): Remove.
4166         * tree.h: Update.
4167
4168 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4169
4170         * pa-protos.h (function_value): New prototype.
4171         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4172         TARGET_64BIT.
4173         * pa.h (FUNCTION_VALUE): Use function_value.
4174         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4175         call_value_internal_reg, sibcall_value_internal_symref,
4176         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4177         value.
4178
4179 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4180
4181         * expr.c (gen_group_rtx, emit_group_move): New functions.
4182         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4183         * function.c (expand_function_start): Use gen_group_rtx to create a
4184         PARALLEL rtx to hold the return value when the real return rtx is a
4185         PARALLEL.
4186         (expand_function_end): Use emit_group_move to move the return value
4187         from a PARALLEL to the real return registers.
4188         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4189         in PARALLELs.
4190
4191 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4192
4193         * config/t-libc-ok: Fix typo.
4194
4195 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4196
4197         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4198         before AC_PROG_CC.
4199         * configure: Rebuilt.
4200
4201 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4202
4203         * c-decl.c: (start_struct): Commonize flag setting.
4204
4205 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4206
4207         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4208         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4209         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4210         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4211
4212 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4213
4214         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4215         insns.
4216         * config/s390/s390.c (struct machine_function): Introduction of
4217         struct machine_function.
4218         (s390_output_symbolic_const): Use of cfun.
4219         (s390_optimize_prolog): Likewise.
4220         (s390_fixup_clobbered_return_reg): Likewise.
4221         (s390_frame_info): Likewise.
4222         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4223         (s390_init_machine_status): New function.
4224         (override_options): call s390_init_machine_status.
4225         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4226         prototype.
4227
4228 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4229
4230         * varasm.c (output_constant_pool): For pool constants in mergeable
4231         section ensure each constant is padded to multiple of entity size.
4232
4233 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4234
4235         * varasm.c (default_exception_section): Move to...
4236         * except.c (default_exception_section): ... here. Make
4237         .gcc_except_table read-only if it is not expected to have any
4238         dynamic relocations and linker handles it.
4239         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4240         if it is not expected to have any dynamic relocations and linker
4241         handles it.
4242         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4243         when linking read-only and read-write sections together.
4244         * configure, config.in: Rebuilt.
4245         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4246         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4247
4248 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4249
4250         * i386.md (pushsf_rex64): Fix typo.
4251
4252 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4253
4254         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4255         new function.
4256         (__ev_create_ufix32_fs): Same.
4257         (__ev_get_sfix32_fs_internal): New.
4258         (__ev_get_sfix32_fs): Define to use function.
4259         (__ev_get_ufix32_fs_internal): New.
4260         (__ev_get_ufix32_fs): Define to use function.
4261         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4262         (__ev_get_lower_ufix32_fs): Same.
4263         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4264         (__ev_get_lower_sfix32_fs): Same.
4265         (__ev_set_sfix32_fs_internal): New.
4266         (__ev_set_ufix32_fs_internal): New.
4267         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4268         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4269         (__ev_set_upper_sfix32_fs): Call function.
4270         (__ev_set_lower_sfix32_fs): Same.
4271         (__ev_set_upper_ufix32_fs): Same.
4272         (__ev_set_lower_ufix32_fs): Same.
4273
4274 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4275
4276         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4277
4278 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4279
4280         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4281         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4282         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4283         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4284         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4285         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4286         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4287         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4288         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4289         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4290         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4291         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4292         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4293         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4294         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4295         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4296         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4297         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4298         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4299         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4300         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4301         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4302         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4303         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4304         defining.
4305         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4306         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4307
4308 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4309
4310         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4311
4312 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4313
4314         * config/h8300/h8300.md (an anonymous pattern): New.
4315
4316 2002-11-25  Richard Henderson  <rth@redhat.com>
4317
4318         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4319         (copying_arguments): Make boolean.
4320
4321 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4322
4323         * gcc.c (static_spec_functions): Add if-exists-else spec
4324         function.
4325         (if_exists_else_spec_function): New function.
4326         * doc/invoke.texi: Document the if-exists-else spec function.
4327
4328         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4329         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4330
4331 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4332
4333         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4334         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4335         "${tmake_file} rs6000/t-netbsd".
4336         * config/rs6000/netbsd.h: Rewrite.
4337         * config/rs6000/t-netbsd: New file.
4338
4339 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4340
4341         * config/h8300/h8300.md (an anonymous pattern): Relax the
4342         condition for the pattern.
4343
4344 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4345
4346         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4347         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4348         evmwlssfanw, evmwlsmfanw.
4349
4350         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4351
4352         * config/rs6000/spe.md: Same for patterns.
4353
4354 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4355
4356         PR c/8639
4357         * fold-const.c (extract_muldiv): Don't propagate division unless
4358         both arguments are multiples of C.
4359
4360 2002-11-25  Andrew Haley  <aph@redhat.com>
4361
4362         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4363         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4364         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4365         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4366
4367 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4368
4369         * i386.c (x86_use_ffreep): New global variable.
4370         * i386.h (x86_use_frfeep): Declare
4371         (TARGET_USE_FFREEP): New macro
4372         * i386.md  (movs?f*): Use freep when asked for.
4373         (push?f): Remove dead code.
4374
4375 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4376
4377         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4378         target help message.
4379
4380 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4381
4382         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4383         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4384         crtbeginT.o".
4385         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4386         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4387         to "" for a.out configurations.
4388         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4389
4390 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4391
4392         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4393         NETBSD_CPP_SPEC directly.
4394         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4395         netbsd_endfile_spec.
4396         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4397
4398 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4399
4400         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4401         NETBSD_STARTFILE_SPEC.
4402         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4403         (ENDFILE_SPEC): Likewise.
4404         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4405
4406 2002-11-24  Andreas Schwab  <schwab@suse.de>
4407
4408         * Makefile.in (install-driver): Remove versioned link before
4409         trying to create it.
4410
4411         * config/m68k/m68k.c: Fix typo in last change defining
4412         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4413
4414 2002-11-23  H.J. Lu <hjl@gnu.org>
4415
4416         * aclocal.m4: Include ../config/accross.m4.
4417         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4418         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4419         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4420         instead of $ac_cv_c_compile_endian.
4421
4422         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4423         AC_COMPILE_CHECK_SIZEOF.
4424         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4425         * configure: Rebuild.
4426
4427 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4428
4429         * config/h8300/h8300.c (print_operand): Update the use of
4430         h8300_tiny_constant_address_p.
4431         (h8300_adjust_insn_length): Likewise.
4432         (h8300_tiny_constant_address_p): Check if the given rtx is a
4433         variable declared with __attribute__ ((tiny_data)).
4434
4435 2002-11-22  Dale Johannesen  <dalej@apple.com>
4436
4437         * toplev.c (rest_of_compilation):  Fix comments.
4438
4439 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4440
4441         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4442         allow mmap from /dev/zero.  Don't make decisions for the host
4443         based on presence or absence of /dev/zero on the build machine.
4444         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4445         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4446         * configure: Regenerate.
4447
4448 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4449
4450         * gcc.c (make_relative_prefix, split_directories)
4451         (free_split_directories): Removed.
4452
4453 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4454
4455         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4456         * configure: Regenerated.
4457
4458 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4459
4460         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4461         length computation when xor.l is output.
4462
4463 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4464
4465         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4466         (call_vms_1, call_value_vms_1): Cleanup syntax.
4467
4468 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4469
4470         * athlon.md (define_atuomaton): Add athlon_load.
4471         (athlon-double): New reservation.
4472         (athlon-ieu0): New CPU unit.
4473         (athlon-load?): Use athlon_load automaton.
4474         (*_k8 reservations): New.
4475         (other insn revervations): Activate for K8.
4476
4477 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4478
4479         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4480
4481 2002-11-21  Jim Wilson  <wilson@redhat.com>
4482
4483         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4484         vectors to SI.
4485
4486 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4487
4488         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4489         * config/xtensa/xtensa.c (struct machine_function): Add
4490         incoming_a7_copied flag.
4491         (xtensa_copy_incoming_a7): Define.
4492         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4493         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4494
4495 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4496
4497         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4498         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4499         x86_64_nonmemory_operand, x86_64_movabs_operand,
4500         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4501         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4502         (local_symbolic_operand): Do not care the 64bit limits.
4503         (x86_64_sign_extended_value): Remove allow_rip support.
4504         (legitimate_pic_address_disp_p): Handle all cases allowed
4505         with RIP addressing.
4506         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4507         (legitimize_pic_address): Reorganize.
4508         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4509
4510 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4511
4512         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4513         * config/arm/netbsd-elf.h: New file.
4514
4515 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4516
4517         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4518         subtarget_asm_float_spec.
4519         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4520         defaults from...
4521         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4522
4523 2002-11-21  Nick Clifton  <nickc@redhat.com>
4524
4525         * config/fr30/fr30.md (movsf_constant_store): Move code to
4526         detect 0.0 into fr30.c.
4527         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4528         Prototype.
4529         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4530         function.  Return true if the rtx is 0.0.
4531
4532 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4533
4534         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4535         if -mlittle-endian is specified.
4536
4537 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4538
4539         PR optimization/2903
4540         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4541         (anddi_notsesidi_di): Likewise.
4542
4543 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4544
4545         * config/h8300/h8300.c (print_operand): Use
4546         h8300_eightbit_constant_address_p and
4547         h8300_tiny_constant_address_p.
4548         (h8300_adjust_insn_length): Likewise.
4549         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4550         (TINY_CONSTANT_ADDRESS_P): Likewise.
4551         (OK_FOR_U): Use eightbit_constant_address_p.
4552
4553 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4554
4555         * config/s390/libgcc-libc.ver: Add multilib support.
4556         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4557         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4558         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4559         EXTRA_MULTILIB_PARTS): Define.
4560
4561 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4562
4563         * arm.c (arm_get_frame_size): A leaf function does not need its
4564         stack padding to an aligned boundary if it has no frame.
4565         (thumb_get_frame_size): Likewise.
4566
4567 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4568
4569         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4570         (override_options): Likewise.
4571
4572 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4573
4574         * config.gcc: Add k8 target alias support
4575         * i386.c (_cost): Declare costs for various variants of divides and
4576         multiplies.
4577         (k8_cost): New.
4578         (m_K8, m_ATHLON_K8): New macros.
4579         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4580         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4581         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4582         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4583         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4584         x86_prologue_using_move, x86_epilogue_using_move,
4585         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4586         x86_sse_typeless_stores): Set for K8
4587         (override_options): Add k8 support; fix athlon alignment;
4588         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4589         (ix86_issue_rate): Set for K8.
4590         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4591         x86_machine_dependent_reorg): Handle K8 like
4592         * i386.h
4593         (x86_costs):  Change mult_init and divide into array.
4594         (TARGET_K8, TARGET_ATHLON): New macros.
4595         (MODE_INDEX): New macro.
4596         (RTX_COST): Use new costs.
4597         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4598         (TARGET_CPU_DEFAULT_NAMES): Add k8
4599         (TARGET_CPU_DEFAULT_k8): New constant
4600         (enum processor_type): Add PROCESSOR_K8.
4601         * i386.md (cpu attribute): Add k8.
4602
4603         * invoke.texi: Document -march=k8.
4604
4605         * i386.md (type attribute): Add leave
4606         (mode attribute): Remove unknownfp.
4607         (length_immediate, modrm, memory attributes): Handle leave correctly.
4608         (fp comparison patterns): Determine FP mode.
4609         (leave, leave_rex64): Remove special cases.
4610         * ppro.md (ppro_uops, ppro_p2): Add leave
4611         * pentiun.md (pent_pop): Handle leave too.
4612         * k6.md (k6_load): Handle leave.
4613         * athlon.md (athlon_leave, athlon_pop): Fix.
4614         (athlon_decode): Handle leave.
4615
4616 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4617
4618         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4619         to component type using GET_MODE_INNER.
4620         * expr.c (emit_move_insn_1): Ditto.
4621         * optabs.c (expand_binop): Ditto.
4622         (expand_unop): Ditto.
4623         (expand_complex_abs): Ditto.
4624
4625 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4626
4627         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4628
4629 2002-11-20  DJ Delorie  <dj@redhat.com>
4630
4631         * config/stormy16/stormy16.c (s16builtins,
4632         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4633         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4634
4635 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4636
4637         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4638         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4639         (executing gencheck, genconfigs, genconditions, genflags,
4640         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4641         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4642         gengtype, genprotos): Prepend $(RUN_GEN).
4643         * configure.in: Move host compiler tests before --enable-checking
4644         tests.
4645         (--enable-checking=valgrind): New.
4646         * config.in, configure: Regenerate.
4647         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4648         Define as empty.
4649         (read_include_file): When doing the mmap+1 trick,
4650         valgrind-annotate the byte after the mmap:ed area as readable.
4651         (purge_cache): Remove above annotation.
4652         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4653         VALGRIND_PATH -q to each command.
4654
4655         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4656         Define as empty.
4657         (ggc_realloc): Update valgrind annotations.
4658         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4659         Define as empty.
4660         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4661         valgrind-annotate memory.
4662
4663 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4664
4665         * recog.c (constrain_operands): Prefer exact match over reloadable
4666         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4667
4668         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4669         operands in Pmode.
4670
4671 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4672
4673         PR c/8518
4674         * c-decl.c (duplicate_decls): Outline the second definition
4675         of an extern inline function in all cases.
4676
4677 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4678
4679         * stor-layout.c (place_field): Update rli->offset as well as
4680         rli->bitpos.
4681
4682 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4683
4684         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4685
4686 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4687
4688         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4689         into a libcall block.
4690         (divsi3): Likewise divsi3_i4_media.
4691
4692 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4693
4694         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4695         out another register.
4696
4697 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4698
4699         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4700         (not just mask) are set in C.
4701
4702 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4703
4704         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4705
4706 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4707
4708         * profile.c (index_counts_file): Fix obvious mistake.
4709
4710 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4711
4712         * Makefile.in (profile.o): Add hashtab.h dependency.
4713         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4714         * profile.c: Include hashtab.h.
4715         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4716         cleanup_counts_index, index_counts_file, struct section_reference,
4717         struct da_index_entry, counts_file_name, counts_file_index): New.
4718         (get_exec_counts, init_branch_prob): Modified.
4719
4720 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4721
4722         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4723         to tmake_file. Remove setting gas and gnu_ld here.
4724         * config/sh/libgcc-glibc.ver: New file.
4725         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4726         (SHLIB_MAPFILES): New.
4727         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4728         (MD_STARTFILE_PREFIX): Likewise.
4729         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4730         (DWARF2_UNWIND_INFO): Redefine.
4731         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4732         (LINK_EH_SPEC): Redefine.
4733         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4734         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4735         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4736         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4737         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4738         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4739         SH_DWARF_FRAME_FPSCR): Likewise.
4740         * config/sh/sh-protos.h (sh_set_return_address): Declare.
4741         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4742         registers if the current function calls EH return.
4743         (sh_expand_epilogue): Handle EH stack adjustments.
4744         (sh_set_return_address): New function.
4745         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4746         Don't abort even if the number is mapped to -1.
4747         (EH_RETURN_DATA_REGNO): Define.
4748         (EH_RETURN_STACKADJ_RTX): Define.
4749         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4750         (eh_return): New pattern.
4751         (eh_set_ra_di, eh_set_ra_si): Likewise.
4752         Add splitter to perform EH return after reload.
4753
4754 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
4755
4756         * stor-layout.c (excess_unit_span): New function.
4757         (place_field): Use it.
4758
4759 2002-11-19  Andreas Schwab  <schwab@suse.de>
4760
4761         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4762         not valid in C++.
4763
4764 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4765
4766         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4767         * configure: Regenerate.
4768
4769 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4770
4771         * convert.c (strip_float_extensions): New function.
4772         (convert_to_real): Optimize some cases.
4773
4774 2002-11-19  Andreas Jaeger  <aj@suse.de>
4775
4776         * loop.c (record_giv): Initialize not_replaceable.
4777         (check_final_value): Likewise.
4778
4779 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4780
4781         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4782         MASK_H8300S.
4783
4784 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
4785
4786         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4787         only if -mh or -ms present.
4788         (h8300_eightbit_constant_address_p): Support the normal mode.
4789         (h8300_tiny_constant_address_p): Likewise.
4790         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4791         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4792         (Pmode): Evaluate to HImode for the normal mode.
4793         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4794         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4795         (ASM_WORD_OP): Evaluate to word for the normal mode.
4796         * config/h8300/h8300.md (tablejump_normal_mode): New.
4797         (indirect_jump_normal_mode): New.
4798         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4799         directory.
4800         (MULTILIB_DIRNAMES): Create target dependent directory
4801         'normal'.
4802         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4803         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4804
4805 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4806
4807         * i386.md (length_immediate): Do not refer to insn address.
4808         (jcc*, jmp patterns):  Compute length explicitly.
4809
4810 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4811
4812         PR c/8588
4813         * optabs.c (expand_binop): Convert CONST_INTs in shift
4814         operations too.
4815
4816 2002-11-19  Roger Sayle  <roger@eyesopen.com>
4817
4818         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4819
4820 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4821
4822         * config/h8300/h8300.md (an anonymous pattern): Relax the
4823         condition to accept the same operands and/or subregs.
4824
4825 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
4826
4827         * config/sh/sh.c (gen_shl_and): Revert previous patch.
4828         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
4829         reload_completed.
4830
4831 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4832
4833         * config/h8300/h8300.c (print_operand): Update the use of
4834         EIGHTBIT_CONSTANT_ADDRESS_P.
4835         (h8300_adjust_insn_length): Likewise.
4836         (h8300_eightbit_constant_address_p): Check if the given rtx is
4837         a variable with __attribute__((eightbit_data)).
4838         * config/h8300/h8300.h (OK_FOR_U): Update the use of
4839         EIGHTBIT_CONSTANT_ADDRESS_P.
4840
4841 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4842
4843         * doc/contrib.texi (Contributors): Add self as second contact in
4844         addition to Jeff Law.
4845
4846 2002-11-19  Andreas Jaeger  <aj@suse.de>
4847
4848         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
4849         find_alloca_call to right place.
4850
4851 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4852
4853         * cppfiles.c: Fix formatting.
4854
4855 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
4856
4857         * gcc.c (The Specs Language): Document spec functions.
4858         (static_spec_functions, lookup_spec_function)
4859         (eval_spec_function, handle_spec_function)
4860         (if_exists_spec_function, alloc_args): New.
4861         (execute): Abort if processing_spec_function is true.
4862         (do_spec_1): Hand off spec to handle_spec_function if %:
4863         is encountered.  If processing_spec_function is true,
4864         end any pending argument when the end of the string is reached.
4865         (main): Use alloc_args to allocate the initial argument vector.
4866         * gcc.h (struct spec_function): New.
4867         (lang_specific_spec_functions): New extern.
4868
4869         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
4870         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
4871         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
4872
4873         * doc/invoke.texi: Document spec functions.
4874
4875         * cppspec.c (lang_specific_spec_functions): New.
4876         * gccspec.c: Likewise.
4877
4878 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
4879
4880         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
4881         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
4882         (fixunstfsi_libfunc): Change.
4883         (fixunstfdi_libfunc): Change.
4884         (sdiv_optab): Don't zero out SImode handler.
4885         (udiv_optab): Don't zero out SImode handler.
4886         (smod_optab): Don't zero out SImode handler.
4887         (umod_optab): Don't zero out SImode handler.
4888
4889 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
4890
4891         PR preprocessor/8524
4892         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
4893         Add a new one in its place, which hopefully works.
4894         (skip_rest_of_line): Change test for bottom-of-context-stack.
4895
4896 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
4897
4898         * i386.md (addqi_1_slp): Fix output template.
4899         (subqi_1_slp): Fix type.
4900
4901 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
4902
4903         * calls.c (alloca_call_p): New global function.
4904         * tree.h (alloca_call_p): New.
4905         * tree-inline.c (inlinable_function_p):  Do not inline when
4906         function calls alloca.
4907         (find_alloca_call, find_alloca_call_1): New functions.
4908
4909 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
4910
4911         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
4912         bst.  Update the insn length.
4913         (*andorhi3): Likewise.
4914         (*andorsi3): Likewise.
4915
4916 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4917
4918         * config/sh/sh-protos.h (sh_mark_label): Declare.
4919         * config/sh/sh.c (sh_mark_label): New function, taken from
4920         movdi_const, but fixing the case when the address has an addend.
4921         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
4922
4923 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4924
4925         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
4926         (add_constant): Set it.
4927         (dump_table): Don't reorder a constant if part_of_sequence_p.
4928         (machine_dependent_reorg): Assume that float constants will
4929         stay in their original order if used as a sequence.
4930
4931 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4932
4933         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
4934         in compact code.
4935
4936 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4937
4938         * config/sh/sh.md (initialize_trampoline): Do not force the
4939         trampoline address into R0_REGS here.
4940
4941 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
4942
4943         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4944         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4945         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4946         generate unnecesary subregs.
4947
4948 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4949
4950         * df.c: Fix formatting.
4951
4952 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4953
4954         * config/h8300/h8300.md (two anonymous patterns): Fix insn
4955         lengths.
4956
4957 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
4958
4959         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
4960         is not an arith_reg_operand.
4961
4962 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
4963
4964         * real.c (real_to_decimal): Fix buffer overrun when buffer size
4965         is smaller than representation.
4966
4967 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4968
4969         * builtins.c: Fix formatting.
4970
4971 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
4972
4973         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
4974         floats?dff2_i387):
4975         Work around regclass stupidity.
4976         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
4977
4978 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4979
4980         * i386.md (fop_df_6): New pattern.
4981         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
4982         (fop_xf_6): Rewrite
4983         (fop_xf_7): Delete.
4984         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
4985         (fop_tf_6): Rewrite
4986         (fop_tf_7): Delete.
4987
4988 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4989
4990         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
4991
4992 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4993
4994         * config/h8300/h8300.md: Fix formatting.
4995
4996 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4997
4998         * config/h8300/h8300.md: Replace spaces with tabs.
4999         * config/h8300/t-h8300: Remove a trailing empty line.
5000
5001 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5002
5003         * tlink.c: Fix formatting.
5004
5005 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5006
5007         PR 8362
5008         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5009         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5010         when scratch register never needed.
5011         (ldmsi[3-8]): New patterns.
5012
5013 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5014
5015         * hard-reg-set.h: Follow spelling conventions.
5016         * real.c: Likewise.
5017         * target.h: Likewise.
5018
5019 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5020
5021         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5022
5023 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5024
5025         * optabs.c: Fix formatting.
5026
5027 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5028
5029         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5030         * i386.md (attribute type): Add type shift1 and rotate1.
5031         (*_slp): Rewrite to have just two operands to avoid reload problems.
5032
5033 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5034
5035         * config/h8300/h8300.md (4 anonymous patterns): New.
5036
5037 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5038
5039         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5040         * doc/invoke.texi: Correct description of what needs to be done to
5041         force collection at every ggc_collect call.
5042
5043 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5044
5045         * config/s390/s390.c (optimization_options): Set
5046         flag_asynchronous_unwind_tables to 1 by default.
5047
5048 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5049
5050         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5051
5052 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5053
5054         * i386-protos.h (x86_function_profiler): New function
5055         * i386.h (MCOUNT_NAME): New.
5056         (PROFILE_COUNT_REGISTER): New.
5057         (FUNCTION_PROFILER): Move offline to ...
5058         * i386.c (x86_function_profiler) ... here; fix 64bit support
5059         * beos-elf.h (FUNCTION_PROFILER): Kill.
5060         (MCOUNT_NAME): New.
5061         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5062         (MCOUNT_NAME): New.
5063         (PROFILE_COUNT_REGISTER): New.
5064         * linux.h (FUNCTION_PROFILER): Kill.
5065         (MCOUNT_NAME): New.
5066         * x86-64.h (FUNCTION_PROFILER): Kill.
5067         (MCOUNT_NAME): New.
5068         * freebsd.h (FUNCTION_PROFILER): Kill.
5069         (MCOUNT_NAME): New.
5070
5071 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5072
5073         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5074         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5075         * config/arm/arm.c (arm_va_arg,
5076         arm_function_arg_pass_by_reference): New.
5077         * config/arm/arm-protos.h: Add prototypes.
5078
5079 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5080
5081         * gthr-single.h: Fix formatting.
5082
5083 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5084
5085         * tree.c (tree_vec_elt_check_failed): New function.
5086         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5087         (TREE_VEC_ELT): Use it.
5088
5089         * tree-inline.c (optimize_inline_calls): Don't copy a
5090         zero-length vector.
5091
5092 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5093
5094         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5095
5096 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5097
5098         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5099         both operands contain local relocations.
5100         (categorize_decl_for_section): Don't use mergeable sections if
5101         initializer has any relocations.
5102
5103 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5104
5105         * gthr-vxworks.h: Fix formatting.
5106
5107 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5108
5109         * doc/install.texi (Testing): Document extra Java testing.
5110         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5111
5112 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5113
5114         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5115         beginning of the spec.
5116         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5117         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5118         regarding problems with global constructors when using GNU ld.
5119
5120 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5121
5122         * gthr-solaris.h: Fix formatting.
5123
5124 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5125
5126         * gthr-posix.h: Fix formatting.
5127
5128 2002-11-12  Devang Patel <dpatel@apple.com>
5129         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5130         (process_command): Same.
5131         * doc/invoke.texi: Info about these two new options.
5132
5133 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5134
5135         * config/h8300/h8300.md (*andorsi3): New.
5136
5137 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5138
5139         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5140
5141 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5142
5143         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5144         expressions appropriately.
5145
5146 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5147
5148         * gthr-win32.h: Fix formatting.
5149
5150 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5151
5152         * config/h8300/h8300.c (single_one_operand): Correctly compute
5153         mask when mode is SImode.
5154         (single_zero_operand): Likewise.
5155         * config/h8300/h8300.md (two new anonymous insns): New.
5156
5157 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5158
5159         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5160         to that entire project.
5161
5162 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5163
5164         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5165         directories.
5166
5167 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5168
5169         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5170         * doc/invoke.texi: Document them.
5171
5172         * ggc-page.c: Include params.h.  Remove definitions of
5173         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5174         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5175         (init_gcc): Don't set G.allocated_last_gc here.
5176         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5177         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5178         perform collection.
5179         * ggc-simple.c: Similarly.
5180         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5181         dependencies.
5182
5183 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5184
5185         * gthr-dce.h: Fix formatting.
5186
5187 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5188
5189         PR c/8467
5190         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5191         mode of DECL_RTL case.
5192
5193 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5194
5195         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5196
5197 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5198
5199         * i386.c (construct_container): Fix handling of SSE_CLASS.
5200
5201 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5202
5203         * config/m68k/t-crtstuff (crti.o): Use this...
5204         ($(T)crti.o): ... instead.
5205         (crtn.o): Use this...
5206         ($(T)crtn.o): ... instead.
5207
5208 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5209
5210         PR c/8439
5211         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5212         if there is something new to be simplified.
5213
5214 2002-11-10  H.J. Lu <hjl@gnu.org>
5215
5216         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5217         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5218
5219         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5220
5221 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5222
5223         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5224         * config/rs6000/linux.h, config/rs6000/linux64.h,
5225         config/rs6000/windiss.h: ... not here.
5226
5227 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5228
5229         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5230         __ABICALLS__ if TARGET_ABICALLS.
5231
5232 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5233
5234         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5235
5236 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5237
5238         * c-decl.c (grokdeclarator): Make error for duplicate type
5239         qualifiers into a pedwarn, disabled for C99.
5240
5241 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5242
5243         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5244         as FUNCTION_ARG_PASS_BY_REFERENCE.
5245
5246 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5247
5248         * doc/install.texi: Add *-*-vxworks* specific installation
5249         instructions.
5250
5251         * config/vxlib.c: Rewrite using generation numbers to identify
5252         valid TSD keys.
5253
5254 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5255
5256         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5257
5258 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5259
5260         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5261
5262         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5263         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5264         * pa.c (output_millicode_call): Use symbol difference rather than
5265         $PIC_pcrel$0 when using HP assembler.
5266         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5267         not elfos.h (i.e., gas) is being used.
5268         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5269         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5270         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5271         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5272         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5273         using elfos.h.
5274         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5275         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5276         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5277         using elfos.h.
5278         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5279         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5280         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5281         Don't define when not using elfos.h.
5282         (ASM_DECLARE_RESULT): Don't define.
5283         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5284         doesn't work on hppa64-hp-hpux11.
5285         (hppa*-hp-hpux11): Update.
5286
5287 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5288
5289         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5290         to the assembler if -mno-abicalls was specified.
5291
5292 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5293
5294         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5295         ASM_OUTPUT_DEF): Delete.
5296
5297 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5298
5299         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5300
5301 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5302
5303         * real.c (real_sqrt): Update comment with bibliographic reference.
5304
5305 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5306
5307         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5308
5309 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5310
5311         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5312
5313 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5314
5315         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5316         (expand_builtin): Likewise.
5317         * builtins.def: Add
5318         __builtin_floor, __builtin_floorf, __builtin_floorl
5319         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5320         __builtin_round, __builtin_roundf, __builtin_roundl
5321         __builtin_trunc, __builtin_truncf, __builtin_truncl
5322         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5323         * genopinit.c (optabs): Initialize the new optabs.
5324         * optab.c (init_optabs): Likewise.
5325         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5326         OTI_round, OTI_nearbyint.
5327         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5328         * doc/md.texi: Document new named patterns.
5329         * doc/extend.texi (builtin functions)  Document
5330         floor, floorf, floorl, ceil, ceilf,
5331         ceill, round, roundf, roundl, trunc,
5332         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5333
5334 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5335
5336         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5337
5338 2002-11-08  Dale Johannesen  <dalej@apple.com>
5339
5340         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5341
5342 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5343
5344         PR preprocessor/8497
5345         PR preprocessor/8501
5346         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5347         start a directive.  In assembler, #NUM is not a line directive.
5348
5349 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5350
5351         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5352         buffers.
5353
5354 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5355
5356         * config/h8300/h8300.md (two anonymous test insns): New.
5357
5358 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5359
5360         * jump.c (mark_jump_label): Handle subregs of label_refs.
5361
5362 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5363
5364         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5365         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5366
5367 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5368
5369         * config/ia64/crtend.asm: Include "auto-host.h".
5370         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5371         * config/ia64/crtbegin.asm: Similarly.
5372         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5373         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5374
5375         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5376         * configure.in: Use it if --enable-initfini-array not specified.
5377         * doc/install.texi (Configuration): Document --enable-initfini-array.
5378         * configure, config.in: Rebuild.
5379
5380 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5381
5382         * config/arm/arm-protos.h (arm_get_frame_size)
5383         (thumb_get_frame_size): New prototypes.
5384         * config/arm/arm.c (arm_get_frame_size)
5385         (thumb_get_frame_size): New functions.
5386         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5387         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5388         arm_get_frame_size.
5389         (thumb_expand_prologue, thumb_expand_epilogue): Use
5390         thumb_get_frame_size.
5391         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5392         (machine_function): Add frame_size member.
5393         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5394
5395 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5396
5397         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5398         Adjust code to use portable unsigned bit manipulation.
5399         (insn_flags, tune_flags): Change type to unsigned.
5400         (struct processors): Make flags unsigned long.
5401         (arm_override_options): Change type of count and current_bit_count
5402         to unsigned.
5403
5404 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5405
5406         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5407
5408 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5409
5410         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5411
5412 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5413
5414         * reg-stack.c (compensate_edge): Fix sanity check.
5415
5416 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5417
5418         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5419         crt2.o.  Rearrange t-darwin makefiles.
5420         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5421         * unwind-dw2-fde-darwin.c: New.
5422         * unwind-dw2-fde-glibc.c: Correct comment.
5423         * unwind-dw2-fde.c (__register_frame_info_bases)
5424         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5425         (classify_object_over_fdes): Use last_fde.
5426         (add_fdes): Likewise.
5427         (linear_search_fdes): Likewise.
5428         * unwind-dw2-fde.h (struct object)
5429         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5430         (last_fde): New.
5431         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5432         (ENDFILE_SPEC): No crtend.o.
5433         * config/t-darwin: New.
5434         * config/i386/t-darwin: Delete.
5435         * config/darwin-crt2.c: New.
5436         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5437         or config/t-darwin.
5438
5439 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5440
5441         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5442         MASK_MS_BITFIELD_LAYOUT
5443         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5444         MS bitfields for Objective-C.
5445         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5446         defines.
5447
5448         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5449         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5450         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5451
5452         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5453         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5454         (TARGET_SWITCHES): Add above mask.
5455
5456         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5457         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5458         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5459         flags for interix.
5460
5461 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5462
5463         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5464         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5465         assembler.
5466         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5467         before jump on ABI_N32 too.
5468         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5469         length to match.
5470
5471 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5472
5473         * i386.md (negsf splitter): Accept memory operand in second register.
5474         (abssf/absdf splitters): Simplify
5475         (sse_loadss, sse_loadsd): Turn into expander.
5476
5477 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5478
5479         PR target/8480
5480         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5481         FPR to FPR moves.
5482
5483 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5484
5485         * doc/contrib.texi: Merge in the list from the Java web pages.
5486
5487 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5488
5489         * config/sparc/freebsd: Fix typo.
5490
5491 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5492
5493         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5494
5495 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5496
5497         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5498         non-SImode addresses.
5499
5500 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5501
5502         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5503         stack register.
5504         (float SSE splitters): Reorder conditional.
5505
5506 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5507
5508         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5509
5510 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5511
5512         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5513         (STARTFILE_SPEC): Remove p and pg options.
5514
5515 2002-11-05  Andrew Haley  <aph@redhat.com>
5516
5517         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5518         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5519
5520 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5521
5522         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5523         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5524
5525 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5526
5527         * gthr-vxworks.h: Rewritten from scratch.
5528         * config/vxlib.c: New file.
5529         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5530         * config/rs6000/t-vxworks: Add config/vxlib.c to
5531         LIB2FUNCS_EXTRA here too, because of clash with
5532         config/rs6000/t-ppccomm.
5533
5534 2002-11-04  Dale Johannesen  <dalej@apple.com>
5535
5536         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5537         for unrolled loops.
5538         * loop.c (loop_invariant_p):  Support calling from unroller.
5539
5540 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5541
5542         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5543         for comparison.
5544
5545 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5546
5547         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5548
5549         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5550         (CLASS_CANNOT_CHANGE_MODE): Remove.
5551         (CANNOT_CHANGE_MODE_CLASS): New.
5552
5553         * config/alpha/alpha.h: Same.
5554
5555         * config/ia64/ia64.h: Same.
5556
5557         * config/mips/mips.h: Same.
5558
5559         * config/s390/s390.h: Same.
5560
5561         * config/sh/sh.h: Same.
5562
5563         * config/pa/pa64-regs.h: Same.
5564
5565         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5566
5567         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5568
5569         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5570         prototype.
5571
5572         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5573
5574         * doc/tm.texi (Register Classes): Remove
5575         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5576         Document CANNOT_CHANGE_MODE_CLASS.
5577
5578         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5579         (push_reload): Same.
5580
5581         * simplify-rtx.c (simplify_subreg): Same.
5582
5583         * reload1.c (choose_reload_regs): Same.
5584
5585         * recog.c (register_operand): Same.
5586
5587         * regrename.c (mode_change_ok): Change to use new
5588         CANNOT_CHANGE_MODE_CLASS infrastructure.
5589
5590         * regclass.c (cannot_change_mode_set_regs): New.
5591         Declare subregs_of_mode.
5592         (regclass): Use subregs_of_mode.
5593         Remove references to reg_changes_mode.
5594         (init_reg_sets_1): Remove class_can_change_mode and
5595         reg_changes_mode code.
5596         (invalid_mode_change_p): New.
5597         (dump_regclass): Use invalid_mode_change_p instead of
5598         class_can_change_mode.
5599         (regclass): Same.
5600         (record_operand_costs): Do not set reg_changes_mode.
5601
5602         * local-alloc.c (struct qty): Remove changes_mode field.
5603         (alloc_qty): Remove changes_mode initialization.
5604         (update_qty_class): Remove set of changes_mode.
5605         (find_free_reg): Use subregs_of_mode.
5606
5607         * global.c (find_reg): Use subregs_of_mode info.
5608
5609         * rtl.h (cannot_change_mode_set_regs): New prototype.
5610         (invalid_mode_change_p): Same.
5611         (REG_CANNOT_CHANGE_MODE_P): New macro.
5612
5613         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5614         REG_CHANGES_MODE.
5615         (life_analysis): Clear subregs_of_mode.
5616
5617         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5618         Remove use of CLASS_CANNOT_CHANGE_MODE.
5619         (simplify_set): Same.
5620         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5621         REG_CHANGES_MODE.
5622
5623         * regs.h: Add extern for subregs_of_mode;
5624         Include hard-reg-set and basic-block.
5625         (REG_CHANGES_MODE): Delete.
5626
5627 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5628
5629         * real.c (real_sqrt): New function to calculate square roots.
5630         * real.h (real_sqrt): Add function prototype.
5631         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5632         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5633         of constant argument.
5634
5635 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5636
5637         * jump.c (never_reached_warning): Don't set contains_insn until the
5638         first line note is seen.
5639
5640 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5641
5642         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5643
5644 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5645
5646         PR c/7128
5647         * c-typeck.c (c_expand_asm_operands): Defend against
5648         error_mark_nodes in the output argument to avoid ICE.
5649
5650 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5651
5652         PR middle-end/8408
5653         * genrecog.c (preds): Handle ADDRESSOF.
5654         (validate_pattern): Mark it as an lvalue.
5655
5656 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5657
5658         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5659         instructions when optimizing for size.
5660
5661 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5662
5663         * config/h8300/h8300.h: Fix comment typos.
5664         * config/h8300/h8300.md: Likewise.
5665         * config/h8300/lib1funcs.asm: Likewise.
5666
5667 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5668
5669         Revert this change:
5670
5671         *doc/install.texi (Installing GCC: Configuration): Clarify
5672         the only supported ways to configure gcc.
5673
5674 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5675
5676         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5677         instead of 'O' for the constraint for the second operand.
5678
5679 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5680
5681         PR c++/8391
5682         * toplev.c (rest_of_compilation): Do not refuse to output code for
5683         an inline function in a local class.
5684
5685 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5686
5687         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5688         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5689         Add comment.
5690
5691 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5692
5693         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5694
5695 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5696
5697         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5698
5699 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5700
5701         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5702         (MASK_INLINE_DIV_THR): Remove.
5703         (TARGET_INLINE_DIV_LAT): Remove.
5704         (TARGET_INLINE_DIV_THR): Remove.
5705         (TARGET_INLINE_DIV): Remove.
5706         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5707         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5708         (MASK_INLINE_INT_DIV_LAT): New macro.
5709         (MASK_INLINE_INT_DIV_THR): New macro.
5710         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5711         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5712         (TARGET_INLINE_INT_DIV_LAT): New macro.
5713         (TARGET_INLINE_INT_DIV_THR): New macro.
5714         (TARGET_INLINE_FLOAT_DIV): New macro.
5715         (TARGET_INLINE_INT_DIV): New macro.
5716         * config/ia64/ia64.md (divsi3): Change to use new macros.
5717         (modsi3): Ditto.
5718         (udivsi3): Ditto.
5719         (umodsi3): Ditto.
5720         (divsi3_internal): Ditto.
5721         (divdi3): Ditto.
5722         (moddi3): Ditto.
5723         (udivdi3): Ditto.
5724         (umoddi3): Ditto.
5725         (divdi3_internal_lat): Ditto.
5726         (divdi3_internal_thr): Ditto.
5727         (divsf3): Ditto.
5728         (divsf3_internal_lat): Ditto.
5729         (divsf3_internal_thr): Ditto.
5730         (divdf3): Ditto.
5731         (divdf3_internal_lat): Ditto.
5732         (divdf3_internal_thr): Ditto.
5733         (divtf3): Ditto.
5734         (divtf3_internal_lat): Ditto.
5735         (divtf3_internal_thr): Ditto.
5736         * config/ia64/ia64.c (ia64_override_options): Change
5737         to check new macros for conflicts in settings.
5738         * doc/invoke.texi (-minline-divide-min-latency): Remove.
5739         (-minline-divide-max-throughput): Remove.
5740         (-minline-float-divide-min-latency): New.
5741         (-minline-float-divide-max-throughput): New.
5742         (-minline-int-divide-min-latency): New.
5743         (-minline-int-divide-max-throughput): New.
5744
5745 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
5746
5747         PR target/7856
5748         * arm.c (use_return_insn): Don't use a return insn if there are
5749         saved integer regs, but LR is not one of them.
5750
5751 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5752
5753         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
5754         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5755
5756 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5757
5758         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
5759         (movps, movpd splitters): Use canonical form.
5760         (movv2di): Fix merge problem.
5761
5762 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
5763
5764         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5765
5766 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5767
5768         PR optimization/6162
5769         * doc/md.texi: Document restriction on commutative operand
5770         specification.
5771
5772 2002-10-31  Eric Christopher  <echristo@redhat.com>
5773
5774         * explow.c (convert_memory_address): Use shallow_copy_rtx.
5775
5776 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5777
5778         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5779
5780 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5781
5782         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5783
5784 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5785
5786         * config/rs6000/darwin.h:  Correct formatting in previous.
5787
5788 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5789
5790         * config/rs6000/darwin.h:  Enable -falign-xxx options.
5791
5792 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
5793
5794         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5795         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5796         * i386.c (optimization_options): Set flag_omit_frame_pointer,
5797         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5798         Do not clear -momit-leaf-frame-pointer when profiling.
5799         (ix86_frame_pointer_required): Frame pointer is always required when
5800         profiling.
5801
5802 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5803
5804         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5805
5806 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
5807
5808         * sh.h (binary_logical_operator): Declare.
5809         * sh.c (binary_logical_operator): New function.
5810         * sh.md (xordi3+1): New combiner splitter pattern.
5811
5812 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5813
5814         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5815         __enable_execute_stack function.
5816
5817 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
5818
5819         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5820         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5821         * unwind-sjlj.c (fc_key_dtor): Delete.
5822         (fc_key_init): Adjust __gthread_key_create call to match.
5823
5824 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
5825
5826         * c-common.c: Add GTY to vector_type_node_list.
5827
5828 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
5829
5830         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5831         * pa-protos.h (attr_length_millicode_call, attr_length_call,
5832         pa_init_machine_status): Declare new global functions.
5833         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
5834         implement new functions.
5835         (attr_length_millicode_call, attr_length_call): Implement.
5836         (total_code_bytes): Change type to long.
5837         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
5838         Reset counter if flag_function_sections.
5839         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
5840         (output_cbranch): Move call to gen_label_rtx.
5841         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
5842         delay slot in all variants, shorten pc-relative calls.
5843         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
5844         slot usage and exposure, various new call variants, and shortened
5845         sequences for some variants on TARGET_PA_20.
5846         Miscellaneous format changes.
5847         * pa.h (total_code_bytes): Change type to long.
5848         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
5849         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
5850         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
5851         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
5852         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
5853         stores on TARGET_ELF32.
5854         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
5855         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
5856         canonicalize_funcptr_for_compare expanders): Calculate attribute length
5857         attr_length_millicode_call().
5858         (call_internal_symref, call_value_internal_symref): Clobber register 1.
5859         Calculate attribute length using attr_length_call().
5860         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
5861         to delay slot.
5862         (sibcall, sibcall_value): Rewrite.
5863         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
5864         register 1.  Use attr_length_call().
5865         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
5866         New patterns.
5867         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
5868         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
5869         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
5870         * doc/invoke.texi (mlong-calls): Document.
5871
5872 2002-10-30  Roger Sayle  <roger@eyesopen.com>
5873
5874         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
5875         handling of cases where one or both branches of the conditional
5876         have void type, i.e. throw an exception or don't return.
5877         (fold): Only apply (and undo) type conversion to the non-void
5878         branches of a COND_EXPR.
5879
5880 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
5881
5882         PR c++/8333
5883         * varasm.c (asm_output_aligned_bss): Do not call
5884         ASM_GLOBALIZE_LABEL.
5885
5886 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
5887             Torbjorn Granlund  <tege@swox.com>
5888
5889         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
5890         for addressibility.
5891         (load_toc_v4_PIC_1b): Same.
5892
5893 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
5894
5895         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
5896         Truncate the addresses for H8/300 using HImode.
5897
5898 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
5899
5900         * i386.md (negdf splitter): Fix construction of the constant.
5901
5902 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
5903
5904         * i386.md (negsf, negdf): Reorganize to use vector modes
5905         for SSE variants.
5906         (abssf, absdf): Use force_reg.
5907         (movv4sf, movv2df): New splitters.
5908         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
5909         * i386.c (zero_extended_scalar_load_operand
5910
5911         * i386-protos.h (ix86_expand_call): Update prototype.
5912         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
5913         (ix86_expand_call): Use r11 for indirect sibcalls.
5914         * i386.md (call, call_value, untyped_call, call_value_pop):
5915         update x86_expand_call call.
5916         (sibcall, sibcall_value): new patterns
5917         (call_rex64, call_value_rex64): Do not accept sibcalls.
5918         (sibcall_rex64, sibcall_value_rex64,
5919         sibcall_rex64_v, sibcall_value_rex64_v): New.
5920
5921 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5922
5923         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5924         before final pass.
5925
5926 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
5927
5928         * toplev.c (rest_of_type_compilation): Return early in case of
5929         errors.
5930         (check_global_declarations): Don't call debug_hooks->global_decl
5931         in case of errors.
5932
5933 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
5934
5935         * doc/c-tree.texi (Tree overview): Fix typos.
5936
5937 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
5938
5939         * Makefile.in (gnucompare*):  Only record bad comparisons
5940         if there really was a bad comparison.
5941
5942 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
5943
5944         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
5945         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
5946         * md.texi (machine dependent constraints): Document 'C'
5947
5948         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
5949
5950         * i386.c (ix86_expand_vector_move): Fix.
5951
5952         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
5953         * i386.md (sse2_maskmovdqu_rex64): New pattern
5954
5955         PR target/8322
5956         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
5957         (ix86_init_mmx_sse_builtins): Fix type.
5958
5959 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
5960
5961         * gthr-posix.h: Include <unistd.h> for feature tests.
5962         (sched_get_priority_max, sched_get_priority_min)
5963         (pthread_getschedparam, pthread_setschedparam): Only use
5964         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
5965         (__gthread_objc_thread_set_priority): Don't treat all nonzero
5966         returns from sched_get_priority_max and sched_get_priority_min
5967         as an error.
5968
5969 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5970
5971         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
5972         MASK_QUICKCALL.
5973
5974 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5975
5976         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
5977         (h8300_tiny_constant_address_p): Likewise.
5978         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
5979         h8300_eightbit_constant_address_p.
5980         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
5981         * config/h8300/h8300-protos.h: Add the prototypes for the two
5982         new functions.
5983
5984 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5985
5986         * reload1.c (update_eliminables): Unconditionally check if
5987         frame_pointer_needed has changed.
5988
5989 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5990
5991         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5992         before final pass.
5993
5994 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
5995
5996         PR optimization/8334
5997         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
5998         check for zero operands explicitly.
5999
6000 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6001
6002         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6003         memory after adjusting to BLKmode.
6004
6005 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6006
6007         * config/h8300/h8300.h (MASK_*): New.
6008         (TARGET_*): Use MASK_*.
6009
6010 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6011
6012         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6013         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6014         config/rs6000/vxworks.h: New files.
6015         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6016
6017         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6018         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6019         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6020         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6021         sparc-*-vxsim*): Delete stanzas.
6022         * gthr-vxworks.h: Rip out all substantive code and just
6023         include gthr-single.h.
6024
6025         * config/alpha/vxworks.h, config/arm/vxarm.h,
6026         config/i386/vxi386.h, config/i960/t-vxworks960,
6027         config/i960/vx960-coff.h, config/i960/vx960.h,
6028         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6029         config/mips/vxworks.h, config/rs6000/vxppc.h,
6030         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6031         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6032         config/sparc/vxsparc64.h: Delete files.
6033
6034 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6035
6036         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6037         tm_defines if pthreads are enabled.
6038         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6039         if NETBSD_ENABLE_PTHREADS is defined.
6040
6041 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6042
6043         * ChangeLog.1: Fix typos.
6044         * cse.c: Fix a comment typo.
6045         * reload1.c: Likewise.
6046
6047 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6048
6049         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6050         * fixinc/tests/base/_G_config.h: New file.
6051
6052 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6053
6054         * combine.c: Fix comment formatting.
6055         * loop.c: Likewise.
6056         * real.c: Likewise.
6057         * regclass.c: Likewise.
6058         * regmove.c: Likewise.
6059         * regrename.c: Likewise.
6060         * reg-stack.c: Likewise.
6061         * reload1.c: Likewise.
6062         * reload.c: Likewise.
6063         * reload.h: Likewise.
6064         * unroll.c: Likewise.
6065
6066 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6067
6068         * reload1.c (reload): Fix a comment typo.
6069
6070 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6071
6072         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6073
6074 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6075
6076         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6077         * dwarf2out.c: Include hashtab.h.
6078         (is_main_source): New static variable.
6079         (attr_checksum, die_checksum): Modified to handle die references.
6080         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6081         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6082         record_comdat_symbol_number): New static functions.
6083         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6084         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6085         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6086         declarations added.
6087
6088 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6089
6090         * config/h8300/h8300.c (initial_offset): Change to
6091         h8300_initial_elimination_offset.
6092         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6093         h8300_initial_elimination_offset.
6094         * config/h8300/h8300-protos.h: Update the prototype.
6095
6096 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6097
6098         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6099         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6100         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6101         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6102         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6103         and RTX_CODE.
6104         (mmix_function_value_regno_p): Declare.
6105
6106         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6107         invalid for floating point mode result, with fix.
6108
6109 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6110
6111         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6112         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6113         (stage1_build): Likewise.
6114
6115 2002-10-25  Mike Stump  <mrs@apple.com>
6116
6117         Fixes gcc.dg/warn-1.c.
6118         * c-typeck.c (warn_for_assignment): Don't print argument number,
6119         if zero.
6120
6121 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6122
6123         * toplev.c (dump_file_index): Add DFI_ce3.
6124         (dump_file_info): Likewise.
6125         (rest_of_compilation): Run first ifcvt pass before tracer.
6126
6127 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6128
6129         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6130
6131 2002-10-25  Richard Henderson  <rth@redhat.com>
6132
6133         * real.c (real_to_decimal): If the >1 tens reduction loop results
6134         in a negative exponent, fall into the <1 pten computation.
6135
6136 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6137
6138         PR middle-end/6994
6139         * c-objc-common.c (inline_forbidden_p): Can not inline
6140         functions containing structures or unions containing VLAs.
6141         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6142         TYPE_SIZE and TYPE_SIZE_UNIT.
6143         (copy_tree_r): Copy types if they are variably modified.
6144
6145 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6146
6147         * config/s390/s390.md: Remove old-style peepholes.
6148
6149 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6150
6151         * config/s390/s390.c (s390_decompose_address): Do not range check the
6152         displacement if base or index is the argument pointer register.
6153
6154 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6155
6156         PR other/3337
6157         PR bootstrap/6763
6158         PR bootstrap/8122
6159         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6160         * fixinc/fixincl.x: Regenerate.
6161         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6162         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6163         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6164         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6165         * config.in, configure: Regenerate.
6166
6167 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6168
6169         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6170
6171 2002-10-24  Richard Henderson  <rth@redhat.com>
6172
6173         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6174
6175 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6176
6177         * config/h8300/h8300.c (initial_offset): Simplify by using
6178         round_frame_size.
6179
6180 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6181
6182         * doc/install.texi (avr): Update required binutils version.
6183
6184 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6185
6186         * doc/install.texi: Point avr users at more up-to-date information.
6187
6188 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6189
6190         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6191         to pull operands out of the literal pool where possible.
6192
6193 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6194
6195         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6196
6197 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6198
6199         * expr.c (convert_move): If unsignedp is less then zero there
6200         is no equivalent code.
6201
6202 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6203
6204         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6205
6206 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6207
6208         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6209         according to the sequence they are defined in the manual.
6210         (POINTER_BOUNDARY): Remove.
6211
6212 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6213
6214         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6215         BITS_PER_UNIT.
6216
6217 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6218
6219         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6220         64-bit safe.
6221         (TINY_CONSTANT_ADDRESS_P): Likewise.
6222
6223 2002-10-24  Richard Henderson  <rth@redhat.com>
6224
6225         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6226         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6227         vcall offset.
6228
6229 2002-10-24  Richard Henderson  <rth@redhat.com>
6230
6231         PR opt/7944
6232         * reload.c (find_reloads_toplev): Mode of X is not important
6233         when simplifying subregs of constants.
6234
6235 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6236
6237         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6238         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6239         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6240         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6241         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6242
6243 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6244
6245         * optabs.c (expand_binop): Don't reuse the shift target in the
6246         middle of shift sequences.
6247
6248 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6249
6250         * i386.md (abs splitters): Do not produce nested subregs.
6251
6252 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6253
6254         * i386.md (movti_rex64): Fix constraints.
6255
6256 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6257
6258         * i386.md (abssf,absdf): Use vector operands for SSE
6259         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6260         vector operand.
6261
6262 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6263
6264         * objc/objc-act.c (get_static_reference): Remove unneeded
6265         TYPE_BINFO initialization.
6266         (get_object-reference): Likewise.
6267         (build_constructor): Tighten precondition check.
6268         (finish_message_expr): Likewise.
6269
6270 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6271
6272         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6273         after CONST test.
6274
6275 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6276
6277         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6278         in HFAs.
6279
6280 2002-10-23  Richard Henderson  <rth@redhat.com>
6281
6282         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6283         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6284
6285 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6286
6287         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6288         var_mod_type_p.
6289         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6290         hook_tree_bool_false.
6291
6292         * tree.c (variably_modified_type_p): Moved here from
6293         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6294         language-specific cases.  Due to this, must weaken some 'if
6295         and only if' checks to merely 'if'.
6296         * tree.h: Prototype variably_modified_type_p.
6297
6298         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6299
6300 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6301
6302         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6303         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6304
6305         * config/s390/s390-protos.h (fp_operand): Remove.
6306         * config/s390/s390.c (fp_operand): Remove.
6307         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6308         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6309         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6310         (movdi_31, movdf_31 splitters): Likewise.
6311
6312         * config/s390/s390.h (IEEE_FLOAT): Remove.
6313         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6314         (INT_REGNO_P): Rename to ...
6315         (GENERAL_REGNO_P): ... this.
6316         (FLOAT_REGNO_P): Rename to ...
6317         (FP_REGNO_P): ... this.
6318         (ADDR_REGNO_P): New macro.
6319         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6320         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6321         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6322         (HARD_REGNO_NREGS): Adapt to macro renaming.
6323         (HARD_REGNO_MODE_OK): Likewise.
6324
6325 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6326             Geoff Keating  <geoffk@apple.com>
6327
6328         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6329         (rs6000_memory_move_cost): New function.
6330         * config/rs6000/rs6000-protos.h: Declare them.
6331         * config/rs6000/rs6000.h: Use them.
6332
6333 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6334
6335         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6336         inlining it into other libgcc2 routines.
6337         (__udivmoddi4): Likewise.
6338
6339 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6340
6341         * doc/sourcebuild.texi (Test Suites): Improve.
6342
6343 2002-10-22  Stan Shebs  <shebs@apple.com>
6344
6345         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6346         case for Darwin.
6347
6348 2002-10-22  Jim Wilson  <wilson@redhat.com>
6349
6350         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6351
6352 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6353
6354         PR other/8289
6355         * xmmintrin.h: Add const to the argument of loads.
6356
6357         * i386.md (pushv2di): New pattern.
6358         PR target/6890
6359         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6360
6361 2002-10-22  Richard Henderson  <rth@redhat.com>
6362
6363         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6364         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6365         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6366         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6367         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6368         (TARGET_ASM_OUT): Update.
6369         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6370         (hook_bool_tree_hwi_hwi_tree_true): New.
6371         (default_can_output_mi_thunk_no_vcall): New.
6372         * hooks.h: Declare them.
6373         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6374
6375         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6376         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6377         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6378         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6379         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6380         config/stormy16/stormy16.c: Similarly.
6381
6382         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6383         Handle 64-bit properly.  Streamline.
6384         (x86_output_mi_vcall_thunk): Remove.
6385         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6386         (x86_can_output_mi_thunk): New.
6387         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6388         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6389         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6390
6391         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6392         output_mi_thunk; make static; always use function_section.
6393         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6394         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6395         (rs6000_ra_ever_killed): Test no_new_pseudos not
6396         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6397         * config/rs6000/rs6000-protos.h: Update.
6398         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6399         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6400         xcoffout_declare_function when using rs6000_output_mi_thunk.
6401
6402         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6403         s390_output_mi_vcall_thunk.
6404         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6405         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6406
6407         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6408         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6409         * config/vax/vax-protos.h: Update.
6410         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6411
6412 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6413
6414         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6415         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6416         * i386.md (movti_internal): Use 'C'
6417
6418         * xmmintrin.h (_mm_cmplt_epi*): New.
6419
6420 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6421
6422         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6423         ("*movdf_64"): Likewise.
6424         ("*lshrdi3_64"): Likewise.
6425         ("blockage"): Add length attribute.
6426         ("lit"): Likewise.
6427
6428 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6429
6430         * i386.md: FIx typo.
6431         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6432         (sse2_umulv2siv2di3): Fix predicate.
6433         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6434         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6435         * xmmintrin.h (_mm_mul_epu16): Rename to...
6436         (_mm_mul_epu32): This one.
6437         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6438
6439         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6440
6441 2002-10-22  Eric Christopher  <echristo@redhat.com>
6442
6443         * config/sparc/sparc.h: Add #error.
6444
6445 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6446
6447         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6448         [s390x-*-linux*]: Likewise.
6449         * config/s390/t-linux: Remove.
6450         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6451
6452 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6453
6454         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6455         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6456         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6457         * i386.md (mmx_punpck?dq): Simplify.
6458         (sse2_pubpcklqdq): Fix.
6459         (sse2_pubpckhqdq): New.
6460         * xmmintrin.h (_mm_unpackhi_epi32): New.
6461
6462         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6463         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6464
6465 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6466
6467         PR c++/7209
6468         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6469         build compound_expr if we used save_expr.
6470
6471 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6472
6473         * output.h (SECTION_NOTYPE): Define.
6474         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6475         init array sections.
6476         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6477         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6478         merge TLS support.
6479
6480 2002-10-21  Richard Henderson  <rth@redhat.com>
6481
6482         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6483         the function type, not the return type.
6484
6485 2002-10-21  Richard Henderson  <rth@redhat.com>
6486
6487         * real.c (sticky_rshift_significand): Return inexact, don't
6488         or it in immediately.
6489         (sub_significands): Accept incomming carry.
6490         (div_significands, rtd_divmod): Update for sub_significands change.
6491         (round_for_format): Update for sticky_rshift_significand change.
6492         (do_add): Don't involve the inexact bit in addition, do give the
6493         inexact bit as the subtraction carry-in.
6494         (encode_internal, decode_internal, real_internal_format): New.
6495         * real.h (real_internal_format): Declare.
6496
6497 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6498
6499         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6500         don't define sdiv_qrnnd.
6501
6502 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6503
6504         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6505         using IN_RANGE.
6506         (TINY_CONSTANT_ADDRESS_P): Likewise.
6507
6508 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6509
6510         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6511         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6512         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6513         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6514         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6515         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6516         __builtin_ia32_setzero128.
6517         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6518         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6519         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6520         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6521         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6522         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6523         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6524         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6525         sse2_movq): New patterns.
6526         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6527         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6528         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6529         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6530         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6531         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6532         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6533         (_mm_insert_epi16): Fix.
6534
6535 2002-10-21  Dale Johannesen  <dalej@apple.com>
6536
6537         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6538             unsafe math reversals correctly for RTL generation.
6539           (output_cbranch):  Replace rs6000_reverse_condition call
6540             by its former definition.
6541
6542 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6543
6544         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6545         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6546         from constant pool or LABEL_REFs as sign extended if allow_rip.
6547         Change all +-1GB limits to +-16MB.
6548         (x86_64_general_operand, x86_64_szext_general_operand,
6549         x86_64_nonmemory_operand, x86_64_movabs_operand,
6550         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6551         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6552         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6553         in CM_SMALL_PIC model.
6554         (legitimate_pic_address_disp_p): Don't check offsets before
6555         calling local_symbolic_operand.
6556         (legitimize_pic_address): Force offsets bigger than +-16MB into
6557         register.
6558         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6559         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6560         prototype.
6561
6562         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6563         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6564         * configure: Rebuilt.
6565         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6566         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6567         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6568         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6569         -fpic.
6570         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6571         non-pic code if TARGET_64BIT.
6572         (legitimize_address): Generate 64-bit TLS sequences.
6573         (output_pic_addr_const): Support x86-64 TLS operators.
6574         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6575         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6576         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6577         (output_addr_const_extra): Support x86-64 TLS operators.
6578         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6579         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6580         unconditionally.
6581         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6582         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6583         (*tls_global_dynamic_sun): Renamed to...
6584         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6585         (tls_global_dynamic): Renamed to...
6586         (tls_global_dynamic_32): ... this.
6587         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6588         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6589         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6590         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6591         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6592         (tls_local_dynamic_base_dynamic): Renamed to...
6593         (tls_local_dynamic_base_dynamic_32): ... this.
6594         (tls_local_dynamic_base_dynamic_64,
6595         *tls_local_dynamic_base_dynamic_64): New.
6596         (*tls_local_dynamic_once): Renamed to...
6597         (*tls_local_dynamic_32_once): ... this.
6598
6599 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6600
6601         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6602         __divdi3, __umoddi3, or __moddi3.
6603
6604 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6605
6606         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6607         instead of just opt_index as switch expression.
6608
6609         * calls.c (store_one_arg): Change type of 'excess_align'
6610         to unsigned int.
6611
6612         * profile.c (output_gcov_string): Change type of 'temp'
6613         to size_t.
6614
6615 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6616
6617         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6618         (__fixunssfdi, __fixsfdi): Likewise.
6619         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6620         (s390_single_qi): Likewise.
6621         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6622         unsigned comparison warning.
6623         (s390_return_addr_rtx): New function.
6624         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6625         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6626         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6627
6628 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6629
6630         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6631         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6632         (s390_output_mi_thunk): Remove.
6633         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6634
6635 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6636
6637         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6638
6639 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6640
6641         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6642         inverted test in the conditional determining the possibility
6643         of sibcalls in PIC mode.
6644
6645 2002-10-20  Richard Henderson  <rth@redhat.com>
6646
6647         * target.h (struct gcc_target): Line wrap.
6648
6649         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6650         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6651         * config/alpha/alpha.h: ... not here.
6652         * config/alpha/alpha-protos.h: Update.
6653
6654         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6655         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6656         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6657         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6658         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6659         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6660         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6661         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6662         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6663         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6664         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6665         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6666         config/sparc/sparc.c, config/sparc/sparc.h,
6667         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6668         config/stormy16/stormy16.h: Similarly.
6669
6670         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6671         selection logic from call patterns.
6672
6673 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6674
6675         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6676
6677 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6678
6679         PR other/8202
6680         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6681         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6682         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6683         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6684
6685 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6686
6687         PR c/761
6688         * toplev.c (flag_unsafe_profile_arcs): Remove.
6689         (flag_bounded_pointers): Remove.
6690         (flag_bounds_check): Correct comments.
6691         (lang_independent_options): Remove -funsafe-profile-arcs and
6692         -fbounded-pointers.  Correct -fbounds-check comments.
6693
6694         * flags.h: Correct flag_schedule_interblock comments.
6695         (flag_bounded_pointers): Remove prototype.
6696         (flag_bounds_check): Correct comments.
6697
6698         * c-opts.c (c_common_init_options): No need to mark
6699         flag_bounds_check as unspecified.
6700         (c_common_post_options): And no need to set it from
6701         flag_bounded_pointers if its still unspecified.
6702
6703         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6704         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6705         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6706         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6707
6708 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6709         Angela Marie Thomas  <angela@releasedominatrix.com>
6710         Brendan Kehoe  <brendan@zen.org>
6711         Nick Clifton  <nickc@redhat.com>
6712         Andrew Haley  <aph@redhat.com>
6713
6714         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6715         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6716         and CROSS_SYSTEM_HEADER_DIR.
6717         * configure: Rebuilt.
6718         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6719         (TARGET_SYSTEM_ROOT): New.
6720         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6721         CROSS_SYSTEM_HEADER_DIR.
6722         (install-gcc-tooldir): New target.
6723         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6724         if SYSTEM_HEADER_DIR does not exist and it's not the default
6725         sys-include directory.
6726         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6727         (install-mkheaders): Likewise.
6728         * gcc.c (target_system_root): New variable.
6729         (add_sysrooted_prefix): New function.
6730         (process_command): Recompute run-time target_system_root from
6731         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6732         does not exist.
6733         (do_spec_1): Process 'R' spec.
6734         (main): Add md_exec_prefix to exec_prefixes regardless of
6735         startfile_prefix_spec.  Use add_sysrooted_prefix for
6736         startfile_prefixes, and don't skip the default ones when cross
6737         compiling with sysroot enabled.  Removed unused case of
6738         non-absolute standard_startfile_prefix.
6739         * config/interix.h: Remove the only potential, yet disabled,
6740         occurrence of non-absolute (empty) standard_startfile_prefix.
6741         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6742         linking.
6743         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6744         * doc/install.texi (--with-sysroot): Document.
6745         (--with-headers, --with-libs): Deprecate.
6746
6747 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6748             Mark Mitchell  <mark@codesourcery.com>
6749
6750         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6751         match target.h.
6752         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6753         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6754         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6755         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6756         x86_output_mi_thunk): Likewise.
6757         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6758         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6759         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6760         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6761         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6762         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6763         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6764         Likewise.
6765         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6766
6767         * target.h (gcc_target): Update output_mi_thunk and
6768         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6769         vcall_index.
6770
6771         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6772         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6773         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6774         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6775         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6776         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6777         signature.
6778         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6779         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6780         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6781         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6782         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6783         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6784         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6785         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6786         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6787
6788         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6789         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6790
6791 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
6792
6793         * real.c (do_add): Fix 0+0 sign corner case.
6794         (do_divide): Fix Inf/0 corner case.
6795
6796 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
6797
6798         * i386.c (classify_argument): Pass MMX arguments in memory
6799         (ix86_expand_builtin): Expand proper address mode for cflush.
6800         * i386.md (movdqa): Fix typo.
6801         (sse2_cflush): Accept DImode addresses.
6802
6803         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6804         (_mm_max_sd): Fix pasto.
6805         (_mm_storeh_pd, _mm_storel_pd): Fix.
6806
6807         * i386.c (bdesc_comi): Fix to match specification.
6808         (ix86_expand_sse_comi): Emit the comparison properly.
6809         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6810         Do not use comparison operator.
6811         (vnmaskcmp): Fix template.
6812
6813         * xmmintrin.h (_mm_cvtps_pi16): Fix.
6814
6815 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
6816
6817         * dependence.c : Removed.
6818         * Makefile.in : Remove dependence.o.
6819
6820 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
6821
6822         * mmintrin.h (__m64): typedef it to v2si.
6823         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6824         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6825         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6826         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6827         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
6828         * xmmintrin.h (_mm_setzero_si64): Likewise.
6829
6830         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
6831         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
6832
6833         PR target/7693
6834         Patch by Shawn Wagner
6835         * mmintrin.h: Replace pi64 by si64.
6836
6837 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
6838
6839         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
6840         Use length of 4 not *.
6841         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
6842         (movdf_softfloat64): Likewise.
6843         (movdi_internal32): Use length of 4 not *.
6844         (movti_power): Same.
6845         (ctrsi, ctrdi): Same.
6846
6847 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
6848
6849         * c-decl.c (start_decl): Point users of the old initialized-
6850         typedef extension at __typeof__.
6851
6852 2002-10-18  Richard Henderson  <rth@redhat.com>
6853
6854         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
6855         (real_to_decimal): Re-implement using the logic from the
6856         gcc 3.2 etoasc.  Comment heavily.
6857         (div_significands): Simplify loop startup and comparison logic.
6858
6859 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
6860
6861         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
6862         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
6863         (TARGET_ASM_OUT): Add them.
6864         * target.h (asm_out): Add output_mi_thunk and
6865         output_mi_vcall_thunk.
6866         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6867         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6868         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
6869         * config/arm/arm.c (arm_output_mi_thunk): Define.
6870         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6871         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6872         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6873         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6874         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6875         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6876         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
6877         prototype.
6878         (x86_output_mi_vcall_thunk): Declare.
6879         * config/i386/i386.c (override_options): Clear
6880         output_mi_vcall_thunk in 64-bit mode.
6881         (ix86_fntype_regparm): New function.
6882         (ix86_return_pops_args): Use it.
6883         (ia32_this_parameter): New function.
6884         (x86_output_mi_vcall_thunk): New function.
6885         (x86_output_mi_thunk): Use it
6886         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
6887         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
6888         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
6889         * config/i960/i960.c (i960_output_mi_thunk): New function.
6890         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
6891         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
6892         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
6893         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6894         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6895         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
6896         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6897         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6898         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6899         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6900         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6901         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6902         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6903         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6904         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6905         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6906         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
6907         * config/s390/s390.c (s390_output_mi_thunk): Define.
6908         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6909         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6910         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6911         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6912         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6913         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6914         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
6915         * config/vax/vax.c (vax_output_mi_thunk): Define.
6916         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6917         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6918         * doc/tm.texi: Adjust documentation.
6919
6920 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6921
6922         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
6923         __enable_execute_stack function.
6924         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6925         as NETBSD_ENABLE_EXECUTE_STACK.
6926         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6927         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6928         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6929         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6930         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6931
6932 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6933
6934         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
6935         to __enable_execute_stack with the address of the trampoline
6936         if TRANSFER_FROM_TRAMPOLINE is defined.
6937         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
6938         constant if building libgcc2.
6939
6940 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
6941
6942         * i386.c (pentium4_cost): Fix according to Intel recommendations.
6943         (ix86_memory_move_cost): Fix for 64bit compilation.
6944
6945 2002-10-17  Roger Sayle  <roger@eyesopen.com>
6946
6947         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
6948
6949 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
6950
6951         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
6952         in CTR/LR/MQ.
6953         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
6954         to/from CTR/LR/MQ.
6955         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
6956         (movsf_softfloat): Likewise.
6957
6958 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
6959
6960         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
6961
6962 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
6963
6964         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
6965         tramp, not addr, to pass the trampoline address to
6966         __enable_execute_stack.
6967
6968 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
6969
6970         * mmintrin.h: Guard by __MMX__
6971         * xmmintrin.h: Guard by __SSE__
6972
6973         PR other/8062
6974         * xmmintrin.h (_MM_SHUFFLE2): New macro.
6975         (_mm_load*_?d): New functions.
6976         (_mm_set*_?d): New functions.
6977         (_mm_store*_?d): New functions.
6978
6979 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
6980
6981         Really commit patch announced at Oct 14
6982         PR c/7344
6983         * predict.c (can_predict_insn_p): New function.
6984         (estimate_probability): Avoid unnecesary work.
6985         (process_note_prediction): Likewise.
6986         * toplev.c (rest_of_compilation): Account early branch prediction pass
6987         as TV_BRANCH_PROB.
6988
6989         PR other/8048
6990         Found by Ian Ollmann
6991         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
6992         (_mm_load?_pd): Likewise.
6993         (_mm_store?_pd): Likewise.
6994
6995         PR target/7386
6996         * i386.c (builtin_description):Drop cmpg[te]s[sd].
6997         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
6998         swapped alternative.
6999
7000         PR opt/7630
7001         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7002         (push_reload): Update call.
7003
7004 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7005
7006         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7007         if using mips/elf.h or mips/elf64.h.
7008         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7009         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7010
7011 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7012
7013         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7014         SI.
7015
7016 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7017
7018         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7019         (LPREFIX): Likewise.
7020         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7021         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7022         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7023         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7024         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7025
7026         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7027         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7028         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7029         BSS_SECTION_ASM_OP): Move from linux.h.
7030         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7031         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7032
7033         * config/s390/s390.c (s390_function_profiler): Use
7034         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7035
7036 2002-10-15  Eric Christopher  <echristo@redhat.com>
7037
7038         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7039         * java/parse.y (obtain_incomplete_type): Make pointer
7040         ptr_mode.
7041
7042 2002-10-15  Richard Henderson  <rth@redhat.com>
7043
7044         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7045         as arguments.  Bound DIGITS by the available buffer size.
7046         (real_to_hexadecimal): Likewise.
7047         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7048         (REAL_VALUE_TO_DECIMAL): Remove.
7049         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7050         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7051         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7052         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7053         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7054         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7055         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7056         use real_to_decimal directly, and with the proper arguments.
7057         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7058
7059 2002-10-15  Jim Wilson  <wilson@redhat.com>
7060
7061         * reload1.c (merge_assigned_reloads): After converting overlapping
7062         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7063
7064         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7065
7066 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7067
7068         * expr.c (do_tablejump): Fix typo in my previous commit.
7069
7070 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7071
7072         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7073
7074 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7075
7076         * config/s390/s390.c (s390_split_branches): Add return
7077         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7078
7079         (find_base_register_in_addr): New function.
7080         (find_base_register_ref): New function.
7081         (replace_base_register_ref): New function.
7082
7083         (struct constant_pool): Add members pool_insn, insns, and anchor.
7084         Remove member last_insn.
7085         (s390_start_pool): Initialize them.
7086         (s390_end_pool): Emit pool placeholder insn.
7087         (s390_add_pool_insn): New function.
7088         (s390_find_pool): Use insns bitmap instead of addresses.
7089         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7090         Replace unspec 104 by local-pool-relative references.
7091         (s390_output_constant_pool): Output anchor label if required.
7092         (s390_output_symbolic_const): Handle unspec 104 and 105.
7093         (s390_add_pool): Remove, replace by ...
7094         (s390_add_constant, s390_find_constant): ... these new functions.
7095         (s390_add_anchor): New function.
7096
7097         (s390_chunkify_pool): Delete, replace by ...
7098         (s390_chunkify_start, s390_chunkify_finish,
7099         s390_chunkify_cancel): ... these new functions.
7100         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7101         Recompute register live data for special registers.
7102         (s390_fixup_clobbered_return_reg): New function.
7103         (s390_machine_dependent_reorg): Rewrite to use new
7104         s390_chunkify_... routines.
7105
7106         config/s390/s390.md ("reload_base"): Rename to ...
7107         ("reload_base_31"): ... this.
7108         ("reload_base_64"): New insn.
7109         ("reload_base2"): Remove.
7110         ("reload_anchor"): New insn.
7111         ("pool"): New insn.
7112
7113         s390.c (s390_pool_overflow): Remove.
7114         s390.h (s390_pool_overflow): Likewise.
7115         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7116
7117 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7118
7119         * sh.md (movv8qi_i+2): Don't split if source is -1.
7120
7121 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7122
7123         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7124
7125 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7126
7127         PR opt/7409
7128         * loop.c (loop_regs_scan): Mark registers used for function
7129         argument passing as MAY_NOT_OPTIMIZE.
7130
7131 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7132
7133         * gcov-io.h (gcov_info): Fix type.
7134         * profile.c (create_profiler): Fix type mismatch.
7135
7136 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7137
7138         * i386.md (movv2di_internal): New pattern.
7139         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7140         (movv2di): New expander.
7141         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7142
7143         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7144         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7145         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7146         (ix86_expand_builtin): Likewise.
7147         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7148         sse_andti3,
7149         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7150         sse_andnti3,
7151         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7152         sse_orti3,
7153         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7154         sse_xorti3): Kill.
7155         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7156          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7157         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7158          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7159         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7160          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7161
7162         * xmmintrin.h (__m128i): Define as __v2di.
7163
7164         PR c++/6419
7165         (expand_expr): Use DECL_RTL_SET_P.
7166
7167 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7168
7169         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7170
7171 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7172             Zack Weinberg <zack@codesourcery.com>
7173
7174         * config/i386/i386.c (k6_cost): Correct typo.
7175
7176 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7177
7178         PR optimization/6631
7179         * alias.c (objects_must_conflict_p): Check honor_readonly when
7180         examining TYPE_READONLY.
7181         * function.c (assign_stack_temp_for_type): Likewise.
7182
7183 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7184
7185         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7186         Swap zero extension arguments.
7187         (umaxhi3): Fix instruction class.
7188         PR target/7211
7189         (prefetch): Fix prefetch instructions.
7190         PR target/7238
7191         (pkwb): Fix output constraint.
7192
7193 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7194
7195         * config/mips/mips.c (print_operand): Increase buffer size for
7196         real numbers.
7197
7198 2002-10-14  Richard Henderson  <rth@redhat.com>
7199
7200         PR opt/8165
7201         * gcse.c (adjust_libcall_notes): Revert last change.
7202         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7203
7204 2002-10-14  Andrew Haley  <aph@redhat.com>
7205
7206         * tree-inline.c (remap_block): All local class initialization
7207         flags go in the outermost scope.
7208         (expand_call_inline): Call java_inlining_map_static_initializers.
7209         (expand_call_inline): Call java_inlining_merge_static_initializers.
7210         * java/lang.c (merge_init_test_initialization): New.
7211         (java_inlining_merge_static_initializers): New.
7212         (inline_init_test_initialization): New.
7213         (java_inlining_map_static_initializers): New.
7214
7215         * tree-inline.c (expand_call_inline): Convert retvar to expected
7216         type.
7217
7218 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7219
7220         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7221
7222 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7223
7224         * stmt.c: Fix typo in comment.
7225
7226 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7227
7228         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7229         * tree.c (build_common_tree_nodes_2): Initialize
7230         unsigned_V2HI_type_node and V2HI_type_node.
7231         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7232         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7233
7234 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7235
7236         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7237         Handle TARGET_64BIT.
7238
7239 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7240
7241         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7242         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7243         (MULTILIB_DIRNAMES): Remove long32.
7244         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7245         (MULTILIB_REDUNDANT_DIRS): Remove.
7246
7247 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7248
7249         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7250         * gcc.c (driver_self_specs): New variable.
7251         (do_self_spec): New function.
7252         (main): Use it to process driver_self_specs.
7253
7254 2002-10-13  Richard Henderson  <rth@redhat.com>
7255
7256         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7257         indirect sibcalls when regparm >= 3.
7258
7259         * config/i386/i386.c (sibcall_insn_operand): New.
7260         * config/i386/i386.h (PREDICATE_CODES): Update.
7261         * config/i386/i386-protos.h: Update.
7262         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7263
7264         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7265
7266 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7267
7268         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7269         arithmetic right shifts of ~0 during RTL simplifications.
7270
7271 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7272
7273         PR preprocessor/7862
7274         PR preprocessor/8190
7275         * gcc.c (cpp_unique_options): Don't delete .d files.
7276         Remove stray whitespace.
7277
7278 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7279
7280         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7281         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7282         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7283         (pdp11_output_function_epilogue, output_ascii): Likewise.
7284         (output_addr_const_pdp11): Likewise.
7285         * pdp11.md (movdi): Use offsetable memory for floating store.
7286         (lshrsi3, negsi2): Delete irrelevant comment.
7287
7288 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7289
7290         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7291         indirect calls to be sibcall optimized.
7292         * config/i386/i386.md (sibcall_1): New.
7293         (call_1): Add no-sibcalls condition.
7294         (sibcall_value_1): New.
7295         (call_value_1): Add no-sibcalls condition.
7296
7297 2002-10-11  Eric Christopher  <echristo@redhat.com>
7298
7299        * output.h (default_valid_pointer_mode): Declare.
7300        * varasm.c (default_valid_pointer_mode): Define.
7301        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7302        * target.h: Ditto.
7303        * tree.c (build_pointer_type_for_mode): New function.
7304        (build_pointer_type): Use.
7305        (build_reference_type_for_mode): New function.
7306        (build_reference_type): Use.
7307        * tree.h: Declare new functions.
7308        * c-common.c (handle_mode_attribute): Use new functions, check
7309        for type.
7310        * stor-layout.c (layout_type): Depend on machine mode for
7311        REFERENCE_TYPE and POINTER_TYPE.
7312        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7313        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7314        and REFERENCE_TYPE.
7315        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7316        (TARGET_VALID_POINTER_MODE): Use and define.
7317        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7318
7319 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7320
7321         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7322         not the address of the REG.
7323         (struct cse_reg_info): Make subreg_ticked unsigned.
7324
7325 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7326
7327         * doc/compat.texi: Add info about C++ libraries.
7328
7329 2002-10-11  Richard Henderson  <rth@redhat.com>
7330
7331         PR opt/8165
7332         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7333
7334 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7335
7336         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7337         * genautomata.c (output_insn_code_cases): Likewise.
7338         * real.c (real_format): Likewise.
7339         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7340         ensure value is promoted before doing subtraction.
7341
7342 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7343
7344         * calls.c (expand_call): Simplify noreturn call.
7345
7346         PR c/7344
7347         * cfgbuild.c (make_edges): Create edge cache when we do have
7348         large jumptable.
7349         * expr.c (do_tablejump): Note size of maximal jumptable.
7350         * function.c (prepare_function_start): Zero out size.
7351         * function.h (function): Add max_jumptable_ents.
7352
7353         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7354
7355 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7356
7357         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7358         register for mperm_w operation.
7359
7360 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7361
7362         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7363         an integer, use simplify_gen_subreg.
7364
7365 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7366
7367         * calls.c (flags_from_decl_or_type): Make extern.
7368         (ECF_*): Move ...
7369         * rtl.h (ECF_*): ... here.
7370         (flags_from_decl_or_type): Declare.
7371
7372 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7373             Nathan Sidwell <nathan@codesourcery.com>
7374
7375         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7376         shifts of the form -1 >> x.
7377
7378 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7379
7380         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7381
7382 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7383
7384         * extend.texi (Vector Extensions): Remove comment about single
7385         element vectors.
7386
7387 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7388
7389         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7390         * function.c (insns_for_mem_hash): Likewise.
7391         * varasm.c (STRHASH): Likewise.
7392
7393 2002-10-10  Stuart Hastings  <stuart@apple.com>
7394
7395         * cse.c (struct cse_reg_info): Add subreg_ticked.
7396         (SUBREG_TICKED): New.
7397         (get_cse_reg_info): Initialize SUBREG_TICKED.
7398         (mention_regs): Use it.
7399         (invalidate): Set SUBREG_TICKED.
7400         (invalidate_for_call): Likewise.
7401         (addr_affects_sp_p): Likewise.
7402
7403 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7404
7405         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7406         into proper operand.
7407
7408 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7409
7410         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7411         deallocation.
7412         * config/ip2k/libgcc.S: Combine routines used by function
7413         epilogue.
7414
7415 2002-10-10  Jim Wilson  <wilson@redhat.com>
7416
7417         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7418         UDIV.
7419
7420 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7421
7422         * config/rs6000/aix52.h: New file.
7423         * config/rs6000/t-aix52: New File.
7424         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7425         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7426
7427 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7428
7429         PR target/5610
7430         * invoke.texi (-msse-math): Kill
7431         (-msse): Add note to mfpmath=sse.
7432
7433 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7434
7435         PR target/7723
7436         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7437
7438 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7439
7440         PR preprocessor/8179
7441         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7442         as cc1_options.
7443         (default_compilers): Pass debug options when preprocessing
7444         stdin.
7445
7446 2002-10-06  Richard Henderson  <rth@redhat.com>
7447
7448         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7449
7450 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7451
7452         * i386.c (*_cost): Add branch costs.
7453         (override_options): set ix86_branch_cost.
7454         (ix86_expand_int_movcc): Use BRANCH_COST.
7455         * i386.h (costs): Add branch_cost.
7456
7457 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7458
7459         PR c/7353
7460         * c-decl.c (start_decl): Unconditionally issue error for
7461         'typedef foo = bar'.
7462         (finish_decl): Remove special case for TYPE_DECL with initializer.
7463
7464         * doc/extend.texi: Delete "Naming Types" section.  Change all
7465         cross-references to that section to refer to "Typeof" instead.
7466         Add the useful safe-max()-macro example from "Naming Types" to
7467         "Typeof", rewritten using that extension.  Add some compatibility
7468         notes to "Typeof."
7469
7470 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7471
7472         * loop.c: Revert 2002-08-15 change.
7473         (LOOP_REGNO_NREGS): Ensure type is int.
7474
7475 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7476
7477         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7478         which copies first FPR and clears second.
7479         (extendsftf2): Same.
7480         (floatditf2): Fix typo.
7481         (floatsitf2): Same.
7482         (fix_trunctfdi2): Same.
7483         (fix_trunctfsi2): Same.
7484
7485 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7486
7487         * conflict.c (arc_hash): Change return type to hashval_t.
7488         * cselib.c (get_value_hash): Likewise.
7489         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7490         state_hash, automata_list_hash): Likewise.
7491         * read-rtl.c (def_hash): Likewise.
7492         * tree.c (type_hash_hash): Likewise.
7493
7494 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7495
7496         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7497         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7498
7499 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7500
7501         * sh.md (ffssi2): Fix emitted code.
7502
7503 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7504
7505         * cse.c (insn_live_p): Pass insn pattern, not full insn
7506         to may_trap_p.
7507
7508 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7509
7510         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7511
7512 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7513
7514         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7515         64-bit hosts.
7516         (movtf_internal): Reference correct displacement for second value
7517         in memory.
7518         (movtf splitter): Correct generation of constants in 64-bit mode.
7519
7520 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7521
7522         * libgcc2.c (__floatdisf): Properly cure double rounding.
7523
7524 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7525
7526         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7527         * doc/cpp.texi (Common Predefined Macros): Document.
7528
7529 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7530
7531         PR doc/7484
7532         * doc/invoke.texi (Option Summary): List
7533         -Wmissing-declarations as a C only option.
7534
7535 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7536
7537         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7538         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7539         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7540
7541 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7542
7543         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7544         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7545         variables.
7546         (safe_vector_operand): Update sse_clrv4sf call.
7547         (ix86_expand_buildin): Likewise
7548         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7549         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7550         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7551         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7552         macros.
7553         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7554         movv4si):  Obey the new flags.
7555         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7556         reformating penalty.
7557         (anddf, cmov patterns): Avoid reformating by first converting.
7558         (sse_cvtsd2ss): Fix predicate.
7559         (sse2_clrti): Fix mode,
7560         (sse_clrv4sf): Avoid unspec.
7561
7562 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7563
7564         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7565         mno-app-regs|mcmodel=medany.
7566         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7567         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7568         (CRTSTUFF_T_CFLAGS): Define.
7569
7570 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7571
7572         PR target/8087
7573         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7574         pool references that are constructed using LO_SUM.
7575
7576 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7577
7578         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7579         -Wall.
7580         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7581         message.
7582         * flags.h (warn_strict_aliasing): Declare.
7583         * toplev.c (warn_strict_aliasing): Define.
7584         (lang_independent_options): Add it.
7585         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7586
7587 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7588
7589         * system.h (GCCBUGURL): Delete.
7590         * version.c (bug_report_url): New.  Add commentary about
7591         modifying both these strings in modified distributions.
7592         * version.h: Declare bug_report_url.
7593
7594         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7595         bug_report_url.
7596
7597 2002-10-08  Nick Clifton  <nickc@redhat.com>
7598
7599         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7600         convert uint64_t into __ev64_opaque__.
7601         (__ev_set_acc_s64): Likewise, but using signed types.
7602
7603 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7604
7605         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7606         ("*doloop_di_long"): Likewise.
7607
7608 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7609
7610         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7611
7612 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7613
7614         * config/mips/mips.md (define_attr cpu): Add r4111.
7615
7616 2002-10-08  Anthony Green  <green@redhat.com>
7617
7618         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7619
7620 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7621
7622         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7623         for REAL_VALUE_TO_DECIMAL output.
7624
7625 2002-10-07  Richard Henderson  <rth@redhat.com>
7626
7627         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7628         function; cleanup PLUS case by using recursion.  Update all users.
7629         (NONZERO_BASE_PLUS_P): Remove.
7630         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7631         (fold_rtx): Use nonzero_address_p.
7632         * rtl.h (nonzero_address_p): Declare.
7633         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7634         (rtx_addr_can_trap_p): Likewise.
7635         (nonzero_address_p): New.
7636         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7637         (simplify_relational_operation): Use nonzero_address_p.
7638
7639 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7640
7641         * config/rs6000/rs6000.c (rs6000_override_options): Set
7642         real_format_for_mode for IBM extended format, if enabled.
7643         (easy_fp_constant): Add TFmode.
7644         (rs6000_legitimize_address): Add TFmode.
7645         (rs6000_legitimate_address): Same.
7646         (function_arg_advance): TFmode uses two FPRs.
7647         (rs6000_emit_prologue): Fix warning.
7648         (rs6000_output_function_epilogue): Add TFmode.
7649         (output_toc): Add TFmode.
7650         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7651         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7652         * rs6000.md (movtf splitter): Load TFmode constant.
7653
7654 2002-10-07  Dale Johannesen  <dalej@apple.com>
7655
7656         * rtl.h:  Add NOTE_PRECONDITIONED.
7657         * unroll.c:  Set it.
7658         * loop.c:  Set loop_info->preconditioned from it.
7659         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7660
7661 2002-10-07  Richard Henderson  <rth@redhat.com>
7662
7663         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7664         new rtx for comparing the argument pointer against zero.
7665         (i960_va_start): Similarly.
7666
7667 2002-10-07  Richard Henderson  <rth@redhat.com>
7668
7669         * config/i960/i960.md (*): Use TFmode, not XFmode.
7670         * config/i960/i960.c (*): Likewise.
7671         (i960_arg_size_and_align): Remove XFmode alignment hack.
7672         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7673         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7674         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7675         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7676
7677 2002-10-07  Richard Henderson  <rth@redhat.com>
7678
7679         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7680         entry points; use void return value and argument list.
7681
7682 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7683
7684         * calls.c (expand_call): Fix function-is-volatile check.
7685
7686 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7687
7688         * t-pdp11: Add MULTILIB support for msoft-float.
7689         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7690
7691         * t-pdp11: Add LIB2FUNCS_EXTRA.
7692         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7693         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7694         'fldd' to 'ldd', rename 'fstd' to 'std'.
7695         (pdp11_output_function_epilogue): Likewise.
7696         (output_move_quad): Make the comment gas compatible.
7697         (output_ascii): Add preceding 0 to the octal constant.
7698         (print_operand_address): Add pre_modify, post_modify.
7699         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7700         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7701         with the indication of Paul Koning.
7702         (PRINT_OPERAND): Fix floating constant.
7703         * pdp11.md (movdi): Restrict matching pattern.
7704         (movqi): Generalize the matching pattern.
7705         (movdf): Restrict matching pattern.
7706         (zero_extendqihi2): Change constant representation.
7707         (floatsidf2): Fix wrong operands.
7708         (addqi3): Fix wrong instruction name.
7709         (subqi3): Fix wrong instruction name.
7710         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7711         (xorsi3): Fix wrong insn.
7712         (one_cmplqi2): Add two operand pattern.
7713         (lsrsi3): New.
7714         (negsi2): New.
7715         (call): Add register indirect case.
7716         (mod): Fix wrong subreg.
7717
7718 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7719             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7720
7721         PR c/7411
7722         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7723         have been expanded in EXPAND_NORMAL mode.
7724
7725 2002-10-06  Richard Henderson  <rth@redhat.com>
7726
7727         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7728
7729 2002-10-06  Richard Henderson  <rth@redhat.com>
7730
7731         PR optimization/2960
7732         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7733         optimize_size.
7734
7735 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7736
7737         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7738         previously definitions.
7739
7740 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
7741
7742         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7743         * c-opts.c (find_opt): Similarly.
7744
7745 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
7746
7747         * athlon.md: rewrite to DFA.
7748         * i386 (ix86_adjust_cost): Drop memory latency code.
7749         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7750
7751 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
7752
7753         * gcc.c (set_multilib_dir): Don't access *end.
7754         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
7755         (print_multilib_info): Don't show paths starting with ".:".
7756         * genmultilib: Add new option, "yes" if multilibs are enabled.
7757         Update comments.  If multilibs not enabled, print .:${osdirout}
7758         for each directory.  If multilibs are enabled, always print
7759         ${dirout}:${osdirout}, even if the two are the same.
7760         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7761         Pass all MULTILIB_* variables to genmultilib even if
7762         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7763
7764 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
7765
7766         * gcc.c (process_command): Set .validated for -pipe.  Correct
7767         grammar in comment.
7768
7769 2002-10-04  Bruce Korb  <bkorb@gnu.org>
7770
7771         * fixinc/inclhack.def(hpux11_abs):  use format fix
7772         * fixinc/fixincl.x: regenerate
7773         * fixinc/tests/base/stdlib.h: accommodate new fix test
7774
7775 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
7776
7777         * c-common.c (cb_register_builtins):  Use really_no_inline.
7778
7779 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
7780
7781         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7782         copied instruction if the note is not loop invariant.
7783
7784 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
7785
7786         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7787
7788 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7789
7790         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
7791         and -mhp-ld options to list of options.  Add -mgnu-ld
7792         and -mhp-ld option descriptions.
7793
7794 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7795
7796         * fixinc/inclhack.def (hpux11_abs):  New.
7797         (stdio_va_list): change __va_list__ to __gnuc_va_list.
7798         * fixinc/fixincl.x: Rebuild.
7799
7800 2002-10-04  Roger Sayle  <roger@eyesopen.com>
7801
7802         * config/i386/i386.h (processor_costs): Add new fields fadd,
7803         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7804         (RTX_COSTS): Use these fields to determine the RTX costs
7805         of floating point addition/subtraction, multiplication,
7806         division, fabs, negation and square root respectively.
7807         * config/i386/i386.c (size_cost): Provide instruction sizes
7808         for these new fields.
7809         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7810         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7811         counts for these new fields for all x86 processor variants.
7812
7813 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7814
7815         * mips.c (mips_const_double_ok): Delete unused variable.
7816
7817         * gengtype.c (rtx_next): Change type to int.
7818
7819 2002-10-04  Andreas Jaeger  <aj@suse.de>
7820
7821         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7822
7823 2002-10-04  Richard Henderson  <rth@redhat.com>
7824
7825         * real.h (SIGNIFICAND_BITS): Add one more word.
7826         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7827         * real.c (times_pten): New.
7828         (real_to_decimal, real_from_string): Use it.
7829         (sticky_rshift_significand): Use & to find modulus.
7830         (rshift_significand, lshift_significand): Likewise.
7831         (do_divide): Apply sticky bit after normalization.
7832         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
7833
7834 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
7835
7836         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
7837         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7838
7839 2002-10-03  Andreas Jaeger  <aj@suse.de>
7840
7841         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
7842         to unsigned long, adjust printf format string.
7843         (output_mangled_typename): Likewise.
7844
7845 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
7846
7847         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
7848         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
7849         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
7850         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
7851         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
7852         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
7853         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
7854         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
7855
7856 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
7857
7858         * doc/invoke.texi (-Wabi): Document mangling bug.
7859
7860 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
7861
7862         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
7863         name for the tbtab label that depends on the function asm name.
7864         Don't output tbtab label unless optional_tbtab.
7865         (output_mi_thunk): Formatting.
7866
7867 2002-10-03  Richard Henderson  <rth@redhat.com>
7868
7869         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
7870         * config/m68k/m68k.c (override_options): ... here.
7871         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
7872         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
7873         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7874         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7875
7876 2002-10-03  Richard Henderson  <rth@redhat.com>
7877
7878         * real.h (struct real_value): Use ENUM_BITFIELD.
7879
7880 2002-10-03  Richard Henderson  <rth@redhat.com>
7881
7882         * config/i960/i960.md (call, call_value): Use emit_call_insn.
7883
7884 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7885
7886         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
7887
7888 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7889
7890         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
7891         * config/pa/pa.h (MASK_GNU_LD): New.
7892         (TARGET_GNU_LD): New.
7893         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
7894         on gnu-ld and MASK_GNU_LD.
7895         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
7896
7897 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
7898
7899         * i386.c (athlon_cost): Fix the move costs.
7900
7901 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
7902
7903         * final.c (final): Use symbol name as function name for profiling.
7904         * profile.c (get_exec_counts): Likewise.
7905         (branch_prob): Likewise.
7906
7907 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7908
7909         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
7910
7911 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7912
7913         * gcc.c (print_multi_os_directory): New variable.
7914         (option_map): Support --print-multi-os-directory.
7915         (struct prefix_list): Add os_multilib field.
7916         (multilib_os_dir): New variable.
7917         (static_specs): Add multilib_options.
7918         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
7919         subdirs if nonzero.
7920         (read_specs, execute): Update callers.
7921         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
7922         pass 1 as multilib option.
7923         (display_help): Include --print-multi-os-directory.
7924         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
7925         (process_command): Update callers.  Handle --print-multi-os-directory.
7926         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
7927         set.
7928         (main): Update find_a_file and add_prefix callers.
7929         Handle print_multi_os_directory.
7930         (struct mdswitchstr): New.
7931         (mdswitches, n_mdswitches): New variables.
7932         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
7933         present on the command line nor their mutually incompatible
7934         switches.
7935         (default_arg): Optimize.
7936         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
7937         array.
7938         (print_multilib_info): Only print GCC multilib dir name, not OS
7939         multilib dirname.
7940         * genmultilib: Add osdirnames parameter.  Output multilib_options
7941         variable.  If osdirnames is specified, output dirnames as
7942         dirname:osdirname.
7943         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
7944         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
7945         to compute libgcc_s soname and install path.
7946         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
7947         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
7948         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
7949         argument.
7950
7951         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7952         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7953         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
7954         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
7955         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
7956         and -m64.
7957         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
7958         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7959         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
7960         (STARTFILE_ARCH_SPEC): Remove.
7961         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7962         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7963         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
7964         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
7965         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7966
7967 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
7968
7969         * predict.c (choose_function_section): Avoid choice for linkonce functions.
7970
7971 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
7972
7973         * i386.md (lea to mul peep2): Fix condition.
7974
7975 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7976
7977         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
7978         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
7979
7980 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
7981
7982         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
7983         attribute "unused".
7984
7985         * config/t-libunwind: Mention unwind-sjlj.c.
7986         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
7987         to #ifndef __USING_SJLJ_EXCEPTIONS__.
7988
7989         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
7990         before inclusion of config.gcc, but after configuring the compiler etc.
7991         Determine default value for --enable-libunwind-exceptions based on
7992         whether the host has a libunwind library (not guaranteed to be correct,
7993         but it's a reasonable first guess and can always be overridden with an
7994         explicit --enable/disable-libunwind-exceptions.
7995         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
7996         tmake_file when $use_libunwind_exceptions is enabled.
7997         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
7998         ia64 (e.g., config/t-linux also updates it).
7999         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8000         along with the shared version of libgcc since the latter requires
8001         the former.
8002         * unwind-libunwind.c: New file.
8003         * config/t-libunwind: Ditto.
8004
8005 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8006
8007         * config.gcc: Remove support for vax-*-vms*.
8008         * config/vax/vms.h: Remove.
8009         * config/vax/xm-vms.h: Remove.
8010         * config/vax/vax-protos.h: Remove VMS-specific code.
8011         * config/vax/vax.c: Remove VMS-specific code.
8012
8013 2002-10-02  Richard Henderson  <rth@redhat.com>
8014
8015         PR opt/7124
8016         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8017         for secondary_memory_needed pairs.
8018
8019 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8020
8021         * doc/vms.texi: Blow away false include file section.
8022
8023 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8024
8025         PR optimization/6627
8026         * toplev.c (force_align_functions_log): New global variable.
8027         * flags.h (force_align_functions_log): Add extern prototype.
8028         * varasm.c (assemble_start_function): Use it to force minimum
8029         function alignment.
8030         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8031         minimum function alignment to one byte.
8032         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8033         the least significant bit of vtable member function pointers.
8034         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8035         here from cp/cp-tree.h.
8036
8037 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8038
8039         * i386.c (print_operand_address): Use RIP addressing for offsetted
8040         label refs too.
8041
8042 2002-09-30  David S. Miller  <davem@redhat.com>
8043
8044         PR middle-end/7151
8045         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8046         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8047
8048 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8049
8050         * calls.c (expand_call): Remove the `no indirect check'
8051         for sibcall optimization; use function_ok_for_sibcall
8052         target hook; refine check for `function is volatile'.
8053         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8054         * hooks.c (hook_tree_tree_bool_false): New.
8055         * hooks.h (hook_tree_tree_bool_false): Declare.
8056         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8057         (TARGET_INITIALIZER): Add it.
8058         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8059         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8060         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8061         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8062         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8063         Remove function declaration.
8064         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8065         function static and accept another argument of type `tree'.
8066         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8067         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8068         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8069         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8070         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8071         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8072         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8073         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8074         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8075         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8076         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8077         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8078         Remove function declaration.
8079         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8080         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8081         rename first argument to `decl'; accept another argument
8082         of type `tree'; make static.
8083         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8084         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8085         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8086         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8087         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8088         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8089         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8090         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8091         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8092
8093 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8094
8095         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8096
8097 2002-10-01  Richard Henderson  <rth@redhat.com>
8098
8099         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8100         (real_to_hexadecimal): Likewise.
8101         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8102         dump the XWINT fields of a floating point CONST_DOUBLE.
8103
8104 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8105
8106         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8107
8108 2002-10-01  Richard Henderson  <rth@redhat.com>
8109
8110         * calls.c (precompute_register_parameters): Force non-legitimate
8111         constants into pseudos.
8112
8113 2002-10-01  Nick Clifton  <nickc@redhat.com>
8114
8115         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8116         to assembler template.
8117
8118 2002-10-01  Richard Henderson  <rth@redhat.com>
8119
8120         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8121         for TLS debug info to !DECL_EXTERNAL.
8122
8123 2002-10-01  Matt Thomas  <matt@3am-software.com>
8124             Jason Thorpe  <thorpej@wasabisystems.com>
8125
8126         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8127         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8128         if not already defined.
8129         * config/vax/elf.h: New file.
8130         * config/vax/netbsd-elf.h: New file.
8131         * config/vax/vax.c: Include "debug.h".
8132         (vax_output_function_prologue): Add dwarf2 support.  Use
8133         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8134         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8135         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8136         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8137         (VAX_ISTREAM_SYNC): Remove.
8138         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8139         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8140         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8141         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8142         and assemble_name.
8143         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8144         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8145         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8146         (INCOMING_RETURN_ADDR_RTX): Define.
8147         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8148         (VUNSPEC_SYNC_ISTREAM): Define.
8149         (blockage): Use VUNSPEC_BLOCKAGE.
8150         (sync_istream): New insn.
8151
8152 2002-10-01  Richard Henderson  <rth@redhat.com>
8153
8154         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8155         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8156         (*call): New insn.
8157
8158 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8159
8160         PR c/8083
8161         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8162         type based aliasing.
8163
8164 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8165
8166         * stor-layout.c (update_alignment_for_field): New function.
8167         (place_union_field): Use it.
8168         (place_field): Likewise.
8169
8170 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8171
8172         PR other/8077
8173         * gcc.c (cc1_options): Add space on -auxbase-strip.
8174
8175 2002-10-01  Jim Wilson  <wilson@redhat.com>
8176
8177         * config/v850/v850.h (EPILOGUE_USES): Define.
8178
8179 2002-09-30  Andrew Haley  <aph@redhat.com>
8180
8181         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8182         eliminate insns that may trap.
8183         * cse.c (insn_live_p): Likewise.
8184
8185 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8186
8187         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8188         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8189         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8190         * config/mips/mips.md: Apply same renaming here.
8191
8192 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8193
8194         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8195         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8196         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8197         * config/mips/mips.md (define_attr cpu): Remove r4320.
8198         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8199
8200 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8201
8202         * config/mips/mips.c (mips16_strings): New variable.
8203         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8204         symbol in mips16_strings.  Free the list.
8205         (mips_encode_section_info): Keep track of local strings.
8206
8207 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8208
8209         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8210         (sordered_df, sordered_sf): Remove.
8211         * config/mips/mips.c (get_float_compare_codes): New fn.
8212         (gen_int_relational, gen_conditional_move): Use it.
8213
8214 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8215
8216         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8217         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8218         * config/mips/mips.c (fcc_register_operand): New function.
8219         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8220         (override_options): Allow TFmode values in float registers
8221         if ISA_HAS_8CC.
8222         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8223         to fcc_register_operand.  Remove misleading source constraint.
8224         Use mips_emit_fcc_reload.
8225         (reload_outcc): Duplicate reload_incc.
8226
8227 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8228
8229         * gcc.c (validate_switches): Handle all new forms of spec
8230         syntax introduced recently.  Now returns a char *.
8231         (validate_all_switches): Repetitive logic broken out to...
8232         (validate_switches_from_spec): ...here.
8233         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8234
8235 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8236
8237         * longlong.h: Partially synchronize with GMP-4.1 version:
8238         Use i370 definitions also for s390.
8239         Add generic definition of umul_ppmm in terms of smul_ppmm.
8240         [s390] (umul_ppmm): Remove.
8241         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8242         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8243
8244 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8245
8246         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8247         Add new RL_REGS register class.
8248         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8249         Call xtensa_preferred_reload_class for both input and output reloads.
8250         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8251         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8252         instead of either AR_REGS or GR_REGS classes.
8253         (xtensa_secondary_reload_class): Use new RL_REGS class.
8254         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8255
8256 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8257
8258         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8259         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8260         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8261         there is a '*' prefix in NAME.
8262
8263 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8264
8265         * reload.c (push_reload): Handle subregs and secondary memory.
8266         * reload1.c (gen_reload): Likewise.
8267
8268         * jump.c (reg_or_subregno): New function.
8269         * rtl.h (reg_or_subregno): Declare
8270         * unroll.c (find_splittable_givs): Handle subregs.
8271
8272 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8273
8274         * store-layout.c (finish_record_layout): Add free_p parameter.
8275         (layout_type): Pass it.
8276         * tree.h (finish_record_layout): Update prototype.
8277
8278 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8279
8280         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8281
8282         * gcse.c (cprop_jump): Check that the register has not
8283         been modified
8284         (cprop_jump): Likewise.
8285
8286 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8287
8288         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8289         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8290         that we have a SImode access, and only then if reload hasn't completed;
8291         for all other cases, use LO_REGS.
8292
8293 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8294
8295         * openbsd.h: Fix typo in last change.
8296
8297 2002-09-29  Richard Henderson  <rth@redhat.com>
8298
8299         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8300
8301 2002-09-29  Richard Henderson  <rth@redhat.com>
8302
8303         PR c/8002
8304         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8305         for CONST_INT.
8306
8307 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8308
8309         * real.h (ibm_extended_format): Declare.
8310         * real.c (encode_ibm_extended, decode_ibm_extended): New
8311         functions.
8312
8313 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8314
8315         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8316
8317         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8318
8319 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8320
8321         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8322
8323 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8324
8325         * builtins.def: Fix comment formatting.
8326         * c-common.def: Likewise.
8327         * cfgcleanup.c: Likewise.
8328         * combine.c: Likewise.
8329         * gengtype.c: Likewise.
8330         * params.def: Likewise.
8331         * predict.def: Likewise.
8332         * rtl.def: Likewise.
8333         * stab.def: Likewise.
8334         * stor-layout.c: Likewise.
8335         * tree.def: Likewise.
8336         * config/darwin.c: Likewise.
8337         * config/darwin.h: Likewise.
8338         * config/dbxcoff.h: Likewise.
8339         * config/elfos.h: Likewise.
8340         * config/fp-bit.c: Likewise.
8341         * config/freebsd-spec.h: Likewise.
8342         * config/interix.h: Likewise.
8343         * config/libgloss.h: Likewise.
8344         * config/linux-aout.h: Likewise.
8345         * config/linux.h: Likewise.
8346         * config/lynx-ng.h: Likewise.
8347         * config/lynx.h: Likewise.
8348         * config/netbsd-aout.h: Likewise.
8349         * config/netbsd.h: Likewise.
8350         * config/netware.h: Likewise.
8351         * config/psos.h: Likewise.
8352         * config/ptx4.h: Likewise.
8353
8354 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8355
8356         * ChangeLog.4: Fix typos.
8357         * ChangeLog.6: Likewise.
8358         * FSFChangeLog.10: Likewise.
8359         * genattrtab.c: Fix comment typos.
8360         * haifa-sched.c: Likewise.
8361         * real.c: Likewise.
8362         * tree.h: Likewise.
8363         * config/arm/arm.c: Likewise.
8364         * config/arm/crti.asm: Likewise.
8365         * config/arm/crtn.asm: Likewise.
8366         * config/frv/frv.c: Likewise.
8367         * config/frv/frv.md: Likewise.
8368         * config/h8300/h8300.md: Likewise.
8369         * config/i386/rtemself.h: Likewise.
8370         * config/ia64/unwind-ia64.c: Likewise.
8371         * config/ip2k/ip2k.h: Likewise.
8372         * config/m88k/m88k.c: Likewise.
8373         * config/m88k/m88k.md: Likewise.
8374         * config/mips/sr71k.md: Likewise.
8375         * config/mmix/mmix.c: Likewise.
8376         * config/rs6000/rs6000.c: Likewise.
8377         * config/sh/sh.md: Likewise.
8378
8379 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8380
8381         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8382         * config/avr/avr.md: Ditto.
8383
8384 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8385
8386         PR preprocessor/8055
8387         * cppmacro.c (stringify_arg): Do not overflow the buffer
8388         with the terminating NUL when the argument to be stringified
8389         has no tokens.
8390
8391 2002-09-27  Richard Henderson  <rth@redhat.com>
8392
8393         * unroll.c (simplify_cmp_and_jump_insns): New.
8394         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8395         instead of expand_simple_foo.
8396
8397 2002-09-27  Richard Henderson  <rth@redhat.com>
8398
8399         PR optimization/7520
8400         * cfganal.c (flow_active_insn_p): New.
8401         (forwarder_block_p): Use it.
8402
8403 2002-09-27  Richard Henderson  <rth@redhat.com>
8404
8405         * emit-rtl.c (active_insn_p): Revert last change.
8406
8407 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8408
8409         * doc/extend.texi (tls_model): Document.
8410         * varasm.c (decl_tls_model): New.
8411         * c-common.c (handle_tls_model_attribute): New.
8412         (c_common_attribute_table): Add tls_model.
8413         * config/alpha/alpha.c (alpha_encode_section_info): Use
8414         decl_tls_model.
8415         * flags.h (enum tls_model, flag_tls_default): Move...
8416         * tree.h (enum tls_model, flag_tls_default): ...here.
8417         (decl_tls_model): New prototype.
8418         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8419         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8420         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8421         Allow !flag_pic.
8422
8423 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8424
8425         * LANGUAGES: Follow spelling conventions.
8426         * rtl.def: Likewise.
8427         * sbitmap.c: Likewise.
8428         * sched-int.h: Likewise.
8429         * sched-rgn.c: Likewise.
8430         * sibcall.c: Likewise.
8431         * simplify-rtx.c: Likewise.
8432         * ssa.c: Likewise.
8433         * stab.def: Likewise.
8434         * stmt.c: Likewise.
8435         * stor-layout.c: Likewise.
8436         * target.h: Likewise.
8437         * timevar.c: Likewise.
8438         * toplev.c: Likewise.
8439         * tree-dump.c: Likewise.
8440         * tree-inline.c: Likewise.
8441         * tree.c: Likewise.
8442         * tree.def: Likewise.
8443         * tree.h: Likewise.
8444         * unroll.c: Likewise.
8445         * varasm.c: Likewise.
8446         * vmsdbgout.c: Likewise.
8447         * treelang/treelang.texi: Likewise.
8448         * treelang/treetree.c: Likewise.
8449
8450 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8451
8452         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8453         instead of a hard register number.
8454         (get_shift_alg): Use an enumerated type instead of numbers.
8455         (h8300_shift_needs_scratch_p): Likewise.
8456
8457 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8458
8459         * varasm.c (force_data_section): Remove.
8460         (assemble_constant_align): Likewise.
8461         * output.h: Remove corresponding prototypes.
8462
8463 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8464
8465         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8466         jump, if the loop to exit is the top of the current nesting stack.
8467
8468 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8469
8470         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8471         arithmetic.
8472
8473 2002-09-26  David S. Miller  <davem@redhat.com>
8474
8475         PR optimization/7335
8476         * calls.c (emit_library_call_value_1): Passing args by reference
8477         converts a CONST function into a PURE one.
8478
8479 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8480
8481         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8482         text_section.
8483         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8484         text section.
8485         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8486         function-sections and data-sections functionality on AIX.
8487
8488 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8489             Dale Johannesen  <dalej@apple.com>
8490
8491         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8492         in RTL for sub-word loads from memory.
8493
8494 2002-09-26  Richard Henderson  <rth@redhat.com>
8495
8496         PR c/7160
8497         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8498         on call insns.
8499
8500 2002-09-26  Richard Henderson  <rth@redhat.com>
8501
8502         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8503
8504 2002-09-26  Chris Lattner  <sabre@nondot.org>
8505
8506         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8507         handling undefined values.
8508
8509 2002-09-26  Richard Henderson  <rth@redhat.com>
8510
8511         PR opt/7520
8512         * emit-rtl.c (active_insn_p): Consider a clobber of the
8513         function return value to be active even after reload.
8514
8515 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8516
8517         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8518         by absolute loop increment, not loop increment.
8519
8520 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8521
8522         * c-common.h: Follow spelling conventions.
8523         * cpplex.c: Likewise.
8524         * cpplib.h: Likewise.
8525         * gthr-dce.h: Likewise.
8526         * gthr-posix.h: Likewise.
8527         * optabs.c: Likewise.
8528         * output.h: Likewise.
8529         * profile.c: Likewise.
8530         * protoize.c: Likewise.
8531         * ra-rewrite.c: Likewise.
8532         * real.c: Likewise.
8533         * recog.c: Likewise.
8534         * reg-stack.c: Likewise.
8535         * regclass.c: Likewise.
8536         * regmove.c: Likewise.
8537         * reload.c: Likewise.
8538         * reload.h: Likewise.
8539         * reload1.c: Likewise.
8540         * reorg.c: Likewise.
8541         * resource.c: Likewise.
8542         * rtl.h: Likewise.
8543         * rtlanal.c: Likewise.
8544
8545 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8546
8547         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8548         for symbol address.
8549
8550 2002-09-24  Eric Christopher  <echristo@redhat.com>
8551
8552         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8553         * config/mips/elf64.h: Ditto.
8554
8555 2002-09-24  Eric Christopher  <echristo@redhat.com>
8556
8557         * except.c (expand_builtin_extract_return_address): Handle case
8558         where Pmode != ptr_mode.
8559
8560 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8561
8562         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8563
8564 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8565
8566         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8567
8568 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8569
8570         * combine.c (simplify_set): Don't call to force_to_mode if size
8571         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8572
8573 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8574
8575         * Makefile.in (qmtest-g++): Fix file path.
8576
8577 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8578
8579         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8580         A + (-const) on RTX level, even for unsigned types.
8581
8582 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8583
8584         * reload.c (dup_replacements): New function.
8585         (find_reloads): Use it to duplicate replacements at the top level
8586         of match_dup operands.
8587
8588 2002-09-26  Miles Bader  <miles@gnu.org>
8589
8590         * v850.md ("length"): Change default value to 4.
8591
8592 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8593
8594         * ChangeLog.1: Follow spelling conventions.
8595         * ChangeLog.4: Likewise.
8596         * ChangeLog.6: Likewise.
8597         * FSFChangeLog.11: Likewise.
8598         * doc/cpp.texi: Likewise.
8599         * doc/invoke.texi: Likewise.
8600         * doc/tm.texi: Likewise.
8601
8602 2002-09-26  Nick Clifton  <nickc@redhat.com>
8603
8604         * config.gcc: Add x prefix to v850e case for handling
8605         --with-cpu=v850e.
8606
8607 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8608
8609         * gcc.c (input_suffix_matches, switch_matches,
8610         mark_matching_switches, process_marked_switches,
8611         process_brace_body): New functions - split from handle_braces.
8612         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8613         and ignore whitespace in more places.
8614         (specs documentation comment): Document %{S:X;T:Y;:D}.
8615         Clarify other %{...} docs.
8616         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8617         %{...} docs.
8618
8619         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8620         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8621
8622 2002-09-25  David S. Miller  <davem@redhat.com>
8623
8624         PR target/7842
8625         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8626         extend.
8627
8628 2002-09-25  Richard Henderson  <rth@redhat.com>
8629
8630         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8631         fp CONST_DOUBLE; use real_identical.
8632
8633 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8634
8635         * doc/invoke.texi: Add more -Wabi examples.
8636
8637 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8638
8639         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8640
8641 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8642
8643         * profile.c (end_branch_prob): Only look for __gcov_init on
8644         weak-enabled native compilers.
8645
8646 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8647
8648         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8649         cases of optimizing "add sp,w" to "inc sp".
8650
8651 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8652
8653         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8654         epilogue for naked functions.
8655
8656 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8657             Nick Clifton  <nickc@redhat.com>
8658
8659         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8660         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8661         is defined.
8662
8663 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8664
8665         * config/s390/s390.c (preferred_la_operand_p): New function.
8666         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8667         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8668         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8669         ("*la_31"): Deactivate for TARGET_64BIT.
8670         ("*la_31_and", "*la_31_and_cc"): New.
8671
8672 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8673
8674         * real.h (real_value): Make `exp' explicitly signed.
8675
8676 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8677
8678         * config/elfos.h: Follow spelling conventions.
8679         * config/alpha/alpha.h: Likewise.
8680         * config/arc/arc.h: Likewise.
8681         * config/arm/arm.md: Likewise.
8682         * config/avr/avr.h: Likewise.
8683         * config/cris/cris.md: Likewise.
8684         * config/d30v/d30v.h: Likewise.
8685         * config/frv/frv.c: Likewise.
8686         * config/frv/frv.h: Likewise.
8687         * config/h8300/h8300.c: Likewise.
8688         * config/h8300/h8300.h: Likewise.
8689         * config/h8300/h8300.md: Likewise.
8690         * config/i386/cygwin.h: Likewise.
8691         * config/i386/i386.h: Likewise.
8692         * config/i386/sysv3.h: Likewise.
8693         * config/i960/i960.h: Likewise.
8694         * config/ia64/ia64.h: Likewise.
8695         * config/ia64/ia64.md: Likewise.
8696         * config/ip2k/ip2k.h: Likewise.
8697         * config/m32r/m32r.h: Likewise.
8698         * config/m68k/m68k.h: Likewise.
8699         * config/m88k/m88k.h: Likewise.
8700         * config/mcore/mcore.c: Likewise.
8701         * config/mcore/mcore.h: Likewise.
8702         * config/mcore/mcore.md: Likewise.
8703         * config/mips/mips.h: Likewise.
8704         * config/mmix/mmix.h: Likewise.
8705         * config/mmix/mmix.md: Likewise.
8706         * config/ns32k/netbsd.h: Likewise.
8707         * config/ns32k/ns32k.h: Likewise.
8708         * config/ns32k/ns32k.md: Likewise.
8709         * config/pa/pa.h: Likewise.
8710         * config/romp/romp.h: Likewise.
8711         * config/rs6000/rs6000.h: Likewise.
8712         * config/rs6000/rs6000.md: Likewise.
8713         * config/sparc/sparc.h: Likewise.
8714         * config/stormy16/stormy-abi: Likewise.
8715         * config/stormy16/stormy16.h: Likewise.
8716         * config/vax/vax.h: Likewise.
8717
8718 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8719
8720         * config/alpha/alpha.h: Remove commented-out macro
8721         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8722         * config/avr/avr.h: Likewise.
8723         * config/d30v/d30v.h: Likewise.
8724         * config/dsp16xx/dsp16xx.h: Likewise.
8725         * config/i370/i370.h: Likewise.
8726         * config/i386/i386.h: Likewise.
8727         * config/i960/i960.h: Likewise.
8728         * config/m68k/m68k.h: Likewise.
8729         * config/m88k/m88k.h: Likewise.
8730         * config/mips/mips.h: Likewise.
8731         * config/ns32k/ns32k.h: Likewise.
8732         * config/pdp11/pdp11.h: Likewise.
8733         * config/romp/romp.h: Likewise.
8734         * config/rs6000/rs6000.h: Likewise.
8735         * config/s390/s390.h: Likewise.
8736         * config/sh/sh.h: Likewise.
8737         * config/sparc/sparc.h: Likewise.
8738         * config/stormy16/stormy16.h: Likewise.
8739         * config/vax/vax.h: Likewise.
8740
8741 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8742
8743         * function.c (push_temp_slots_for_block): Remove.
8744         (push_temp_slots_for_target): Likewise.
8745         (get_target_temp_slot_level): Likewise.
8746         (set_target_temp_slot_level): Likewise.
8747         (get_first_block_beg): Likewise.
8748         * function.h: Remove corresponding prototypes.
8749
8750 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
8751
8752         * version.c (version_string): Now const char[].
8753         * version.h: Update to match.
8754
8755 2002-09-23  Richard Henderson  <rth@redhat.com>
8756
8757         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8758         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8759         (TARGET_SWITCHES): Don't reference them.
8760         * config/i386/i386.c (override_options): Use target_flags_explicit
8761         to examine bits set by the user.
8762
8763 2002-09-23  Dale Johannesen  <dalej@apple.com>
8764
8765         * dbxout.c (dbxout_parms):  Set current_sym_code for params
8766         passed on stack by invisible reference.
8767
8768 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
8769
8770         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8771         at least one byte of space.
8772
8773 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8774
8775         * c-common.h (flag_abi_version): Fix typo in comment.
8776         * doc/invoke.texi (flag_abi_version): Document default value.
8777
8778 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
8779
8780         * doc/extend.texi (Extended Asm): Clarify that overlap between
8781         asm-declared register variables used in an asm and the asm clobber
8782         list is not allowed.
8783         * stmt.c (decl_conflicts_with_clobbers_p): New function.
8784         (expand_asm_operands): Keep track of clobbered registers.  Call
8785         decl_conflicts_with_clobbers_p for each input and output operand.
8786         If no conflicts found before, also do conflict sanity check when
8787         emitting clobbers.
8788
8789 2002-09-23  Richard Henderson  <rth@redhat.com>
8790
8791         * c-common.c (cpp_define_data_format): Remove.
8792         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8793         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8794         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8795         * doc/cpp.texi: Don't document them either.
8796         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8797         __LONG_LONG_MAX__): Document.
8798         (__TARGET_FLOAT_FORMAT__): Remove.
8799
8800 2002-09-23  Richard Henderson  <rth@redhat.com>
8801
8802         * real.c (do_multiply): Normalize U before addition.
8803
8804 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8805
8806         * c-common.c (flag_abi_version): New variable.
8807         * c-common.h (flag_abi_version): Declare it.
8808         * c-opts.c (missing_arg): Add -fabi-version.
8809         (c_common_decode_option): Process -fabi-version.
8810         * doc/invoke.texi (-fabi-version): Document it.
8811         (-Wabi): Add information about bit-fields in unions.
8812
8813 2002-09-22  Roger Sayle  <roger@eyesopen.com>
8814
8815         * expr.c (STORE_BY_PIECES_P): New target macro.
8816         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8817         instead of MOVE_BY_PIECES_P.
8818         * doc/tm.texi: Document this new macro.
8819
8820 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8821
8822         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8823         unless -fno-pic or -fno-PIC is specified.
8824
8825 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8826
8827         * c-common.c (preprocessing_trad_p): Define.
8828         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
8829         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
8830         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8831         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
8832         * pa-linux.h (CPP_PREDEFINES): Delete.
8833         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8834         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
8835         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
8836         (TARGET_OS_CPP_BUILTINS): Define.
8837         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
8838         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
8839         (SUBTARGET_SWITCHES): Provide default definition.
8840         (TARGET_OPTIONS): Reformat.  Use N_() macro.
8841         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
8842         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
8843         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
8844         (TARGET_CPU_CPP_BUILTINS): Define.
8845         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
8846         * doc/invoke.texi (msio, mwsio): Document new hppa options.
8847         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
8848         preprocessing_trad_p().
8849
8850 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8851
8852         * doc/install.texi: Document behavior of --with-headers and
8853         --with-libs when arguments are omitted.
8854
8855 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
8856
8857         * dbxout.c: Follow spelling conventions.
8858         * defaults.h: Likewise.
8859         * df.c: Likewise.
8860         * diagnostic.h: Likewise.
8861         * doloop.c: Likewise.
8862         * dwarf2out.c: Likewise.
8863         * dwarfout.c: Likewise.
8864         * emit-rtl.c: Likewise.
8865         * except.c: Likewise.
8866         * explow.c: Likewise.
8867         * expmed.c: Likewise.
8868         * expr.c: Likewise.
8869         * expr.h: Likewise.
8870         * flags.h: Likewise.
8871         * flow.c: Likewise.
8872         * fold-const.c: Likewise.
8873         * function.c: Likewise.
8874         * function.h: Likewise.
8875         * gcc.c: Likewise.
8876         * gcov-io.h: Likewise.
8877         * gcov.c: Likewise.
8878         * gcse.c: Likewise.
8879         * genattrtab.c: Likewise.
8880         * genconfig.c: Likewise.
8881         * genrecog.c: Likewise.
8882         * ggc-page.c: Likewise.
8883         * ggc.h: Likewise.
8884         * global.c: Likewise.
8885         * gthr-win32.h: Likewise.
8886         * integrate.c: Likewise.
8887         * jump.c: Likewise.
8888         * langhooks.c: Likewise.
8889         * langhooks.h: Likewise.
8890         * line-map.h: Likewise.
8891         * local-alloc.c: Likewise.
8892         * longlong.h: Likewise.
8893         * loop.c: Likewise.
8894         * loop.h: Likewise.
8895
8896 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
8897
8898         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
8899
8900 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
8901
8902         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
8903         for -Os/TARGET_64BIT too.
8904
8905 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
8906
8907         * ChangeLog: Follow spelling conventions.
8908         * ChangeLog.0: Likewise.
8909         * ChangeLog.1: Likewise.
8910         * ChangeLog.2: Likewise.
8911         * ChangeLog.3: Likewise.
8912         * ChangeLog.4: Likewise.
8913         * ChangeLog.5: Likewise.
8914         * ChangeLog.6: Likewise.
8915         * FSFChangeLog.10: Likewise.
8916         * FSFChangeLog.11: Likewise.
8917         * alias.c: Likewise.
8918         * basic-block.h: Likewise.
8919         * c-aux-info.c: Likewise.
8920         * c-common.c: Likewise.
8921         * c-common.h: Likewise.
8922         * c-decl.c: Likewise.
8923         * c-format.c: Likewise.
8924         * c-semantics.c: Likewise.
8925         * c-typeck.c: Likewise.
8926         * calls.c: Likewise.
8927         * cfganal.c: Likewise.
8928         * cfgloop.c: Likewise.
8929         * collect2.c: Likewise.
8930         * combine.c: Likewise.
8931         * conflict.c: Likewise.
8932         * cppexp.c: Likewise.
8933         * cppfiles.c: Likewise.
8934         * cpphash.h: Likewise.
8935         * cppinit.c: Likewise.
8936         * cpplex.c: Likewise.
8937         * cpplib.c: Likewise.
8938         * cpplib.h: Likewise.
8939         * cppmacro.c: Likewise.
8940         * cse.c: Likewise.
8941
8942 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8943
8944         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
8945         LINK_SPEC.
8946         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
8947         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
8948         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
8949
8950 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8951
8952         PR opt/7930
8953         * cse.c (fold_rtx): Calculate old_cost before we fold each
8954         operand.
8955
8956 2002-09-21  Richard Henderson  <rth@redhat.com>
8957
8958         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
8959         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
8960         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
8961         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
8962         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
8963         * doc/cpp.texi: Don't document them.
8964
8965 2002-09-21  Richard Henderson  <rth@redhat.com>
8966
8967         * c-common.c (builtin_define_float_constants): Use real_format
8968         to get the floating-point parameters.
8969
8970 2002-09-21  Richard Henderson  <rth@redhat.com>
8971
8972         * real.c (struct real_format): Move to real.h.
8973         (real_format_for_mode): Rename from fmt_for_mode; update all users;
8974         initialize with ieee defaults.
8975         (real_to_target_fmt, real_from_target_fmt): New.
8976         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8977         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8978         ieee_quad_format, i370_single_format, i370_double_format,
8979         c4x_single_format, c4x_extended_format): Rename from s/_format//.
8980         (ieee_quad_format): Fix emin.
8981         (format_for_size, init_real_once): Remove.
8982         * real.h (struct real_format): Move from real.c.
8983         (real_format_for_mode): Declare.
8984         (real_to_target_fmt, real_from_target_fmt): Declare.
8985         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8986         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8987         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
8988         i370_single_format, i370_double_format, c4x_single_format,
8989         c4x_extended_format): Declare.
8990         * toplev.c (do_compile): Don't call init_real_once.
8991
8992         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8993         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8994
8995         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
8996         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
8997         * config/alpha/alpha.c (override_options): Set real_format_for_mode
8998         for VAX, if enabled.
8999
9000         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9001         for C4X.
9002
9003         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9004         * config/i370/i370.c (override_options): New.
9005         * config/i370/i370-protos.h: Update.
9006
9007         * config/i386/i386.c (override_options): Set real_format_for_mode
9008         for Intel 80-bit extended.
9009         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9010
9011         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9012         (OVERRIDE_OPTIONS): Move code...
9013         * config/i960/i960.c (i960_initialize): ... here.  Set
9014         real_format_for_mode for Intel 80-bit extended.
9015
9016         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9017         for Intel 80-bit extended, if enabled.
9018
9019         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9020         for Motorola 96-bit extended.
9021
9022         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9023         * config/vax/vax.c (override_options): New.
9024         * config/vax/vax-protos.h: Update.
9025
9026 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9027
9028         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9029         #if TARGET_MACHO.
9030
9031         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9032         insns.  Supply missing clobber of scratch reg.
9033
9034 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9035
9036         * config/m32r/m32r.c: Follow spelling conventions.
9037         * config/m32r/m32r.h: Likewise.
9038         * config/m32r/m32r.md: Likewise.
9039         * config/m68k/m68k.c: Likewise.
9040         * config/m88k/m88k.c: Likewise.
9041         * config/mcore/mcore.c: Likewise.
9042         * config/mips/mips.c: Likewise.
9043         * config/mips/mips.h: Likewise.
9044         * config/mmix/mmix.c: Likewise.
9045         * config/mn10200/mn10200.c: Likewise.
9046         * config/ns32k/ns32k.h: Likewise.
9047         * config/pa/pa.c: Likewise.
9048         * config/pa/pa64-linux.h: Likewise.
9049         * config/pdp11/pdp11.h: Likewise.
9050         * config/romp/romp.c: Likewise.
9051         * config/romp/romp.h: Likewise.
9052         * config/rs6000/eabi.asm: Likewise.
9053         * config/rs6000/linux64.h: Likewise.
9054         * config/rs6000/rs6000.c: Likewise.
9055         * config/rs6000/rs6000.h: Likewise.
9056         * config/rs6000/rs6000.md: Likewise.
9057         * config/rs6000/sysv4.h: Likewise.
9058         * config/rs6000/xcoff.h: Likewise.
9059
9060 2002-09-20  Jim Wilson  <wilson@redhat.com>
9061
9062         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9063
9064 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9065
9066         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9067         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9068         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9069         (legitimate_address_p): Likewise.
9070         (legitimize_address): Use @gotntpoff and @indntpoff.
9071         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9072         (output_addr_const_extra): Likewise.
9073
9074 2002-09-20  Jim Wilson  <wilson@redhat.com>
9075
9076         * combine.c (try_combine): When split an instruction pair, where the
9077         first has a sign_extend src, verify that the src and dest modes match.
9078
9079 2002-09-20  Richard Henderson  <rth@redhat.com>
9080
9081         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9082         (override_options): Do not initialize them.
9083         (mips_const_double_ok): Allow no fp constants except zero,
9084         and not even that for mips16.
9085         (const_float_1_operand): Use dconst1.
9086         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9087         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9088         Don't allow arbitrary constants; fix predicates and C constraint.
9089
9090 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9091
9092         * cppmacro.c: Don't warn about function-like macros without
9093         '(' during pre-expansion.
9094
9095 2002-09-20  Jim Wilson  <wilson@redhat.com>
9096
9097         * config/v850/v850.c (current_function_anonymous_args): Delete.
9098         (expand_prologue): Use current_function_args_info.anonymous_args.
9099         (expand_epilogue): Delete use of current_function_anonymous_args.
9100         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9101         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9102         (current_function_anonymous_args): Delete extern declaration.
9103         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9104
9105 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9106
9107         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9108         to load_macho_picbase.
9109         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9110         (load_macho_picbase): Take the symbol to use as a parameter.
9111         (macho_correct_pic): New insn.
9112         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9113
9114         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9115         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9116         (CAN_ELIMINATE): Likewise.
9117         (INITIAL_ELIMINATION_OFFSET): Likewise.
9118         (TOC_REGISTER): Likewise.
9119
9120 2002-09-20  Richard Henderson  <rth@redhat.com>
9121
9122         * real.c (real_hash): New.
9123         * real.h: Declare it.
9124         * cse.c (canon_hash): Use it.
9125         * cselib.c (hash_rtx): Likewise.
9126         * emit-rtl.c (const_double_htab_hash): Likewise.
9127         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9128         * varasm.c (struct rtx_const): Reduce vector size; separate
9129         integer and fp vectors.
9130         (HASHBITS): Remove.
9131         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9132         take modulus MAX_HASH_TABLE.
9133         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9134         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9135         (SYMHASH): Don't use HASHBITS.
9136         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9137         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9138         (simplify_subtraction): Fix kind comparison.
9139         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9140         Use a union to pun integer array.
9141         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9142         only hash two words of integral CONST_DOUBLE.
9143
9144 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9145
9146         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9147         (STARTFILE_PREFIX_SPEC): New.
9148         (LINK_SPEC): Modify.
9149         (LIB_SPEC): Modify.
9150         (LIBGCC_SPEC): New.
9151
9152 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9153
9154         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9155         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9156
9157 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9158
9159         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9160         Add clobber of the condition code register.
9161
9162 2002-09-20  Richard Henderson  <rth@redhat.com>
9163
9164         * real.c (do_fix_trunc): Static.
9165         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9166         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9167         encode_i370_single, encode_i370_double, encode_c4x_single,
9168         encode_c4x_extended): Add default abort case.
9169
9170 2002-09-20  Richard Henderson  <rth@redhat.com>
9171
9172         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9173         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9174         (struct realvaluetype): Remove.
9175         (REAL_VALUE_TYPE): Use struct real_value.
9176         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9177         (test_real_width): New.
9178         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9179         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9180         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9181         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9182         real_to_integer, real_to_integer2, real_to_decimal,
9183         real_to_hexadecimal, real_from_string, real_from_integer,
9184         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9185         real_from_target): Likewise.
9186         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9187         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9188
9189 2002-09-20  Richard Henderson  <rth@redhat.com>
9190
9191         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9192         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9193         * defaults.h: ... here.
9194         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9195         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9196         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9197         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9198
9199 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9200
9201         * config/mmix/mmix.md ("negdf2"): Rewrite.
9202         ("*expanded_negdf2"): New.
9203
9204 2002-09-19  Jim Wilson  <wilson@redhat.com>
9205
9206         * combine.c (simplify_set): When optimizing a subreg src with a
9207         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9208
9209 2002-09-19  Dale Johannesen <dalej@apple.com>
9210         * combine.c (make_extraction): Don't create
9211         invalid subreg.
9212
9213 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9214
9215         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9216         * tree.h (integer_nonzerop): Add function prototype.
9217         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9218         are no instructions in the test, i.e. the loop is unconditional.
9219         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9220         tests when the condition is always true or always false.
9221         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9222         do-loops when the condition is always true.
9223         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9224         the for-expression is empty.
9225
9226 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9227
9228         * gcc.c (use_pipes): New flag.
9229         (process_command): Set it.  Adjust check for -pipe conflicting
9230         with -time or -save-temps.
9231         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9232         %<SWITCH.  Drop %| (without a SUFFIX).
9233         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9234         (give_switch): Third argument eliminated.
9235         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9236         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9237         (specs documentation comment): Update.
9238
9239         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9240         config/svr4.h, config/i386/freebsd-aout.h,
9241         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9242         config/m68k/openbsd.h, config/mips/openbsd.h,
9243         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9244         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9245         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9246         * config/cris/cris.h: Update comment.
9247
9248         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9249         error messages.  Don't use %{^SWITCH}.
9250         * ada/misc.c (gnat_decode_option): Handle -I with a
9251         separate argument.
9252
9253         * f/lang-specs.h: Use %| and %m.
9254         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9255         uses of %{<SWITCH} to %<SWITCH.
9256
9257         * doc/invoke.texi: Update documentation of specs.
9258         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9259
9260 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9261
9262         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9263         and STRICT_LOW_PART within SET_DEST.
9264         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9265         splitters, replacing pre-reload splitters.
9266         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9267         "*zero_extendqihi2_31"): New insns.
9268         ("*zero_extendqihi2_64"): Do not clobber CC.
9269
9270 2002-09-18  Devang Patel  <dpatel@apple.com>
9271
9272         * cp/cp-tree.h: New prototype for walk_vtables().
9273         * cp/decl.c (walk_vtables_r): New function.
9274         (struct cp_binding_level): Add new members, namespaces,
9275         names_size and vtables.
9276         (add_decl_to_level): Add decl in namespaces or vtables
9277         chain, if conditions match.
9278         (walk_vtables): New function.
9279         (walk_namespaces_r): Travers separate namespace chain
9280         for namespace decls.
9281         (wrapup_globals_for_namespace): Use names_size instead
9282         of list_length().
9283         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9284         walk_globals() to walk vtable decls.
9285
9286 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9287
9288         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9289         (DTORS_SECTION_ASM_OP): Ditto.
9290         (READONLY_DATA_SECTION_ASM_OP): Moved.
9291         (DATA_SECTION_ASM_OP): New.
9292         (SDATA_SECTION_ASM_OP): New.
9293         (BSS_SECTION_ASM_OP): New.
9294         (SBSS_SECTION_ASM_OP): New.
9295         (TEXT_SECTION_ASM_OP): New.
9296
9297 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9298
9299         * config/fp-bit.c: Follow spelling conventions.
9300         * config/d30v/d30v.c: Likewise.
9301         * config/d30v/d30v.h: Likewise.
9302         * config/fr30/fr30.c: Likewise.
9303         * config/fr30/fr30.h: Likewise.
9304         * config/fr30/fr30.md: Likewise.
9305         * config/frv/frv.c: Likewise.
9306         * config/frv/frv.h: Likewise.
9307         * config/h8300/h8300.c: Likewise.
9308         * config/h8300/lib1funcs.asm: Likewise.
9309         * config/i370/i370.c: Likewise.
9310         * config/i386/i386.h: Likewise.
9311         * config/i386/i386.md: Likewise.
9312         * config/i386/pentium.md: Likewise.
9313         * config/i386/winnt.c: Likewise.
9314         * config/i960/i960.c: Likewise.
9315         * config/ia64/ia64.h: Likewise.
9316         * config/ip2k/ip2k.c: Likewise.
9317         * config/ip2k/ip2k.h: Likewise.
9318         * config/ip2k/ip2k.md: Likewise.
9319         * config/ip2k/libgcc.S: Likewise.
9320
9321 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9322
9323         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9324         (GOTOFF_P): Extend to allow gotoff plus constant.
9325
9326 2002-09-18  Richard Henderson  <rth@redhat.com>
9327
9328         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9329         with INSN_B before COND_EARLIEST.  Don't check A and B for
9330         modification in condition range.  Reorder INSN_B for A==B properly.
9331         (if_convert): Iterate until no matches for a block.
9332
9333 2002-09-18  Richard Henderson  <rth@redhat.com>
9334
9335         * calls.c (store_one_arg): Rename default_align to parm_align;
9336         always adjust parm_align for downward padding.
9337
9338 2002-09-18  Richard Henderson  <rth@redhat.com>
9339
9340         * toplev.c (backend_init): Move init_real_once invocation ...
9341         (do_compile): ... here.
9342
9343 2002-09-18  Richard Henderson  <rth@redhat.com>
9344
9345         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9346         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9347
9348 2002-09-18  Richard Henderson  <rth@redhat.com>
9349
9350         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9351
9352 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9353
9354         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9355         floatdisf2_internal1.
9356         (floatdisf2): New define_expand.
9357         (floatdisf2_internal2): Likewise.
9358
9359 2002-09-18  Richard Henderson  <rth@redhat.com>
9360
9361         * real.c (sticky_rshift_significand): Collect sticky as
9362         unsigned long, not bool.
9363
9364 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9365
9366         * config/s390/s390.c (s390_address_cost): New function.
9367         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9368         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9369         (RTX_COST): Use COSTS_N_INSNS.
9370
9371 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9372             Donn Terry  <donnte@microsoft.com>
9373
9374         * stor-layout.c (place_field): Handle alignment of whole
9375         structures when MSVC compatible bitfields are involved.
9376         Change method of computing location of MS bitfields to
9377         be compatible with #pragma pack(n).
9378
9379         * tree.h (record_layout_info): Add new field
9380         remaining_in_alignment.
9381
9382         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9383         (pragma pack): Add paragraph on MSVC bitfield packing.
9384
9385 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9386
9387         PR optimization/7967
9388         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9389         register.
9390
9391 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9392
9393         * config/s390/s390.c: Follow spelling conventions.
9394         * config/sh/lib1funcs.asm: Likewise.
9395         * config/sh/sh.c: Likewise.
9396         * config/sh/sh.h: Likewise.
9397         * config/sparc/sparc.c: Likewise.
9398         * config/sparc/sparc.h: Likewise.
9399         * config/sparc/sparc.md: Likewise.
9400         * config/stormy16/stormy16.c: Likewise.
9401         * config/stormy16/stormy16.h: Likewise.
9402         * config/v850/v850.c: Likewise.
9403         * config/v850/v850.h: Likewise.
9404         * config/vax/vax.c: Likewise.
9405         * config/vax/vax.h: Likewise.
9406
9407 2002-09-18  Nick Clifton  <nickc@redhat.com>
9408
9409         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9410         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9411         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9412
9413 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9414
9415         * function.c (max_parm_reg_num): Remove.
9416         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9417         drop_through_at_end_p, move_cleanups_up,
9418         expand_end_case_dummy, case_index_expr_type): Likewise.
9419         * stor-layout.c (pos_from_byte): Likewise.
9420         * tree.c (chain_member_value, chain_member_purpose, listify,
9421         tree_int_cst_msb, index_type_equal): Likewise.
9422         * tree.h: Remove prototypes for unused functions.
9423
9424 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9425
9426         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9427         statement that the only translation is to en_UK.
9428
9429 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9430
9431         * config/alpha/alpha.c: Follow spelling conventions.
9432         * config/alpha/alpha.h: Likewise.
9433         * config/alpha/alpha.md: Likewise.
9434         * config/arc/arc.h: Likewise.
9435         * config/arm/arm.c: Likewise.
9436         * config/arm/arm.h: Likewise.
9437         * config/arm/arm.md: Likewise.
9438         * config/arm/pe.c: Likewise.
9439         * config/arm/unknown-elf.h: Likewise.
9440         * config/avr/avr.c: Likewise.
9441         * config/avr/avr.h: Likewise.
9442         * config/c4x/c4x.c: Likewise.
9443         * config/cris/cris.c: Likewise.
9444         * config/cris/cris.h: Likewise.
9445
9446 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9447
9448         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9449         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9450         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9451
9452 2002-09-17  Dale Johannesen  <dalej@apple.com>
9453
9454         * cfgcleanup.c (try_forward_edges):  Do not forward a
9455         branch to just after a loop exit before loop optimization;
9456         this interfered with doloop detection.
9457
9458 2002-09-17  Nick Clifton  <nickc@redhat.com>
9459
9460         * config/arm/arm.c (output_return_instruction): Do not
9461         writeback the stack pointer when it is being loaded.
9462         (arm_output_epilogue): Likewise.
9463
9464 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9465
9466         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9467         generate a pseudo reg that receives the result of a libcall.
9468         (prepare_float_lib_cmp): Likewise.
9469
9470 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9471
9472         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9473
9474 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9475
9476         Fix PR/7014 and related objc bugs:
9477         * c-typeck.c (comp_target_types): Added a reflexive argument.
9478         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9479         callers to provide the appropriate reflexive argument.
9480         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9481         typechecking for all cases of comparisons and assignments,
9482         particularly the obscure and less common ones involving protocols.
9483
9484 2002-09-17  Nick Clifton  <nickc@redhat.com>
9485
9486         * machmode.def (V1DImode): New mode.  A single element vector.
9487         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9488         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9489         * tree.c (build_common_tree_nodes_2): Build
9490         unsigned_V1DI_type_node and V1D1_type_node.
9491         * c-common.c (c_common_type_for_mode): Return
9492         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9493         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9494
9495 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9496
9497         * doc/objc.texi (Constant string objects): Extended documentation
9498         to make clear that the constant string class ivar layout is
9499         completely fixed.
9500
9501 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9502
9503         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9504         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9505
9506 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9507
9508         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9509         * gcc.c (make_relative_prefix): Likewise.
9510         * loop.c (check_final_value): Likewise.
9511         * jump.c (init_label_info): Remove return value.
9512         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9513
9514 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9515
9516         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9517         (ASM_PN_FORMAT): Define.
9518
9519 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9520
9521         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9522         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9523         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9524         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9525         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9526         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9527         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9528         Delete.
9529         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9530         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9531         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9532
9533         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9534         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9535
9536 2002-09-16  Richard Henderson  <rth@redhat.com>
9537
9538         * expr.c (emit_block_move): Set memory block size as appropriate
9539         for the copy.
9540
9541 2002-09-16  Richard Henderson  <rth@redhat.com>
9542
9543         PR fortran/3924
9544         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9545
9546 2002-09-16  Richard Henderson  <rth@redhat.com>
9547
9548         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9549         as well as OFFSET for BITPOS.
9550
9551 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9552
9553         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9554         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9555         winchip2 and c3.
9556         * doc/invoke.texi: Mention new aliases.
9557
9558 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9559
9560         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9561         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9562         downward.
9563         * function.c (pad_below):  Always compile.
9564         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9565         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9566         Pad below when the argument is not in a register and the padding
9567         direction is downward.
9568
9569         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9570         (PAD_VARARGS_DOWN): Define.
9571         * pa.c (function_arg_padding): Revise padding directions to make them
9572         compatible with the 32 and 64-bit runtime architecture documentation.
9573         (hppa_va_arg):  Add code to handle variable and size zero arguments
9574         passed by reference on TARGET_64BIT.  Reformat.
9575         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9576         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9577         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9578         Add comments.
9579         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9580         (RETURN_IN_MEMORY): Return size zero types in memory.
9581         (FUNCTION_VALUE): Return TFmode in general registers.
9582         (MUST_PASS_IN_STACK): Define.
9583         (FUNCTION_ARG_BOUNDARY): Simplify.
9584         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9585         by reference.
9586         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9587
9588 2002-09-16  Richard Henderson  <rth@redhat.com>
9589
9590         * real.c (do_fix_trunc): New.
9591         (real_arithmetic): Call it.
9592         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9593         with a floating-point result mode.
9594
9595 2002-09-16  Richard Henderson  <rth@redhat.com>
9596
9597         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9598         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9599         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9600         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9601         * builtins.c (fold_builtin_nan): New.
9602         (fold_builtin): Call it.
9603         * real.c (real_nan): Parse a non-empty string.
9604         (round_for_format): Fix NaN significand truncation.
9605         * real.h (real_nan): Return bool.
9606         * doc/extend.texi: Document new builtins.
9607
9608 2002-09-16  Jason Merrill  <jason@redhat.com>
9609             Danny Smith  <dannysmith@users.sourceforge.net>
9610
9611         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9612         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9613         (i386_pe_mark_dllimport): Not here.
9614
9615 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9616
9617         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9618
9619 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9620
9621         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9622         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9623         < 64.
9624         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9625
9626 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9627
9628         * calls.c (emit_library_call_value_1): Don't refer to
9629         hard_libcall_value.
9630         * optabs.c (prepare_float_lib_cmp): Likewise.
9631
9632 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9633
9634         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9635         mangling.
9636
9637         The following changes are merged from pch-branch:
9638
9639         * doc/gty.texi (GTY Options): Document %a.
9640         * gengtype.c (do_scalar_typedef): New function.
9641         (process_gc_options): Handle `length' option.
9642         (set_gc_used_type): A pointer to an array of structures doesn't
9643         qualify as a pointer to a structure.
9644         (output_escaped_param): Add `%a' escape.
9645         (write_gc_structure_fields): Allow 'desc' on array of unions.
9646         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9647         do_scalar_typedef.
9648
9649         * gengtype.c (enum rtx_code): Make global.
9650         (rtx_format): Make global.
9651         (rtx_next): New.
9652         (gen_rtx_next): New.
9653         (write_rtx_next): New.
9654         (adjust_field_rtx_def): Skip fields marked by chain_next.
9655         (open_base_files): Delete redundant prototype.
9656         (write_enum_defn): New.
9657         (output_mangled_typename): Correct abort call.
9658         (write_gc_marker_routine_for_structure): Handle chain_next and
9659         chain_prev options.
9660         (finish_root_table): Don't output redundant \n.
9661         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9662         * c-tree.h (union lang_tree_node): Add chain_next option.
9663
9664         * gengtype.h (NUM_PARAM): New definition.
9665         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9666         * gengtype.c (find_param_structure): New.
9667         (adjust_field_type): Handle param<n>_is option.
9668         (process_gc_options): Detect use_params option.  Update callers.
9669         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9670         'use_params' option.
9671         (open_base_files): Add splay-tree.h to list of files included.
9672         (output_mangled_typename): New.
9673         (write_gc_structure_fields): Update 'param' parameter to support
9674         multiple parameters.  Change name mangling.  Allow parameterized
9675         fields to have an apparent scalar type.  Handle param<n>_is options,
9676         use_param option.
9677         (write_gc_marker_routine_for_structure): Update for change to name
9678         mangling.  Better guess the output file for parameterized types.
9679         (write_gc_types): Update for change to name mangling.
9680         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9681         param<n>_is options.
9682         * doc/gty.texi (GTY Options): Add description of param<n>_is
9683         options, use_params option.
9684         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9685         * gengtype-lex.l: Produce token for param<n>_is.
9686         * gengtype-yacc.y: Parse param<n>_is.
9687
9688         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9689
9690         * rtl.c: Update comment describing rtx_format.
9691         * rtl.h (union rtunion): Separate definition and typedef.
9692         (struct rtx_def): Use gengtype to mark.
9693         * Makefile.in (gengtype.o): Also depend on rtl.def.
9694         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9695         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9696         * ggc-common.c (ggc_mark_rtx_children): Delete.
9697         (ggc_mark_rtx_children_1): Delete.
9698         (gt_ggc_m_rtx_def): Delete.
9699         * gengtype.c (adjust_field_rtx_def): New.
9700         (adjust_field_type): Call adjust_field_rtx_def.
9701         (write_gc_structure_fields): Add 'default' case to switch if none
9702         is specified; remove unused code.
9703
9704         * tree.h (struct tree_exp): Update for change to meaning
9705         of special.
9706         * gengtype.c (adjust_field_tree_exp): New function.
9707         (adjust_field_type): Handle `tree_exp' special here.
9708         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9709         Handle new `dot' option.
9710
9711         * gengtype.h: Make `info' a pointer-to-const.
9712         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9713
9714         * gengtype.c (write_gc_structure_fields): Remove implementation
9715         of `always' option, add `default' option.
9716         * doc/gty.texi (GTY Options): Remove documentation of `always',
9717         add `default'.
9718
9719 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9720
9721         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9722
9723 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9724
9725         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9726
9727         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9728         instead of the *-protos.h file directly.
9729         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9730         * darwin.c (machopic_output_stub): Move prototype ...
9731         * darwin-protos.h (machopic_output_stub): ... here.
9732         * rs6000-protos.h (machopic_output_stub): Don't declare.
9733
9734 2002-09-16  Richard Henderson  <rth@redhat.com>
9735
9736         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9737
9738 2002-09-16  Richard Henderson  <rth@redhat.com>
9739
9740         * real.c, real.h: Rewrite from scratch.
9741
9742         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9743         (paranoia): New target.
9744         * builtins.c (fold_builtin_inf): Use new real.h interface.
9745         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9746         * c-lex.c (interpret_float): Likewise.
9747         * emit-rtl.c (gen_lowpart_common): Likewise.
9748         * optabs.c (expand_float): Use real_2expN.
9749         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9750         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9751         (FLOAT_WORDS_BIG_ENDIAN): New.
9752         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9753         directly to REAL_VALUE_NEGATIVE.
9754         * loop.c (canonicalize_condition): Likewise.
9755         * simplify-rtx.c: Include tree.h.
9756         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9757         with floating-point result modes.
9758         * toplev.c (backend_init): Call init_real_once.
9759
9760         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9761         * tree.c (build_real): Likewise.
9762         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9763         float_values, inited_float_values, check_float_value): Remove.
9764         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9765         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9766         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9767         (VAX_HALFWORD_ORDER): Remove.
9768
9769 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
9770
9771         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9772         (s390_load_address): ... this new function.
9773         (s390_decompose_address): Allow the argument pointer and all
9774         virtual registers as 'pointer' registers.
9775         (s390_expand_plus_operand): Use s390_load_address.
9776         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9777         ("force_la_31"): New insn pattern.
9778         config/s390/s390-protos.h (legitimize_la_operand): Remove.
9779         (s390_load_address): Add prototype.
9780
9781         * config/s390/s390.c: Include "optabs.h".
9782         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9783         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9784         s390_expand_cmpstr): Add prototypes.
9785         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9786         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
9787         for operands 0 and 1 to "memory_operand".  Add type attribute.
9788         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
9789         for operands 0 and 1 to "memory_operand".  Add type attribute.
9790         ("movstrdi_long", "movstrsi_long"): Remove.
9791         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9792         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9793         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9794         ("clrstrsico"): Remove, replace by ...
9795         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9796         ("clrstrsi_64"): Rename to "clrstr_long_64".
9797         ("clrstrsi_31"): Rename to "clrstr_long_31".
9798         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9799         ("cmpstr_const"): Remove, replace by ...
9800         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9801         ("cmpstr_64"): Rename to "cmpstr_long_64".
9802         ("cmpstr_31"): Rename to "cmpstr_long_31".
9803
9804 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9805
9806         * ABOUT-NLS: Follow spelling conventions.
9807         * ChangeLog: Likewise.
9808         * ChangeLog.1: Likewise.
9809         * ChangeLog.2: Likewise.
9810         * ChangeLog.3: Likewise.
9811         * ChangeLog.4: Likewise.
9812         * ChangeLog.5: Likewise.
9813         * ChangeLog.6: Likewise.
9814         * FSFChangeLog.10: Likewise.
9815         * FSFChangeLog.11: Likewise.
9816         * c-common.c: Likewise.
9817         * c-lex.c: Likewise.
9818         * c-objc-common.c: Likewise.
9819         * cppexp.c: Likewise.
9820         * cppinit.c: Likewise.
9821         * cpplex.c: Likewise.
9822         * doloop.c: Likewise.
9823         * flow.c: Likewise.
9824         * function.c: Likewise.
9825         * integrate.c: Likewise.
9826         * loop.c: Likewise.
9827         * reg-stack.c: Likewise.
9828         * reload.h: Likewise.
9829         * ssa.c: Likewise.
9830
9831 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9832
9833         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
9834         * vmsdbgout.c: Include "target.h".
9835
9836 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9837
9838         * ChangeLog: Follow spelling conventions.
9839         * ChangeLog.0: Likewise.
9840         * ChangeLog.1: Likewise.
9841         * ChangeLog.2: Likewise.
9842         * ChangeLog.4: Likewise.
9843         * ChangeLog.6: Likewise.
9844         * config.gcc: Likewise.
9845         * dwarfout.c: Likewise.
9846         * reload1.c: Likewise.
9847         * simplify-rtx.c: Likewise.
9848         * unwind-sjlj.c: Likewise.
9849         * config/avr/avr.h: Likewise.
9850         * config/d30v/d30v.h: Likewise.
9851         * config/frv/frv.c: Likewise.
9852         * config/frv/frv.h: Likewise.
9853         * config/ip2k/ip2k.h: Likewise.
9854         * config/m88k/m88k-move.sh: Likewise.
9855         * config/stormy16/stormy16.c: Likewise.
9856         * config/stormy16/stormy16.h: Likewise.
9857         * doc/extend.texi: Likewise.
9858         * doc/interface.texi: Likewise.
9859         * doc/invoke.texi: Likewise.
9860         * doc/md.texi: Likewise.
9861         * doc/rtl.texi: Likewise.
9862         * doc/tm.texi: Likewise.
9863         * doc/trouble.texi: Likewise.
9864         * ginclude/float.h: Likewise.
9865         * treelang/treelang.texi: Likewise.
9866
9867 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9868
9869         * i386-protos.h (i386_pe_dllexport_name_p,
9870         i386_pe_dllimport_name_p, i386_pe_unique_section,
9871         i386_pe_declare_function_type, i386_pe_record_external_function,
9872         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
9873         prototype.
9874         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
9875         * i386/t-interix (winnt.o): Likewise.
9876
9877         * v850-protos.h (v850_output_addr_const_extra): Prototype.
9878
9879 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9880
9881         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
9882         MIPS ABI CPP macros.
9883         (TARGET_CPU_CPP_BUILTINS): Redefine.
9884         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
9885         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
9886
9887 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9888
9889         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9890
9891 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9892
9893         * ChangeLog: Follow spelling conventions.
9894         * ChangeLog.0: Likewise.
9895         * ChangeLog.1: Likewise.
9896         * ChangeLog.2: Likewise.
9897         * ChangeLog.3: Likewise.
9898         * ChangeLog.4: Likewise.
9899         * ChangeLog.5: Likewise.
9900         * ChangeLog.6: Likewise.
9901         * FSFChangeLog.10: Likewise.
9902         * FSFChangeLog.11: Likewise.
9903         * c-common.c: Likewise.
9904         * c-common.h: Likewise.
9905         * c-format.c: Likewise.
9906         * c-opts.c: Likewise.
9907         * cpplib.c: Likewise.
9908         * langhooks.h: Likewise.
9909         * real.c: Likewise.
9910         * reg-stack.c: Likewise.
9911         * toplev.c: Likewise.
9912         * config/arm/arm.c: Likewise.
9913         * config/arm/arm.md: Likewise.
9914         * config/arm/linux-gas.h: Likewise.
9915         * config/arm/netbsd.h: Likewise.
9916         * config/c4x/c4x.c: Likewise.
9917         * config/c4x/c4x.h: Likewise.
9918         * config/c4x/c4x.md: Likewise.
9919         * config/c4x/libgcc.S: Likewise.
9920         * config/fr30/fr30.md: Likewise.
9921         * config/frv/frv.md: Likewise.
9922         * config/ia64/ia64.md: Likewise.
9923         * config/mips/mips.h: Likewise.
9924         * config/mn10300/mn10300.c: Likewise.
9925         * config/stormy16/stormy16.c: Likewise.
9926         * config/v850/v850.md: Likewise.
9927         * doc/extend.texi: Likewise.
9928         * doc/invoke.texi: Likewise.
9929         * doc/md.texi: Likewise.
9930
9931 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9932
9933         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
9934         library if -pthread is specified.
9935
9936 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9937
9938         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
9939         for --enable-threads=yes and --enable-threads=posix.
9940
9941 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9942
9943         * config/sparc/cypress.md: Replace Sparc with SPARC.
9944         * config/sparc/freebsd.h: Likewise.
9945         * config/sparc/gmon-sol2.c: Likewise.
9946         * config/sparc/hypersparc.md: Likewise.
9947         * config/sparc/lb1spc.asm: Likewise.
9948         * config/sparc/lb1spl.asm: Likewise.
9949         * config/sparc/linux.h: Likewise.
9950         * config/sparc/linux64.h: Likewise.
9951         * config/sparc/lynx.h: Likewise.
9952         * config/sparc/sol2.h: Likewise.
9953         * config/sparc/sparc-modes.def: Likewise.
9954         * config/sparc/sparc.c: Likewise.
9955         * config/sparc/sparc.h: Likewise.
9956         * config/sparc/sparc.md: Likewise.
9957         * config/sparc/sparclet.md: Likewise.
9958         * config/sparc/supersparc.md: Likewise.
9959         * config/sparc/sysv4.h: Likewise.
9960         * config/sparc/vxsim.h: Likewise.
9961         * config/sparc/vxsparc64.h: Likewise.
9962
9963 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9964
9965         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
9966         * collect2.c (ignore_library, aix_std_libs): Move into the context
9967         where it is used.
9968         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
9969         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
9970         * m88k.c (output_call): Wrap variables with macro controlling use.
9971         * rs6000.md: Likewise.  Const-ify variable.
9972         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
9973         * final.c (only_leaf_regs_used): Likewise.
9974         * regrename.c (maybe_mode_change): Mark parameter with
9975         ATTRIBUTE_UNUSED.
9976         * reload.c (find_valid_class): Likewise.  Likewise for variable.
9977         (find_reloads_address_1): Likewise.
9978         * varasm.c (weak_finish): Wrap variable with macro controlling use.
9979
9980 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9981
9982         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
9983
9984 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9985
9986         * ChangeLog: Follow spelling conventions.
9987         * ChangeLog.0: Likewise.
9988         * ChangeLog.2: Likewise.
9989         * ChangeLog.3: Likewise.
9990         * ChangeLog.4: Likewise.
9991         * ChangeLog.5: Likewise.
9992         * ChangeLog.6: Likewise.
9993         * cppfiles.c: Likewise.
9994         * cppinit.c: Likewise.
9995         * cpplib.h: Likewise.
9996         * cse.c: Likewise.
9997         * debug.h: Likewise.
9998         * df.c: Likewise.
9999         * dominance.c: Likewise.
10000         * hashtable.c: Likewise.
10001         * hashtable.h: Likewise.
10002         * loop.c: Likewise.
10003         * config/arm/README-interworking: Likewise.
10004         * config/arm/arm.c: Likewise.
10005         * config/arm/arm.h: Likewise.
10006         * config/arm/arm.md: Likewise.
10007         * config/dsp16xx/dsp16xx.h: Likewise.
10008         * config/frv/frv.c: Likewise.
10009         * config/frv/frv.h: Likewise.
10010         * config/ip2k/ip2k.h: Likewise.
10011         * config/rs6000/rs6000.c: Likewise.
10012         * config/stormy16/stormy-abi: Likewise.
10013         * config/stormy16/stormy16.h: Likewise.
10014         * config/v850/v850.c: Likewise.
10015
10016 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10017
10018         * loop.c: Fix a comment typo.
10019
10020 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10021
10022         * config/fr30/fr30.h: Fix comment typos.
10023         * config/frv/frv.c: Likewise.
10024         * config/i386/xmmintrin.h: Likewise.
10025         * config/mips/mips.c: Likewise.
10026         * config/sh/sh.c: Likewise.
10027
10028 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10029
10030         * haifa-sched.c: Follow spelling conventions.
10031         * regclass.c: Likewise.
10032         * regrename.c: Likewise.
10033         * config/fp-bit.c: Likewise.
10034         * config/frv/frv.h: Likewise.
10035         * config/m88k/m88k.c: Likewise.
10036         * config/mcore/mcore.c: Likewise.
10037         * config/rs6000/darwin.h: Likewise.
10038         * config/rs6000/gnu.h: Likewise.
10039         * config/rs6000/linux.h: Likewise.
10040         * config/rs6000/linux64.h: Likewise.
10041         * config/rs6000/rs6000.c: Likewise.
10042         * config/rs6000/rs6000.h: Likewise.
10043         * config/sh/sh.c: Likewise.
10044         * config/sparc/sparc.c: Likewise.
10045         * config/sparc/ultra1_2.md: Likewise.
10046
10047 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10048
10049         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10050         memory operand when source is 0 (K constraint).
10051         ("movsi_internal"): Likewise.
10052         ("movdf_internal"): Likewise.
10053         ("movsf_internal"): Likewise.
10054
10055 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10056
10057         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10058         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10059         (rs6000_xcoff_encode_section_info): Likewise.
10060         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10061
10062 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10063
10064         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10065
10066 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10067
10068         * stmt.c (struct nexting): Remove unused alt_end_label field.
10069         (expand_start_loop): Delete initialization of alt_end_label.
10070         (expand_start_null_loop): Likewise.
10071         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10072
10073 2002-09-13  Richard Henderson  <rth@redhat.com>
10074
10075         * Makefile.in (toplev.o): Depend on real.h.
10076         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10077
10078 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10079
10080         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10081         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10082         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10083
10084 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10085
10086         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10087
10088 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10089
10090         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10091         ia64*-*-linux*): Set extra_parts.
10092         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10093         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10094
10095 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10096
10097         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10098         * config/h8300/h8300.c: Likewise.
10099         * config/h8300/h8300.h: Likewise.
10100         * config/h8300/h8300.md: Likewise.
10101         * doc/invoke.texi: Likewise.
10102
10103 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10104
10105         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10106
10107 2002-09-13  Richard Henderson  <rth@redhat.com>
10108
10109         * config/alpha/alpha.md (attr type): Add callpal.
10110         (imb, trap, load_tp, set_tp): Use it.
10111         * config/alpha/ev4.md (ev4_callpal): New.
10112         * config/alpha/ev5.md (ev5_callpal): New.
10113         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10114         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10115         (alphaev5_insn_pipe): Likewise.
10116
10117 2002-09-13  Andreas Jaeger  <aj@suse.de>
10118
10119         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10120
10121 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10122
10123         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10124         LIB2ADDEH): New, set to NULL.
10125         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10126
10127 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10128
10129         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10130         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10131         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10132         Add declarations.
10133         (_U_Qfneg): Remove.
10134
10135 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10136
10137         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10138         for H8/300, H8S aa:8 mode.
10139         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10140         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10141         for H8/300 aa:8 mode.
10142
10143 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10144
10145         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10146         insns.
10147
10148 2002-09-12  Richard Henderson  <rth@redhat.com>
10149
10150         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10151         (print-rtl.o): Don't define GENERATOR_FILE.
10152         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10153         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10154         unless GENERATOR_FILE.
10155
10156 2002-09-12  Stan Shebs  <shebs@apple.com>
10157
10158         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10159         * config/i386/darwin.h: ... instead of here.
10160
10161         * target.h (struct gcc_target): New field
10162         terminate_dw2_eh_frame_info.
10163         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10164         (TARGET_INITIALIZER): Add it.
10165         * dwarf2out.c (output_call_frame_info): Use target hook.
10166         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10167         ASM_OUTPUT_DWARF_DELTA if defined.
10168         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10169         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10170         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10171         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10172         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10173         (powerpc-*-darwin*): Ditto.
10174         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10175         to work correctly for Darwin.
10176         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10177         (STARTFILE_SPEC): Add crtbegin.o.
10178         (ENDFILE_SPEC): Define.
10179         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10180         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10181         (ASM_OUTPUT_DWARF_DELTA): Define.
10182         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10183         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10184
10185 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10186
10187         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10188         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10189         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10190
10191 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10192
10193         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10194         * defaults.h: ... here.
10195
10196 2002-09-12  Richard Henderson  <rth@redhat.com>
10197
10198         * vax.c: Include tree.h earlier.
10199
10200 2002-09-12  Stan Shebs  <shebs@apple.com>
10201
10202         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10203         (machopic_operand_p): Ditto.
10204
10205 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10206
10207         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10208         Fix a comment typo.
10209
10210 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10211
10212         * toplev.c (do_abort): Fix a comment typo.
10213
10214 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10215
10216         * cselib.c: Fix comment formatting.
10217         * gengtype.c: Likewise.
10218
10219 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10220
10221         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10222         (udivmodhi4): Likewise.
10223
10224 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10225             Roger Sayle  <roger@eyesopen.com>
10226
10227         * i386.c (any_fp_register_operand, fp_register_operand,
10228         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10229         New predicate functions.
10230         * i386-protos.h:  Add their prototypes.
10231         * i386.h: Add them to PREDICATE_CODES.
10232         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10233         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10234         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10235         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10236         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10237         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10238         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10239         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10240         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10241         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10242         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10243         Use these new predicates to simplify and correct the use of
10244         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10245
10246 2002-09-12  Jason Merrill  <jason@redhat.com>
10247
10248         * diagnostic.c (output_add_identifier): New fn.
10249         * diagnostic.h: Declare it.
10250
10251         * calls.c (store_one_arg): Use size_in_bytes to determine the
10252         amount of space to push.
10253
10254 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10255
10256         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10257
10258 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10259
10260         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10261         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10262         (s390_select_ccmode): Likewise.
10263         (s390_branch_condition_mask): Likewise.
10264         (optimization_options): Do not set flag_branch_on_count.
10265         (s390_split_branches): Handle doloop branches.
10266         (s390_chunkify_pool): Likewise.
10267         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10268         ("doloop_end"): New expander.
10269         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10270         associated splitters): New.
10271
10272 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10273
10274         * genattrtab.c (simplify_cond): Remove unused variable(s).
10275         * global.c (record_conflicts): Likewise.
10276         * jump.c (rebuild_jump_labels): Likewise.
10277         * loop.c (scan_loop, check_final_value): Likewise.
10278         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10279         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10280         * rtlanal.c (reg_set_p): Likewise.
10281         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10282         * genautomata.c (empty_reserv): Remove.
10283         * loop.c (max_luid): Likewise.
10284         * sched-rgn.c (bitlst_table_size): Likewise.
10285
10286 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10287
10288         Reimplement gcov format.
10289         * gcov-io.h: Replace.
10290         * gcov.c: Reimplement.
10291         * gcov-iov.c: New file.
10292         * gcov-dump.c: New file.
10293         * libgcc2.c (L_bb): Replace with ...
10294         (L_gcov): ... this.
10295         (struct bb_function_info, struct bb): Remove.
10296         (inhibit_libc): Never inhibit.
10297         (gcov_list, gcov_crc): New static variables.
10298         (gcov_version_mismatch): New static function.
10299         (__bb_exit_func): Renamed to ...
10300         (__gcov_exit): ... here. Made static. Reimplement.
10301         (__gcov_init_func): Rename to ...
10302         (__gcov_init): ... here. Check version, update crc.
10303         (__bb_fork_func): Rename to ...
10304         (__gcov_flush): ... here.
10305         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10306         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10307         * calls.c (expand_call): Call __gcov_flush.
10308         * profile.c (bb_file, last_bb_file_name): Remove.
10309         (bbg_file_name): New global variable.
10310         (output_gcov_string): Remove.
10311         (get_exec_counts): Reimplement.
10312         (branch_prob): Reimplement gcov file writing.
10313         (init_branch_prob): Create bbg_file_name, don't create
10314         bb_file_name.
10315         (end_branch_prob): Adjust. Don't remove counter file when
10316         instrumenting ourselves.
10317         (create_profiler): Adjust.
10318         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10319         point to gcov-io.h.
10320         * Makefile.in (LANGUAGES): Add gcov-dump.
10321         (coverageexts): Remove .bb.
10322         (STAGESTUFF): Add gcov-dump.
10323         (LIB2FUNCS_ST): Replace _bb with _gcov.
10324         (profile.o): Depend on gcov-iov.h.
10325         (final.o): Don't depend on profile.h, gcov.h.
10326         (gcov.o): Depend on gcov-iov.h.
10327         (gcov-iov.o): New target.
10328         (gcov-iov): New target.
10329         (gcov-iov.h): New target.
10330         (gcov-dump.o): New target.
10331         (GCOV_DUMP_OBJS): New variable.
10332         (gcov-dump): New target.
10333         (distclean): Remove coverageexts.
10334         (stage1): Remove coverageexts.
10335
10336 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10337
10338         * fold-const.c (make_range): Only narrow to signed range if
10339         the signed range is smaller than the unsigned range.
10340
10341 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10342
10343         * emit-rtl.c (set_mem_size): New function.
10344         * expr.h (set_mem_size): Declare.
10345         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10346         (expand_block_move): Instead, use adjust_address and
10347         replace_equiv_address to generate proper aliasing info.
10348         Move common code out of conditionals.  Localize vars.
10349
10350 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10351
10352         * optabs.c (expand_binop): Minor cleanup.
10353         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10354
10355 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10356
10357         * print-tree.c (print_node): Print the restrict qualifier.
10358
10359 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10360
10361         * doc/install.texi: Fix typos.
10362
10363 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10364
10365         * Makefile.in: Remove all references to s-under and underscore.c.
10366         * collect2.c, tlink.c: Change all uses of prepends_underscore
10367         to look directly at USER_LABEL_PREFIX.
10368
10369 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10370
10371         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10372         alignment to csect.
10373         (rs6000_xcoff_unique_section): Only set section name for public
10374         data.
10375         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10376         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10377         duplicate definition.
10378
10379 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10380
10381         * pa.md (extzv): Check predicates before emitting extzv_32.
10382         (insv): Likewise.
10383
10384 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10385
10386         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10387         (MAX_MOVE_MAX): Define.
10388         (MOVE_BY_PIECES_P): Define.
10389         (CLEAR_BY_PIECES_P): Define.
10390
10391 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10392
10393         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10394
10395 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10396
10397         PR c/7873
10398         * arm.md (insv): Use reg_or_int_operand for operand[3].
10399
10400 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10401
10402         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10403         inside macro.  Correct function definition typo.
10404         (rs6000_xcoff_section_type_flags): New function.
10405         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10406         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10407         with appropriate PIC test.
10408         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10409         determine readonly.
10410         (rs6000_binds_local_p): Combine PIC flags.
10411         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10412         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10413
10414 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10415
10416         * h8300.md: Fix signed/unsigned warnings.
10417         * mcore.md: Likewise.
10418         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10419
10420 2002-09-09  Per Bothner  <per@bothner.com>
10421
10422         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10423         characters, and only print TREE_STRING_LENGTH chars.
10424
10425 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10426
10427         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10428         (ASM_FILE_END) New.
10429         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10430         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10431         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10432         of external functions if TARGET_HPUX_LD is true.
10433         (ia64_hpux_add_extern_decl): New, routine to put names on
10434         list of external functions.
10435         (ia64_hpux_asm_file_end): Put out declarations for external
10436         functions if and only if they are used.
10437
10438 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10439
10440         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10441         on TARGET_64BIT before pic register restore.
10442
10443 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10444
10445         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10446         (TARGET_HAVE_TLS): New description.
10447
10448 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10449
10450         * doc/extend.texi (Statement Exprs): Fix broken link.
10451
10452 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10453
10454         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10455         right conversion of operands[1].
10456
10457 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10458
10459         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10460         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10461         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10462
10463         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10464         as commutative.
10465
10466         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10467         mark as commutative.  Use "nonimmediate_operand" instead of
10468         "register_operand" as predicate for operand 1.
10469
10470         ("movstrictsi"): Fix typo in insn name.
10471
10472 2002-09-09  Jan Hubicka  <jh@suse.cz>
10473
10474         * i386.c (index_register_operand): New.
10475         * i386.h (predicate_codes): Add new predicate.
10476         * i386.md (lea_general_*): Use index_register_operand
10477         (ashift to lea splitter): Do not produce invalid leas
10478         (ashift to mov+ashift split): New.
10479
10480 2002-09-09  Nick Clifton  <nickc@redhat.com>
10481
10482         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10483         Fix folding marks.
10484
10485 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10486             J"orn Rennecke <joern.rennecke@superh.com>
10487
10488         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10489
10490 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10491
10492         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10493         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10494         attributes.
10495
10496 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10497
10498         * basic_block.h (gcov_type): Explain why it is signed.
10499         * final.c: Don't include profile.h.
10500         (struct function_list, functions_head, functions_tail,
10501         end_final): Moved to profile.c
10502         (final): Move arc chaining code to profile.c.
10503         * function.c (prepare_function_start): Remove duplicate line.
10504         * output.h (end_final): Remove prototype.
10505         * predict.c (estimate_loops_at_level): Use gcov_type.
10506         * profile.c (struct function_list, functions_head,
10507         functions_tail): Moved from final.c
10508         (need_func_profiler): Remove.
10509         (instrument_edges): Don't set need_func_profiler.
10510         (get_exec_counts): Avoid signed/unsigned warning.
10511         (compute_checksum): Use crc32.
10512         (branch_prob): Adjust. Chain onto functions_head.
10513         (init_branch_prob): Absorb init_edge_profiler.
10514         (init_edge_profiler): Remove.
10515         (create_profiler): Moved and renamed from final.c:end_final.
10516         Emit data and constructor.
10517         (output_func_start_profiler): Remove.
10518         * profile.h (struct profile_info): checksum is unsigned.
10519         * rtl.h (output_func_start_profiler): Remove prototype.
10520         (create_profiler): Declare.
10521         * toplev.c (compile_file): Call create_profiler, if instrumenting
10522         arcs. Don't call end_final.
10523
10524 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10525
10526         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10527
10528 2002-09-08  Richard Henderson  <rth@redhat.com>
10529
10530         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10531         (DW_OP_GNU_push_tls_address): New.
10532         (DW_OP_lo_user): Fix.
10533         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10534         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10535         (size_of_loc_descr): Likewise.
10536         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10537         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10538         (loc_descriptor_from_tree): Handle TLS variables.
10539         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10540         (add_location_or_const_value_attribute): ... not here.  Defer
10541         to loc_descriptor_from_tree for TLS variables.
10542
10543         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10544         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10545         * config/i386/i386-protos.h: Update.
10546
10547 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10548
10549         PR optimization/6405
10550         * unroll.c (loop_iterations): last_loop_insn should be the previous
10551         non-note instruction before loop->end.
10552         * loop.c (strength_reduce): The conditional jump is the last
10553         non-note instruction before loop->end (as above).
10554
10555 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10556
10557         * combine.c (try_combine): Handle the case that undobuf.other_insn
10558         has been turned into a return or unconditional jump, by inserting
10559         a BARRIER if necessary.
10560         (simplify_set):  Test if a condition code setter has a constant
10561         comparison at compile time, if so convert this insn to a no-op move
10562         and update/simplify the condition code user (undobuf.other_insn).
10563
10564 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10565
10566         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10567         (CLEAR_INSN_CACHE): Define.
10568
10569 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10570
10571         * basic-block.h: Fix comment formatting.
10572         * c-common.c: Likewise.
10573         * c-common.h: Likewise.
10574         * c-lex.c: Likewise.
10575         * c-pretty-print.c: Likewise.
10576         * cfglayout.c: Likewise.
10577         * cfgloop.c: Likewise.
10578         * defaults.h: Likewise.
10579         * et-forest.c: Likewise.
10580         * explow.c: Likewise.
10581         * function.h: Likewise.
10582         * gcov.c: Likewise.
10583         * genattrtab.c: Likewise.
10584         * gengtype.c: Likewise.
10585         * ifcvt.c: Likewise.
10586         * libgcc2.c: Likewise.
10587         * loop.c: Likewise.
10588         * profile.c: Likewise.
10589         * ra-build.c: Likewise.
10590         * real.c: Likewise.
10591         * rtl.h: Likewise.
10592         * tracer.c: Likewise.
10593         * tree-inline.c: Likewise.
10594         * varasm.c: Likewise.
10595
10596 2002-09-08  Jan Hubicka  <jh@suse.cz>
10597
10598         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10599         handling.
10600
10601         * loop.c (loop_givs_reduce):  Emit addition after.
10602
10603 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10604
10605         * varasm.c (default_assemble_visibility): Rename from
10606         assemble_visibility.
10607         * output.h: Here too.
10608         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10609         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10610
10611 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10612
10613         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10614         find_reloads_address.
10615
10616 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10617
10618         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10619         (anonymous pattern): Likewise.
10620
10621 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10622
10623         * machmode.def: Add modes for half-float vectors.
10624
10625 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10626
10627         PR target/7374
10628         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10629
10630 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10631
10632         * basic-block.h (struct loop): Remove unused cont_dominator field.
10633
10634 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10635
10636         * varasm.c (decode_rtx_const): Don't check undefined field for
10637         CONST_VECTOR.
10638
10639 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10640
10641         PR opt/7814
10642         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10643         to reg_last->sets after flushing the dependency lists to guarantee
10644         that subsequent clobbers will be dependent on it.
10645
10646 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10647
10648         * combine.c (simplify_shift_const): Calculate rotate count
10649         correctly for vector operands.
10650
10651 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10652
10653         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10654         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10655         tree_expr_nonnegative_p.
10656         (build_conditional_expr): Likewise.
10657         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10658
10659 2002-09-07  Richard Henderson  <rth@redhat.com>
10660
10661         * builtins.def (inf, inff, infl): Mark const.
10662         (huge_val, huge_valf, huge_vall): Likewise.
10663         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10664
10665         * real.c (ereal_inf): Clear E before use.
10666
10667 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10668
10669         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10670         an expander and an anonymous pattern.  Zero out the upper half
10671         of the dividend in the expander.
10672         (udivmodqi4): Likewise.
10673
10674 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10675
10676         * config/h8300/h8300.c: Fix formatting.
10677         * config/h8300/h8300.h: Likewise.
10678         * config/h8300/h8300.md: Likewise.
10679
10680 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10681
10682         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10683         information.
10684
10685 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10686
10687        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10688
10689 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10690
10691         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10692
10693         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10694         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10695         (TARGET_ASM_OUT): Add the above here.
10696         * target.h (struct gcc_target): Add "visibility" field.
10697         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10698         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10699         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10700         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10701
10702 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10703
10704         * c-lang.c (objc_is_id): New stub.
10705         * c-tree.h (objc_is_id): New forward declaration.
10706         * c-typeck.c (build_c_cast): Do not strip protocol
10707         qualifiers from 'id' type.
10708         * objc/objc-act.c (objc_comptypes): Correct handling
10709         of protocol qualifiers.
10710         (objc_is_id): New.
10711
10712 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10713
10714         * pentium.md (pentium-firstvboth): Fix typo.
10715
10716 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10717
10718         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10719         (enum shift_type, enum h8_cpu): Likewise.
10720         (INL, ROT, LOP, SPC macros): Likewise.
10721         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10722         const designator.
10723         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10724         space efficient algorithms when optimize for codesize.
10725
10726 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10727
10728         Fix PR/1727 and long-standing failing testcase
10729         objc/formal-protocol-6.m.
10730         * objc-act.c (build_protocol_expr): If compiling for the GNU
10731         runtime, create a list of Protocol statically allocated instances
10732         if it doesn't exist, then add the Protocol object to this same
10733         list.
10734         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10735         instead of TREE_CHAIN.
10736
10737 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10738
10739         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10740         10k.  Fixed category dumping - print out category names with the
10741         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
10742         interface.
10743         (finish_objc): Fixed the -gen-decls option.  It was printing out
10744         only the last class.  Dump an interface declaration of all classes
10745         being compiled instead.
10746
10747 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
10748
10749         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10750         prototype.
10751         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10752         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10753         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
10754         rather than GEN_INT.
10755         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10756         (return_addr_mask, *check_arch2): New.
10757
10758 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
10759
10760         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10761         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10762         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10763         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10764         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10765         "adddf3", "*adddf3", "*adddf3_ibm",
10766         "addsf3", "*addsf3", "*addsf3_ibm",
10767         "muldi3", "mulsi3", "mulsidi3",
10768         "muldf3", "*muldf3", "*muldf3_ibm",
10769         "mulsf3", "*mulsf3", "*mulsf3_ibm",
10770         "*anddi3_cc", "*anddi3_cconly", "anddi3",
10771         "*andsi3_cc", "*andsi3_cconly", "andsi3",
10772         "*iordi3_cc", "*iordi3_cconly", "iordi3",
10773         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10774         "*xordi3_cc", "*xordi3_cconly", "xordi3",
10775         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10776         instead of "register_operand" as predicate for "%0" operand.
10777
10778 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
10779
10780         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10781         unconditionally when gcc_cv_as_flags64 checks are gone.
10782         * configure: Rebuilt.
10783
10784 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
10785
10786         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10787         2002-07-26 change.  Comment.
10788
10789 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10790
10791         * frv.c (frv_unique_section, frv_select_section,
10792         frv_select_rtx_section): Delete.
10793         (frv_in_small_data_p): New.
10794         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10795         TARGET_ASM_SELECT_RTX_SECTION): Delete.
10796         (TARGET_IN_SMALL_DATA_P): Define.
10797
10798 2002-09-05  Dale Johannesen  <dalej@apple.com>
10799
10800         * reload1.c (reload):  Retain only those memory clobbers
10801         added for variable-array handling.
10802
10803 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10804
10805         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10806         return-in-memory rules.
10807         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10808
10809 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10810
10811         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10812         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10813
10814 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10815
10816         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10817         not a compile-time constant for the non-IBM case.
10818         * config/arm/arm-protos.h (arm_float_words_big_endian): New
10819         prototype.
10820         * config/arm/arm.c (arm_float_words_big_endian): New function.
10821         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10822         if TARGET_VFP  and not TARGET_HARD_FLOAT.
10823         (ARM_FLAG_VFP, TARGET_VFP): Define.
10824         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10825
10826 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10827
10828         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
10829         URLs.  Fix AIX wording.
10830
10831 2002-09-05  Stan Shebs  <shebs@apple.com>
10832
10833         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
10834         -fPIC equivalent on Darwin.
10835
10836 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
10837
10838         * sh.c (sh_expand_builtin): Return early if encountering an
10839         error_mark for a type.
10840
10841 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
10842
10843         * config/s390/s390.c (s390_expand_plus_operand): Do not require
10844         double-word scratch register.
10845         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
10846
10847         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
10848         "*cli"): Replace s_operand by memory_operand.
10849         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
10850
10851 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
10852
10853         * config/h8300/h8300.c (asm_file_start): Add a missing
10854         semicolon.
10855
10856 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10857
10858         * c-typeck.c (build_function_call): Remove unused variable(s).
10859         (build_c_cast): Likewise.
10860         * calls.c (rtx_for_function_call): Likewise.
10861         * cfglayout.c (duplicate_insn_chain): Likewise.
10862         * cfgloop.c (flow_loop_nodes_find): Likewise.
10863         * cfgrtl.c (split_edge): Likewise.
10864         * df.c (df_ref_create): Likewise.
10865         * except.c (expand_end_catch): Likewise.
10866         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
10867         * function.c (emit_return_into_block): Likewise.
10868         (reposition_prologue_and_epilogue_notes): Likewise.
10869         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
10870         * combine.c (subst_prev_insn, need_refresh): Remove.
10871         * dwarf2out.c (primary_filename): Remove.
10872         * final.c (new_block): Remove.
10873         * gcse.c (orig_bb_count): Remove.
10874
10875 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10876
10877         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
10878         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
10879         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
10880         directly instead of using a function pointer.
10881
10882 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
10883
10884         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
10885         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
10886         (ix86_output_addr_diff_elt) Likewise.
10887         (x86_output_mi_thunk) Likewise.
10888         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
10889
10890 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10891
10892         * frv.c (frv_encode_section_info): Fix error in last change.
10893
10894 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10895
10896         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
10897         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
10898         (TARGET_BINDS_LOCAL_P): Define.
10899         (rs6000_override_options): Save original flag_pic value.
10900         (rs6000_elf_select_section): Call default_elf_select_section_1.
10901         (rs6000_elf_unique_section): Call default_unique_section_1.
10902         (rs6000_elf_in_small_data_p): New function.
10903         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
10904         (rs6000_xcoff_select_section): Update based on defaults.
10905         (rs6000_xcoff_unique_section): Set to basic name if not common.
10906         (rs6000_binds_local_p): New function.
10907         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
10908         targetm.have_srodata_section if SDATA_EABI.
10909         (TARGET_IN_SMALL_DATA_P): Define.
10910
10911 2002-09-04  Dale Johannesen  <dalej@apple.com>
10912
10913         * varasm.c (struct rtx_const, decode_rtx_const):
10914         Make veclo and vechi fields not share storage.
10915
10916 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
10917
10918         * loop.c (scan_loop): Don't mark separate insns out of a libcall
10919         for moving.
10920         (move_movables): Abort if we see the first insn of a libcall.
10921
10922 2002-09-04  Richard Henderson  <rth@redhat.com>
10923
10924         * builtin-types.def (BT_FN_FLOAT): New.
10925         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
10926         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
10927         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
10928         * builtins.c (fold_builtin_inf): New.
10929         (fold_builtin): Call it.
10930         * real.c (ereal_inf): New.
10931         * real.h: Declare it.
10932         * doc/extend.texi: Document new builtins.
10933
10934 2002-09-04  Richard Henderson  <rth@redhat.com>
10935
10936         * cse.c (cse_insn): Avoid subreg games if the equivalence
10937         is already in the proper mode.
10938
10939 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
10940
10941         PR c/7102
10942         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
10943
10944 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10945
10946         * pa.md (setccfp0, setccfp1): New patterns.
10947
10948 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10949
10950         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
10951         frv_select_section, frv_select_rtx_section,
10952         frv_encode_section_info, frv_unique_section): Delete.
10953         * frv.c: Update for target hooks.
10954         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
10955         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
10956         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
10957
10958 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10959
10960         * ip2k-protos.h (function_prologue, function_epilogue,
10961         encode_section_info): Update to match target hook specification.
10962         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
10963         (function_prologue, function_epilogue, encode_section_info):
10964         Update to match target hook specification.
10965         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
10966         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
10967         (NOTICE_UPDATE_CC): Cast to void.
10968         * ip2k.md: Add defaults in switch statements.
10969
10970 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10971
10972         * doc/trouble.texi (Interoperation): Update information about C++ ABI
10973         issues.
10974
10975 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
10976
10977         * config/sparc/t-netbsd64: Disable multilib for now.
10978
10979 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10980
10981         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
10982         * target.h (gcc_target): Add have_srodata_section member.
10983         * varasm.c (section_category): Add SECCAT_SRODATA.
10984         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
10985         READONLY_SDATA_SECTION defined.
10986         (decl_readonly_section_1): True for SECCAT_SRODATA also.
10987         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
10988         (default_unique_section_1): Likewise.
10989
10990 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10991
10992         * expr.c (emit_group_load): Revise to allow splitting TCmode source
10993         into DImode pieces.
10994
10995         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
10996         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
10997         for floating-point register class.
10998         * pa.c (function_arg): Fix handling of modes wider than one word for
10999         TARGET_64BIT.
11000
11001 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11002
11003         * combine.c (make_compound_operation): Don't generate zero / sign
11004         extensions in floating point modes.
11005
11006 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11007
11008         * doc/c-tree.texi: Fix overfull hboxes.
11009         * doc/cppopts.texi: Ditto.
11010         * doc/extend.texi: Ditto.
11011         * doc/gty.texi: Ditto.
11012         * doc/invoke.texi: Ditto.
11013         * doc/makefile.texi: Ditto.
11014         * doc/rtl.texi: Ditto.
11015         * doc/standards.texi: Ditto.
11016         * doc/tm.texi: Ditto.
11017
11018 2002-09-04  Richard Henderson  <rth@redhat.com>
11019
11020         * c-common.c (builtin_define_with_hex_fp_value): New.
11021         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11022
11023 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11024
11025         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11026         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11027         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11028         Warn that these options can break ABI compatibility.
11029
11030 2002-09-04  Richard Henderson  <rth@redhat.com>
11031
11032         * real.c (ereal_to_decimal): Add digits parameter.
11033         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11034         * c-pretty-print.c (pp_c_real_literal): Update call.
11035         * print-rtl.c (print_rtx): Likewise.
11036         * print-tree.c (print_node_brief, print_node): Likewise.
11037         * sched-vis.c (print_value): Likewise.
11038         * config/arc/arc.c (arc_print_operand): Likewise.
11039         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11040         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11041         * config/i386/i386.c (print_operand): Likewise.
11042         * config/i960/i960.c (i960_print_operand): Likewise.
11043         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11044         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11045         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11046         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11047         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11048         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11049         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11050         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11051         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11052         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11053         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11054         * config/mips/mips.c (print_operand): Likewise.
11055         * config/ns32k/ns32k.c (print_operand): Likewise.
11056         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11057         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11058         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11059
11060 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11061
11062         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11063         xtensa_multibss_section_type_flags.
11064         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11065
11066 2002-09-04  Richard Henderson  <rth@redhat.com>
11067
11068         * doc/install-old.texi: Don't mention enquire.
11069         * doc/sourcebuild.texi: Update float.h description.
11070
11071 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11072
11073         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11074
11075 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11076
11077         * builtins.c (build_function_call_expr): Remove prototype, export
11078         as non-static and add a comment above function definition.
11079         (builtin_mathfn_code): New function to check for math builtins.
11080         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11081         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11082         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11083         log(sqrt(x)) as log(x)/2.0.
11084
11085         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11086         in new "builtins.c" section.  Place the build_range_type prototype
11087         with the other prototypes from "tree.c".
11088
11089         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11090         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11091         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11092         x/exp(y) as x*exp(-y).
11093
11094 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11095
11096         * varasm.c (default_section_type_flags): Append _1 to name with
11097         shlib parameter.  Use original name to call new function with
11098         implicit flag_pic.
11099         (decl_readonly_section): Likewise.
11100         (default_elf_select_section): Likewise.
11101         (default_unique_section): Likewise.
11102         (default_bind_local_p): Likewise.
11103         (categorize_decl_for_section): Add shlib parameter to use in place
11104         of implicit flag_pic.
11105         * output.h: Declare new functions with _1 and shlib argument.
11106
11107 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11108
11109         * doc/install.texi: Fix typos, formatting problems, and obvious
11110         overfull/underfull boxes.
11111
11112         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11113         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11114         include its file, compat.texi.
11115         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11116
11117 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11118
11119         Debian BTS Bug #157416
11120         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11121         * cpplib.c (destringize_and_run): Kludge around getting
11122         tokens from in-progress macros.
11123         (_cpp_do__Pragma): Simplify.
11124
11125 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11126
11127         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11128         (CPP_CPU_SPEC): Remove.
11129         (TARGET_CPU_CPP_BUILTINS): New.
11130         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11131         (CPP_SPEC): Remove.
11132         (TARGET_OS_CPP_BUILTINS): New.
11133         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11134         (TARGET_OS_CPP_BUILTINS): New.
11135         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11136         TARGET_OS_CPP_BUILTINS.
11137         (CPP_PREDEFINES): Remove.
11138         (CPLUSPLUS_CPP_SPEC): Remove.
11139         (TARGET_OS_CPP_BUILTINS): New.
11140
11141 2002-09-03  Richard Henderson  <rth@redhat.com>
11142
11143         * Makefile.in (USER_H): Add ginclude/float.h.
11144         (FLOAT_H): Remove.
11145         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11146         (mostlyclean): Don't remove float.h intermediate files.
11147         (distclean): Don't remove float.h.
11148         * config.gcc: Remove all float_format references.
11149         * configure.in (float_format, float_h_file): Remove.
11150
11151         * c-common.c: Include tree-inline.h.
11152         (builtin_define_with_int_value): New.
11153         (builtin_define_type_precision): Use it.
11154         (builtin_define_float_constants): New.
11155         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11156         __FLT_EVAL_METHOD__.
11157         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11158         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11159         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11160         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11161         (TARGET_FLT_EVAL_METHOD): New.
11162
11163         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11164         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11165         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11166         * ginclude/float.h: New.
11167
11168 2002-09-03  Stan Shebs  <shebs@apple.com>
11169
11170         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11171         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11172         (PREFERRED_DEBUGGING_TYPE): Ditto.
11173         (ASM_OUTPUT_IDENT): Remove empty definition.
11174
11175 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11176
11177         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11178         cxx_target.
11179         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11180         handling routine for builtin pragma.
11181         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11182         Registered pragma handling routine.
11183         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11184         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11185         If builtin pragma seen for math routine and C89 conformance is
11186         requested use different math function in order to set errno.
11187         * t-ia64 (ia64-c.o): Add new rule for new file.
11188
11189 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11190
11191         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11192         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11193         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11194
11195         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11196         "*movsf_ss"): Remove.
11197
11198 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11199
11200         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11201         Delete macros.
11202
11203 2002-09-03   Arati Dikey  <aratid@kpit.com>
11204
11205         * h8300.c (asm_file_start): Corrected optimization comment.
11206
11207 2002-09-03  Stan Shebs  <shebs@apple.com>
11208
11209         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11210         * c-tree.h (recognize_objc_keyword): Remove decl.
11211         * c-typeck.c (comp_target_types): Update a comment.
11212
11213 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11214
11215         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11216         and register validity checks.
11217         (general_s_operand): Adapt to s390_decompose_address interface change.
11218         (q_constraint): Likewise.
11219         (s390_expand_plus_operand): Likewise.
11220         (legitimiate_address_p): Likewise.
11221         (legitimate_la_operand_p): Likewise.
11222         (legitimize_la_operand): Likewise.
11223         (print_operand_address): Likewise.
11224         (print_operand): Likewise.
11225
11226 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11227
11228         PR objc/5956:
11229         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11230         was causing the new selector never to match the existing ones
11231         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11232
11233 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11234
11235         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11236
11237 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11238
11239         * expr.c (expand_expr): Remove extraneous comment and code.
11240
11241 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11242
11243         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11244         frontend. Take chain of fields. Allow NULL alignment type.
11245         * tree.h (finish_builtin_struct): Declare.
11246
11247 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11248
11249         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11250         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11251         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11252         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11253         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11254         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11255         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11256         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11257         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11258         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11259         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11260         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11261         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11262         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11263         config/rs6000/linux64.h config/rs6000/lynx.h
11264         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11265         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11266         config/sparc/sparc.c config/sparc/sysv4.h
11267         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11268         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11269         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11270
11271         * doc/tm.texi: Update docs.
11272         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11273         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11274
11275 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11276
11277         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11278         * arc.c (arc_internal_label): New function.
11279         (TARGET_ASM_INTERNAL_LABEL): Set.
11280         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11281         * arm.c (arm_internal_label): New function.
11282         (TARGET_ASM_INTERNAL_LABEL): Set.
11283         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11284         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11285         * i370.c (i370_internal_label): New function.
11286         (TARGET_ASM_INTERNAL_LABEL): Set.
11287         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11288         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11289         * m68k.c (m68k_hp320_internal_label): New function.
11290         (TARGET_ASM_INTERNAL_LABEL): Set.
11291         * m88k.c (m88k_internal_label): New function.
11292         (TARGET_ASM_INTERNAL_LABEL): Set.
11293         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11294         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11295         * genoutput.c (output_prologue): Include target.h in output file.
11296         * output.h (default_internal_label): Declare.
11297         * sdbout.c: Include target.h.
11298         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11299         TARGET_ASM_OUT.
11300         * target.h (internal_label): Add to struct gcc_target.
11301         * varasm.c (default_internal_label): New function.
11302
11303 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11304
11305         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11306         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11307         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11308         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11309         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11310         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11311         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11312         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11313         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11314         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11315         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11316         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11317         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11318         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11319         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11320         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11321         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11322         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11323         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11324         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11325         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11326         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11327         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11328         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11329         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11330         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11331         * mmix.c (mmix_asm_output_internal_label): Likewise.
11332         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11333         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11334         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11335         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11336         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11337         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11338         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11339         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11340         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11341         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11342         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11343         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11344         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11345         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11346         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11347         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11348         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11349         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11350         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11351
11352         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11353
11354 2002-08-31  Richard Henderson  <rth@redhat.com>
11355
11356         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11357
11358 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11359
11360         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11361
11362 2002-08-30  Richard Henderson  <rth@redhat.com>
11363
11364         PR opt/7515
11365         * c-objc-common.c: Include target.h.
11366         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11367         don't bind locally.  Factor setting DECL_UNINLINABLE.
11368         * Makefile.in (c-objc-common.o): Update.
11369
11370 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11371
11372         * doc/install.texi (Configuration, Building): Fix a typo and
11373         some formatting directives.
11374
11375 2002-08-30  Paul Koning <pkoning@equallogic.com>
11376
11377         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11378         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11379         implemented" note.
11380         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11381         for alphabetic order.
11382         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11383         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11384         (VAX_HALFWORD_ORDER): Document.
11385         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11386         IEEE float format.
11387         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11388         (ASM_OUTPUT_LABEL_REF): Fix font.
11389         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11390
11391 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11392
11393         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11394         stuff.
11395         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11396         CONST_DOUBLE constants.
11397
11398 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11399
11400         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11401         related defines to...
11402         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11403         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11404         as a no-op.
11405
11406 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11407
11408         * config/arm/arm.c (arm_asm_output_labelref): New function.
11409         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11410         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11411
11412 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11413
11414         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11415         memory exhausted" workarounds.
11416
11417 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11418
11419         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11420         * toplev.c (crash_signal): Likewise.
11421
11422 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11423
11424         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11425         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11426         Extended, updated documentation.
11427         (-Wundeclared-selector): Documented.
11428
11429 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11430
11431         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11432         the value 1.  Do not undef before defining.
11433         * config/darwin.h: Likewise.
11434         * config/dbx.h: Likewise.
11435         * config/dbxcoff.h: Likewise.
11436         * config/dbxelf.h: Likewise.
11437         * config/elfos.h: Likewise.
11438         * config/interix.h: Likewise.
11439         * config/lynx-ng.h: Likewise.
11440         * config/lynx.h: Likewise.
11441         * config/netware.h: Likewise.
11442         * config/psos.h: Likewise.
11443         * config/svr3.h: Likewise.
11444         * config/alpha/alpha.h: Likewise.
11445         * config/alpha/elf.h: Likewise.
11446         * config/alpha/vms.h: Likewise.
11447         * config/arc/arc.h: Likewise.
11448         * config/arm/aout.h: Likewise.
11449         * config/arm/coff.h: Likewise.
11450         * config/c4x/c4x.h: Likewise.
11451         * config/h8300/h8300.h: Likewise.
11452         * config/i386/cygwin.h: Likewise.
11453         * config/i386/djgpp.h: Likewise.
11454         * config/i386/gas.h: Likewise.
11455         * config/i386/gstabs.h: Likewise.
11456         * config/i386/i386-coff.h: Likewise.
11457         * config/i386/i386-interix.h: Likewise.
11458         * config/i386/sco5.h: Likewise.
11459         * config/i386/svr3dbx.h: Likewise.
11460         * config/i386/sysv3.h: Likewise.
11461         * config/i386/win32.h: Likewise.
11462         * config/i386/x86-64.h: Likewise.
11463         * config/i960/i960.h: Likewise.
11464         * config/ia64/ia64.h: Likewise.
11465         * config/ip2k/ip2k.h: Likewise.
11466         * config/m32r/m32r.h: Likewise.
11467         * config/m68k/3b1.h: Likewise.
11468         * config/m68k/3b1g.h: Likewise.
11469         * config/m68k/ccur-GAS.h: Likewise.
11470         * config/m68k/coff.h: Likewise.
11471         * config/m68k/hp2bsd.h: Likewise.
11472         * config/m68k/hp310g.h: Likewise.
11473         * config/m68k/hp320g.h: Likewise.
11474         * config/m68k/hp3bsd.h: Likewise.
11475         * config/m68k/hp3bsd44.h: Likewise.
11476         * config/m68k/linux-aout.h: Likewise.
11477         * config/m68k/m68k-aout.h: Likewise.
11478         * config/m68k/mot3300.h: Likewise.
11479         * config/m68k/netbsd.h: Likewise.
11480         * config/m68k/openbsd.h: Likewise.
11481         * config/m68k/pbb.h: Likewise.
11482         * config/m68k/plexus.h: Likewise.
11483         * config/m68k/sun2.h: Likewise.
11484         * config/m68k/sun3.h: Likewise.
11485         * config/m68k/tower-as.h: Likewise.
11486         * config/m68k/vxm68k.h: Likewise.
11487         * config/m88k/aout-dbx.h: Likewise.
11488         * config/m88k/m88k-aout.h: Likewise.
11489         * config/mcore/mcore-elf.h: Likewise.
11490         * config/mcore/mcore-pe.h: Likewise.
11491         * config/mips/elf.h: Likewise.
11492         * config/mips/elf64.h: Likewise.
11493         * config/mips/iris5gas.h: Likewise.
11494         * config/mips/iris6.h: Likewise.
11495         * config/mips/mips.h: Likewise.
11496         * config/mips/sni-gas.h: Likewise.
11497         * config/mmix/mmix.h: Likewise.
11498         * config/ns32k/netbsd.h: Likewise.
11499         * config/pa/pa64-hpux.h: Likewise.
11500         * config/romp/romp.h: Likewise.
11501         * config/rs6000/sysv4.h: Likewise.
11502         * config/rs6000/xcoff.h: Likewise.
11503         * config/sh/coff.h: Likewise.
11504         * config/sh/elf.h: Likewise.
11505         * config/sparc/linux64.h: Likewise.
11506         * config/sparc/liteelf.h: Likewise.
11507         * config/sparc/netbsd.h: Likewise.
11508         * config/sparc/openbsd.h: Likewise.
11509         * config/sparc/pbd.h: Likewise.
11510         * config/sparc/sp64-elf.h: Likewise.
11511         * config/sparc/sp86x-elf.h: Likewise.
11512         * config/sparc/sparc.h: Likewise.
11513         * config/vax/vax.h: Likewise.
11514         * config/vax/vaxv.h: Likewise.
11515
11516 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11517
11518         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11519         of HImode shifts.
11520         (get_shift_alg): Corresponding changes.
11521
11522 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11523
11524         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11525
11526 2002-08-29  Richard Henderson  <rth@redhat.com>
11527
11528         * expr.h (enum block_op_methods): New.
11529         (emit_block_move): Update prototype.
11530         * expr.c (block_move_libcall_safe_for_call_parm): New.
11531         (emit_block_move_via_loop): New.
11532         (emit_block_move): Use them.  New argument METHOD.
11533         (emit_push_insn): Always respect the given alignment.
11534         (expand_assignment): Update call to emit_block_move.
11535         (store_expr, store_field, expand_expr): Likewise.
11536         * builtins.c (expand_builtin_apply): Likewise.
11537         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11538         * function.c (expand_function_end): Likewise.
11539         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11540         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11541         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11542         (save_fixed_argument_area): Use emit_block_move with
11543         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11544         (restore_fixed_argument_area): Likewise.
11545         (store_one_arg): Fix alignment parameter to emit_push_insn.
11546
11547 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11548
11549         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11550
11551 2002-08-29  Catherine Moore  <clm@redhat.com>
11552
11553         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11554         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11555         (PREDICATE_CODES): Include new predicates.
11556         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11557         (TARGET_SWITCHES):  Add strict-align.
11558         (TARGET_STRICT_ALIGN): New.
11559         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11560         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11561         Define.
11562         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11563         v850_muldi3.
11564         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11565         L_callt_save_r2_r31, L_return_r2_r31,
11566         L_save_all_interrupt): Change addi to add.
11567         (L_save_interrupt, L_return_interrupt): Rework.
11568         (__return_r31):  Correct .size directive.
11569         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11570         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11571         New routines.
11572         * config/v850/v850.c (expand_prologue): Call
11573         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11574         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11575         (reg_or_int9_operand): New predicate.
11576         (reg_or_const_operand): New routine.
11577         * config/v850/v850.md (return_interrupt): Changed from
11578         restore_interrupt.
11579         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11580         (callt_save_interrupt): Change save sequence.
11581         (callt_return_interrupt): New.
11582         (save_interrupt): Don't use runtime function for LONG_CALLS
11583         and TARGET_PROLOG_FUNCTION.
11584         (save_all_interrupt): Likewise.
11585         (mulsi3): Use new predicate.
11586         (moviscc): Disallow some combination of constants.
11587         Fix define_split for sasf insns, so that it will not generate bad
11588         code if operand0 and operand5 are the same.
11589         * config/v850/v850-protos.h: Prototype new predicates.
11590
11591 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11592
11593         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11594         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11595
11596 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11597
11598         * c-common.c (builtin_define_type_precision): New function.
11599         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11600         wchar_t is unsigned in C++.
11601         * doc/cpp.texi (Common Predefined Macros): Document
11602         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11603         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11604         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11605
11606 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11607
11608         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11609         section.  Mention that it is enabled by -Wall.
11610         (-Wall): Mention that there can be language-specific warnings as well.
11611         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11612         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11613
11614 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11615
11616         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11617         if it is ever live.
11618
11619         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11620         attribute for SHCOMPACT.
11621
11622         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11623         appropriately.
11624         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11625         by the ABI.
11626
11627         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11628
11629 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11630
11631         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11632         "MASK_GAS|MASK_ABICALLS".
11633         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11634         (TARGET_DEFAULT): Remove.
11635         (MACHINE_TYPE): Undefine before defining.
11636         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11637
11638 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11639
11640         * c-common.c (warn_abi): New variable.
11641         * c-common.h (warn_abi): Likewise.
11642         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11643         (c_common_decode_option): Handle it.
11644         * doc/invoke.texi: Document -Wabi.
11645
11646 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11647
11648         * c-common.c (warn_undeclared_selector): New variable.
11649         * c-common.h (warn_undeclared_selector): Idem.
11650         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11651         to on when -Wundeclared-selector is found.
11652         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11653         * objc/objc-act.c (build_selector_expr): If
11654         warn_undeclared_selector is set, check that the selector has
11655         already been defined, and emit a warning if not.
11656
11657 2002-08-27  Nick Clifton  <nickc@redhat.com>
11658             Catherine Moore  <clm@redhat.com>
11659             Jim Wilson  <wilson@cygnus.com>
11660
11661         * config.gcc: Add v850e-*-* target.
11662         Add --with-cpu= support for v850.
11663         * config/v850/lib1funcs.asm: Add v850e callt functions.
11664         * config/v850/v850.h: Add support for v850e target.
11665         * config/v850/v850.c: Add functions to support v850e target.
11666         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11667         * config/v850/v850.md: Add patterns for v850e instructions.
11668         * doc/invoke.texi: Document new v850e command line switches.
11669
11670 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11671                           Aldy Hernandez <aldyh at redhat dot com>
11672
11673         * doc/tm.texi: Applied numerous fixes to the automaton based
11674         scheduler descrition.
11675
11676 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11677
11678         * i386.c (classify_argument): Handle variable sized objects.
11679
11680 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11681
11682         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11683
11684 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11685
11686         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11687
11688 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11689
11690         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11691
11692 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11693
11694         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11695         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11696         accordingly.
11697         (attribute insn_class): Provide default definitions based on type.
11698         Remove all insn-specific settings.
11699         (various function units): Remove old SH4 scheduling.
11700         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11701         New attributes.  Set them where appropriate.
11702         (cpu unit FS): Don't define / use.
11703         (F3, load_store): New cpu units.
11704         (F01): New reservation.
11705         (all insn_reservations): Make dependent on sh4 pipeline model.
11706         Fix latencies.
11707         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11708         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11709         (mt insn_reservation): Use type mt_group.
11710         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11711         sh4_fload and sh4_store.
11712         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11713         (insn_reservation branch_far): Replace with sh4_return.
11714         (insn_reservation return_from_exp): Rename to:
11715         (sh4_return_from_exp).  Change to be just d_lock*5.
11716         (insn_reservation lds_to_pr): Rename to:
11717         (sh4_lds_to_pr).  Change to be just d_lock*2.
11718         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11719         d_lock*2.
11720         (insn_reservation prload_mem): Rename to:
11721         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11722         (insn_reservation fpscr_store): Rename to:
11723         (fpscr_load).  Change to d_lock,nothing,F1*3.
11724         (insn_reservation fpscr_store_mem): Rename to:
11725         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11726         (insn_reservation multi): Change to
11727         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11728         (insn_reservation fp_arith): Change to issue,F01,F2.
11729         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11730         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11731         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11732         (insn_reservation fp_double_cmp): Change to
11733         d_lock,(d_lock+F01),F1+F2,F2.
11734         (insn_reservation dp_div): Change to
11735         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11736         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11737         (sh_adjust_cost, SHcompact): Differentiate between different
11738         kinds of dependencies.  Drop factor of ten for superscalar.
11739         Use new instruction types.  Add new exception rules.
11740
11741         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11742
11743         * sh.md (mperm_w): Add DONE.
11744
11745 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
11746
11747         * longlong.h: Import current PowerPC defintion from GMP-4.1.
11748
11749         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11750
11751         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11752
11753 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
11754
11755         * sh.h (MAX_FIXED_MODE_SIZE): Define.
11756
11757 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
11758
11759         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11760         delimiter.
11761
11762 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11763
11764         * c-common.c (cpp_define_data_format): New function.
11765         (cb_register_builtins): Call it.
11766
11767         * doc/cpp.texi (Common Predefined Macros): Document
11768         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11769         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11770         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11771         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11772         __TARGET_USES_VAX_H_FLOAT__.
11773
11774 2002-08-26  Ziemowit Laski <zlaski@apple.com>
11775
11776         * objc/objc-act.c (get_super_receiver): If inside a class method
11777         of a category, cast the receiver to 'id' before accessing the 'isa'
11778         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
11779
11780 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
11781
11782         * config/s390/s390-protos.h (s390_function_prologue,
11783         s390_function_epilogue): Remove.
11784         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11785         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11786
11787         config/s390/s390.c (s390_machine_dependent_recorg): New function.
11788         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11789         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11790         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11791         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
11792
11793         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
11794         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11795         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11796         function is not a leaf function.  Use save_gprs and restore_gprs.
11797         (s390_emit_epilogue): Likewise.
11798         (save_gprs, restore_gprs): New functions.
11799         (struct s390_frame): Remove return_reg_saved_p member.
11800         (save_fprs_p): Remove.
11801         (s390_optimize_prolog): New function.
11802         (s390_legitimate_reload_constant): Remove now unnecessary check.
11803
11804         (s390_function_count): Remove.
11805         (s390_output_symbolic_const): Replace s390_function_count by
11806         current_function_funcdef_no.
11807         (s390_output_constant_pool): Likewise.
11808
11809         (legitimize_pic_address): Use regs_ever_live to track PIC register
11810         instead of current_function_uses_pic_offset_table.
11811         (s390_emit_prologue): Likewise.
11812         config/s390/s390.md ("call", "call_value"): Likewise.
11813
11814 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
11815
11816         * c-opts.c (find_opt): Don't complain about wrong languages
11817         here.  Return exact matches even for wrong language.
11818         (c_common_decode_option): Complain about wrong languages
11819         here.
11820
11821 2002-08-24  Stuart Hastings  <stuart@apple.com>
11822
11823         * function.h (struct function): Add flag
11824         all_throwers_are_sibcalls.
11825         * except.c (set_nothrow_function_flags): Replaces
11826         nothrow_function_p. Set new flag.
11827         * except.h (set_nothrow_function_flags): Replaces
11828         nothrow_function_p.
11829         * dwarf2out.c (struct dw_fde_struct): Add flag
11830         all_throwers_are_sibcalls.
11831         (output_call_frame_info): Test it.
11832         (dwarf2out_begin_prologue) Propagate it from cfun to
11833         dw_fde_struct.
11834         * toplev.c (rest_of_compilation): Update calls to
11835         nothrow_function_p.
11836
11837 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
11838
11839         * ggc-page.c (compute_inverse): Short circuit calculation for
11840         object sizes larger than half a page.
11841
11842 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
11843
11844         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
11845         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
11846         default.
11847         (rs6000_elf_unique_section): Likewise.
11848
11849 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11850
11851         * ns32k.c (ns32k_globalize_label): Delete.
11852         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
11853
11854 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
11855
11856         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
11857         for loading delta with num_insns_constant_wide.  Calculate
11858         delta_low, delta_high without using a conditional.
11859
11860 2002-08-22  Jason Merrill  <jason@redhat.com>
11861
11862         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
11863         * c-common.def: Adjust.
11864         * c-dump.c (c_dump_tree): Adjust.
11865         * c-semantics.c (genrtl_return_stmt): Adjust.
11866         * c-pretty-print.c (pp_c_statement): Adjust.
11867         * tree-inline.c (copy_body_r): Adjust.
11868
11869 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
11870
11871         * ggc-page.c: Avoid division in ggc_set_mark.
11872         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
11873         compute_inverse): New.
11874         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
11875         (init_ggc): Initialize inverse_table.
11876
11877 2002-08-22  Tom Tromey  <tromey@redhat.com>
11878
11879         * doc/install.texi (Configuration): Document --datadir.
11880
11881 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
11882
11883         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
11884
11885 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
11886
11887         * gengtype-lex.l (ID): Allow underscore as first character.
11888
11889 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
11890
11891         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
11892         function.
11893         (rs6000_xcoff_asm_named_section): Rename.
11894         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11895
11896 2002-08-21  Tom Tromey  <tromey@redhat.com>
11897
11898         For PR java/6005 and PR java/7611:
11899         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
11900         (fold): Likewise.
11901         * langhooks.c (lhd_can_use_bit_fields_p): New function.
11902         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
11903         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
11904         (LANG_HOOKS_INITIALIZER): Use it.
11905         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
11906         field.
11907
11908 2002-08-21  Stan Shebs  <shebs@apple.com>
11909
11910         * tree.c (finish_vector_type): Fix a typo in a comment.
11911         * Makefile.in: Fix "the the" stutters in comments.
11912         * genautomata.c: Ditto.
11913         * ifcvt.c: Ditto.
11914         * regrename.c: Ditto.
11915         * config/alpha/alpha.c: Ditto.
11916         * config/alpha/vms-crt0-64.c: Ditto.
11917         * config/alpha/vms-crt0.c: Ditto.
11918         * config/alpha/vms-psxcrt0-64.c: Ditto.
11919         * config/alpha/vms-psxcrt0.c: Ditto.
11920         * config/d30v/d30v.h: Ditto.
11921         * config/fr30/fr30.h: Ditto.
11922         * config/rs6000/rs6000.c: Ditto.
11923         * config/stormy16/stormy16.h: Ditto.
11924         * doc/md.texi: Ditto.
11925
11926 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11927
11928         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
11929
11930 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
11931
11932         * c-decl.c (grokdeclarator): Make invalid combinations with long,
11933         short, signed or unsigned into hard errors.  Fixes PR c/4319.
11934         Also make duplicate modifiers such as "short short" into hard
11935         errors.
11936
11937 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
11938             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11939
11940         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
11941         to the actual end.  Add '@end table' and '@table @code'.
11942
11943 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
11944
11945         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
11946
11947         * unroll.c (biv_total_increment): Don't try to compute the total
11948         increment for FP BIVs.
11949
11950 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11951
11952         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
11953         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
11954         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11955         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
11956         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
11957         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
11958         (GLOBAL_ASM_OP): Define.
11959         * arm.c (aof_globalize_label): New function.
11960         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
11961         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11962         * c4x.c (c4x_globalize_label): New function.
11963         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
11964         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
11965         (GLOBAL_ASM_OP): Define.
11966         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11967         * darwin-protos.h (darwin_globalize_label): Declare.
11968         * darwin.c (darwin_globalize_label): New function.
11969         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
11970         (ASM_GLOBALIZE_LABEL): Delete.
11971         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
11972         * dsp16xx.c (asm_output_common): Use target hook.
11973         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
11974         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
11975         (GLOBAL_ASM_OP): Define.
11976         * i370.c (i370_globalize_label): New function.
11977         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
11978         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
11979         * i386.c (ix86_asm_file_end): Use target hook.
11980         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
11981         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11982         * ia64.c (ia64_asm_output_external): Likewise.
11983         * ia64/sysv4.h: Update comment.
11984         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11985         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11986         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
11987         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11988         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
11989         * mmix-protos.h (mmix_asm_globalize_label): Delete.
11990         * mmix.c (mmix_asm_globalize_label): Likewise.
11991         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
11992         (GLOBAL_ASM_OP): Define.
11993         * ns32k.c (ns32k_globalize_label): New function.
11994         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
11995         (ASM_GLOBALIZE_LABEL): Delete.
11996         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
11997         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
11998         * pa.c (pa_globalize_label): New function.
11999         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12000         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12001         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12002         (GLOBAL_ASM_OP): Define.
12003         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12004         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12005         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12006         (GLOBAL_ASM_OP): Define.
12007         * v850.c (v850_output_aligned_bss): Use target hook.
12008         * vax.c (vms_globalize_label): New function.
12009         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12010         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12011         (GLOBAL_ASM_OP): Define.
12012         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12013         * doc/tm.texi: Update docs.
12014         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12015         target hook.
12016         * final.c (output_alternate_entry_point): Likewise.
12017         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12018         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12019         * output.h (assemble_global): Delete.
12020         (default_globalize_label): Declare.
12021         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12022         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12023         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12024         * target.h (gcc_target): Add globalize_label member.
12025         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12026         globalize_decl): Use target hook.
12027         (assemble_global): Delete.
12028         (default_globalize_label): New function.
12029
12030 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12031
12032         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12033
12034 2002-08-20  Devang Patel  <dpatel@apple.com>
12035         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12036
12037 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12038
12039         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12040         * arm.c (thumb_output_function_prologue): Likewise.
12041         * avr.c (print_operand): Likewise.
12042         * c4x.c (c4x_print_operand): Likewise.
12043         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12044         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12045         * cris.c (cris_target_asm_function_prologue,
12046         cris_asm_output_mi_thunk): Likewise.
12047         * h8300.c (print_operand): Likewise.
12048         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12049         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12050         * m68hc11.c (asm_print_register, print_operand,
12051         print_operand_address): Use stdio instead of asm_fprintf.
12052         (print_operand_address): Fix format specifier.
12053         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12054         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12055         asm_fprintf.
12056         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12057         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12058         * m68k.c (m68k_output_function_prologue,
12059         m68k_output_function_epilogue, print_operand): Likewise.
12060         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12061         Likewise.  Fix format specifier.
12062         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12063         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12064         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12065
12066 2002-08-15  Eric Christopher  <echristo@redhat.com>
12067             Jeff Knaggs  <jknaggs@redhat.com>
12068
12069         * config.gcc (mipsisa64sr71k-elf): New target.
12070         * config/mips/sr71k.md: New file.
12071         * config/mips/mips.md: Use it.
12072         (rot*): Add sr71k specifics.
12073         * config/mips/t-sr71k: New file.
12074         * config/mips/mips.h (sr71k): New cpu.
12075         (TARGET_SR71K): Use it.
12076         (TUNE_SR71K): Ditto.
12077         (GENERATE_BRANCHLIKELY): Ditto.
12078         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12079         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12080         * config/mips/mips.c (sr71k): New cpu.
12081         (mips_use_dfa_pipeline_interface): Use.
12082
12083 2002-08-15  Eric Christopher  <echristo@redhat.com>
12084             Richard Sandiford <rsandifo@redhat.com>
12085             Aldy Hernandez  <aldyh@redhat.com>
12086             Graham Stott    <grahams@redhat.com>
12087             Michael Meissner  <meissner@redhat.com>
12088             Gavin Romig-Koch  <gavin@redhat.com>
12089             Ken Raeburn  <raeburn@cygnus.com>
12090             Alexandre Oliva <aoliva@redhat.com>
12091
12092         * config.gcc (mips64vr-elf): New target.
12093         * config/mips/5400.md: New file.
12094         * config/mips/5500.md: Ditto.
12095         * config/mips/mips.md: Use them.
12096         (frsqrt): New.
12097         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12098         cpus.
12099         (mips_issue_rate): Use them.
12100         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12101         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12102         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12103         cpus.
12104         (TARGET_MIPSx): Use them.
12105         (TUNE_MIPSx): Ditto.
12106         (GETNATE_MULT3_SI): Ditto.
12107         (ISA_HAS_BRANCHLIKELY): Ditto.
12108         (ISA_HAS_CONDMOVE): Ditto.
12109         (ISA_HAS_NMADD_NMSUB): Ditto.
12110         (ISA_HAS_MULHI): New. Ditto.
12111         (ISA_HAS_MULS): Ditto.
12112         (ISA_HAS_MSAC): Ditto.
12113         (ISA_HAS_MACC): Ditto.
12114         (ISA_HAS_ROTR_SI): Ditto.
12115         (ISA_HAS_ROTR_DI): Ditto.
12116         (RTX_COSTS): Use.
12117
12118 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12119
12120         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12121         at head.
12122         (remove_dup_nonsys_dirs): New function.
12123         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12124         (merge_include_chains): Remove non-system include directories from
12125         quote and bracket include chains when they duplicate equivalent system
12126         directories.
12127         * doc/cpp.texi (-I): Update.
12128         * doc/cppopts.texi (-I): Update.
12129         * doc/install.texi (--with-local-prefix): Further document usage of
12130         this option.
12131         * doc/invoke.texi (-I): Update.
12132
12133 2002-08-20  Richard Henderson  <rth@redhat.com>
12134
12135         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12136         (emit_block_move): Split out subroutines.
12137         (emit_block_move_via_movstr): New.
12138         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12139         (emit_block_move_libcall_fn): New.  Construct function prototype for
12140         bcopy as well.
12141         (clear_storage): Split out subroutines.
12142         (clear_storage_via_clrstr): New.
12143         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12144         (clear_storage_libcall_fn): New.  Construct function prototype for
12145         bzero as well.
12146         (emit_push_insn): Use emit_block_move.
12147         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12148         (store_constructor): Likewise.
12149
12150 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12151
12152         * objc/objc-act.c (building_objc_message_expr): Rename to
12153         current_objc_message_selector.
12154
12155 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12156
12157         * objc/objc-act.c (build_ivar_chain): Remove.
12158         (objc_copy_list): Likewise.
12159         (get_class_ivars): Inline call to removed build_ivar_chain
12160         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12161         slot; use that slot (rather than CLASS_IVARS) when accessing
12162         ivars for base classes.  Call copy_list and chainon instead of
12163         objc_copy_list.
12164         (build_private_template): Call get_class_ivars instead of
12165         build_ivar_chain.
12166         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12167         (continue_class): Call get_class_ivars instead of
12168         build_ivar_chain.
12169         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12170         of DECL_BIT_FIELD (which may have been cleared).
12171         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12172
12173 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12174
12175         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12176         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12177         in output file.
12178         (output_internal_min_issue_delay_func): Initialize variable in
12179         output file.
12180
12181 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12182
12183         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12184         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12185
12186 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12187             Steve Ellcey  <sje@cup.hp.com>
12188
12189         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12190         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12191         * explow.c (trunc_int_for_mode): Abort when the mode is not
12192         a scaler integer mode.
12193         * combine.c (expand_compound_operation): Don't expand Vector
12194         or Complex modes into shifts.
12195         (expand_field_assignment): Don't do bitwise arithmatic and
12196         shifts on Vector or Complex modes.
12197         (simplify_comparison): Don't call trunc_int_for_mode
12198         for VOIDmode.
12199         * recog.c (general_operand): Likewise.
12200         (immediate_operand): Likewise.
12201         (nonmemory_operand): Likewise.
12202
12203 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12204
12205         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12206         multi-instruction SImode constant.  Add REG_EQUAL note.
12207         * config/rs6000/rs6000.md (movsi splitter): Use
12208         rs6000_emit_set_const.
12209
12210 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12211
12212         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12213         the macro test controlling its use.
12214
12215 2002-08-18  H.J. Lu  (hjl@gnu.org)
12216
12217         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12218         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12219         gnu_ld=yes.
12220         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12221         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12222         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12223         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12224         here.
12225         (cris-*-linux*): Remove setting thread_file here.
12226
12227 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12228
12229         PR preprocessor/7602
12230         * cppinit.c (path_include): Treat the system environment
12231         variables as being cxx_aware.
12232
12233 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12234
12235         * c-decl.c (flexible_array_type_p): New function.
12236         (grokdeclarator, finish_struct): Use it.
12237         * doc/extend.texi: Document constraints on use of structures with
12238         flexible array members.
12239
12240 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12241
12242         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12243         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12244         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12245
12246 2002-08-16  Stan Shebs  <shebs@apple.com>
12247
12248         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12249         for ObjC with -fnext-runtime.
12250         * doc/cpp.texi: Document it.
12251
12252 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12253
12254         * doc/install.texi (Final installation): Replace links to individual
12255         build status pages with a link to a common page that lists them all.
12256
12257 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12258
12259         * doc/invoke.texi: Fix typo.
12260
12261 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12262
12263         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12264
12265 2002-08-16  Andrew Haley  <aph@redhat.com>
12266
12267         * tree-inline.c: Add includes for Java inliner.
12268         (remap_decl): Don't handle anonymous types for Java.
12269         (remap_block): Add handling for Java trees.
12270         (copy_scope_stmt): Conditionalize for non-Java use only.
12271         (copy_body_r): Handle Java trees.  Add handling for
12272         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12273         (initialize_inlined_parameters):  Handle Java trees.
12274         (declare_return_variable): Likewise.
12275         (expand_call_inline): Handle Java trees.
12276         (walk_tree): Likewise.
12277         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12278         (add_stmt_to_compound): New function.
12279
12280 2002-08-15  Richard Henderson  <rth@redhat.com>
12281
12282         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12283         (NOCOMMON_FLAG): New substitution point.
12284         (GCC_WARN_CFLAGS): Include it.
12285         * configure.in (ac_checking): Set nocommon_flag.
12286         (nocommon_flag): New substitution point.
12287
12288 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12289
12290         * c-tree.h (skip_evaluation): Move declaration...
12291         * c-common.h: ... here.
12292         * c-typeck.c (build_external_ref): Don't assemble_external nor
12293         mark a tree as used if skip_evaluation is set.
12294         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12295         around TYPEOF.
12296         (typespec_nonreserved_nonattr): Use it.
12297
12298 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12299
12300         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12301         (xcoff_debug_hooks): Update end_prologue.
12302         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12303         * debug.h (end_prologue): Add file arg.
12304         (end_epilogue): Add line and file args.
12305         (dwarf2out_end_epilogue): Add line and file args.
12306         (vmsdbgout_after_prologue): Remove.
12307         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12308         (dwarf2_debug_hooks): Update end_prologue.
12309         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12310         (dwarfout_end_prologue): Add file arg.
12311         * final.c (vmsdbgout_after_prologue): Remove
12312         (final_end_function): Update end_epilogue call.
12313         (final_scan_insn): Update end_prologue call.
12314         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12315         (sdbout_end_prologue): Add file arg.
12316         (sdb_debug_hooks): Update end_prologue.
12317         (sdb_begin_prologue): Update sdbout_end_prologue call.
12318         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12319         vmsdbgout_end_function.
12320         (vmsdbgout_end_prologue): New function renamed from
12321         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12322         (vmsdbgout_end_function): New function.
12323         (vmsdbgout_end_epilogue): Add line and file args. Call
12324         vmsdbgout_source_line.
12325         (write_pclines): Write only valid line numbers.
12326         (write_srccorr): Don't write source correlation records if 0 lines.
12327         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12328
12329 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12330
12331         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12332         (_Unwind_Internal_Ptr): 32 bit version for use in
12333         read_encoded_value_with_base.
12334         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12335         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12336         right size.
12337
12338 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12339
12340         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12341         signed/unsigned warnings.
12342
12343         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12344         record_reg_classes): Likewise.
12345
12346         * reload.c (reload_inner_reg_of_subreg, push_reload,
12347         find_reloads_address_1): Likewise.
12348
12349 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12350
12351         * rs6000.c (output_mi_thunk): Return to function section on
12352         TARGET_ELF.
12353
12354         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12355
12356 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12357
12358         * config/s390/s390.c (legitimize_address): Optimize loading
12359         of large displacements.
12360
12361 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12362
12363         * config/alpha/alpha-protos.h: Update.
12364
12365         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12366         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12367         (alpha_linkage_symbol_p): New static function.
12368         (print_operand_address): Print linkage operand.
12369
12370         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12371         variables.
12372         (reloc_kind): New enum.
12373         (struct alpha_funcs): New struct.
12374         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12375
12376         (alpha_need_linkage): Rewrite.
12377         (alpha_use_linkage): New global function.
12378         (alpha_write_linkage): Rewrite and make static.
12379         (alpha_write_one_linkage): Rewrite
12380
12381         (alpha_start_function): Remove procedure descriptor output.
12382         (alpha_end_function): Write linkages at end of each function.
12383
12384         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12385         (call_vms_1, call_value_vms_1): Rewrite.
12386
12387         * config/alpha/vms.h (ASM_FILE_END): Remove.
12388
12389 2002-08-14  Richard Henderson  <rth@redhat.com>
12390
12391         * ggc-page.c (RTL_SIZE): New.
12392         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12393         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12394
12395 2002-08-14  Richard Henderson  <rth@redhat.com>
12396
12397         * calls.c: Include target.h.
12398         * Makefile.in (calls.o): Update.
12399
12400         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12401         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12402
12403 2002-08-14  Richard Henderson  <rth@redhat.com>
12404
12405         * Makefile.in (LOOSE_WARN): Add -fno-common.
12406         * c-common.h (constant_string_class_name): Add missing extern.
12407
12408 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12409
12410         PR preprocessor/7358
12411         * c-opts.c (check_deps_environment_vars): Ignore main file
12412         for SUNPRO_DEPENDENCIES.
12413         * cppfiles.c (stack_include_file): Ignore main file if
12414         appropriate.
12415         * cpplib.h (struct cpp_options): New member in deps.
12416         * doc/cppenv.texi: Update.
12417
12418 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12419
12420         PR preprocessor/7526
12421         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12422
12423 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12424
12425         * doc/invoke.texi (-a): Remove documentation.
12426         (-fprofile-arcs): Remove reference to -a, -ax options.
12427         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12428
12429 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12430
12431         Fix PR/7566
12432         * c-semantics.c (genrtl_case_label): Don't (mis)use
12433         warning_with_decl.
12434
12435 2002-08-14  Dale Johannesen  <dalej@apple.com>
12436
12437         * explow.c (emit_stack_restore):  Emit memory clobbers
12438         preceding the stack pop, to prevent the scheduler from
12439         moving refs to variable arrays below this pop.
12440         * reload1.c (reload):  Preserve these clobbers for sched2.
12441         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12442
12443 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12444
12445         * c-opts.c (c_common_post_options): Correct test.
12446
12447 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12448
12449         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12450         order in call to fprintf.
12451
12452 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12453
12454         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12455
12456 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12457
12458         * reload.c (find_reloads): Handle constraint letters marked by
12459         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12460         (alternative_allows_memconst): Likewise.
12461         * reload1.c (maybe_fix_stack_asms): Likewise.
12462         * recog.c (asm_operand_ok, preprocess_constraints,
12463         constrain_operands): Likewise.
12464         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12465         * local-alloc.c (block_alloc, requires_inout): Likewise.
12466         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12467
12468         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12469         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12470         * doc/tm.texi: Document these two new target macros.
12471
12472         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12473         valid operands.
12474         (q_constraint): New function.
12475         config/s390/s390-protos.h (q_constraint): Declare it.
12476         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12477         (EXTRA_MEMORY_CONSTRAINT): New macro.
12478
12479         * config/s390/s390.md: Throughout the machine description,
12480         replace all instances of the constraint combinations 'Qo'
12481         or 'oQ' with simply 'Q'.
12482
12483 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12484
12485         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12486         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12487         (LIBGCC2_CFLAGS): Compile with -mrelax.
12488
12489 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12490
12491         * doc/invoke.texi: Document -minmax for 68HC12.
12492
12493         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12494         ("uminqi3"): Likewise.
12495         ("uminhi3", "umaxhi3"): Likewise.
12496
12497         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12498         (TARGET_MIN_MAX): Define.
12499         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12500
12501 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12502
12503         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12504         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12505
12506         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12507         (ret, declare, farsym): New gas macros.
12508         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12509         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12510         and declare the symbol far when compiled with -mlong-calls.
12511         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12512         far handler using jsr/bsr.
12513
12514         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12515         (jsr): New macro to transform a 'jsr' into a 'call'.
12516
12517 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12518
12519         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12520
12521         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12522         -mlong-calls is specified.
12523         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12524         assembler directives.
12525         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12526         (TARGET_SWITCHES): Add -mlong-calls options.
12527         (current_function_far): Declare.
12528
12529         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12530         into account the page register saved on the stack.
12531         (m68hc11_override_options): Take into account -mlong-calls option.
12532         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12533
12534         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12535         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12536         ("*return_16bit"): Likewise.
12537         ("*return_void"): Likewise.
12538         ("call", "call_value"): Use call for a far function call.
12539
12540 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12541
12542         * toplev.c (parse_options_and_default_flags): Don't call
12543         post_options here.
12544         (general_init): Initialize GC, pools and tree hash here,
12545         instead of lang_independent_init.
12546         (lang_independent_init): Rename backend_init.
12547         (do_compile): Call post_options hook; exit early if there
12548         have been errors after switch processing.
12549         (toplev_main): Update.
12550
12551 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12552
12553         * c-pretty-print.h: Guard against multiple inclusion.
12554         Robustify macros.
12555         (pp_c_attributes): Declare.
12556         * c-pretty-print.c (pp_c_attributes): New function.
12557
12558 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12559
12560         * m68k.c (m68k_output_function_prologue,
12561         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12562         and NEWS/MOTOROLA.
12563         * genattrtab.c: Remove dpx2 comment.
12564         * libgcc2.c (__enable_execute_stack): Delete versions for
12565         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12566         sony_news/SYSTYPE_BSD.
12567         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12568         __gmicro__, __i860__, __NeXT__ and __pyr__.
12569         * rtl.h: Remove convex comment.
12570         * varasm.c: Likewise.
12571
12572 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12573
12574         * c-opts.c (lang_flags): Const-ify.
12575         * ra-build.c (undef_table): Likewise.
12576         * ra.c (eliminables): Likewise.
12577
12578 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12579
12580         * tree.h: Guard against multiple inclusion.
12581
12582 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12583
12584         * reload1.c (reload_cse_simplify): Before checking
12585         REG_FUNCTION_VALUE_P, check REG_P.
12586
12587 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12588
12589         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12590
12591 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12592
12593         * c-opts.c (c_common_init_options): Extra braces needed.
12594
12595 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12596
12597         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12598         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12599         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12600         (sh_expand_binop_v2sf): Likewise.
12601         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12602         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12603         (sh_initialize_trampoline): Likewise.
12604
12605 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12606
12607         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12608         new condition code modes.
12609         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12610         (s390_select_ccmode): Likewise.
12611         (s390_branch_condition_mask): Likewise.
12612
12613         * s390-protos.h (s390_tm_ccmode): Declare.
12614         s390.c (s390_tm_ccmode): New function.
12615         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12616
12617         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12618         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12619         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12620
12621         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12622         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12623         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12624         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12625         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12626
12627         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12628         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12629         "*cmpqi_ccs_0"): Remove, replace by ...
12630         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12631         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12632         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12633
12634         ("*cmpsidi_ccs"): Remove, replace by ...
12635         ("*cmpsi_ccs_sign"): ... this new pattern.
12636         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12637
12638         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12639         ("*cli"): ... this new pattern.
12640
12641         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12642         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12643         New patterns.
12644         ("adddi3_64"): Rename to "*adddi3_64".
12645         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12646         ("adddi3"): Adapt expander.
12647
12648         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12649         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12650         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12651
12652         ("addhi3", "addqi3"): Remove, replace by ...
12653         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12654
12655         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12656         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12657         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12658         ("subdi3"): New expander.
12659
12660         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12661
12662         ("subhi3", "subqi3"): Remove, replace by ...
12663         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12664
12665         ("*muldi3_sign"): New pattern.
12666         ("muldi3"): Do not clobber CC.
12667         ("mulsi3"): Likewise.
12668         ("mulsi_6432"): Likewise.
12669
12670 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12671
12672         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12673         which can change CC0.
12674
12675 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12676
12677         * gcse.c (adjust_libcall_notes): New function.
12678         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12679
12680 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12681
12682         * libgcc2.c (L_bb): Remove unneeded #includes.
12683         (__global_counters, __gthreads_active): Remove unused globals.
12684         (__bb_exit_func): Merge counts into files rather than appending.
12685         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12686         (ALL_CFLAGS): ... to here.
12687
12688 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12689
12690         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12691         (function_epilogue): Don't calculate function size.
12692         (ip2k_set_compare): Don't use lookup_const_double.
12693         (asm_file_start): Initialization of commands_in_file removed.
12694         (asm_file_end): Output of commands_in_file removed.
12695
12696         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12697         __INT_MAX__.
12698
12699 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12700
12701         * c-opts.c (c_common_init_options): Check option array is
12702         sorted if checking enabled.
12703
12704 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12705
12706         * c-pretty-print.c: #include "c-tree.h".
12707         (pp_c_simple_type_specifier): Tweak.
12708         (pp_c_storage_class_specifier): New.
12709         (pp_c_function_specifier): Likewise.
12710         (pp_c_declaration_specifiers): Likewise.
12711         (pp_c_init_declarator): Likewise.
12712         (pp_c_declaration): Likewise.
12713         (pp_c_direct_declarator): Stub.
12714         (pp_c_declarator): Likewise.
12715         (pp_c_parameter_declaration): Likewise.
12716
12717 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12718
12719         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12720         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12721         struct deferred_opt): New.
12722         (COMMAND_LINE_OPTIONS): Add -M*.
12723         (missing_arg): Update.
12724         (c_common_decode_option): Handle -M*.
12725         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12726         don't call cpp_post_options.
12727         (c_common_finish, check_deps_environment_vars): Update.
12728         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12729         * cpphash.h (CPP_PRINT_DEPS): Remove.
12730         * cppinit.c: Don't include version.h.
12731         (cpp_create_reader): Don't call deps_init.  Initialize
12732         warn_long_long.
12733         (cpp_read_main_file): Init deps if necessary.
12734         (cpp_destroy): Conditionally free deps.
12735         (cpp_finish): Update.
12736         (no_tgt): Remove.
12737         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12738         (cpp_post_options): Rename post_options.
12739         * cpplib.h (struct cpp_options): Remove some dependency options;
12740         move others to a new structure.
12741         (cpp_post_options): Remove.
12742         (cpp_finish): Comment.
12743         * fix-header.c (read_scan_file): Don't call cpp_post_options.
12744
12745 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12746
12747         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12748         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12749         MMIX_rR_REGNUM as clobbered.
12750         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12751
12752 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
12753
12754         * diagnostic.h (output_formatted_scalar): Rename from
12755         output_formatted_integer.
12756         * diagnostic.def: Add DK_DEBUG.
12757         * diagnostic.c (output_decimal): Adjust.
12758         (output_long_decimal): Likewise.
12759         (output_unsigned_decimal): Likewise.
12760         (output_octal): Likewise.
12761         (output_long_octal): Likewise.
12762         (output_hexadecimal): Likewise.
12763         (output_long_hexadecimal): Likewise.
12764         * c-pretty-print.c (pp_c_type_specifier): New function.
12765         (pp_c_specifier_qualifier_list): Likewise.
12766         (pp_c_abstract_declarator): Likewise.
12767         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12768
12769 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
12770
12771         * doc/trouble.texi (Disappointments): Add static constructor and
12772         destructor dependency information for AIX.
12773
12774 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12775
12776         * cpphash.h (struct printer): New from cppmain.c.
12777         (cpp_reader): New member.
12778         * cppmain.c (struct printer): Move to cpphash.h.
12779         (options, print): Remove.
12780         (account_for_newlines, print_line, maybe_print_line,
12781         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12782         scan_translation_unit_trad, cb_line_change, cb_ident,
12783         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12784         cb_def_pragma): Make reentrant.
12785
12786 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12787
12788         * real.c (ieee_64): Always define.
12789         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12790         (dec_h): Not used yet, hide it.
12791         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
12792         macro controlling use.
12793         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12794
12795 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12796
12797         * i386.md (tablejump): Sign extend the operand.
12798         * i386.c (classify_argument): Fix missed case from previous patch.
12799
12800 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12801
12802         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12803         to c-copts.c.
12804         (warn_multichar): Die.
12805         (cb_register_builtins): Export.
12806         * c-common.h (warn_multichar, preprocess_file): Remove.
12807         (cb_register_builtins): New.
12808         * c-lang.c (c_init): Remove.
12809         (LANG_HOOKS_INIT): Use c_objc_common_init.
12810         * c-lex.c (init_c_lex): Don't canonicalize filename.
12811         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12812         (preprocess_file): Make static.  Update for cpplib.
12813         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
12814         (c_common_post_options): Set some cpp options here.
12815         (c_common_init): Move from c-common.c.
12816         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12817         * cpplib.h (struct cpp_options): Remove in_fname.
12818         (cpp_preprocess_file): Update.
12819         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12820
12821 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12822
12823         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12824
12825 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12826
12827         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
12828         backslash in comment preceeding macro definition.
12829         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
12830         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
12831         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
12832
12833 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12834
12835         * expr.c (store_expr): In condition for checking if value is
12836         generated in TARGET, move call to expr_size last.
12837
12838 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12839
12840         * c-common.c (c_common_init): Call preprocess_file instead.
12841         (c_common_finish): Move to c-opts.c.
12842         * c-common.h (preprocess_file): new.
12843         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
12844         check_deps_environment_vars, c_common_finish): New.
12845         (c_common_decode_option): Update for out_fname and dependencies.
12846         * cppinit.c (init_dependency_output, output_deps): Remove.
12847         (cpp_destroy): Update prototype.
12848         (cpp_add_dependency_target): New.
12849         (cpp_read_main_file): Don't overlay a buffer.
12850         (cpp_finish): Take a deps output stream and write deps to it.
12851         Return the error count.
12852         (cpp_post_options): Don't canonicalize out_fname, or do anything
12853         with dependencies.
12854         * cpplib.h (struct cpp_options): Remove out_fname and
12855         preprocess_only.
12856         (cpp_add_dependency_target): New.
12857         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
12858         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
12859         set preprocess_only.  Don't handle the output stream directly.
12860
12861 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12862
12863         * dsp16xx.c (print_operand): Fix format specifier.
12864         * dsp16xx.md: Avoid automatic aggregate initialization.
12865         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
12866         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
12867         integer constant modifier.
12868         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
12869         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
12870         guards.
12871         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
12872         * v850.c (v850_select_section): Mark parameter with
12873         ATTRIBUTE_UNUSED.
12874         * global.c (global_alloc): Const-ify.
12875         * ra-colorize.c (hardregset_to_string): Fix format specifier.
12876
12877 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12878
12879         * darwin-c.c (darwin_pragma_options): Const-ify.
12880         * darwin.c (machopic_non_lazy_ptr_name,
12881         machopic_validate_stub_or_non_lazy_ptr): Likewise.
12882         (machopic_indirect_data_reference): Wrap variables in macros
12883         controlling their use.
12884         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
12885         (machopic_select_section): Use parentheses around && within ||.
12886         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
12887
12888 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12889
12890         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
12891         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
12892         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
12893         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
12894         mdr_try_remove_redundant_insns, track_w_reload,
12895         mdr_try_wreg_elim): Make function static to match prototype.
12896         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
12897         parameter with ATTRIBUTE_UNUSED.
12898
12899 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12900
12901         * arc.c (arc_init): Don't use ISO C style function definitions.
12902         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
12903         arm_get_strip_length, arm_strip_name_encoding): Likewise.
12904         * avr.h (progmem_section): Likewise.
12905         * h8300.c h8300_asm_insn_count): Likewise.
12906         * m32r.c (init_idents): Likewise.
12907         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
12908         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
12909         * xtensa.c (xtensa_build_va_list): Likewise.
12910
12911 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12912
12913         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
12914         * c-opts.c (parse_option): Rename find_opt.
12915         (set_std_c99): New function.
12916         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
12917         (missing_arg): Remove OPT_std_bad.  Handle -o.
12918         (c_common_decode_option): Handle input and output file names,
12919         -o and -remap.  Clean up -std= handling.
12920         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
12921         (cpp_handle_option): Similarly.  Don't handle filenames.
12922
12923 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
12924
12925         * i386.c (classify_argument): Fix computing of field's offsets.
12926
12927 2002-08-11  Andreas Jaeger  <aj@suse.de>
12928
12929         PR target/7531:
12930         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
12931
12932 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
12933
12934         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
12935         reference to clk_objective_c with flag_objc.
12936         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
12937         Likewise.
12938         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12939
12940 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
12941
12942         * c-opts.c (set_std_cxx98, set_std_c89): New.
12943         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12944         (c_common_decode_option): Handle new switches from cppinit.c.
12945         Add -std=gnu++98.
12946         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
12947         (no_arg, no_num): Remove.
12948         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
12949         switches apart from -lang-objc and lang-asm.
12950         (cpp_handle_option): Similarly.
12951         * cpplib.h (cpp_set_lang): New.
12952         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
12953         -std=gnu++98.
12954         * objc/lang-specs.h: Remove -ansi.
12955
12956 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
12957                                Graham Stott
12958
12959         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
12960         errors.
12961
12962 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12963
12964         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
12965         emit_jump_insn): Fix uninitialized variable.
12966         * gcov.c (init_line_info): Likewise.
12967         * genautomata.c (transform_3): Add braces around ambiguous
12968         else.
12969         * ifcvt.c (cond_exec_process_insns): Mark parameter with
12970         ATTRIBUTE_UNUSED.
12971         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
12972         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
12973         variable.
12974
12975         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
12976         warnings in output files.
12977
12978 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
12979
12980         * c-common.c (flag_objc): New.
12981         * c-common.h (c_language_kind): Get rid of clk_objective_c
12982         enum value.
12983         (flag_objc): New extern declaration.
12984         * c-decl.c (implicitly_declare): Call objc_check_decl
12985         instead of maybe_objc_check_decl.
12986         (finish_decl): Likewise.
12987         (grokfield): Likewise.
12988         (finish_struct): Likewise.
12989         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
12990         (maybe_objc_comptypes): Rename to objc_comptypes.
12991         (maybe_building_objc_message_expr): Rename to
12992         objc_message_selector.
12993         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
12994         replace with flag_objc as needed.
12995         * c-opts.c (c_common_init_options): Likewise.
12996         (c_common_decode_option): Likewise.
12997         * c-parse.in (init_reswords): Likewise.
12998         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
12999         (maybe_objc_comptypes): Rename to objc_comptypes.
13000         (maybe_building_objc_message_expr): Rename to
13001         objc_message_selector.
13002         * c-typeck.c (comptypes): Call objc_comptypes instead of
13003         maybe_objc_comptypes, and/or objc_message_selector instead of
13004         maybe_building_objc_message_expr.
13005         (comp_target_types): Likewise.
13006         (convert_for_assignment): Likewise.
13007         (warn_for_assignment): Likewise.
13008         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13009         independently of those for other languages.
13010         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13011         (maybe_objc_check_decl): Delete.
13012         (maybe_building_objc_message_expr): Rename to
13013         objc_message_selector.
13014         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13015         clk_objective_c; set flag_objc flag.
13016
13017 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13018
13019         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13020
13021 2002-08-09  Dale Johannesen  <dalej@apple.com>
13022
13023         * config/rs6000/rs6000.md: Add sibcall patterns.
13024         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13025         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13026         Rewritten to handle sibcalls.
13027         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13028         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13029
13030 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13031
13032         * profile.c (da_file_name): New static var.
13033         (init_branch_prob): Initialize it.
13034         (end_branch_prob): Remove da file.
13035
13036         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13037         * configure.in (coverage_flags): Default to nothing.
13038         * configure: Rebuilt.
13039
13040 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13041
13042         * Makefile.in (c-opts.o): Update
13043         * c-opts.c: Include intl.h.
13044         (print_help): Move from cppinit.c.  Remove unused options.
13045         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13046         (missing_arg): Complain for switches without an argument.
13047         (c_common_decode_option): Reject missing joined arguments.
13048         Handle new switches from cppinit.c.
13049         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13050         (cpp_handle_option): Similarly.
13051         (print_help): Moved to c-opts.c.
13052         * cpplib.h (struct cpp_options): Remove help_only.
13053         * gcc.c (cpp_unique_options): Remove -$.
13054         * doc/cppopts.texi: Undocument -h.
13055
13056 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13057
13058         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13059         legitimate constant.
13060         (legitimate_pic_operand_p): Neither pic operand.
13061         (legitimate_address_p): But legitimate address.
13062         (get_thread_pointer): Generate MEM/u instead of CONST around
13063         UNSPEC_TP.
13064         (print_operand): Remove printing of UNSPEC_TP.
13065         (print_operand_address): And print it here.
13066
13067 2002-08-08  Devang Patel  <dpatel@apple.com>
13068
13069         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13070         when  -Wselector is used,if method for which selector is being
13071         created does not exist.
13072
13073 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13074
13075         * config/sh/sh.c (prepare_move_operands): Only call
13076         target_reg_operand if TARGET_SHMEDIA.
13077
13078 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13079
13080         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13081         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13082         two patches.
13083         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13084
13085 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13086             Richard Henderson  <rth@redhat.com>
13087
13088         * emit-rtl.c (gen_rtx_REG): After reload, only return
13089         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13090
13091 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13092
13093         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13094         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13095         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13096         macro.
13097
13098 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13099
13100         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13101         register.
13102         (thumb_expand_prologue): Likewise.
13103         (thumb_output_function_prologue): Likewise.
13104         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13105         the additional push of the PIC register.
13106
13107 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13108
13109         * configure.in (enable_coverage): New enable switch.
13110         * configure: Rebuilt.
13111         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13112         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13113         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13114         (mostlyclean): Remove coverage files.
13115         * doc/install.texi: Document enable_coverage.
13116
13117         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13118         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13119         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13120         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13121         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13122         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13123         files.
13124
13125 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13126
13127         * c-opts.c (cpp_opts): New.
13128         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13129         (c_common_decode_options): Handle cpplib switches.
13130         (c_common_init_options): Set cpp_opts.
13131         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13132         (cpp_handle_option): Similarly.
13133
13134 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13135
13136         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13137         (TARGET_ALTIVEC_ABI): Same.
13138         (TARGET_ALTIVEC_VRSAVE): Same.
13139
13140         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13141         icode not CODE_FOR_nothing.  Change switch to if.
13142
13143 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13144
13145         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13146
13147 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13148
13149         * stor-layout.c (place_union_field): For bitfields if
13150         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13151         TYPE_USER_ALIGN.
13152
13153 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13154
13155         * pa.c (struct deferred_plabel): Constify name field.
13156
13157 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13158
13159         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13160
13161 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13162
13163         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13164         local_prefix are the same.
13165         * configure: Rebuilt.
13166
13167 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13168             Richard Henderson  <rth@redhat.com>
13169
13170         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13171         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13172         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13173         (place_field): Likewise.
13174         * config/i386/i386.c (x86_field_alignment): Don't check
13175         DECL_USER_ALIGN here.
13176         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13177         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13178         prototype.
13179         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13180         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13181         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13182         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13183         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13184         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13185
13186 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13187
13188         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13189         * c-common.c: Don't include tree-inline.h.
13190         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13191         * c-common.h (c_common_decode_option): New.
13192         * c-decl.c (c_decode_option): Remove.
13193         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13194         * c-opts.c: New file.
13195         * c-tree.h (c_decode_option): Remove.
13196         * doc/passes.texi: Update.
13197         * objc/objc-act.c (objc_decode_option): Remove.
13198         * objc/objc-act.h (objc_decode_option): Remove.
13199         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13200         c_common_decode_option.
13201
13202 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13203
13204         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13205         dependency on TARGET_DOUBLE_FLOAT.
13206
13207 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13208
13209         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13210         overwrite callee-save registers.  Fix comment.
13211
13212 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13213
13214         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13215         in target_flags based on ISA, if it was not set on the command
13216         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13217         support Branch Likely instructions.
13218         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13219         (TARGET_BRANCHLIKELY): Likewise.
13220         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13221         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13222         ISA_HAS_BRANCHLIKELY.
13223         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13224         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13225         -mno-branch-likely options.
13226
13227 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13228
13229         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13230
13231         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13232         $(GCONFIG_H).
13233
13234 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13235
13236         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13237         declarations.
13238
13239         * testsuite/gcc.dg/tls/diag-3.c: New.
13240
13241 2002-08-06  Dale Johannesen  <dalej@apple.com>
13242
13243         * c-common.c (fname_decl): Use line number 0 for
13244         __func__, to avoid confusing debuggers.
13245
13246 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13247
13248         * gcov.c: Tidy.
13249         (struct line_info, struct coverage): New structures.
13250         (gcov_file_name, gcov_file): Remove globals.
13251         (output_data): Take source file parameter. Fix memory leak. Break
13252         up into ...
13253         (init_line_info, output_line_info, make_gcov_file_name,
13254         accumulate_branch_counts): ... here.
13255         (calculate_branch_probs, function_summary): Adjust.
13256         (main): Adjust.
13257         (function_*): Remove global variables.
13258
13259 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13260
13261         * dwarf2out.c: Remove unused macros.
13262
13263 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13264
13265         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13266
13267 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13268
13269         * cppinit.c (struct lang_flags): Rename trigraphs std.
13270         (set_lang): Update.
13271         * cpplib.h (struct cpp_options): New member std.
13272         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13273         (collect_args): Flag whether to swallow a possible future
13274         comma pasted with varargs.
13275         (replace_args): Use this flag.
13276         * doc/cpp.texi: Update varargs extension documentation.
13277
13278 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13279
13280         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13281
13282 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13283
13284         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13285         and MODE_CLASS_INT modes.
13286
13287 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13288
13289         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13290         --{enable,disable}-threads is given to configure.
13291         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13292         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13293         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13294         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13295         Remove thread_file setting here.
13296
13297 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13298
13299         * doc/install.texi (Binaries): Update Bull Freeware URL.
13300
13301 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13302
13303         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13304
13305 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13306
13307         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13308
13309 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13310
13311         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13312         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13313
13314 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13315
13316         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13317         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13318         drectve_section): Define.
13319         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13320         * config/i386/interix.c: Remove.
13321
13322 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13323
13324         * attribs.c: Don't include obstack.h.
13325         * builtins.c: Likewise.
13326         * cfganal.c: Likewise.
13327         * cfgbuild.c: Likewise.
13328         * cfgcleanup.c: Likewise.
13329         * emit-rtl.c: Likewise.
13330         * loop.c: Likewise.
13331         * stmt.c: Likewise.
13332
13333         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13334
13335 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13336
13337         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13338
13339 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13340
13341         * doc/invoke.texi: Remove duplicated paragraph describing
13342         TARGET_SWITCHES.
13343
13344 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13345
13346         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13347         * collect2.h (permanent_obstack): Delete declaration.
13348         * collect2.c (permanent_obstack): Delete definition.
13349         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13350         * expr.c: Don't include obstack.h.
13351         (permanent_obstack): Delete declaration.
13352         * function.c: Don't include obstack.h.
13353         (permanent_obstack): Delete declaration.
13354         * integrate.c: Don't include obstack.h.
13355         (function_maybepermanent_obstack): Delete declaration.
13356         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13357         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13358         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13359         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13360         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13361         of permalloc, expralloc, perm_calloc.
13362         * tree.c (permanent_obstack): Delete definition.
13363         (init_ttree): Rename from init_obstacks.
13364         (permalloc): Delete.
13365         (perm_calloc): Delete.
13366         (dump_tree_statistics): Don't print information about
13367         permanent_obstack.
13368         * varasm.c (assemble_start_function): Use xstrdup instead of
13369         permalloc/strcpy.
13370         (assemble_variable): Likewise.
13371         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13372         permalloc.
13373         (unicosmk_add_extern): Likewise.
13374         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13375         (c4x_global_label): Likewise.
13376         * config/frv/frv.c (frv_encode_section_info): Likewise.
13377         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13378         (i386_pe_record_exported_symbol): Likewise.
13379         * config/mips/mips.c (mips_output_external): Likewise.
13380         (mips_output_external_libcall): Likewise.
13381         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13382         (output_call): Use ggc_strdup instead of allocating on
13383         permanent_obstack.
13384         * config/romp/romp.c: Include ggc.h.
13385         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13386         intead of permanent_obstack.
13387         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13388         instead of permalloc.
13389         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13390         instead of permalloc
13391         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13392         instead of permalloc.
13393         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13394         permalloc.
13395
13396 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13397
13398         Contribute a port developed primarily by Michael Meissner,
13399         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13400         * config.gcc: Add frv-elf target.
13401         * config/frv/cmovd.c: New file.
13402         * config/frv/cmovh.c: New file.
13403         * config/frv/cmovw.c: New file.
13404         * config/frv/frv-abi.h: New file.
13405         * config/frv/frv-asm.h: New file.
13406         * config/frv/frv-modes.def: New file.
13407         * config/frv/frv-protos.h: New file.
13408         * config/frv/frv.c: New file.
13409         * config/frv/frv.h: New file.
13410         * config/frv/frv.md: New file.
13411         * config/frv/frvbegin.c: New file.
13412         * config/frv/frvend.c: New file.
13413         * config/frv/lib1funcs.asm: New file.
13414         * config/frv/media.h: New file.
13415         * config/frv/modi.c: New file.
13416         * config/frv/t-frv: New file.
13417         * config/frv/uitod.c: New file.
13418         * config/frv/uitof.c: New file.
13419         * config/frv/ulltod.c: New file.
13420         * config/frv/ulltof.c: New file.
13421         * config/frv/umodi.c: New file.
13422         * config/frv/xm-frv.h: New file.
13423
13424         * config/frv/media.h: Removed again.
13425
13426 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13427
13428         * gcov.c (bb_file_time): New static variable.
13429         (object_directory): May also be object file.
13430         (preserve_paths): New static variable.
13431         (print_usage): Adjust.
13432         (options): Adjust.
13433         (process_args): Adjust.
13434         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13435         file. Find modification date on bb file.
13436         (read_profile): Don't rewind a NULL file.
13437         (format_hwint): New static function.
13438         (function_summary): Use format_hwint.
13439         (output_data): SOURCE_FILE_NAME is never relative to
13440         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13441         mangling. Adjust output format to make it more machine readable.
13442         * doc/gcov.texi: Document & clarify semantics.
13443
13444 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13445
13446         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13447
13448 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13449
13450         * gcc.c (cc1_options): Pass output file as auxbase when
13451         appropriate.
13452         * profile.c (init_branch_prob): FILENAME has already had ending
13453         stripped.
13454         * final.c (end_final): Likewise.
13455         * toplev.c (aux_base_name): New global.
13456         (compile_file): Pass aux_base_name to init init_branch_prob and
13457         end_final.
13458         (independent_decode_option, case 'a'): New auxinfo options.
13459         (case 'd'): Protect against mising basename.
13460         (do_compile): Initialize aux_base_name.
13461         * toplev.h (aux_base_name): New global.
13462         * doc/invoke.texi: Adjust documentation.
13463
13464 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13465
13466         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13467         of TARGET_ALIGN_DOUBLE.
13468
13469 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13470
13471         * diagnostic.c (inform): New function.
13472         * diagnostic.h (inform): Declare.
13473
13474 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13475
13476         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13477         (movhi_internal): Same.
13478         (movqi_internal): Same.
13479         (movdi_internal64): Same.
13480
13481         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13482
13483         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13484         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13485         (COMMON_ASM_OP): Define.
13486         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13487         Use ALIGN parameter.
13488         (LOCAL_COMMON_ASM_OP): Define.
13489         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13490
13491 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13492
13493         * builtins.def: Define new builtin functions exp, expf, expl,
13494         log, logf and logl (and their __builtin_* variants).
13495         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13496         Define exp_optab and log_optab.
13497         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13498         * genopinit.c (optabs): Implement exp_optab and log_optab
13499         using exp?f2 and log?f2 patterns.
13500         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13501         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13502         (expand_builtin): Ignore the new builtins (and all cos and
13503         sin variants) when not optimizing.  Expand new builtins via
13504         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13505
13506         * doc/extend.texi: Document new exp and log builtins.
13507         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13508         (and previously undocumented cos?f2 and sin?f2 patterns).
13509
13510 2002-08-03  Jason Merrill  <jason@redhat.com>
13511
13512         * explow.c (int_expr_size): New fn.
13513         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13514         * expr.h: Declare it.
13515
13516 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13517
13518         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13519         gengtype-* dependencies.
13520
13521 2002-08-02  Eric Christopher  <echristo@redhat.com>
13522
13523         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13524         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13525         #ifndef to #undef.
13526         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13527
13528 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13529
13530         PR optimize/7067
13531         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13532         small if optimizing for size.
13533
13534 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13535
13536         * configure.in (FORBUILD): Use $build_alias.
13537         * configure: Regenerated.
13538
13539 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13540
13541         * config.gcc: Don't include mips/abi64.h in $tm_file.
13542         * hard-reg-set.h (call_really_used_regs): Declare.
13543         * config/mips/abi64.h: Remove file.
13544         * config/mips/linux.h,
13545         * config/mips/iris6.h: Don't include it.
13546         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13547         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13548         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13549         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13550         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13551         Bring across definitions from abi64.h.
13552         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13553         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13554         (struct mips_args): Use it.
13555         * config/mips/mips.c (mips_conditional_register_usage): Define.
13556
13557 2002-08-02  Jason Merrill  <jason@redhat.com>
13558
13559         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13560         * langhooks.c (lhd_expr_size): Define default.
13561         * langhooks.h (struct lang_hooks): Add expr_size.
13562         * explow.c (expr_size): Call it.
13563         * expr.c (store_expr): Don't copy an expression of size zero.
13564         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13565         to store.
13566         * Makefile.in (builtins.o): Depend on langhooks.h.
13567
13568 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13569
13570         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13571         * ra-debug.c: Include "tm_p.h".
13572         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13573
13574 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13575
13576         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13577         when not honoring signalling NaNs.
13578         (simplify_ternary_operation): a == b has a definite value
13579         when not honoring NaNs.
13580
13581 2002-08-02  Jason Merrill  <jason@redhat.com>
13582
13583         * gdbinit.in (pct): New macro.
13584
13585 2002-08-01  Stan Shebs  <shebs@apple.com>
13586             Andreas Tobler  <toa@pop.agri.ch>
13587
13588         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13589         plays nice with Darwin headers.
13590         (_BSD_RUNE_T_DEFINED_): Likewise.
13591
13592 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13593
13594         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13595         * cppinit.c (cpp_post_options): Likewise.
13596
13597         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13598         warning about 'LL' suffix (but not 'ULL' etc) when
13599         -Wno-long-long is in effect.
13600
13601         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13602         Check for failing time()/localtime(), issue a warning, and
13603         make __TIME__ and __DATE__ expand to fallback strings.
13604
13605         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13606         and __TIME__ when the date and time cannot be determined.
13607
13608 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13609
13610         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13611
13612 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13613
13614         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13615
13616 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13617
13618         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13619         (mipsisa64sb1el-*-elf*): Likewise.
13620         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13621         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13622         (TARGET_SB1, TUNE_SB1): New macros.
13623         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13624         -mtune flags.
13625
13626 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13627
13628         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13629         and ASM_EMIT_BSS not supported by target.
13630         (assemble_variable): Do not duplicate uninitialized logic.
13631         Fall through if asm_emit_uninitialized failed.
13632
13633 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13634
13635         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13636
13637 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13638
13639         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13640         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13641
13642         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13643         HOST_BITS_PER_WIDE_INT == 64.
13644
13645 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13646
13647         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13648         * optabs.c (expand_binop): Make variable unsigned.
13649         * simplify-rtx.c (simplify_subreg): Likewise.
13650         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13651
13652 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13653
13654         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13655
13656 2002-08-01  Richard Henderson  <rth@redhat.com>
13657
13658         * toplev.c (parse_options_and_default_flags): Don't set
13659         flag_reorder_blocks for -Os.
13660
13661         * config/avr/avr.c (avr_optimization_options): Remove.
13662         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13663         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13664         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13665
13666 2002-08-01  H.J. Lu <hjl@gnu.org>
13667             Richard Henderson  <rth@redhat.com>
13668
13669         * output.h (DECL_READONLY_SECTION): Remove.
13670         (decl_readonly_section): Declare.
13671         * varasm.c (decl_readonly_section): New.
13672         (default_section_type_flags, default_select_section): Use it.
13673         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13674         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13675         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13676         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13677         * config/mips/mips.c (mips_unique_section): Likewise.
13678
13679 2002-08-01  Richard Henderson  <rth@redhat.com>
13680
13681         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13682         refers to a subroutine parameter.
13683
13684 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13685
13686         * varasm.c (assemble_visibility): Strip name encoding.
13687
13688 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13689
13690         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13691         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13692         when there is no frame pointer.
13693         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13694         registers properly.
13695         * config/ns32k/__unorddf2.c: New file.
13696         * config/ns32k/__unordsf2.c: New file.
13697         * config/ns32k/t-ns32k: New file.
13698         * config.gcc (ns32k-*-netbsd*): Use it.
13699
13700 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13701
13702         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13703
13704 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13705
13706         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13707
13708 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13709
13710         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13711
13712 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13713
13714         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13715
13716 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13717
13718         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13719         n_sets): Removed.
13720         (expr_hash_table, set_hash_table): Type changed to ...
13721         (struct hash_table): New type.
13722         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13723         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13724         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13725         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13726         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13727         (alloc_hash_table): New.
13728         (free_set_hash_table, free_expr_hash_table): Merged to ...
13729         (free_hash_table): New.
13730         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13731         (compute_hash_table_work): New.
13732         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13733         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13734         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13735         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13736         hoist_code, one_code_hoisting_pass,
13737         trim_ld_motion_mems): Altered due to changed type of hash tables.
13738
13739 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13740
13741         * final.c (output_alternate_entry_point):
13742         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13743
13744 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13745
13746         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13747         avoid ISO C style function definition.
13748
13749         * expr.c (expand_assignment): Delete unused variable.
13750
13751 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
13752
13753         * c-common.c (cb_register_builtins): Set
13754         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13755         is given, and to 0 otherwise.
13756         * combine.c (simplify_if_then_else): HONOR_NANS
13757         implies FLOAT_MODE_P.
13758
13759 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13760
13761         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13762         (cpp_handle_option): Don't handle it.
13763         (print_help): Update.
13764         * doc/cppopts.texi: Update.
13765
13766 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13767
13768         * c-common.c (cb_register_builtins): If C++, define
13769         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13770         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13771 cp:
13772         * lang-specs.h: Simplify in accordance with new code in
13773         c-common.c.
13774
13775 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13776
13777         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13778         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13779         * c-decl.c: Move all warning and flag variables to c-common.c.
13780         * c-format.c: Move all warning variables to c-common.c.
13781         * c-tree.h: Move all warning and flag declarations to c-common.h.
13782         * objc/objc-act.c: Move all warning variables to c-common.c.
13783         (flag_warn_protocol): Rename warn_protocol.
13784
13785 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13786
13787         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13788
13789 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
13790
13791         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13792         .section prefix.
13793
13794 2002-07-31  Stan Shebs  <shebs@apple.com>
13795
13796         * config.gcc (i[34567]86-*-darwin*): New configuration.
13797         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13798         defining.
13799         (TARGET_ENCODE_SECTION_INFO): Ditto.
13800         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13801         * config/darwin.c (machopic_indirect_data_reference): Remove
13802         setting of RTX_UNCHANGING_P.
13803         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13804         not to be applied to sums.
13805         * config/i386/t-darwin: New file.
13806         * config/i386/darwin.h: New file.
13807         * config/i386/i386.h (TARGET_MACHO): Add default definition.
13808         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13809         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13810         label and not the GOT add.
13811         (constant_address_p): For Mach-O, seeing a CONST is enough.
13812         (legitimate_pic_address_disp_p): Add a Mach-O case.
13813         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13814         (legitimize_pic_address): Use generic Mach-O code to legitimize.
13815         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13816         if outputting a difference.
13817         (ix86_output_addr_diff_elt): Add Mach-O case.
13818         (ix86_expand_move): Similarly.
13819         (ix86_expand_call): Similarly.
13820         (current_machopic_label_num): New global.
13821         (machopic_output_stub): New function.
13822         (ix86_value_regno): New function.
13823         (ix86_function_value): Use it instead of VALUE_REGNO.
13824         (ix86_libcall_value): Ditto.
13825         * config/i386/unix.h (VALUE_REGNO): Remove.
13826
13827 2002-07-31  Graham Stott  <grahas@btinternet.com>
13828
13829         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
13830         hash for LABEL_REF's.
13831
13832 2002-07-31  Graham Stott  <grahams@btinternet.com>
13833
13834         * config/rs6000/rs6000.c (spe_init_builtins,
13835         altivec_init_builtins, rs6000_common_init_builtins):
13836         Replace ANSI with K&R function def.
13837
13838 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
13839
13840         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
13841         for CCFPmode.
13842
13843 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13844
13845         * config/mips/crtn.asm: Don't use __mips16 to determine the
13846         return-address offset.  Define RA to a suitable temporary
13847         register for the return address.
13848
13849 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13850
13851         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
13852         constraints to 'd'.
13853
13854 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
13855
13856         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
13857         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
13858         patch on 2002-07-29.)
13859         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13860
13861 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13862
13863         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
13864         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
13865         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
13866         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
13867         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
13868         (ASM_GLOBALIZE_LABEL): Delete.
13869         (GLOBAL_ASM_OP): Define.
13870
13871         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
13872
13873         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
13874         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
13875
13876 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
13877
13878         * doc/extend.texi (Hints implementation): Document that GCC
13879         mostly ignores `register'.
13880
13881 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
13882
13883         * flags.h: Declare flag_finite_math_only.
13884         Use it in definition of HONOR_NANS and
13885         HONOR_INFINITIES.
13886         * c-common.c (cb_register_builtins): Emit
13887         __FINITE_MATH_ONLY__ when flag_finite_math_only
13888         is set.
13889         * combine.c (simplify_if_then_else): If
13890         flag_finite_math_only is set, a == b has a
13891         definite value.
13892         * toplev.c: Initialize flag_finite_math_only.
13893         (set_flags_fast_math): Set it on -ffast-math.
13894         (flag_fast_math_set_p): Test it.
13895         * doc/invoke.texi: Document -ffinite-math-only.
13896
13897 2002-07-30  Richard Henderson  <rth@redhat.com>
13898
13899         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
13900         (noce_process_if_block): Likewise.
13901
13902 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
13903
13904         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
13905         Bail out early if false_expr is NULL and we'd crash due to this.
13906         * genemit.c (gen_expand): Recognize return insns even if the return
13907         appears in a parallel.
13908         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
13909         * config/fp-bit.c: Likewise.
13910         * doc/tm.texi: Document it.
13911
13912 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
13913             Zack Weinberg  <zack@codesourcery.com>
13914
13915         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
13916         CODE_FOR_nothing.  Change switch to if.
13917         (rs6000_expand_binop_builtin): Same.
13918         (rs6000_expand_builtin): Expand builtin if target support enabled.
13919         (rs6000_init_builtins): Init builtin if target support enabled.
13920         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
13921
13922 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13923
13924         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
13925
13926 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
13927
13928         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
13929
13930 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
13931
13932         * sh.md (cond_delay_slot): New attribute.
13933         (cbranch delay): Use it for anulled-true case.
13934         (stuff_delay_slot): New pattern.
13935         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
13936         delay slot insn.
13937         (gen_far_branch): Emit stuff_delay_slot pattern.
13938
13939 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
13940
13941         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
13942
13943 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
13944
13945         * fold-const.c: Fix comment typos.
13946         * gcse.c: Likewise.
13947         * reload1.c: Likewise.
13948
13949 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13950
13951         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
13952         for TARGET_SPE.
13953
13954 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13955
13956         * c-pretty-print.h (pp_c_statement): Declare.
13957         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
13958         (pp_c_statement): Define.
13959
13960 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13961
13962         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
13963         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
13964         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
13965         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
13966         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
13967         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
13968
13969         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
13970         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
13971
13972 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13973
13974         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
13975         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
13976         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
13977         (pp_c_expression): Update.
13978
13979 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13980
13981         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
13982         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
13983         * alpha/vms-ld.c (main): Likewise.
13984         * dsp16xx.c (double_reg_to_memory): Likewise.
13985         * mcore.c (mcore_expand_prolog): Likewise.
13986         * cppfiles.c (read_name_map): Likewise.
13987         * gensupport.c (process_rtx, identify_predicable_attribute,
13988         alter_test_for_insn): Likewise.
13989         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
13990
13991 2002-07-29  Roger Sayle  <roger@eyesopen.com>
13992
13993         * builtins.c (expand_builtin):  Change the default behavior to
13994         only issue an error if the builtin function doesn't have a
13995         fallback library call.  Remove several cases handled by the
13996         new default.
13997
13998 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
13999
14000         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14001         floating point format of the target is IEEE.
14002         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14003         format of the target is DEC.
14004
14005 2002-07-29  Richard Henderson  <rth@redhat.com>
14006
14007         * unroll.c (verify_addresses): Remove.
14008         (find_splittable_givs): Never split DEST_ADDR givs.
14009
14010 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14011
14012         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14013         is exhaustive.
14014         (Files): Improve documentation on generated source files.
14015
14016         * doc/extend.texi (Translation implementation): Document what
14017         diagnostics look like.
14018         (Identifiers implementation): Document that there's normally no
14019         limit on identifier names.
14020         (Integers implementation): Document two's complement.
14021         (Hints implementation): Document that GCC honors 'inline', mostly.
14022         (Preprocessing directives implementation): Document that GCC
14023         requires the current time.
14024
14025 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14026
14027         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14028         (pp_initializer): New macro.
14029         (pp_c_initializer): Declare.
14030         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14031         (pp_c_initializer): Define.
14032         (pp_c_initializer_list): New function.
14033         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14034         VECTOR_CST, CONSTRUCTOR.
14035         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14036         IMAGPART_EXPR.
14037         (pp_c_cast_expression): Handle FLOAT_EXPR.
14038         (pp_c_assignment_expression): Handle INIT_EXPR.
14039         (pp_c_expression): Update.
14040
14041 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14042
14043         * objc/objc-act.c (objc_init): Return immediately if filename
14044         is NULL.
14045
14046 2002-07-29  Eric Christopher  <echristo@redhat.com>
14047
14048         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14049         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14050         (SDB_DEBUGGING_INFO): Undefine.
14051         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14052         (PUT_SDB_SIZE): Remove.
14053         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14054         (STARTFILE_SPEC): Add isa3264 define.
14055         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14056         * config/mips/ecoff.h: Remove. and here...
14057         * config/mips/iris3.h: and here...
14058         * config/mips/sni-svr4.h: and here...
14059         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14060         Add assembler -mmdebug options for non-dwarf debugging.
14061         * config/mips/r3900.h: Remove debug info defines.
14062         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14063         * config/mips/isa3264.h: Ditto.
14064         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14065         change.
14066         * config/mips/t-elf: Ditto.
14067         * config/mips/t-ecoff: Ditto.
14068         * config/mips/t-r3900: Ditto.
14069         * config/mips/t-iris5-6: Ditto.
14070         * config/mips/t-isa3264: Ditto.
14071         * config/mips/t-linux: Remove.
14072         * config/mips/t-netbsd: Remove.
14073         * config/mips/t-mips: New file.
14074         * config/mips/t-gofast: Ditto.
14075         * config/mips/netbsd.h: Remove unnecessary undefines.
14076         * config/mips/linux.h: Remove #include of mips.h.
14077         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14078         for ecoff. Add gofast configure option for mips.
14079
14080 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14081
14082         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14083         linker scripts use STARTUP directives consistently.
14084         * configure: Regenerate.
14085         * config.in: Regenerate.
14086         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14087         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14088         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14089         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14090         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14091         will be the same.
14092
14093 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14094
14095         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14096
14097 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14098
14099         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14100
14101 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14102
14103         * config/rs6000/rs6000.md: Move altivec patterns from here...
14104
14105         * config/rs6000/altivec.md: ...to here.
14106
14107 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14108
14109         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14110
14111 2002-07-29  Richard Henderson  <rth@redhat.com>
14112
14113         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14114         set_mem_attributes and add BITPOS argument.  Subtract it from
14115         OFFSET when same is adjusted.
14116         (set_mem_attributes): New wrapper function.
14117         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14118         remove offset adjustment hack.
14119         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14120
14121 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14122
14123         * Makefile.in (C_OBJS): Include c-pretty-print.o
14124         (c-pretty-print.o): Add depency rule.
14125         * pretty-print.h: Add more macros.
14126         * c-pretty-print.c: New file.
14127         * c-pretty-print.h: Likewise.
14128
14129 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14130
14131         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14132         constants to __ev64_s32__.
14133         (__internal_ev_mwhgsmian): Same.
14134         (__internal_ev_mwhgsmfan): Same.
14135         (__internal_ev_mwhgssfan): Same.
14136         (__internal_ev_mwhgumiaa): Same.
14137         (__internal_ev_mwhgsmiaa): Same.
14138         (__internal_ev_mwhgsmfaa): Same.
14139         (__internal_ev_mwhgssfaa): Same.
14140
14141 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14142
14143         * varasm.c (assemble_variable): Narrow test for uninitialized
14144         without BSS target support.
14145
14146 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14147
14148         * profile.c: Add file comment describing the overall algorithm and
14149         structures.
14150         (struct edge_info): Add comments.
14151         (struct bb_info): Add comments.
14152         * basic-block.h (EDGE_*): Add comments.
14153         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14154
14155 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14156
14157         * config/xtensa/elf.h, config/xtensa/linux.h
14158         (TARGET_OS_CPP_BUILTINS): Define.
14159         (CPP_PREDEFINES): Remove.
14160         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14161         (CPP_SPEC): Remove.
14162
14163 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14164
14165         * gensupport.c: Include hashtab.h.
14166         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14167         maybe_eval_c_test): New routines and data structures to
14168         support insn elision.
14169         (init_md_reader): Read and initialize the condition_table.
14170         (read_md_rtx): Discard insn patterns whose C test is provably
14171         always false.
14172         * gensupport.h: Declare new functions and data structures.
14173
14174         * genconditions.c, dummy-conditions.c: New files.
14175         * Makefile.in: Build genconditions; run it to construct
14176         insn-conditions.c; build that and link it into most gen*
14177         programs.
14178         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14179         (GEN): Delete, unused.
14180         (STAGESTUFF): Update.
14181
14182         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14183         CODE_FOR_nothing for all elided patterns.
14184         (main): Tweaked to support this.
14185         * genflags.c (gen_proto): Emit a static inline generator
14186         function here for all elided patterns, which simply returns
14187         NULL_RTX.
14188         (gen_insn): Do not define HAVE_xxx for elided patterns.
14189         (main): Tweaked to support this.  No need to forward-declare
14190         struct rtx_def.
14191         * genrecog.c: Do not bother emitting the C test if it's known
14192         to be true at compile time.
14193
14194 2002-07-29  Mike Stump  <mrs@apple.com>
14195
14196         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14197         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14198
14199 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14200
14201         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14202         remove clobber of LR.
14203         (sibcall_insn, sibcall_value_insn): Update accordingly.
14204         (sibcall_epilogue): Remove debugging comment from assembler stream.
14205
14206 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14207
14208         * pretty-print.h: Define more macros.
14209         * diagnostic.h (output_formatted_integer): Moved from...
14210         * diagnostic.c: ... here.
14211
14212 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14213
14214         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14215
14216 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14217
14218         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14219         arguments.  Always use ".-symbol" as expression argument.
14220         * doc/tm.texi: Update to match.  Document requirement for
14221         ".size symbol, .-symbol" to be acceptable to assembler.
14222
14223         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14224         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14225         config/i386/freebsd-aout.h, config/i386/sco5.h,
14226         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14227         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14228
14229 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14230
14231         * Makefile.in (gengtype-lex.c): Fix error in last change.
14232
14233         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14234         backslash.
14235
14236         * Makefile.in (vmsdbgout.o): Depend on function.h.
14237
14238         * vmsdbgout.c: Include function.h.
14239
14240 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14241
14242         * prefix.c (update_path): Don't strip single `.' path components
14243         unless stripping a later `..' component.  Exit loop as soon as
14244         a valid path is found.
14245
14246 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14247
14248         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14249         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14250         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14251         floating point unordered comparisons (e.g. __builtin_isgreater)
14252         as const, and leave the remaining GCC_BUILTINs unchanged.
14253
14254         * c-decl.c (builtin_function): No need to explicitly mark
14255         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14256
14257 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14258
14259         * Makefile.in: rtlanal.o now depends upon real.h.
14260
14261         * flags.h [flag_signaling_nans]: New flag.
14262         [HONOR_SNANS]: New macro.
14263
14264         * toplev.c [flag_signaling_nans]: Initialize to false.
14265         (f_options): Add processing for "-fsignaling-nans".
14266         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14267         (process_options): flag_signaling_nans implies flag_trapping_math.
14268
14269         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14270         when -fsignaling-nans.  First step to implementing WG14's N965.
14271
14272         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14273         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14274         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14275
14276         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14277         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14278
14279         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14280         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14281         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14282         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14283         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14284
14285         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14286
14287 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14288
14289         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14290         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14291         (YY_DECL): Define.
14292
14293 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14294
14295         * doc/invoke.texi: Document that both -fno-builtin-foo and
14296         -fno-builtin are supported by the g++ front-end.
14297
14298 2002-07-27  Stan Shebs  <shebs@apple.com>
14299
14300         * configure.in: Rename config_gtfiles to target_gtfiles.
14301         * configure: Regenerate.
14302         * doc/gty.texi: Update reference.
14303         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14304         instead of appending to it.
14305
14306 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14307
14308         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14309         vectors are split into two registers.
14310         (function_arg): Same.
14311
14312 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14313
14314         * pa.md (extv): Check predicates before emitting extv_32.
14315
14316 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14317
14318         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14319         (rs6000_traceback): New var.
14320         (rs6000_override_options): Set rs6000_traceback.
14321         (rs6000_output_function_epilogue): Implement traceback options.
14322         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14323         (rs6000_traceback_name): Declare.
14324
14325         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14326         label reference when NO_PROFILE_COUNTERS.
14327
14328 2002-07-26  Jason Merrill  <jason@redhat.com>
14329
14330         * function.c (assign_parms): Handle frontend-directed pass by
14331         invisible reference.
14332
14333 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14334
14335         * doc/cppopts.texi: Update.
14336
14337 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14338
14339         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14340         warnings on assertions.
14341
14342 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14343
14344         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14345         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14346         RID_COMPL): Remove.
14347         * c-parse.in (rid_to_yy): Similarly.
14348
14349 2002-07-26  Jason Merrill  <jason@redhat.com>
14350
14351         * c-dump.c: Resurrect.
14352         * tree-dump.c: Move C-specific stuff to c-dump.c.
14353         * c-common.h: Declare c_dump_tree.
14354         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14355         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14356         (c-dump.o): New rule.
14357
14358 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14359
14360         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14361         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14362         predicate will do.  Formatting fixes.
14363         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14364         as for extzvsi_internal1.
14365
14366 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14367
14368         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14369         DERIV_END_LABEL_FMT): Remove.
14370         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14371
14372 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14373
14374         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14375         Remove.
14376
14377 2002-07-25  Stan Shebs  <shebs@apple.com>
14378
14379         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14380         local var dwarfp.
14381         (output_compiler_stub): Remove unused locals.
14382         (output_call): Always initialize line number.
14383
14384 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14385
14386         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14387         * sh.md (truncdiqi2, movqi_media): Likewise.
14388
14389 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14390
14391         * gcse.c (obstack_chunk_alloc): Remove.
14392         (gcse_alloc): Fix to count allocated bytes.
14393         * collect2.c (SYMBOL__MAIN): Remove.
14394
14395 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14396
14397         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14398         HAVE_TARGET_EXECUTABLE_SUFFIX.
14399
14400 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14401
14402         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14403         SIZE, EXPR and OFFSET.
14404
14405 2002-07-25  Richard Henderson  <rth@redhat.com>
14406
14407         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14408         in ARRAY_REF of DECL_P case.
14409
14410 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14411
14412         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14413         description.  Document -mips32, -mips64, and the associated -march
14414         values.  Describe the "mipsN" arguments to -march.  Say that the
14415         -mipsN options are equivalent to -march.  Reword the description
14416         of default type sizes.
14417         * toplev.h (target_flags_explicit): Declare.
14418         * toplev.c (target_flags_explicit): New var.
14419         (set_target_switch): Update target_flags_explicit.
14420         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14421         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14422         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14423         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14424         * config/mips/mips.h (mips_cpu_info): New struct.
14425         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14426         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14427         (MIPS_CPP_SET_PROCESSOR): New macro.
14428         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14429         Define _MIPS_ARCH and _MIPS_TUNE.
14430         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14431         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14432         MIPS_ISA_DEFAULT were already defined.
14433         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14434         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14435         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14436         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14437         (ABI_GAS_ASM_SPEC): Remove.
14438         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14439         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14440         Invoke %(asm_abi_default_spec) if no ABI was specified.
14441         (CC1_SPEC): Remove ISA -> register-size rules.
14442         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14443         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14444         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14445         (mips_cpu_info_table): New array.
14446         (mips_set_architecture, mips_set_tune): New fns.
14447         (override_options): Rework to make -mipsN equivalent to -march.
14448         Detect more erroneous cases, including those removed from CC1_SPEC.
14449         Don't change the ABI based on architecture, or vice versa.
14450         Unify logic with GAS.
14451         (mips_asm_file_start): Get architecture name from mips_arch_info.
14452         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14453         (mips_parse_cpu): Take the name of the option as argument.  Handle
14454         'from-abi'.  Raise an error if the option is wrong.
14455         (mips_cpu_info_from_isa): New fn.
14456
14457 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14458
14459         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14460         (tablejump_mips162): Likewise.
14461
14462 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14463
14464         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14465         int_mode_for_mode.
14466
14467 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14468
14469         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14470         complaining.
14471         * c-common.h (c_sizeof): Adjust definition.
14472         (c_alignof): Likewise.
14473         * c-tree.h (c_sizeof_nowarn): Now macro.
14474         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14475
14476 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14477
14478         * c-decl.c (c_decode_option): No need to handle switches
14479         cpplib handles.
14480
14481 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14482
14483         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14484         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14485         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14486         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14487
14488         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14489         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14490         config/cris/aout.h, config/i386/freebsd-aout.h,
14491         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14492         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14493         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14494         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14495         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14496         config/xtensa/elf.h, config/xtensa/linux.h:
14497         Use the new macros.
14498         Where possible, remove redundant definitions of SIZE_ASM_OP,
14499         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14500
14501 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14502
14503         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14504         TARGET_ISEL, and TARGET_FPRS.
14505
14506         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14507         -mabi=spe, -mabi=no-spe, and -misel=.
14508
14509         * config/rs6000/rs6000-protos.h: Add output_isel.
14510         Move vrsave_operation prototype here.
14511
14512         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14513         (smaxsi3): Same.
14514         (uminsi3): Same.
14515         (umaxsi3): Same.
14516         (abssi2_nopower): Disallow when TARGET_ISEL.
14517         (*ne0): Same.
14518         (negsf2): Change to expand and rename old pattern to *negsf2.
14519         (abssf2): Change to expand and rename old pattern to *abssf2.
14520
14521         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14522         fixunssfsi2.
14523
14524         Change patterns that check for TARGET_HARD_FLOAT or
14525         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14526
14527         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14528         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14529         (rs6000_override_options): Add 8540 case to
14530         processor_target_table.
14531         Set rs6000_isel for the 8540.
14532         Call rs6000_parse_isel_option.
14533         (enable_mask_for_builtins): New.
14534         (rs6000_parse_isel_option): New.
14535         (rs6000_parse_abi_options): Add spe and no-spe.
14536         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14537         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14538         for TARGET_HARD_FLOAT.
14539         Add case for SPE_VECTOR_MODE.
14540         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14541         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14542         vector modes.
14543         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14544         (rs6000_emit_move): Check for TARGET_FPRS.
14545         Add cases for SPE vector modes.
14546         (function_arg_boundary): Return 64 for SPE vector modes.
14547         (function_arg_advance): Check for TARGET_FPRS and
14548         Handle SPE vectors.
14549         (function_arg): Same.
14550         (setup_incoming_varargs): Check for TARGET_FPRS.
14551         (rs6000_va_arg): Same.
14552         (struct builtin_description): Un-constify mask field.  Move up in
14553         file.
14554         (bdesc_2arg): Un-constify and add SPE builtins.
14555         (bdesc_1arg): Same.
14556         (bdesc_spe_predicates): New.
14557         (bdesc_spe_evsel): New.
14558         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14559         (rs6000_expand_binop_builtin): Same.
14560         (bdesc_2arg_spe): New.
14561         (spe_expand_builtin): New.
14562         (spe_expand_predicate_builtin): New.
14563         (spe_expand_evsel_builtin): New.
14564         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14565         (rs6000_init_builtins): Initialize SPE builtins.  Call
14566         rs6000_common_init_builtins.
14567         (altivec_init_builtins): Move all non-altivec builtin code to...
14568         (rs6000_common_init_builtins): ...here.  New function.
14569         (branch_positive_comparison_operator): Allow NE code for SPE.
14570         (ccr_bit): Return correct ccr bit for SPE fp.
14571         (print_operand): Emit crnor in 'D' case for SPE.
14572         New case 't'.
14573         Add SPE code for 'y' case.
14574         (rs6000_generate_compare): Generate rtl for SPE fp.
14575         (output_cbranch): Handle SPE hard floats.
14576         (rs6000_emit_cmove): Handle isel.
14577         (rs6000_emit_int_cmove): New.
14578         (output_isel): New.
14579         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14580         64-bits for SPE.
14581         (debug_stack_info): Add SPE info.
14582         (gen_frame_mem_offset): New.
14583         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14584         Change mode of frame pointer, when saving it, to Pmode.
14585         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14586         Misc cleanups and use gen_frame_mem_offset when appropriate.
14587
14588         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14589         (TARGET_SPE_ABI): New.
14590         (TARGET_SPE): New.
14591         (TARGET_ISEL): New.
14592         (TARGET_FPRS): New.
14593         (FIXED_SCRATCH): New.
14594         (RTX_COSTS): Add PROCESSOR_PPC8540.
14595         (ASM_CPU_SPEC): Add case for 8540.
14596         (TARGET_OPTIONS): Add isel= case.
14597         (rs6000_spe_abi): New.
14598         (rs6000_isel): New.
14599         (rs6000_fprs): New.
14600         (rs6000_isel_string): New.
14601         (UNITS_PER_SPE_WORD): New.
14602         (LOCAL_ALIGNMENT): Adjust for SPE.
14603         (HARD_REGNO_MODE_OK): Same.
14604         (DATA_ALIGNMENT): Same.
14605         (MEMBER_TYPE_FORCES_BLK): New.
14606         (FIRST_PSEUDO_REGISTER): Set to 113.
14607         (FIXED_REGISTERS): Add SPE registers.
14608         (reg_class): Same.
14609         (REG_CLASS_NAMES): Same.
14610         (REG_CLASS_CONTENTS): Same.
14611         (REGNO_REG_CLASS): Same.
14612         (REGISTER_NAMES): Same.
14613         (DEBUG_REGISTER_NAMES): Same.
14614         (ADDITIONAL_REGISTER_NAMES): Same.
14615         (CALL_USED_REGISTERS): Same.
14616         (CALL_REALLY_USED_REGISTERS): Same.
14617         (SPE_ACC_REGNO): New.
14618         (SPEFSCR_REGNO): New.
14619         (SPE_SIMD_REGNO_P): New.
14620         (HARD_REGNO_NREGS): Adjust for SPE.
14621         (VECTOR_MODE_SUPPORTED_P): Same.
14622         (REGNO_REG_CLASS): Same.
14623         (FUNCTION_VALUE): Same.
14624         (LIBCALL_VALUE): Same.
14625         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14626         (SPE_VECTOR_MODE): New.
14627         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14628         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14629         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14630         spe_gp_save_offset.
14631         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14632         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14633         (SPE_CONST_OFFSET_OK): New.
14634         (rs6000_builtins): Add SPE builtins.
14635
14636         * testsuite/gcc.dg/ppc-spe.c: New.
14637
14638         * config/rs6000/eabispe.h: New.
14639
14640         * config/rs6000/spe.h: New.
14641
14642         * config/rs600/spe.md: New.
14643
14644         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14645         __SIMD__ for TARGET_SPE.
14646
14647         * config.gcc: Add powerpc-*-eabispe* case.
14648         Add spe.h to user headers for powerpc.
14649
14650 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14651
14652         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14653         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14654         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14655
14656 2002-07-24  Richard Henderson  <rth@redhat.com>
14657
14658         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14659         form when not optimizing.
14660
14661 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14662
14663         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14664         thread_pointer_rtx as unchanging.
14665
14666 2002-07-24  Michael Matz  <matz@suse.de>
14667
14668         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14669         (free_reg): Use it.
14670
14671 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14672
14673         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14674         pattern.
14675         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14676         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14677
14678 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14679
14680         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14681         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14682         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14683
14684 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14685
14686         * toplev.c (rest_of_compilation): Dump loops before clobbering
14687         the structure.
14688
14689 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14690
14691         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14692
14693 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14694
14695         PR optimization/7291
14696         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14697         problem on x86_64.
14698
14699 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14700
14701         * pretty-print.h: Add macros from cp/error.c
14702
14703 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14704
14705         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14706         (mask64_2_operand): Declare.
14707         (build_mask64_2_operands): Declare.
14708         (and64_2_operand): Declare.
14709         (extract_MB): Declare.
14710         (extract_ME): Declare.
14711         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14712         CONST_DOUBLE code.
14713         (mask_operand_wrap): New insn predicate.
14714         (mask64_2_operand): Likewise.
14715         (and64_2_operand): Likewise.
14716         (build_mask64_2_operands): New function.
14717         (extract_MB): New function.
14718         (extract_ME): New function.
14719         (print_operand <case m,M>): Use extract_MB and extract_ME.
14720         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14721         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14722         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14723         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14724         * config/rs6000/rs6000.md (andsi3_internal3): New
14725         (andsi3_internal3+1): Enable split for powerpc64.
14726         (andsi3_internal3+2): New split.
14727         (andsi3_internal4): Renamed old andsi3_internal3.
14728         (andsi3_internal5): New.
14729         (andsi3_internal5+1): Enable split for powerpc64.
14730         (andsi3_internal5+2): New split.
14731         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14732         (anddi3): Handle 't' constraint.
14733         (anddi3+1): New split.
14734         (anddi3_internal2): Handle 't' constraint.
14735         (anddi3_internal2+1): New split.
14736         (anddi3_internal3): Handle 't' constraint.
14737         (anddi3_internal3+1): New split.
14738
14739 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14740
14741         * config/rs6000/rs6000.md: Remove scratch reg on insns using
14742         addze and similar (plus (comparison r1 r2) r3) insns.  Add
14743         missing scratch reg in one case.  Formatting fixes.
14744
14745 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
14746
14747         * cppexp.c (parse_defined): Mark macro used.
14748         * cpphash.h (struct cpp_macro): New member "used".
14749         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14750         (struct cpp_reader): New member.
14751         * cppinit.c (cpp_finish_options): Set first_unused_line.
14752         (cpp_finish): Warn of unused macros if requested.
14753         (OPT_TABLE): New switches.
14754         (cpp_handle_option): Handle them.
14755         * cpplib.c (do_undef): Warn if macro unused.
14756         (do_ifdef, do_ifndef): Mark macro used.
14757         * cpplib.h (struct cpp_options): New member.
14758         * cppmacro.c (_cpp_warn_if_unused_macro): New.
14759         (enter_macro_context): Mark macro used.
14760         (_cpp_create_definition): Mark macro unused; warn if unused
14761         when redefined.
14762         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14763         Mark macros used.
14764         * doc/cppopts.texi: Update.
14765
14766 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14767
14768         * dwarf2out.c (SECTION_ASM_OP,
14769         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14770         * system.h (SECTION_ASM_OP): Poison.
14771         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14772         * config/alpha/alpha-interix.h, config/mips/linux.h
14773         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14774         * config/mmix/mmix-protos.h, config/mmix/mmix.c
14775         (mmix_asm_output_define_label_difference_symbol): Remove.
14776         * config/mmix/mmix.h
14777         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14778         * doc/tm.texi: Remove documentation.
14779
14780 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
14781
14782         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14783         (constrain_operands): Likewise.
14784         * regclass.c (record_reg_classes): Likewise.
14785         * reload.c (find_reloads): Likewise.
14786         * doc/md.texi: Likewise.
14787
14788         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14789         * simplify-rtx.c (simplify_subreg): When converting to a non-int
14790         mode, try to convert to an integer mode of matching size first.
14791
14792         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14793         from individual subregs, check that each subreg has been generated
14794         sucessfully.
14795
14796 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14797
14798         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14799         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14800         FOR_EACH_BB_IN_SBITMAP): Remove.
14801         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14802         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14803         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14804         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14805         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14806         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14807
14808 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14809
14810         * pretty-print.h: New file.
14811
14812 2002-07-23      Paul Koning     <pkoning@equallogic.com>
14813
14814         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14815         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14816         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14817         (TARGET_G_FLOAT): Default to 0 if not defined.
14818         (ieeetoe): New, common routine to convert target format floats
14819         to internal form.
14820         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14821         vs. others.
14822         (e113toe): Change to use ieeetoe.
14823
14824 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14825
14826         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14827         IBM.
14828         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
14829         (e64toe): Remove special cases for DEC and IBM. Remove support for
14830         ARM_EXTENDED_IEEE_FORMAT.
14831         (e24toe): Remove special cases for DEC.
14832         (significand_size): Simplify. Indent.
14833         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
14834         (etoieee, toieee): New.
14835         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
14836         etoieee and toieee for IEEE arithmetic.
14837
14838 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14839
14840         * doc/extend.texi: Say ISO C90, not ISO C89.
14841         * doc/invoke.texi: Likewise.
14842         * doc/standards.texi: Likewise.
14843
14844 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
14845
14846         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
14847         Fix permutation of conversion and plus/mult.
14848         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
14849         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
14850         (expand_builtin_strncpy) Ditto.
14851         (expand_builtin_memset) Ditto.
14852
14853 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14854
14855         Fix PR/7363:
14856         * c-common.c (c_sizeof_or_alignof_type): New function.
14857         (c_alignof): Remove definition.
14858         * c-common.h (c_sizeof, c_alignof): Define as macros.
14859         (c_sizeof_or_alignof_type): Declare.
14860         (my_friendly_assert): Moved from cp/cp-tree.h
14861         * c-typeck.c (c_sizeof): Remove definition.
14862
14863 2002-07-23  Jan Hubicka  <jh@suse.cz>
14864
14865         * gcse.c (try_replace_reg): Use num_changes_pending.
14866         * recog.c (num_changes_pending): New function.
14867         (validate_replace_src): Use validate_repalce_src_group.
14868         (validate_replace_src_group): New.
14869         * recog.h (validate_repalce_src_group): New.
14870         (num_changes_pending): Likewise.
14871
14872 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
14873
14874         * calls.c (emit_library_call_value_1): If
14875         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
14876         libcall, const call nor pure call.
14877
14878 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14879
14880         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
14881
14882 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14883
14884         * vmsdbgout.c (SECTION_ASM_OP): Remove.
14885
14886 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14887
14888         * config/i386/i386.c (AT_BP): Remove.
14889
14890 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14891
14892         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
14893         Default definition.
14894         * gcse.c: Don't define obstack_chunk_free.
14895         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
14896         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
14897         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
14898         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
14899         Don't define obstack macros.
14900
14901 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14902
14903         PR target/6744
14904         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
14905         ASM_OPERANDS instructions.
14906
14907 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14908
14909         PR target/7361
14910         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
14911         constant addresses only on 68HC12.
14912
14913 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14914
14915         * cppfiles.c (stack_include_file): Correct test of whether
14916         a dependency should be output.
14917
14918 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
14919
14920         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
14921
14922 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
14923
14924         * arm.md (movqi): If optimizing and we can create pseudos, use
14925         a ZERO_EXTEND to load from memory, then copy the result into the
14926         target.
14927         (movhi): Likewise, but only for ARMv4.
14928
14929 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14930
14931         * ssa-ccp.c (PHI_PARMS): Remove.
14932
14933 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
14934
14935         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
14936         on big-endian targets.
14937
14938 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14939
14940         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
14941         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
14942         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
14943         New formatting macros.
14944
14945         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
14946
14947 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
14948
14949         * rtlanal.c (subreg_regno_offset): Return correct offset for
14950         big endian paradoxical subregs.
14951
14952         * optabs.c (expand_vector_unop): Don't expand using sub_optab
14953         if we got the wrong mode.
14954
14955         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
14956         * genrecog.c (write_switch, write_cond): Use it.
14957         * genemit.c (gen_exp): Likewise.
14958
14959 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14960
14961         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
14962
14963 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14964
14965         * c-decl.c (build_compound_literal): Defer compound literal decls
14966         until until file end to emit them only if they are actually used.
14967
14968 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14969
14970         * ra-build.c (check_conflict_numbers): Hide unused function.
14971         (livethrough_conflicts_bb): Avoid automatic aggregate
14972         initialization.
14973         (parts_to_webs_1): Avoid `U' integer constant modifier.
14974         (conflicts_between_webs): Wrap a variable in the macro controlling
14975         its usage.
14976         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
14977         (dump_igraph, dump_graph_cost): Avoid string concatenation
14978         (dump_static_insn_cost): Avoid automatic aggregate
14979         initialization.
14980         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
14981         initialization.
14982         (dump_cost): Avoid string concatenation
14983
14984 2002-07-21  Richard Henderson  <rth@redhat.com>
14985
14986         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
14987         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
14988
14989 2002-07-21  Richard Henderson  <rth@redhat.com>
14990
14991         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
14992         that are not unrolled completely.
14993
14994 2002-07-21  Richard Henderson  <rth@redhat.com>
14995
14996         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
14997         * loop.c (strength_reduce): Update.
14998         * toplev.c (rest_of_compilation): Do unrolling in the first
14999         loop pass, not the second.
15000
15001 2002-07-21  Richard Henderson  <rth@redhat.com>
15002
15003         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15004         when flag_argument_noalias == 2.
15005         * alias.c (nonoverlapping_memrefs_p): Handle that.
15006         * print-rtl.c (print_mem_expr): Likewise.
15007
15008 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15009
15010         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15011         instead of __negdi2 directly.
15012
15013 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15014
15015         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15016         * function.c (SYMBOL__MAIN): Remove definition.
15017         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15018         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15019         * profile.c (GCOV_INDEX_TO_BB): Remove.
15020         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15021         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15022
15023 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15024
15025         * c-lex.c (GET_ENVIRONMENT): Remove.
15026         * collect2.c (GET_ENV_PATH_LIST): Remove.
15027         (prefix_from_env): Use GET_ENVIRONMENT.
15028         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15029         (init_standard_includes): Use GET_ENVIRONMENT.
15030         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15031         * gcc.c (GET_ENV_PATH_LIST): Remove.
15032         (make_relative_prefix, process_command): Update.
15033         * protoize.c (GET_ENV_PATH_LIST): Remove.
15034         (do_processing): Update.
15035
15036 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15037
15038         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15039         (grokdeclarator): Likewise.
15040         * c-format.c (C_STD_NAME): Likewise.
15041         * c-lex.c (interpret_integer): Likewise.
15042         * c-typeck.c (build_array_ref): Likewise.
15043         * cpplex.c (_cpp_lex_direct): Likewise.
15044         * toplev.c (documented_lang_options): Likewise.
15045
15046 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15047
15048         * c-format.c (T99_I, T99_UI): Remove.
15049
15050 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15051
15052         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15053
15054 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15055
15056         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15057         do_local_cprop.
15058
15059 2002-07-21  Andreas Jaeger  <aj@suse.de>
15060
15061         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15062
15063 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15064
15065         Improvements for the ifcvt pass from Michael Meissner, with patches
15066         by Richard Sandiford <rsandifo@redhat.com>
15067         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15068         * ifcvt.c (cond_exec_changed_p): New static variable.
15069         (last_active_insn): New function, renamed from last_active_insn_p
15070         and changed to return the last active insn in a basic block. All
15071         callers updated.
15072         (block_fallthru): New function.
15073         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15074         IFCVT_MODIFY_INSN.  All callers updated.
15075         Return false if START or END are NULL.
15076         Handle case where we're processing an insn that is already
15077         conditional.
15078
15079         (noce_process_if_block): CE_INFO argument rather than
15080         multiple args containing the involved basic blocks.  All callers
15081         changed.
15082         (process_if_block, merge_if_block, find_if_block,
15083         cond_exec_process_if_block): Likewise.
15084
15085         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15086         changed.
15087         Use new function last_active_insn to simplify some code.
15088         New code to handle multiple tests.
15089         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15090         cond_exec_changed_p to TRUE.
15091
15092         (process_if_block): New code to handle multiple tests.
15093         (merge_if_block): Likewise.
15094         (find_if_header): New arg PASS.  Changed to return the currently
15095         processed basic block or NULL instead of true/false. All callers
15096         changed.
15097         Call IFCVT_INIT_EXTRA_FIELDS.
15098         (block_jumps_and_fallthru_p): New function.
15099         (find_if_block): Discover opportunities to convert multiple tests.
15100         Add additional debugging output.
15101         Update the ce_info structure before returning.
15102
15103         (if_convert): Run multiple passes of if-conversion.
15104         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15105         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15106         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15107         these macros.
15108
15109 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15110
15111         * gcse.c: Include cselib.h
15112         (constptop_register): Break out from ...
15113         (cprop_insn): ... here; kill basic_block argument.
15114         (do_local_cprop, local_cprop_pass): New functions.
15115         (one_cprop_pass): Call local_cprop_pass.
15116
15117 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15118
15119         * simplify-rtx.c (simplify_relational_operation): Optimize
15120         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15121
15122 2002-07-20  Michae Matz  <matz@suse.de>
15123
15124         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15125
15126 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15127
15128         * cppexp.c (struct op): Add token pointer.
15129         (check_promotion, CHECK_PROMOTION): New.
15130         (optab): Update.
15131         (_cpp_parse_expr): Update, use token pointer of struct op.
15132         (reduce): Warn about change of sign owing to promotion.
15133         * cppinit.c (cpp_handle_option): New warning if -Wall.
15134         * cpplib.h (struct cpp_options): New member.
15135
15136 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15137
15138         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15139         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15140         Power4 fpcompare.
15141         (fix_truncdfsi2_internal): Restore FPR preference.
15142         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15143         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15144
15145 2002-07-19  Momchil Velikov <velco@fadata.bg>
15146
15147         * reload1.c (reload_as_needed): Duplicate oldpat.
15148
15149 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15150
15151         PR optimization/7130
15152         * loop.h (struct loop_info): Add "preconditioned".
15153         * unroll.c (unroll_loop): Set it.
15154         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15155
15156 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15157
15158         * rtl.def (CODE_LABEL): Remove slot 8.
15159         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15160         (LABEL_ALTERNATE_NAME): Delete.
15161         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15162         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15163
15164         * final.c (output_alternate_entry_point): New.
15165         (final_scan_insn): Use it instead of
15166         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15167         of a case label being an alternate entry point.
15168
15169         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15170         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15171         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15172         (field deleted).
15173         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15174
15175         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15176         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15177         * doc/tm.texi: Delete documentation of
15178         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15179
15180 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15181
15182         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15183         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15184         (LINK_SPEC): Define.
15185         (STARTFILE_SPEC): Define.
15186         (ENDFILE_SPEC): Define.
15187
15188         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15189         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15190
15191         * config/mips/iris6-o32-gas.h: New file.
15192         * config.gcc (mips-sgi-irix6*o32): Use it.
15193
15194         * config/mips/t-iris5-gas: New file.
15195         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15196
15197 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15198
15199         * cppexp.c (ALWAYS_EVAL): Remove.
15200         (optab, reduce): Always evaluate.
15201         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15202         only if not skipping evaluation.
15203
15204 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15205
15206         * config/avr/avr.c (debug_hard_reg_set): Remove.
15207
15208 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15209
15210         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15211
15212 2002-07-19  Richard Henderson  <rth@redhat.com>
15213
15214         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15215
15216 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15217
15218         * prefix.c (update_path): Don't zap single `.' path components
15219         unless followed by another `.' and fix typo last patch.
15220
15221 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15222
15223         * cppexp.c (cpp_num_mul): Remove unused parameter.
15224         (UNARY, BINARY, OTHER, binary_handler): Remove.
15225         (ALWAYS_EVAL): New.
15226         (optab): Update.
15227         (reduce): Refactor to a large switch, don't use a function
15228         pointer.
15229
15230 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15231
15232         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15233
15234 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15235
15236         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15237         (sh_expand_binop_v2sf): Likewise.
15238         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15239         (int_gpr_dest, trunc_hi_operand): New functions.
15240         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15241         trunc_hi_operand.
15242         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15243         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15244         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15245         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15246         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15247         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15248         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15249         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15250         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15251         (movsf_ie+1): Likewise.
15252         (loaddi_trunc): Use int_gpr_dest predicate.
15253         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15254         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15255         (casesi_worker_0+[12], casesi_worker): Likewise.
15256         (shcompact_preserve_incoming_args): Likewise.
15257         (mov_nop): Use any_register_operand predicate.
15258         (mperm_w0): Use trunc_hi_operand predicate.
15259
15260 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15261
15262         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15263         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15264         numbering.
15265
15266 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15267
15268         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15269
15270 2002-07-18  Richard Henderson  <rth@redhat.com>
15271
15272         PR optimization/7147
15273         * ifcvt.c (noce_get_condition): Make certain that the condition
15274         is valid at JUMP.
15275
15276 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15277
15278         * sh.c (barrier_align, push): Shut up compiler warnings.
15279         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15280         (reg_no_subreg_operand): Delete.
15281
15282 2002-07-17  Bo Thorsen  <bo@suse.de>
15283
15284         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15285         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15286         (STARTFILE_SPEC): Remove hardcoded library paths.
15287         (ENDFILE_SPEC): Likewise.
15288
15289 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15290
15291         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15292
15293         * gcse.c (try_replace_reg): Do not return false positives.
15294
15295 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15296
15297         * prefix.c: (update_path): Strip ".." components when prior dir
15298         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15299
15300         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15301         (ASM_OUTPUT_REG_POP): Likewise.
15302
15303 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15304
15305         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15306         adjustments to first_reg for profiling case.
15307         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15308         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15309         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15310         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15311         (ASM_OUTPUT_REG_POP): Define.
15312         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15313         (ASM_OUTPUT_REG_POP): Undef.
15314
15315 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15316
15317         * cpplib.c (do_sccs): Handle #sccs on all systems.
15318         * system.h (SCCS_DIRECTIVE): Poison.
15319         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15320         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15321         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15322         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15323         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15324         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15325         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15326         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15327         Remove all references to SCCS_DIRECTIVE.
15328         * doc/cpp.texi, doc/tm.texi: Update.
15329
15330 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15331
15332         * regrename.c (maybe_mode_change): New function.
15333         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15334
15335 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15336
15337         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15338         suppress addition when either ct or cf are zero.
15339
15340 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15341             Glen Nakamura <glen@imodulo.com>
15342
15343         PR optimization/6713
15344         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15345         sets a non-replaceable giv after issuing the new one.
15346
15347 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15348
15349         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15350         eval_token): Clarify and correct use of "bool" variables.
15351         * cpplib.h (struct cpp_options): Similarly.
15352         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15353         * cpptrad.c (recursive_macro): Similarly.
15354
15355 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15356
15357         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15358         SHmedia code.
15359
15360         * sh.md (cmpgtudi_media): Remove spurious @.
15361
15362         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15363         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15364
15365         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15366         * sh-protos.h (sh_initialize_trampoline): Declare.
15367         * sh.c (sh_initialize_trampoline): New function.
15368         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15369         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15370         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15371         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15372         * sh.md (initialize_trampoline, double_shori): New patterns.
15373         (initialize_trampoline_compact): Likewise.
15374         (shmedia32_initialize_trampoline_big): Remove.
15375         (shmedia32_initialize_trampoline_little): Likewise.
15376
15377         * sh-protos.h (binary_float_operator): Remove declaration.
15378         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15379         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15380         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15381         (sh_expand_binop_v2sf): Likewise.
15382         (zero_vec_operand): Delete.
15383         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15384         all non-shared ones.
15385         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15386         Enable nsb and byterev.
15387         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15388         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15389         in general regs.
15390         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15391         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15392         immediate operands.
15393         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15394         Add DF_HI_REGS.
15395         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15396         lowpart fp regs - only for big endian for now.
15397         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15398         when FPU is in use.
15399         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15400         (LOAD_EXTEND_OP): NIL for SImode.
15401         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15402         general and fp registers is 4.
15403         PREDICATE_CODES: Amend binary_float_operator entry.
15404         Remove zero_vec_operand.  Add unary_float_operator.
15405         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15406         subreg SET_DEST.
15407         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15408         (truncdiqi2): Do sign extension.
15409         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15410         (movdf_media, movsf_media): Likewise.
15411         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15412         Collapse to one define_insn_and_split.  Allow immediate sources.
15413         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15414         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15415         (movv4sf): Allow immediate sources.
15416         (movsf_media_nofpu+1): Don't split moves to FP registers.
15417         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15418         (movv8qi_i+3): Check against CONST0_RTX.
15419         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15420         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15421         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15422         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15423         (mshf0_w, fipr, ftrv): Likewise.
15424         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15425
15426 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15427
15428         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15429         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15430         * arm.c: Similarly.
15431
15432 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15433
15434         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15435         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15436         (TARGET_SWITCHES): Remove debugh.
15437         (ISA_HAS_TRUNC_W): New macro.
15438         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15439         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15440         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15441         any SImode move_operand.
15442         (se_nonimmediate_operand): Remove.
15443         (mips_sign_extend): New.
15444         (mips_move_2words): Use it for sign-extended source operands.
15445         (override_options): Allow integers to be put into single FPRs.
15446         (mips_secondary_reload_class): Handle integers in float registers.
15447         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15448         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15449         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15450         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15451         (fix_truncdfdi2): Provide only a single alternative, in which the
15452         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15453         than TARGET_64BIT.
15454         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15455         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15456         (movdi_internal2): Don't allow the source operand to be sign-extended.
15457         Add alternatives for float registers.
15458         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15459         allows sign-extension.
15460         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15461         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15462         float registers.  Remove TARGET_DEBUG_H_MODE test.
15463         (movhi_internal1): Rename to movhi_internal.  Don't check
15464         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15465         (movqi_internal1): Rename to movqi_internal and remove
15466         TARGET_DEBUG_H_MODE dependency.
15467         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15468
15469 2002-07-16  Jim Wilson  <wilson@redhat.com>
15470
15471         * toplev.c (lang_dependent_init): Create function context for
15472         init_expr_once.
15473
15474 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15475
15476         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15477         --gc-sections if -r.
15478         * config/cris/cris.h: Ditto.
15479
15480 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15481
15482         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15483         the comparison directly gives a mask suppress addition when cf is
15484         zero by complementing the mask.
15485
15486 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15487
15488         * Makefile.in: Delete references to enquire.
15489         * enquire.c: Move to contrib.
15490
15491 2002-07-16  Stan Shebs  <shebs@apple.com>
15492
15493         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15494         config/rs6000/darwin.h.
15495         (ASM_OUTPUT_SKIP): Ditto.
15496         (TEXT_SECTION_ASM_OP): Ditto.
15497         (DATA_SECTION_ASM_OP): Ditto.
15498         (ASM_APP_ON): Define.
15499         (ASM_APP_OFF): Define.
15500         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15501         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15502
15503         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15504         (machopic_function_base_name): Declare result to be const.
15505         (machopic_non_lazy_ptr_name): Ditto.
15506         (machopic_stub_name): Ditto.
15507         * config/darwin-protos.h: Ditto for the prototypes.
15508
15509 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15510
15511         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15512
15513 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15514
15515         * i386.md (prefetch): Fix for 64bit mode.
15516         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15517
15518 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15519
15520         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15521         * i386.c (x86_machine_dependent_reorg): New function.
15522         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15523
15524 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15525
15526         * builtins.c (std_expand_builtin_va_start): Remove unused
15527         first argument.
15528         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15529         std_expand_builtin_va_start with just two arguments.
15530         * expr.h: Update prototypes.
15531
15532         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15533         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15534         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15535         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15536         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15537         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15538         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15539         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15540         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15541         argument from all implementations of EXPAND_BUILTIN_VA_START
15542         and all uses of std_expand_builtin_va_start.
15543
15544 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15545
15546         * regrename.c (copy_value): Don't record high part copies.
15547
15548 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15549
15550         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15551         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15552         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15553
15554 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15555
15556         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15557
15558         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15559         into addsi3 using register class "x" and "y".
15560
15561         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15562         "earlyclobber" constraint modifier for some alternative.
15563
15564         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15565         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15566         unordered.
15567         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15568
15569         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15570         (TARGET_SWITCHES): Add -mieee-compare option.
15571         (OVERRIDE_OPTIONS): 32332 is a subset of
15572         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15573         (TARGET_SWITCHES): Fix description of bitfield option.
15574         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15575         -mieee-compare option. Remove 32332 flag.
15576
15577 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15578
15579         * explow.c (convert_memory_address): Remove special handling
15580         when POINTERS_EXTEND_UNSIGNED < 0.
15581         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15582         (movedi_symbolic): Fix typo.
15583         (load_fptr): Remove mode restriction so it works for SI and DI.
15584         (load_fptr_internal1): Ditto.
15585         (load_gprel): Ditto.
15586         (load_symptr_internal1): Ditto.
15587         (call_pic): Ditto.
15588         * config/ia64.c (call_operand): Modify mode check.
15589         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15590         (ia64_expand_move): Ditto.
15591         (ia64_assemble_integer): Handle SImode function pointers.
15592         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15593         (ia64_expand_op_and_fetch): Ditto.
15594         (ia64_expand_compare_and_swap): Ditto.
15595         (ia64_expand_lock_test_and_set): Ditto.
15596         (ia64_expand_lock_release): Ditto.
15597
15598 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15599
15600         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15601
15602 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15603             Richard Earnshaw  <rearnsha@arm.com>
15604
15605         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15606         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15607
15608 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15609
15610         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15611         understands to be a memory clobber.
15612         * arm.c (arm_expand_prologue): Use it.
15613
15614 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15615
15616         * ra-rewrite.c: #include reload.h, insn-config.h
15617         * ra-build.c: #include reload.h
15618         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15619         depend on reload.h, insn-config.h.
15620
15621 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15622
15623         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15624         the same size as a word.
15625
15626         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15627         BYTES_BIG_ENDIAN into account.
15628
15629 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15630
15631         * i386.md (prefetch): Fix for 64bit mode.
15632         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15633
15634         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15635
15636 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15637
15638         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15639
15640 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15641
15642         * ginclude/varargs.h: Replace with stub which issues #error.
15643         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15644         __builtin_va_start.
15645
15646         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15647         (BUILT_IN_VA_START): New.
15648         * builtins.c (expand_builtin_va_start): Eliminate first
15649         argument and code to implement pre-ISO varargs.
15650         (std_expand_builtin_va_start): Ignore first argument; it is
15651         always 1.
15652         (expand_builtin): Handle BUILT_IN_VA_START and
15653         BUILT_IN_STDARG_START identically.  Delete
15654         BUILT_IN_VARARGS_START case.
15655
15656         * function.c (assign_parms): Delete hide_last_arg and all
15657         its uses.
15658         (mark_varargs): Delete function.
15659         * function.h (struct function): Delete 'varargs' bit.
15660         (current_function_varargs): Delete macro.
15661         * tree.h: Don't declare mark_varargs.
15662
15663         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15664         (c_expand_body): Don't call mark_varargs.
15665         * c-objc-common.c: Handle BUILT_IN_VA_START and
15666         BUILT_IN_STDARG_START identically.  Delete
15667         BUILT_IN_VARARGS_START case.
15668         * c-tree.h: Don't declare c_mark_varargs.
15669         * c-parse.in: Remove grammar rules for '&...' (which has been
15670         commented out since before 2.7.2) and for '...' in K+R
15671         argument declarations.
15672
15673         * builtins.c, function.c, integrate.c, sibcall.c,
15674         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15675         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15676         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15677         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15678         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15679         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15680         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15681         config/stormy16/stormy16.c: Delete all references to
15682         current_function_varargs, and code predicated on that flag.
15683
15684         * config/alpha/alpha.c (alpha_va_start),
15685         config/arc/arc.c (arc_va_start),
15686         config/i386/i386.c (ix86_va_start),
15687         config/mips/mips.c (mips_va_start),
15688         config/mn10300/mn10300.c (mn10300_va_start),
15689         config/rs6000/rs6000.c (rs6000_va_start),
15690         config/s390/s390.c (s390_va_start),
15691         config/sh/sh.c (sh_va_start),
15692         Ignore first argument; it is always 1.
15693
15694         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15695         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15696         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15697         Delete m68hc11_va_start.
15698         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15699         No need to define EXPAND_BUILTIN_VA_START.
15700
15701         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15702         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15703
15704 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15705
15706         PR optimization/7153
15707         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15708         dies in more than one insn.
15709
15710 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15711
15712         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15713
15714 2002-07-15  Michael Matz  <matz@suse.de>,
15715             Daniel Berlin  <dberlin@dberlin.org>,
15716             Denis Chertykov  <denisc@overta.ru>
15717
15718         Add a new register allocator.
15719
15720         * ra.c: New file.
15721         * ra.h: New file.
15722         * ra-build.c: New file.
15723         * ra-colorize.c: New file.
15724         * ra-debug.c: New file.
15725         * ra-rewrite.c: New file.
15726
15727         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15728         (ra-rewrite.o): New .o files for libbackend.a.
15729         (GTFILES): Add basic-block.h.
15730
15731         * toplev.c (flag_new_regalloc): New.
15732         (f_options): New option "new-ra".
15733         (rest_of_compilation): Call initialize_uninitialized_subregs()
15734         only for the old allocator.  If flag_new_regalloc is set, call
15735         new allocator, instead of local_alloc(), global_alloc() and
15736         friends.
15737
15738         * doc/invoke.texi: Document -fnew-ra.
15739         * basic-block.h (FOR_ALL_BB): New.
15740         * config/rs6000/rs6000.c (print_operand): Write small constants
15741         as @l+80.
15742
15743         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15744         (df_reg_table_realloc): Make size at least as large as max_reg_num().
15745         (df_insn_table_realloc): Size argument now is absolute, not relative.
15746         Changed all callers.
15747
15748         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15749         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15750
15751         2002-06-20  Michael Matz  <matz@suse.de>
15752
15753         * df.h (struct ref.id): Make unsigned.
15754         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15755
15756         2002-06-13  Michael Matz  <matz@suse.de>
15757
15758         * df.h (DF_REF_MODE_CHANGE): New flag.
15759         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15760         involving subregs with invalid mode changes, when
15761         CLASS_CANNOT_CHANGE_MODE is defined.
15762
15763         2002-05-07  Michael Matz  <matz@suse.de>
15764
15765         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15766
15767         2002-05-03  Michael Matz  <matz@suse.de>
15768
15769         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15770
15771         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
15772
15773         * regclass.c (regclass): Work with all regs which have sets or
15774         refs.
15775         (reg_scan_mark_refs): Count regs inside (clobber ...).
15776
15777         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
15778
15779         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15780         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15781         add new refs.
15782         (df_bb_refs_update): Don't clear insns_modified here, ...
15783         (df_analyse): ... but here.
15784
15785         * sbitmap.c (dump_sbitmap_file): New.
15786         (debug_sbitmap): Use it.
15787
15788         * sbitmap.h (dump_sbitmap_file): Add prototype.
15789
15790         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
15791
15792         * df.c (df_insn_modify): Grow the UID table if necessary, rather
15793         than assume all emits go through df_insns_modify.
15794
15795         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15796
15797         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15798         increase REG_N_REFS (like flow does), so that regclass doesn't
15799         think a reg is useless, and thus, not calculate a class, when it
15800         really should have.
15801
15802         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
15803
15804         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15805         dataflow analysis.
15806
15807 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
15808
15809         PR middle-end/7245
15810         * config/i386/i386.c (const_int_1_31_operand): New.
15811         * config/i386/i386.h (PREDICATE_CODES): Add it.
15812         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15813         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15814         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15815
15816 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
15817
15818         PR target/7282
15819         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15820         (floatunssidf2): Likewise.
15821         (floatsidf_ppc64): New insn_and_split.
15822         (floatunssidf_ppc64): Likewise.
15823
15824 2002-07-14  Andreas Jaeger  <aj@suse.de>
15825
15826         * config.gcc (sh64): Remove unused
15827         target_requires_64bit_host_wide_int.
15828
15829 2002-07-12  Roger Sayle  <roger@eyesopen.com>
15830
15831         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
15832         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
15833         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
15834         whether clear_by_pieces should be used to clear storage.
15835         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
15836
15837         * doc/tm.texi: Document these two new target macros.
15838
15839 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
15840
15841         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
15842         the scratch register.
15843         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
15844         of it, forbid reload to use it.
15845
15846 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15847
15848         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
15849         usage on 64-bit hosts, return value was truncated to 32 bits.
15850
15851 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
15852
15853         * simplify-rtx.c (simplify_subreg): Handle floating point
15854         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
15855         the element mode is requested, compute a subreg with an
15856         integer mode of the same size as the element mode first.
15857
15858 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15859
15860         * combine.c (try_combine): When converting a paradoxical subreg
15861         to an extension, take LOAD_EXTEND_OP into account.
15862
15863 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15864
15865         * config.gcc (mips-sgi-irix6*o32): New configuration.
15866
15867         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
15868         configurations.
15869         * configure: Regenerate.
15870
15871         * config/mips/iris6-o32-as.h: New file.
15872         * config/mips/iris6-o32.h: New file.
15873
15874         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
15875         (NM_FLAGS): Define.
15876         (HAVE_AS_SHF_MERGE): Undefine.
15877
15878         * config/mips/t-iris5-as: New file.
15879         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15880
15881         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
15882         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
15883         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
15884         dp-bit.c, fp-bit.c): Move ...
15885         * config/mips/t-iris5-6: ... here.
15886         New file, shared by IRIX 5 and IRIX 6.
15887         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
15888         mips-sgi-irix5*): Use it.
15889
15890         * config/mips/iris6.h: Remove duplicate comment.
15891
15892         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
15893         !TARGET_IRIX6]: Define.
15894         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
15895
15896         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
15897
15898 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15899
15900         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
15901         and delete code to force constant to register.
15902         * pa-protos.h (adddi3_operand): Add prototype.
15903         * pa.c (adddi3_operand): New function.
15904
15905 2002-07-11  Roger Sayle  <roger@eyesopen.com>
15906
15907         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
15908         non-ANSI builtin functions.
15909
15910 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
15911
15912         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
15913         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
15914         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
15915         (gen_const_vector_0): Use it.
15916
15917 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15918
15919         * pa.md (adddi3): For 32-bit targets, force constants to a register
15920         if they don't fit in an 11-bit immediate.  Change insn predicate to
15921         arith11_operand.  Remove comment.
15922         * pa.c (cint_ok_for_move): Fix comment.
15923         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
15924         targets.
15925
15926 2002-07-11  Tim Josling  <tej@melbpc.org.au>
15927
15928         Remove front end hard coding from gengtype.c.
15929
15930         * Makefile.in
15931         (STAGESTUFF): add gtyp-gen.h
15932         (GTFILES): Remove front end specific files.
15933         (GTFILES_FILES_LANGS): New, from configure..
15934         (GTFILES_FILES_FILES): Likewise.
15935         (GTFILES_LANG_DIR_NAMES): Likewise.
15936         (GTFILES_SRCDIR): Likewise.
15937         (gtyp-gen.h): Build from configure information.
15938         (s-gtype): Remove command line parameters from gengtype.
15939         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
15940         (mostlyclean): Delete files generated by and for gengtype.
15941
15942         * c-config-lang.in: New file.
15943
15944         * configure.in (all_gtfiles_files_langs): New. Accumulate files
15945         for each language.
15946         (all_gtfiles_files_files): New. Accumulate language for each file
15947         accumulated.
15948         (gtfiles): Pick up value for C.
15949         (srcdir): AC-SUBST this variable.
15950         (all_gtfiles_files_langs): AC-SUBST this variable.
15951         (all_gtfiles_files_files): AC-SUBST this variable.
15952
15953         * configure: Regenerate.
15954
15955         * gengtype-lex.l (parse_file): Make parameter const.
15956
15957         * gengtype.c (toplevel): include gtyp-gen.h.
15958         (BASE_FILE_<language> unnamed enum): Delete.
15959         (lang_names): Delete (replaced by gtyp-gen.h)
15960         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
15961         all references.
15962         (NUM_GT_FILES): New.
15963         (NUM_LANG_FILES): New.
15964         (srcdir_len): New.
15965         (NUM_BASE_FILES): Change calculation.
15966         (open_base_files): Change prototype to avoid warning.
15967         (startswith): Delete.
15968         (get_file_basename): Iterate through generated language list not
15969         hard coded list.
15970         (get_base_file_bitmap): Use generated list of files and languages.
15971         (close_output_files): Add prototype to rmove warning.
15972         (main): Iterate through list of generated files from gtyp-gen.h
15973         rather than command line paramaters.  Ignore duplicated file
15974         names.
15975
15976         * gengtype.h (parse_file): Amend prototype for const parameter.
15977
15978         * doc/sourcebuild.texi: Document gtfiles variable.
15979
15980         * doc/gty.texi: Document changes to gtfiles variable for front
15981         ends.
15982
15983         * objc/config-lang.in (gtfiles): Add files needed for objc front
15984         end.
15985
15986 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15987
15988         PR c/2454
15989         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
15990         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
15991
15992 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15993             Zack Weinberg <zack@codesourcery.com>
15994
15995         * builtins.def: Make the argument types of abort and exit
15996         independent of the front-end.
15997
15998 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
15999
16000         * config/rs6000/linux64.h (ASM_SPEC): Define.
16001
16002 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16003
16004         * config/rs6000/rs6000.c (emit_frame_save): New.
16005         (rs6000_frame_related): Replace reg2 before reg.
16006         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16007         and eh_return registers.
16008
16009 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16010
16011         Revert all patches for optimization of Complex .op. Real.
16012         * complex_part_zero_p: Remove
16013         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16014         with x.
16015         * expand_cmplxdiv_wide: Ditto.
16016         * expand_binop: Ditto.
16017
16018 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16019
16020         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16021         negative also on 64-bit hosts.
16022
16023         Default to -fno-reorder-blocks when optimizing for size.
16024         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16025         * config/avr/avr.c (avr_optimization_options): New function.
16026         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16027
16028         Optimize returning from simple functions.
16029         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16030         * config/avr/avr.c (avr_simple_epilogue): New function.
16031         * config/avr/avr.md (return): New insn.
16032
16033 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16034
16035         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16036         HAS_INIT_SECTION to protection.
16037
16038 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16039
16040         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16041         deprecated.
16042
16043 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16044
16045         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16046         Supply non-VOID mode to simplify_gen_subreg.
16047
16048 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16049
16050         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16051
16052 2002-07-10  Jeffrey A Law  <law@redhat.com>
16053
16054         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16055         as appropriate.
16056
16057         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16058         register to use.
16059
16060 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16061
16062         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16063         Get mode from dest.
16064         If simplify_gen_subreg fails, try next equivalent.
16065
16066 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16067
16068         * diagnostic.h: #include location.h
16069         (location_t): Move definition to..
16070         * location.h: ... here.  New file.
16071         * tree.h: #include location.h
16072         (DECL_SOURCE_LOCATION): New macro.
16073         (DECL_SOURCE_FILE): Use.
16074         (DECL_SOURCE_LINE): Likewise.
16075         (struct tree_decl): REplace filename and linenum with locus.
16076         * Makefile.in (TREE_H): add location.h
16077         (diagnostic.o): Depends on gt-location.h
16078         (gt-location.h): Depends on s-gtype
16079
16080 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16081
16082         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16083         TARGET_OS_CPP_BUILTINS.
16084         * config/rs6000/aix31.h: Likewise.
16085         * config/rs6000/aix41.h: Likewise.
16086         * config/rs6000/aix43.h: Likewise.
16087         * config/rs6000/aix51.h: Likewise.
16088         * config/rs6000/beos.h: Likewise.
16089         * config/rs6000/darwin.h: Likewise.
16090         * config/rs6000/eabi.h: Likewise.
16091         * config/rs6000/eabisim.h: Likewise.
16092         * config/rs6000/linux.h: Likewise.
16093         * config/rs6000/linux64.h: Likewise.
16094         * config/rs6000/lynx.h: Likewise.
16095         * config/rs6000/mach.h: Likewise.
16096         * config/rs6000/rtems.h: Likewise.
16097         * config/rs6000/sysv4.h: Likewise.
16098         * config/rs6000/vxppc.h: Likewise.
16099
16100 2002-07-09 Devang Patel <dpatel@apple.com>
16101         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16102         Do not allow ObjC objects as a parameter type for Objective-C methods.
16103         My previous patch restricted  'struct' also.
16104
16105 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16106
16107         * cpperror.c (cpp_error): Default to directive_line within
16108         directives here.
16109         * cppexp.c (cpp_interpret_integer): Only use traditional
16110         number semantics in directives.
16111         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16112         (do_include_common): Similarly.
16113         * cpptrad.c (scan_out_logical_line): Implement accurate
16114         quoting of <> in #include.
16115         * doc/cpp.texi: Update.
16116
16117 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16118                           J"orn Rennecke <joern.rennecke@superh.com>
16119
16120         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16121         * sh.md (attribute issues): Replace with:
16122         (attribute pipe_model).  All users changed.
16123         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16124         All users changed.
16125         (function units sh5issue, sh5fds): New.
16126         (attribute is_mac_media): New.
16127         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16128         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16129         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16130         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16131         (call_media, call_value_media, sibcall_media): Likewise.
16132         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16133         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16134         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16135         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16136         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16137         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16138         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16139         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16140         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16141         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16142         (truncdfsf2_media): Likewise.
16143         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16144         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16145
16146 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16147
16148         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16149         * sh.c (general_extend_operand, inqhi_operand): New functions.
16150         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16151         alternatives using 'N' modifier.  Add type.
16152         (adddi3z_media): Likewise.  Enable generator function generation.
16153         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16154         exact predicates / constraints.  Add type.
16155         (subsi3): Allow 0 for SHMEDIA.
16156         (udivsi3_i4_media): Use match_operand for input values
16157         rather than hard registers.
16158         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16159         unnecessarily through hard registers.  Keep copies of pseudo
16160         registers outside of the libcall sequence.
16161         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16162         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16163         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16164         (extendhidi2, extendqidi2): Likewise.
16165         (andsi3_compact): Name.
16166         (andcdi3): Enable generator function generation.
16167         (zero_extendhisi2, zero_extendqisi2): Rename to
16168         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16169         (extendhisi2, extendqisi2): Rename to
16170         (extendhisi2_compact, extendqisi2_compact).
16171         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16172         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16173         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16174         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16175         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16176         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16177         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16178         (shmedia32_initialize_trampoline_big): Likewise.
16179         (shmedia32_initialize_trampoline_little): Likewise.
16180         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16181         (negdi2): Remove spurious T clobber.
16182         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16183         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16184         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16185         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16186         (ic_invalidate_line_media): Write back data cache before invalidating
16187         instruction cache.  Add type.
16188         (movsf_media): Sign-extend when the destination is a general
16189         purpose register.  Add type.
16190         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16191         (casesi_worker_0+1): Only increment ref count for proper label.
16192         (casesi_worker_0+2): Likewise.
16193
16194 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16195
16196         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16197
16198 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16199
16200         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16201         from Pmode to ptr_mode.
16202         (get_exception_pointer): Ditto.
16203         (connect_post_landing_pads): Ditto.
16204         (dw2_build_landing_pads): Ditto.
16205
16206 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16207         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16208         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16209         (handle_pragma_redefine_extname): Change to use new function.
16210
16211 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16212
16213         * combine.c (combine_simplify_rtx): Add an explicit cast
16214         to avoid signed/unsigned comparison warning.
16215         (simplify_if_then_else): Likewise.
16216         (extended_count): Likewise.
16217         (simplify_shift_const): Likewise.
16218         (simplify_comparison): Likewise.
16219
16220 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16221
16222         * config/mips/mips.md: Add imadd type.  Update scheduler description
16223         to use imadd as well as imul.
16224         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16225         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16226         (*mul_sub_si): Likewise for first alternative.  Change second
16227         alternative from imul to multi.
16228
16229 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16230
16231         * c-common.c (c_common_post_options): Update prototype;
16232         don't init backends if preprocessing only.
16233         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16234         * langhooks.h (struct lang_hooks): Update post_options to
16235         return a boolean.
16236         * toplev.c (parse_options_and_default_flags, do_compile,
16237         lang_independent_init): Update prototypes.  Allow the
16238         front end to specify that there is no need to initialize
16239         the back end.
16240         (general_init): Move call to hex_init here...
16241         (toplev_main): ...from here.  Pass flag for back end init
16242         suppression.
16243
16244 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16245
16246         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16247         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16248         greater_comparison_operator and less_comparison_operator.
16249         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16250         more operators.
16251         (equality_comparison_operator): New function.
16252         (greater_comparison_operator, less_comparison_operator): Likewise.
16253         * sh.md (beq_media_i): Disable generator function generation.
16254         Use match_operator to handle a whole class of comparisons.  Add
16255         modifier in output template to provide branch prediction.  Add type.
16256         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16257         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16258         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16259         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16260
16261 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16262
16263         Emit MMIX function prologue and epilogue as rtl.
16264         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16265         not unprototyped get_hard_reg_initial_val.
16266         ("call_value", "nonlocal_goto_receiver"): Ditto.
16267         ("return"): Make define_expand.  Move real insn to...
16268         ("*expanded_return"): New pattern.
16269         ("prologue", "epilogue"): New define_expands.
16270         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16271         (struct machine_function): New member in_prologue.
16272         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16273         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16274         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16275         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16276         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16277         (LOCAL_REGNO): Define.  Adjust comment.
16278         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16279         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16280         leaf_function_p.
16281         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16282         the prologue.
16283         (mmix_target_asm_function_prologue): Make static.  Just mark that
16284         the prologue is being emitted.  Move guts to...
16285         (mmix_expand_prologue): New function.  Adjust for emitting
16286         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16287         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16288         \n.  Move guts to...
16289         (mmix_expand_epilogue): New function.  Adjust for emitting
16290         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16291         (mmix_target_asm_function_end_prologue): Mark that the prologue
16292         has ended.
16293         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16294         (mmix_conditional_register_usage): Improve comments.
16295         (mmix_local_regno): New function.
16296         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16297         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16298         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16299         (mmix_get_hard_reg_initial_val): Ditto.
16300
16301 2002-07-06  Andreas Jaeger  <aj@suse.de>
16302
16303         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16304         definitions.
16305         * gengtype.c (open_base_files): Likewise.
16306         (close_output_files): Likewise.
16307         * tracer.c (find_best_predecessor): Likewise.
16308         (find_best_successor): Likewise.
16309         (ignore_bb_p): Likewise.
16310
16311 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16312
16313         PR c++/7099
16314         * builtin-attrs.def: Define new attribute lists for use in
16315         builtins.def.
16316         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16317         ATTRS argument, an enumerated value defined in builtin-attrs.def
16318         that represents the attribute list for the builtins.  Modify
16319         all builtin functions to pass an appropriate attribute list.
16320         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16321         their required noreturn attributes.
16322         * tree.h (enum_builtin_function): Ignore the additional parameter
16323         to DEF_BUILTIN.
16324         * builtins.c (built_in_names): Likewise.
16325         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16326         argument with a tree representing the functions attribute list.
16327         Pass this "attrs" argument to builtin_function.  No longer handle
16328         the noreturn_p processing manually.
16329         (built_in_attributes): Move the definitions from builtin-attrs.def
16330         before c_common_nodes_and_builtins.
16331         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16332         DEF_BUILTIN, passing it to both builtin_function and the changed
16333         builtin_function_2.
16334
16335         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16336         __builtin__exit and __builtin__Exit.
16337
16338 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16339
16340         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16341         QI mode registers in soft registers.
16342         ("zero_extendqihi2"): Do not take into account soft registers
16343         for register allocation (use '*' constraint).
16344
16345 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16346
16347         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16348         it is dead.
16349         ("*ashrsi3"): Likewise.
16350         ("*lshrsi3"): Likewise.
16351
16352 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16353
16354         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16355         into account.
16356
16357 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16358
16359         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16360         address computation and memory moves.
16361
16362 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16363
16364         PR c++/6706
16365         * dwarfout.c (output_reg_number): Fix warning message.
16366         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16367         before using it.
16368
16369 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16370
16371         * gcc/gcc.c (asm_debug): Move initialization ...
16372         (init_spec): ... here.
16373
16374 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16375
16376         * c-parse.in (extdef): Append ';'.
16377         (old_style_parm_decls): Append ';'.
16378
16379 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16380
16381         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16382         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16383         to gcc_cv_as_gstabs_flag.
16384         * configure: Rebuilt.
16385
16386 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16387
16388         * ggc.h (ggc_add_root): Document as obsolete.
16389
16390 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16391
16392         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16393         (mshflo_w): Likewise.
16394
16395 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16396
16397         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16398         vector mode subregs of constants to finding integer mode
16399         subregs of constants.
16400         * cse.c (cse_insn): Use simplify_gen_subreg.
16401         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16402         From a vector mode expression of different size than the
16403         target mode.
16404
16405 2002-07-03  Eric Christopher  <echristo@redhat.com>
16406
16407         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16408         * config/mips/mips.h: Remove deprecated -m<processor> options
16409         and cc1_cpu_spec associated.
16410         (CONSTANT_ADDRESS_P): Fix last patch.
16411         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16412         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16413         sunge_sf): Remove.
16414
16415 2002-07-03  Stan Shebs  <shebs@apple.com>
16416
16417         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16418         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16419         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16420
16421 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16422
16423         * combine.c (struct_undo): Change types of recorded substitutions
16424         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16425         (do_SUBST_INT): Change types of the substitution from unsigned int
16426         to int, to avoid compilation warning from SUBST_INT's only caller.
16427
16428         (make_extraction): Add cast to avoid compilation warning.
16429         (force_to_mode): Remove cast to avoid compilation warning.
16430
16431 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16432             Jeff Law  <law@redhat.com>
16433
16434         * i386.md (length_immediate attribute): Fix typo.
16435         (length_address attribute): Likewise.
16436         (modrm attribute): Set it to 0 for immediate call instructions.
16437         (jcc_1 pattern): Set modrm attribute to 0.
16438         (jcc_2 pattern ): Likewise.
16439         (jump pattern): Likewise.
16440         (doloop_end_internal pattern): Explicitly set length.
16441         (leave pattern): Fix typo.
16442         (leave_rex64 pattern): Likewise.
16443
16444 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16445
16446         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16447         in FPR as preference.
16448         (fctiwz): Same.
16449         (floatdidf2, fix_truncdfdi2): Same.
16450         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16451         (floatditf2): Same.
16452         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16453         (ctrdi): Remove FPR alternative and splitter.
16454
16455 2002-07-03  Will Cohen  <wcohen@redhat.com>
16456
16457         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16458
16459 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16460
16461         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16462         than UNITS_PER_WORD, unless this is little endian and the first unit
16463         in this word.  Let extract_bit_field decide how to load an element.
16464         Force arguments to matching mode.
16465         (expand_vector_unop): Likewise.
16466
16467         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16468         consist of word_mode elements.
16469         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16470         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16471         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16472         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16473         CONST_VECTOR.
16474         * optabs.c (expand_vector_binop): Try to perform operation in
16475         smaller vector modes with same inner size.  Add handling of AND, IOR
16476         and XOR.  Reject expansion to inner-mode sized scalars when using
16477         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16478         (expand_vector_unop): Try to perform operation in smaller vector
16479         modes with same inner size.  Add handling of one's complement.
16480         When there is no vector negate operation, try a vector subtract
16481         operation.  Use simplify_gen_subreg on constants.
16482         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16483         constants into smaller vectors with same inner mode, and to
16484         integer CONST_DOUBLEs.
16485
16486 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16487
16488         * c-parse.in (parsing_iso_function_signature): New variable.
16489         (extdef_1): New, copied from...
16490         (extdef): ... here.  Reset parsing_iso_function_signature.
16491         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16492         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16493         Warn about ISO C style function definitions.
16494         (nested_function, notype_nested_function): Reset
16495         parsing_iso_function_signature.
16496         (parmlist_2): Set parsing_iso_function_signature.
16497
16498         * doc/invoke.texi (-Wtraditional): Document new behavior.
16499
16500 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16501
16502         * config.gcc (mips*el-*-*): Use tm_defines to set
16503         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16504         * config/mips/little.h: Remove.
16505
16506 2002-07-02 Devang Patel <dpatel@apple.com>
16507
16508         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16509         object as parameter. Prevent something like 'NSObject' to be
16510         used as the type for a method argument.
16511
16512 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16513
16514         * cpptrad.c: Update comment.
16515
16516 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16517
16518         * doc/cpp.texi: Update for traditional preprocessing changes.
16519         * goc/cppopts.texi: Similarly.
16520
16521 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16522
16523         * c-parse.in (designator): Enable designated initializers if ObjC.
16524         (objcmessageexpr): Remove references to objc_receiver_context.
16525         * objc/objc-act.h (objc_receiver_context): Remove decl.
16526         * objc/objc-act.c (objc_receiver_context): Remove.
16527         (lookup_objc_ivar): Test objc_method_context instead of
16528         objc_receiver_context.
16529
16530 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16531
16532         * sh.c (print_operand, case 'N'): Allow zero vector.
16533         (arith_reg_or_0_operand): Likewise.
16534         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16535         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16536         IOR, XOR, PLUS and SET and take their respective constant
16537         ranges into account.
16538         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16539         * sh.md (subdi3, subdi3_media): Allow zero operand.
16540         (movv8qi_i+3): Only vector that is not split is the zero vector.
16541         Fix operand 3 to simplify_subreg.
16542         (movv2si_i): Split alternative 1.
16543         (mshfhi_l_di_rev+1): New splitter.
16544
16545 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16546
16547         PR preprocessor/7029
16548         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16549         implicit "-w" for "-M" and "-MM".
16550         * doc/cppopts.texi: Update.
16551
16552 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16553
16554         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16555         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16556         builtin_function.
16557
16558 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16559
16560         * README.Portability: Fix typos.
16561
16562 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16563
16564         PR target/7177
16565         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16566         of indirections for register inside sign-extended mem part.
16567
16568 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16569
16570         * tree.h:  Modify builtin_function interface to take an extra
16571         argument ATTRS, which is a tree representing an attribute list.
16572
16573         * c-decl.c (builtin_function): Accept additional parameter.
16574         * objc/objc-act.c (builtin_function): Likewise.
16575         * f/com.c (builtin_function): Likewise.
16576         * java/decl.c (builtin_function): Likewise.
16577         * ada/utils.c (builtin_function): Likewise.
16578         * cp/decl.c (builtin_function): Likewise.
16579         (builtin_function_1): Likewise.
16580
16581         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16582         NULL_TREE argument to builtin_function.  (builtin_function_2):
16583         Likewise.
16584         * cp/call.c (build_java_interface_fn_ref): Likewise.
16585         * objc/objc-act.c (synth_module_prologue): Likewise.
16586         * java/decl.c (java_init_decl_processing): Likewise.
16587         * f/com.c (ffe_com_init_0): Likewise.
16588
16589         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16590         NULL_TREE argument to builtin_function.
16591         * config/arm/arm.c (def_builtin): Likewise.
16592         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16593         * config/i386/i386.c (def_builtin): Likewise.
16594         * config/ia64/ia64.c (def_builtin): Likewise.
16595         * config/rs6000/rs6000.c (def_builtin): Likewise.
16596
16597 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16598
16599         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16600         * config/mips/t-isa3264: Likewise.
16601         * config/mmix/t-mmix: Likewise.
16602
16603 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16604
16605         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16606
16607 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16608
16609         PR opt/4046
16610         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16611         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16612         B are truth values.
16613
16614 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16615
16616         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16617
16618 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16619
16620         * README.Portability (Function prototypes): Give an example of
16621         declaring and defining a function with no arguments.
16622
16623         * README.Portability (Function prototypes): Document new
16624         variable-argument function macros.
16625
16626 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16627
16628         * sh.c (langhooks.h): Include.
16629         (sh_init_builtins, sh_media_init_builtins): New functions.
16630         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16631         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16632         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16633         (builtin_description): New struct tag.
16634         (signature_args, bdesc): New arrays.
16635         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16636         (print_operand): Add 'N' modifier.
16637         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16638         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16639         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16640         (CONST_COSTS): Add special case for SHmedia AND.
16641         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16642         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16643         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16644         target_operand can also be const or unspec.
16645         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16646         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16647         (attribute type): Add new types.
16648         (anddi3): Add splitter.
16649         (movdi_const_16bit+1): Add code to handle vector constants and
16650         bitmasks efficiently.
16651         (shori_media): Have generator function made.
16652         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16653         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16654         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16655         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16656         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16657         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16658         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16659         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16660         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16661         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16662         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16663         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16664         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16665         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16666         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16667         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16668         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16669         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16670         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16671         (ftrv): Likewise.
16672
16673         (fpu_switch+1, fpu_switch+2): Remove constraint.
16674
16675 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16676
16677         * tree.c (build_function_type_list): Update function comment.
16678         Rename first argument to return_type.
16679
16680 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16681
16682         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16683         tradcif.y and related files.
16684
16685 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16686
16687         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16688
16689 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16690
16691         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16692
16693 See ChangeLog.7 for earlier changes.