OSDN Git Service

* cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-20  Roger Sayle  <roger@eyesopen.com>
2
3         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
4         insn's notes following a substitution inside a libcall.
5
6 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
7
8         * configure.in: Check for system-provided 'uchar' type.
9         * configure, config.in: Regenerate.
10         * cpphash.h: Only typedef 'uchar' if the system doesn't.
11
12 2003-01-20  Richard Henderson  <rth@redhat.com>
13
14         * expr.h (MUST_PASS_IN_STACK): Move implementation...
15         * calls.c (default_must_pass_in_stack): ... here.
16
17 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
18
19         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
20
21         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
22
23         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
24         Wrap up definition of `insn_alts'.
25
26         * genattrtab.c (main): Wrap up `insn_alts'.
27
28 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
29
30         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
31         prototyping.
32         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
33
34         * config.in, configure: Regenerate.
35
36 2003-01-20  Nick Clifton  <nickc@redhat.com>
37
38         * config/arm/arm.md (sibcall_epilogue): Add an
39         UNSPEC_PROLOGUE_USE to prevent the link register from being
40         considered dead.
41
42 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
43
44         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
45
46 2003-01-20  Andreas Schwab  <schwab@suse.de>
47
48         * system.h: Don't declare strsignal if the decl test hasn't been
49         run yet.
50
51 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
52
53         * config/h8300/h8300.c (notice_update_cc): Don't assume that
54         recog_data.operands[0] is always associated with cc0.
55
56 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
57
58         * collect2.c (ldgetname): Expand declaration to prototype.
59         * read-rtl.c (atoll): Add prototype.
60         * system.h (strsignal): Also declare if no declaration found.
61
62 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
63
64         * config.gcc (mips64*-*-linux*): Added.
65         * config/mips/linux64.h, config/mips/t-linux64: New file.
66         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
67         * config/mips/mips.c (override_options): Use it.
68         * config/mips/mips.h (TARGET_SWITCHES): Added...
69         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
70         * Makefile.in (SPECS): New.
71         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
72         * gcc.c (process_command): Move self-spec processing past spec
73         file loading.
74         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
75         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
76         CRTSTUFF_T_CFLAGS.
77         (SPECS): Document.
78         * doc/invoke.texi (-mabi-fake-default): Document.
79
80 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
81
82         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
83         z_reg, z_reg_qi): Declare static and GTY().
84         (da_reg): Remove.
85         (create_regs_rtx): Don't create da_reg.
86         ("gt-m68hc11.h"): Include for GTY roots.
87         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
88         and GTY() here.
89         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
90         (m68hc11_soft_tmp_reg): Likewise.
91         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
92
93 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
94
95         * basic-block.h: Fix comment formatting.
96         * calls.c: Likewise.
97         * combine.c: Likewise.
98         * convert.c: Likewise.
99         * gcov.c: Likewise.
100         * haifa-sched.c: Likewise.
101         * libgcc2.c: Likewise.
102         * loop.c: Likewise.
103         * profile.c: Likewise.
104         * system.h: Likewise.
105
106 2003-01-18  Roger Sayle  <roger@eyesopen.com>
107
108         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
109
110 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
111
112         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
113
114 2003-01-17  Dale Johannesen  <dalej@apple.com>
115
116         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
117           (*floatunssidf2_internal):  Ditto.
118
119 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
120
121         * alias.c: Fix comment typos.
122         * basic-block.h: Likewise.
123         * c-common.c: Likewise.
124         * c-common.h: Likewise.
125         * c-decl.c: Likewise.
126         * c-opts.c: Likewise.
127         * c-pragma.c: Likewise.
128         * c-pretty-print.h: Likewise.
129         * cfg.c: Likewise.
130         * cfganal.c: Likewise.
131         * cfgbuild.c: Likewise.
132         * cfgcleanup.c: Likewise.
133         * cfglayout.c: Likewise.
134         * cfgrtl.c: Likewise.
135         * convert.c: Likewise.
136         * cpphash.h: Likewise.
137         * cpplex.c: Likewise.
138         * cpplib.h: Likewise.
139         * df.h: Likewise.
140         * diagnostic.c: Likewise.
141         * diagnostic.h: Likewise.
142         * dwarf2.h: Likewise.
143
144 2003-01-17  Stan Shebs  <shebs@apple.com>
145
146         * config/darwin-protos.h: Forward-declare struct cpp_reader.
147
148 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
149
150         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
151         mistake in last checkin.
152
153 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
154
155         * et-forest.c: Fix comment typos.
156         * et-forest.h: Likewise.
157         * except.c: Likewise.
158         * expr.c: Likewise.
159         * flags.h: Likewise.
160         * flow.c: Likewise.
161         * gcc.c: Likewise.
162         * gcse.c: Likewise.
163         * genattrtab.c: Likewise.
164         * genautomata.c: Likewise.
165         * gengtype.c: Likewise.
166         * genrecog.c: Likewise.
167         * global.c: Likewise.
168         * gthr-rtems.h: Likewise.
169
170 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
171
172         * i386.c (x86_function_profiler): Fix format specifier.
173
174 2003-01-17  Richard Henderson  <rth@redhat.com>
175
176         * gengtype.c (walk_type): Allow paramN_is.
177
178 2003-01-17  Nick Clifton  <nickc@redhat.com>
179
180         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
181
182 2003-01-16  Richard Henderson  <rth@redhat.com>
183
184         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
185
186 2003-01-16  Richard Henderson  <rth@redhat.com>
187
188         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
189         (alpha_next_sequence_number): Likewise.
190         (alpha_this_literal_sequence_number): Likewise.
191         (alpha_this_gpdisp_sequence_number): Likewise.
192         (struct alpha_funcs, alpha_funcs_num): Likewise.
193         (struct alpha_links): Fix branch merge error.
194         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
195
196 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
197
198         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
199         R. Ghazi.
200
201 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
202
203         * ifcvt.c: Fix comment typos.
204         * lcm.c: Likewise.
205         * libgcc2.c: Likewise.
206         * local-alloc.c: Likewise.
207         * loop.c: Likewise.
208         * predict.c: Likewise.
209         * ra-build.c: Likewise.
210         * ra.c: Likewise.
211         * ra-colorize.c: Likewise.
212         * ra.h: Likewise.
213         * ra-rewrite.c: Likewise.
214         * regmove.c: Likewise.
215         * reload.h: Likewise.
216         * rtlanal.c: Likewise.
217         * toplev.c: Likewise.
218         * tree.h: Likewise.
219         * unwind-dw2-fde-glibc.c: Likewise.
220         * vmsdbgout.c: Likewise.
221
222 2003-01-16  Richard Henderson  <rth@redhat.com>
223
224         * dwarf2out.c (struct file_table): Remove.
225         (FILE_TABLE_INCREMENT): Remove.
226         (file_table): Make a varray; mark for GC.  Update all users.
227         (file_table_last_lookup_index): Extract from struct file_table.
228         (output_file_names): Fix unsigned compare warnings.
229         (add_name_attribute): Remove inline marker.
230         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
231         (lookup_filename): Don't manage size of file_table.
232         (init_file_table): Allocate file_table with GC.
233         (dwarf2out_init): Don't record main_input_filename here.
234         (dwarf2out_finish): Do it here instead.
235
236 2003-01-16  Bruce Korb  <bkorb@gnu.org>
237
238         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
239
240 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
241
242         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
243         instead of rotldi3_mextr.
244
245 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
246
247         * haifa-sched.c (move_insn): Restore moving all schedule group.
248         (set_priorities): Restore taking SCHED_GROUP_P into account.
249
250         * sched-deps.c (add_dependence): Restore processing the last group
251         insn.
252         (remove_dependence, group_leader): Restore the functions.
253         (set_sched_group_p): Restore adding dependencies from previous insn
254         in the group.
255         (compute_forward_dependences): Restore usage of group_leader.
256
257         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
258         account.
259
260         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
261         account.
262         (can_schedule_ready_p): Ditto.
263         (add_branch_dependences): Restore skipping over the group insns.
264
265 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
266
267         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
268         68HC12 pre/post inc/dec side effects.
269
270 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
271
272         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
273
274 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
275
276         * sh.md (mshflo_w_x): Fix description of operation.
277
278 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
279
280         * config/rs6000/rs6000.h: Mention Altivec registers in
281         commentary.  Fix typo.
282
283 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
284
285         * config/rs6000/rs6000.md (movti_string): Remove clobber.
286         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
287         generate PARALLEL with clobber for TARGET_POWER.
288
289 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
290
291         * ra-colorize.c (colorize_one_web): Initialize variable.
292         * regmove.c (fixup_match_1): Likewise.
293         * reload1.c (reload_as_needed): Likewise.
294         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
295
296 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
297
298         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
299
300 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
301
302         * dbxout.c (lastfile, cwd): Fix `unused' warning.
303         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
304         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
305         is_main_source, file_table, decl_die_table_in_use,
306         abbrev_die_table_in_use, line_info_table_in_use,
307         separate_line_info_table_in_use, pubname_table_in_use,
308         arange_table_in_use, ranges_table_in_use,
309         current_function_has_inlines): Likewise.
310         * flow.c (life_analysis): Likewise.
311         * genemit.c (gen_insn): Likewise.
312         * protoize.c (cplus_suffix): Likewise.
313
314         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
315         * arm.h (ROUND_UP_WORD): Likewise.
316
317         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
318         warning.
319         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
320         init_emit_once): Likewise.
321         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
322         Likewise.
323         * function.c (assign_stack_temp_for_type): Likewise.
324         * loop.c (loop_invariant_p): Likewise.
325         * recog.c (push_operand): Likewise.
326         * regclass.c (init_reg_sets_1): Likewise.
327         * reload.c (update_auto_inc_notes): Likewise.
328         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
329         * stmt.c (expand_asm_operands): Likewise.
330         * stor-layout.c (start_record_layout): Likewise.
331
332 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
333
334         * config/c4x/c4x.md (epilogue): Correct last patch.
335
336 2003-01-15  Richard Henderson  <rth@redhat.com>
337
338         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
339         also check that GP is being used.
340         (alpha_find_lo_sum_using_gp): New.
341         (alpha_does_function_need_gp): Use get_attr_usegp.
342         * config/alpha/alpha-protos.h: Update.
343         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
344         as needed.
345
346 2003-01-15  Roger Sayle  <roger@eyesopen.com>
347
348         * gcse.c (one_cprop_pass): Change function arguments to take both
349         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
350         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
351         (bypass_jumps): New function to perform separate jump bypassing pass.
352         * rtl.h (bypass_jumps): Add function prototype.
353         * timevar.def (TV_BYPASS): New timing variable.
354         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
355         (dump_file): New entry for the bypass RTL dump file.
356         (rest_of_compilation): Insert new jump bypassing optimization
357         pass after loop.
358         * doc/passes.texi: Document new pass.
359
360 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
361
362         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
363         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
364         * pa.h (TARGET_SOM_SDEF): Define.
365         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
366
367 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
368
369         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
370         allocate 4-bytes of locals on 68HC11.
371         (expand_epilogue): Likewise.
372         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
373
374 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
375
376         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
377         and -mshort-double to the assembler to specify the ABI.
378         (LINK_SPEC): Likewise.
379         (CPP_SPEC): Pass HCS12 specific define.
380         (MASK_M68S12): New define.
381         (TARGET_M68S12): Likewise.
382         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
383         (TARGET_VERSION): Update.
384         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
385         (LINK_SPEC): Update.
386         (ASM_SPEC): Update.
387         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
388         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
389
390 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
391
392         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
393         the return code.
394
395 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
396
397         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
398         flag before setting it.
399
400 2003-01-15  Roger Sayle  <roger@eyesopen.com>
401
402         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
403         when loop condition is known true, i.e.  "while (1) { ... }".
404         (genrtl_for_stmt): Similarly for "for" statements.
405
406 2003-01-15  Roger Sayle  <roger@eyesopen.com>
407
408         * real.c (real_sqrt): Return a bool result indicating whether
409         a floating point exception or trap should be raised.
410         * real.h (real_sqrt): Update function prototype.
411         * builtins.c (fold_builtin): Only fold non-trapping square
412         roots unless we're ignoring errno and trapping math.
413
414 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
415
416         * expr.h (emit_conditional_add): Add PARAMS to declaration.
417         * gengtype-lex.l (malloc, realloc): Move defines after include of
418         system.h.  Remove duplicate include of system.h.
419
420 2003-01-15  Roger Sayle  <roger@eyesopen.com>
421
422         PR middle-end/9009
423         * optabs.c (expand_unop):  When manipulating the FP sign bit
424         using integer operations, account for targets with different
425         integer and FP word orders.
426         (expand_abs): Likewise.
427
428 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
429
430         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
431         file extension in section name.
432
433 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
434
435         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
436         constant offset.
437
438 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
439
440         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
441         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
442         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
443         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
444
445 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
446
447         PR f/9258
448         * global.c (struct allocno): Add no_stack_reg.
449         (global_conflicts): Set no_stack_reg.
450         (find_reg): Use it.
451
452         * convert.c (convert_to_real): Fold - and abs only when profitable.
453         * fold-const.c (fold): Fold truncates in - and abs.
454
455 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
456
457         Segher Boessenkool  <segher@koffie.nl>
458
459         * predict.c (real_inv_br_prob_base): New variable.
460         (propagate_freq): Use multiply by reciprocal instead of
461         division.  Don't divide by 1.0 at all.
462         (estimate_bb_frequencies): Similar.
463
464 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
465
466         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
467         * configure: Rebuilt.
468
469 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
470
471         * config/s390/s390.c (s390_safe_attr_type): New function.
472         (s390_use_dfa_pipeline_interface): New function, return true for z900.
473         (s390_issue_rate): New function.
474         (s390_agen_dep_p): New function.
475         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
476         (s390_adjust_cost): Return 'cost' if new DFA is used.
477         (s390_adjust_priority): Delete function.
478         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
479         * config/s390/s390.md (atype attribute): Attribute 'atype' default
480         determined by 'op_type'.
481         (type attribute): Added more type attributes.
482         * config/s390/2064.md: New DFA description for z900 pipeline.
483
484 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
485
486         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
487         forced to memory.  Fixes PR bootstrap/9036.
488
489         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
490         to set $gp before the call.
491
492 2003-01-14  Richard Henderson  <rth@redhat.com>
493
494         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
495         for force_const_mem.
496
497 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
498
499         * genattr.c (main): Rearrange output to avoid prototype warning.
500         * genautomata.c (transform_3): Fix ambiguous-else warning.
501         * local-alloc.c (requires_inout): Add parentheses around
502         assignment used as truth-value.
503         * timevar.c: Move system includes above local includes.  Include
504         toplev.h
505         * Makefile.in (timevar.o): Depend on toplev.h.
506
507 2003-01-14  Denis Chertykov  <denisc@overta.ru>
508
509         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
510         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
511
512         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
513         attributes.
514         (TARGET_ATTRIBUTE_TABLE): New macro.
515         (valid_machine_type_attribute): Remove.
516         (valid_machine_decl_attribute): Remove.
517         (ip2k_handle_progmem_attribute): New function.
518         (ip2k_handle_fndecl_attribute): New function.
519
520 2003-01-10  Andrew Haley  <aph@redhat.com>
521
522         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
523         registers to be in correct order.  Add rip.
524
525 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
526
527         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
528         (*iorsi3_and_lshiftrt_9_sb): Likewise.
529
530 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
531
532         * convert.c (strip_float_extensions):  Look for narrowest type handling
533         FP constants.
534
535         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
536         float1 CMP float2.
537         * convert.c (strip_float_extensions): Make global.
538         * tree.h (strip_float_extensions): Declare.
539
540 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
541
542         * timevar.def: define TV_NAME_LOOKUP.
543         * timevar.c (timevar_pop): Be verbose when aborting.
544
545 2003-01-13  Andreas Schwab  <schwab@suse.de>
546
547         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
548         $(parsedir), just move the temporary file at the end.
549         ($(parsedir)/gengtype-yacc.c): Likewise.
550
551 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
552
553         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
554         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
555         splitting.
556         * configure: Rebuilt.
557
558 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
559
560         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
561         internal_mcount): Don't use PARAMS.
562         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
563         ISO C style.
564         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
565
566 2003-01-13  Andreas Schwab  <schwab@suse.de>
567
568         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
569         directive.
570
571 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
572
573         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
574         (*iorsi3_and_lshiftrt_n_sb): Likewise.
575
576 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
577
578         PR c++/9264
579         * c-lex.c (c_lex): Set the token value to error_mark_node for
580         invalid numeric constants.
581
582 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
583
584         * c-pch.c (asm_file_startpos): Change to `long'.
585         (pch_init): Use ftell, not ftello.
586         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
587         Use `long' instead of `off_t'.
588         (c_common_read_pch): Likewise.
589         * ggc-common.c (gt_pch_save): Use long/ftell instead of
590         off_t/ftello.
591
592 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
593
594         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
595
596 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
597
598         * arm-protos.h (struct cpp_reader): Add declaration.
599
600 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
601
602         PR target/9068
603         * i386.c (output_fp_compare): Fix typo.
604
605 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
606
607         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
608
609 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
610
611         * Makefile.in (parsedir): New variable.
612         (docobjdir): New variable.
613         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
614         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
615         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
616         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
617         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
618         Use docobjdir.
619         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
620         objc.maintainer-clean): Use parsedir.
621
622         * varasm.c (struct constant_descriptor_rtx): Remove unused
623         `label' field.
624
625         * toplev.c (documented_lang_options): Document -Winvalid-pch.
626
627 2003-01-10  Richard Henderson  <rth@redhat.com>
628
629         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
630         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
631
632 2003-01-10  Richard Henderson  <rth@redhat.com>
633
634         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
635         not INTEGRAL_MODE_P when widening extensions.
636
637 2003-01-10  Richard Henderson  <rth@redhat.com>
638
639         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
640
641 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
642
643         * ggc-page.c (ggc_collect): Avoid overflow computing
644         min_expand.
645
646         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
647         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
648         Remove calls.
649         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
650
651 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
652
653         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
654         with weird operands.
655
656 2003-01-10  Dale Johannesen <dalej@apple.com>
657
658         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
659         parameters.  Call check_sibcall_argument_overlap if indicated.
660         (check_sibcall_argument_overlap):  Add mark_stored_args_map
661         parameter.  Don't mark parameter area as clobbered if not set.
662         (expand_call):  Adjust calls to above.
663
664 2003-01-10 Kelley Cook <kelleycook@comcast.net>
665
666         * configure.in (linker read-only and read-write section mixing):
667         Squelch some assembler warnings.
668         * configure: Likewise.
669
670 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
671
672         * doc/invoke.texi: Document -mtune, delete -mcpu
673         option for S/390 and zSeries.
674         * config/s390/s390.c (s390_tune_string) New variable.
675         (s390_cpu_string) Delete variable.
676         (override_options): Use s390_tune_string instead of
677         s390_cpu_string.
678         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
679
680 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
681
682         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
683
684 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
685
686         * jump.c (next_nonnote_insn_in_loop): New function.
687         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
688         next_nonnote_insn.
689         (duplicate_loop_exit_test). Likewise.
690
691 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
692
693         Merge from pch-branch:
694
695         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
696
697         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
698         load.
699
700         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
701
702         * cpplib.c (count_registered_pragmas): New function.
703         (save_registered_pragmas): New function.
704         (_cpp_save_pragma_names): New function.
705         (restore_registered_pragmas): New function.
706         (_cpp_restore_pragma_names): New function.
707         * cpphash.h (_cpp_save_pragma_names): Prototype.
708         (_cpp_restore_pragma_names): Likewise.
709         * cpppch.c (struct save_macro_item): Split from save_macro_data.
710         (struct save_macro_data): New field 'saved_pragmas'.
711         (save_macros): Update for changes to struct save_macro_data.
712         (cpp_prepare_state): Call _cpp_save_pragma_names, update
713         for changes to struct save_macro_data.
714         (cpp_read_state): Call _cpp_restore_pragma_names, update
715         for changes to struct save_macro_data.
716
717         * cpppch.c (cpp_read_state): Restore the hashtable references
718         in the cpp_reader.
719
720         * tree.h (built_in_decls): Mark for PCH.
721
722         * dbxout.c (lastfile): Don't mark for PCH.
723
724         * ggc.h: Document PCH calls into memory managers.
725
726         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
727
728         * doc/invoke.texi (Precompiled Headers): Document the
729         directory form of PCH.
730         * cppfiles.c (validate_pch): New function.
731         (open_file_pch): Search suitably-named directories for PCH files.
732
733         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
734
735         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
736         reorder options.
737         (Type Information): Mention that the information is also
738         used to implement PCH.
739         * doc/passes.texi (Passes): Improve documentation of
740         language-specific files.
741
742         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
743
744         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
745         (struct walk_type_data): Add reorder_fn field.
746         (walk_type): Process 'reorder' option.
747         (write_types_process_field): Reorder parameters to gt_pch_note_object,
748         call reorder_note_routine.
749         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
750         (ggc_wtd): Update for change to struct write_types_data.
751         (pch_wtd): Likewise.
752         * ggc.h (gt_pch_note_object): Reorder parameters.
753         (gt_handle_reorder): New definition.
754         (gt_pch_note_reorder): New prototype.
755         * ggc-common.c (struct ptr_data): Add reorder_fn.
756         (gt_pch_note_object): Reorder parameters.
757         (gt_pch_note_reorder): New.
758         (gt_pch_save): Call reorder_fn.
759         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
760
761         * dbxout.c (cwd): Don't mark for PCH.
762
763         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
764
765         * gengtype.c (finish_root_table): Fix some warnings.
766         (write_root): Handle TYPE_STRING.
767         * ggc.h (gt_ggc_m_S): Add prototype.
768         * stringpool.c (gt_ggc_m_S): New function.
769
770         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
771
772         * dwarf2out.c (dw2_string_counter): New.
773         (AT_string_form): Use it.
774         (same_dw_val_p): Update for removal of hashtable.h hash tables.
775
776         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
777
778         * dbxout.c: Include gt-dbxout.h.
779         (lastfile): Mark for PCH/GGC.
780         (cwd): Likewise.
781         (struct typeinfo): Likewise.
782         (typevec): Likewise.
783         (typevec_len): Likewise.
784         (next_type_number): Likewise.
785         (struct dbx_file): Likewise.
786         (current_file): Likewise.
787         (next_file_number): Likewise.
788         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
789         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
790         (dbxout_end_source_file): Don't free struct dbx_file.
791         (dbxout_type): Use GGC to allocate typevec.
792         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
793         (GTFILES): Add dbxout.c.
794         (gt-dbxout.h): New rule.
795
796         * Makefile.in (c-pch.o): Add debug.h as dependency.
797         * c-pch.c: Include debug.h.
798         (pch_init): Call start_source_file to keep nesting right.
799         (c_common_read_pch): Add orig_name parameter.  Call
800         start_source_file debug hook.  Call end_source_file debug hook.
801         * c-common.h (c_common_read_pch): Update prototype.
802         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
803         callback.
804         * cppfiles.c (struct include_file): Add new field `header_name'.
805         (find_or_create_entry): Default it to `name'.
806         (open_file_pch): Set it to the original header file searched for.
807         (stack_include_file): Don't stack an empty buffer, just handle
808         PCH files immediately.  Pass header_name field to read_pch callback.
809
810         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
811
812         * function.c (funcdef_no): Mark to be saved in a PCH.
813
814         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
815
816         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
817
818         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
819
820         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
821
822         * optabs.h (code_to_optab): Add GTY marker.
823
824         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
825
826         * Makefile.in (GTFILES): Add cpplib.h.
827         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
828         * c-decl.c (build_compound_literal): Don't use var_labelno.
829         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
830         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
831         * varasm.c (const_labelno): Use gengtype to mark.
832         (var_labelno): Likewise.
833         (in_section): Likewise.
834         (in_named_name): Likewise.
835         (struct in_named_entry): Likewise.
836         (in_named_htab): Likewise.
837         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
838         (init_varasm_once): Use GGC to allocate in_named_htab.
839         * config/darwin.c (current_pic_label_num): Mark for PCH.
840
841         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
842
843         * ggc-simple.c (init_ggc_pch): New stub procedure.
844         (ggc_pch_count_object): Likewise.
845         (ggc_pch_total_size): Likewise.
846         (ggc_pch_this_base): Likewise.
847         (ggc_pch_alloc_object): Likewise.
848         (ggc_pch_prepare_write): Likewise.
849         (ggc_pch_write_object): Likewise
850         (ggc_pch_finish): Likewise.
851         (ggc_pch_read): Likewise.
852
853         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
854
855         * c-pch.c (c_common_write_pch): Write the macro definitions after
856         the GCed data.
857         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
858         definitions after the GCed data.
859         * cpplib.c (save_macros): New.
860         (reset_ht): New.
861         (cpp_write_pch_deps): Split out of cpp_write_pch.
862         (cpp_write_pch_state): Split out of cpp_write_pch.
863         (cpp_write_pch): Delete.
864         (struct save_macro_data): Delete.
865         (cpp_prepare_state): New.
866         (cpp_read_state): Erase and restore initial macro definitions.
867         * cpplib.h (struct save_macro_data): Forward-declare.
868         (cpp_write_pch_deps): Prototype.
869         (cpp_write_pch_state): Prototype.
870         (cpp_write_pch): Delete prototype.
871         (cpp_prepare_state): Prototype.
872         (cpp_read_state): Add fourth argument.
873
874         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
875
876         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
877         (write_array): Remove warning.
878
879         * gengtype.c (contains_scalar_p): New.
880         (finish_root_table): Add the table to all languages, even if it's
881         empty.
882         (write_roots): Output gt_pch_scalar_rtab.
883         * ggc-common.c (gt_pch_save): Write out scalars.
884         (gt_pch_restore): Read scalars back.
885
886         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
887         (struct page_entry): Delete pch_page field.
888         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
889         (clear_marks): Likewise.
890         (sweep_pages): Likewise.
891         (poison_pages): Likewise.
892         (ggc_print_statistics): Likewise.
893         (ggc_pch_read): Don't free objects read from a PCH.
894         Properly set up in_use_p and page_tails.
895
896         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
897
898         * gengtype.c (struct write_types_data): New.
899         (struct walk_type_data): Make `cookie' const; add extra
900         prev_val item; add `orig_s' field.
901         (walk_type): Update prev_val[3].
902         (write_types_process_field): New.
903         (write_func_for_structure): Take write_types_data structure.
904         (write_types): New.
905         (ggc_wtd): New.
906         (pch_wtd): New.
907         (write_types_local_process_field): New.
908         (gc_mark_process_field): Delete.
909         (write_local_func_for_structure): New.
910         (gc_mark_func_name): Delete.
911         (write_gc_types): Delete.
912         (write_local): New.
913         (finish_root_table): Don't include 'ggc_' in PFX.
914         (write_root): Rename from write_root.  Fill pchw field of structures.
915         (write_array): New.
916         (write_roots): Rename from write_gc_roots.  Split out to write_array.
917         Update to changes to other routines.  Write gt_pch_cache_rtab table.
918         (main): Write PCH walking routines.
919         * ggc-common.c: Include toplev.h, sys/mman.h.
920         (ggc_mark_roots): For cache hashtables, also mark the hash table
921         and the array of entries.
922         (saving_htab): New.
923         (struct ptr_data): New.
924         (POINTER_HASH): New.
925         (gt_pch_note_object): New.
926         (saving_htab_hash): New.
927         (saving_htab_eq): New.
928         (struct traversal_state): New.
929         (call_count): New.
930         (call_alloc): New.
931         (compare_ptr_data): New.
932         (relocate_ptrs): New.
933         (write_pch_globals): New.
934         (struct mmap_info): New.
935         (gt_pch_save): New.
936         (gt_pch_restore): New.
937         * ggc-page.c (ROUND_UP_VALUE): New.
938         (ROUND_UP): New.
939         (struct page_entry): Add field `pch_page'.
940         (init_ggc): Use ROUND_UP.
941         (struct ggc_pch_data): Declare.
942         (init_ggc_pch): New.
943         (ggc_pch_count_object): New.
944         (ggc_pch_total_size): New.
945         (ggc_pch_this_base): New.
946         (ggc_pch_alloc_object): New.
947         (ggc_pch_prepare_write): New.
948         (ggc_pch_write_object): New.
949         (ggc_pch_finish): New.
950         (ggc_pch_read): New.
951         * ggc.h (gt_pointer_operator): New.
952         (gt_note_pointers): New.
953         (gt_pch_note_object): New prototype.
954         (gt_pointer_walker): New.
955         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
956         (LAST_GGC_ROOT_TAB): Update.
957         (gt_pch_cache_rtab): Declare.
958         (gt_pch_scalar_rtab): Declare.
959         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
960         (LAST_GGC_CACHE_TAB): Update.
961         (gt_pch_save_stringpool): Declare.
962         (gt_pch_restore_stringpool): Declare.
963         (gt_pch_p_S): Declare.
964         (gt_pch_n_S): Declare.
965         (struct ggc_pch_data): Forward-declare.
966         (init_ggc_pch): Declare.
967         (ggc_pch_count_object): Declare.
968         (ggc_pch_total_size): Declare.
969         (ggc_pch_this_base): Declare.
970         (ggc_pch_alloc_object): Declare.
971         (ggc_pch_prepare_write): Declare.
972         (ggc_pch_write_object): Declare.
973         (ggc_pch_finish): Declare.
974         (ggc_pch_read): Declare.
975         (gt_pch_save): Declare.
976         (gt_pch_restore): Declare.
977         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
978         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
979         const_double_htab, mem_attrs_htab using GGC.
980         * c-pch.c: Include ggc.h.
981         (pch_init): Allow reading PCH file back.
982         (c_common_write_pch): Call gt_pch_save.
983         (c_common_read_pch): Call gt_pch_restore.
984         * c-parse.in (init_reswords): Delete now-untrue comment.
985         Allocate ridpointers using GGC.
986         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
987         calling expand_deferred_fns.
988         * c-common.h (ridpointers): Mark for GTY machinery.
989         * Makefile.in (stringpool.o): Update dependencies.
990         (c-pch.o): Update dependencies.
991         (ggc-common.o): Update dependencies.
992         * stringpool.c: Include gt-stringpool.h.
993         (gt_pch_p_S): New.
994         (gt_pch_n_S): New.
995         (struct string_pool_data): New.
996         (spd): New.
997         (gt_pch_save_stringpool): New.
998         (gt_pch_restore_stringpool): New.
999         * tree.c (init_ttree): Make type_hash_table allocated using GC.
1000
1001         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
1002
1003         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
1004         (output_mangled_typename): Don't pass size_t to printf.
1005
1006         * tree.h (union tree_type_symtab): Add tag to `address' field.
1007         (union tree_decl_u2): Add tag to 'i' field.
1008         * varasm.c (union rtx_const_un): Add tags to all fields.
1009         * gengtype.c (struct walk_type_data): New.
1010         (output_escaped_param): Take struct walk_type_data parameter.
1011         (write_gc_structure_fields): Delete.
1012         (walk_type): New.
1013         (write_gc_marker_routine_for_structure): Delete.
1014         (write_func_for_structure): New.
1015         (gc_mark_process_field): New.
1016         (gc_mark_func_name): New.
1017         (gc_counter): Delete.
1018         (write_gc_types): Use write_func_for_structure.
1019         (write_gc_roots): Use walk_type.
1020
1021         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
1022
1023         * ggc-common.c (ggc_mark_roots): Delete 'x'.
1024         (ggc_splay_dont_free): Fix warning about unused 'x'.
1025         (ggc_print_common_statistics): Remove warnings.
1026
1027         2002-10-01  Mike Stump  <mrs@apple.com>
1028
1029         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
1030         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
1031
1032         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
1033             Catherine Moore  <clm@redhat.com>
1034
1035         * Makefile (c-pch.o): Update dependencies.
1036         (LIBCPP_OBJS): Add cpppch.o.
1037         (cpppch.o): New.
1038         * c-common.c (c_common_init): Don't call pch_init here.
1039         * c-common.h (c_common_read_pch): Update prototype.
1040         * c-lex.c (c_common_parse_file): Call pch_init here.
1041         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
1042         (c_common_decode_option): Handle them.
1043         * c-pch.c: Include c-pragma.h.
1044         (save_asm_offset): Delete.
1045         (pch_init): Move contents of save_asm_offset into here, call
1046         cpp_save_state.
1047         (c_common_write_pch): Call cpp_write_pch.
1048         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
1049         cpp_valid_state.
1050         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
1051         * cppfiles.c (stack_include_file): Update for change to
1052         parameters of cb.read_pch.
1053         * cpphash.h (struct cpp_reader): Add `savedstate' field.
1054         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
1055         `restore_pch_deps' fields.
1056         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
1057         (cpp_save_state): Prototype.
1058         (cpp_write_pch): Prototype.
1059         (cpp_valid_state): Prototype.
1060         (cpp_read_state): Prototype.
1061         * cpppch.c: New file.
1062         * flags.h (version_flag): Remove prototype.
1063         * mkdeps.c (deps_save): New.
1064         (deps_restore): New.
1065         * mkdeps.h (deps_save): Prototype.
1066         (deps_restore): Prototype.
1067         * toplev.c (late_init_hook): Delete.
1068         (version_flag): Make static again.
1069         (compile_file): Don't call late_init_hook.
1070         * toplev.h (late_init_hook): Delete.
1071         * doc/cppopts.texi: Document -fpch-deps.
1072         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
1073
1074         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
1075
1076         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
1077         callers.
1078         (c_common_valid_pch): Rename from c_valid_pch, change callers.
1079         (c_common_read_pch): Rename from c_read_pch, change callers.
1080
1081         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
1082         a space between it and its argument.
1083
1084         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
1085
1086         * c-pch.c: New file.
1087         * toplev.h (late_init_hook): Declare.
1088         * toplev.c (late_init_hook): Define.
1089         (version_flag): Make globally visible.
1090         (compile_file): Call late_init_hook.
1091         (init_asm_output): Make output file seekable.
1092         * gcc.c (default_compilers): Update c-header rule.
1093         * flags.h (version_flag): Declare.
1094         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
1095         fields.
1096         * cppfiles.c (struct include_file): Add 'pch' field.
1097         (INCLUDE_PCH_P): New.
1098         (open_file_pch): New.
1099         (stack_include_file): Handle PCH files specially.
1100         (find_include_file): Call open_file_pch instead of open_file.
1101         (_cpp_read_file): Explain why open_file is used instead of
1102         open_file_pch.
1103         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
1104         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
1105         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
1106         in cpplib callbacks.
1107         * c-common.c (pch_file): Correct comment.
1108         (allow_pch): Define.
1109         (c_common_init): Call pch_init.
1110         * c-common.h (allow_pch): Declare.
1111         (pch_init): Declare.
1112         (c_valid_pch): Declare.
1113         (c_read_pch): Declare.
1114         (c_write_pch): Declare.
1115         * Makefile.in (c-pch.o): New.
1116         (C_AND_OBJC_OBJS): Add c-pch.o.
1117         * doc/invoke.texi (Precompiled Headers): Add index entries,
1118         complete truncated paragraph.
1119
1120         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
1121
1122         * c-common.c: (pch_file): Define.
1123         * c-common.h (pch_file): Declare.
1124         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
1125         (missing_arg): Require --output-pch= to have an argument.
1126         (c_common_decode_option): Handle --output-pch=.
1127         * gcc.c: Document new %V.
1128         (default_compilers): Handle compiling C header files.
1129         (do_spec_1): Implement %V.
1130         (main): Handle "gcc foo.h" without trying to run linker.
1131         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
1132         (Overall Options): Document what the driver does with header files,
1133         document new -x option possibilities.
1134         (Invoking G++): More documentation for PCH.
1135         (Precompiled Headers): New.
1136
1137         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
1138
1139         * ggc.h: Don't include varray.h.  Rearrange functions to be more
1140         organized.
1141         (ggc_add_root): Delete.
1142         (ggc_mark_rtx): Delete.
1143         (ggc_mark_tree): Delete.
1144         (struct ggc_statistics): Remove contents.
1145         * ggc-common.c: Remove unneeded includes.
1146         (struct ggc_root): Delete.
1147         (roots): Delete.
1148         (ggc_add_root): Delete.
1149         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
1150         (ggc_print_common_statistics): Remove most of the contents.
1151         * Makefile.in (GGC_H): No longer uses varray.h.
1152         (ggc-common.o): Update dependencies.
1153         (c-parse.o): Add varray.h to dependencies.
1154         (c-common.o): Add varray.h.
1155         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
1156         (mark_ident_hash): Rename to ggc_mark_stringpool.
1157         (init_stringpool): Don't use ggc_add_root.
1158         * c-parse.in: Include varray.h.
1159         * c-common.c: Include varray.h.
1160         * objc/Make-lang.in (objc-act.o): Add varray.h.
1161         * objc/objc-act.c: Include varray.h.
1162
1163         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
1164
1165         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
1166         (dw_cfi_oprnd1_desc): Likewise.
1167
1168         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1169
1170         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1171         move out of ifdef.
1172         (alpha_links): Use gengtype to mark; move out of ifdef.
1173         (mark_alpha_links_node): Delete.
1174         (mark_alpha_links): Delete.
1175         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1176         alpha_links, strings.  Don't use ggc_add_root.
1177         * ggc-common.c (ggc_splay_alloc): New.
1178         (ggc_splay_dont_free): New.
1179         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1180         (ggc_mark_tree): Likewise.
1181         (splay_tree_new_ggc): New.
1182         (ggc_splay_alloc): Declare.
1183         (ggc_splay_dont_free): Declare.
1184         * dwarf2asm.c: Include gt-dwarf2asm.h.
1185         (mark_indirect_pool_entry): Delete.
1186         (mark_indirect_pool): Delete.
1187         (indirect_pool): Use gengtype to mark.
1188         (dw2_force_const_mem): Don't use ggc_add_root.
1189         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1190         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1191         (gt-dwarf2asm.h): Depend on s-gtype.
1192
1193         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1194
1195         * tree.h (union tree_type_symtab): Mark `die' field.
1196         * Makefile.in (dwarf2out.o): Update dependencies.
1197         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1198         hash tables.
1199         (dw_cfi_oprnd1_desc): New function.
1200         (dw_cfi_oprnd2_desc): New function.
1201         (indirect_string_alloc): Delete.
1202         (debug_str_do_hash): New function.
1203         (debug_str_eq): New function.
1204         (mark_limbo_die_list): Delete.
1205         (dwarf2out_init): Don't call ggc_add_root.
1206
1207 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1208
1209         The following changes are merged from itanium-sched-branch:
1210
1211         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1212
1213         * doc/md.texi: Clarify assignment of units to automata description.
1214
1215         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1216
1217         * genautomata.c (unit_decl): Remove members
1218         `the_same_automaton_unit' and
1219         `the_same_automaton_message_reported_p'.
1220         (process_unit_to_form_the_same_automaton_unit_lists,
1221         form_the_same_automaton_unit_lists_from_regexp,
1222         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1223         Remove them.
1224         (annotation_message_reported_p): New global variable.
1225         (check_unit_distribution_in_reserv,
1226         check_regexp_units_distribution): New functions.
1227         (check_unit_distributions_to_automata): Rewrite it.
1228
1229         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1230
1231         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1232         Use continue instead of break if cycle is too big.
1233
1234         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1235
1236         * genautomata.c (check_unit_distributions_to_automata): Output at
1237         most one message for a unit.
1238         (process_unit_to_form_the_same_automaton_unit_lists): Check
1239         automaton of units instead of units themself.
1240
1241         * doc/md.texi: Describe the constraint about assigning unit to
1242         automata.
1243
1244         2002-12-20  Jan Hubicka  <jH@suse.cz>
1245                     Vladimir Makarov  <vmakarov@redhat.com>
1246
1247         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1248         and `in_set_p'.
1249         (gen_cpu_unit): Initialize the new members.
1250         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1251         up `min_occ_cycle_num'.
1252         (evaluate_max_reserv_cycles): Change the function call.
1253         (CLEAR_BIT): New macro.
1254         (states_union, state_shift): Use the mask.
1255         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1256         (form_reservs_matter): New function.
1257         (make_automaton): Call the function and use the mask.
1258         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1259         account.
1260
1261         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1262
1263         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1264
1265         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1266
1267         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1268         for Itanium.
1269
1270         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1271
1272         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1273         default cpu.
1274
1275         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1276                 2002-10-31  Dale Johannesen <dalej@apple.com>
1277
1278         * haifa-sched.c (find_set_reg_weight): New function.
1279         (find_insn_reg_weight): Use the new function.
1280         (schedule_block): Do sorting ready queue always
1281         after insn issue.
1282
1283         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1284
1285         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1286
1287         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1288
1289         * haifa-sched.c (choice_entry): New structure.
1290         (choice_stack, cycle_issued_insns): New variables.
1291         (max_issue): Rewrite it.
1292         (choose_ready): Set up ready_try for unknown insns too.
1293         (schedule_block): Allocate and free choice_stack.  Set up
1294         and modify cycle_issued_insns.
1295
1296         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1297         with and without filling the bundle.
1298         (bundling): Combine calls of issue_nops_and_insn.
1299
1300         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1301
1302         * config/ia64/itanium1.md: New file.
1303
1304         * config/ia64/itanium2.md: New file.
1305
1306         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1307         Remove the old pipeline description.
1308
1309         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1310         itanium processor names.
1311
1312         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1313
1314         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1315         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1316
1317         * config/ia64/ia64.md: Add descriptions for Itanium2.
1318
1319         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1320
1321         * config/ia64/ia64.h (processor_type): New enumeration.
1322         (ia64_tune, ia64_tune_string): New external declarations.
1323         (TARGET_OPTIONS): Add option `tune='.
1324
1325         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1326         variables.
1327         (ia64_override_options): Set up `ia64_tune'.
1328         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1329         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1330         (bundling): Add nops for MM-insns only for Itanium.
1331         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1332         Itanium.
1333
1334         * config/ia64/ia64.md (cpu): New attribute.
1335         (DFA description): Enable it only for Itanium.
1336
1337         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1338                     Richard Henderson  <rth@redhat.com>
1339
1340         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1341         MASK_EARLY_STOP_BITS.
1342         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1343         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1344         `early-stop-bits'.
1345
1346         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1347         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1348         instead of TARGET_TUNE_STOP_BITS.
1349
1350         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1351         `-mearly-stop-bits'.
1352
1353         * config/ia64/ia64.c (automata_option "v"): Comment it.
1354
1355         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1356
1357         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1358         New macros.
1359         (TARGET_SWITCHES): Add entries for the new option.
1360
1361         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1362         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1363         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1364         global variables.
1365         (ia64_sched_reorder2): Set up `clocks'.
1366         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1367         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1368         queue when TARGET_TUNE_STOP_BITS.
1369         (bundling): Insert additional nops for MM-insns.
1370         (final_emit_insn_group_barriers): Add insertion of stop bits
1371         according `stops_p'.
1372         (ia64_reorg): Initiate the new varibales.
1373
1374         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1375
1376         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1377
1378         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1379         insns at the end of block insn scheduling.
1380
1381         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1382
1383         * sched-deps.c (remove_dependence, group_leader): Remove it.
1384         (add_dependence): Add dependence to group leader to.
1385         (set_sched_group_p): Add dependence to the first insn of the
1386         schedule group too.
1387         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1388         Change true dependence by anti-dependence when
1389         `reg_pending_barrier'.
1390
1391         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1392         add_branch_dependences): Ignore schedule groups.
1393
1394         * sched-ebb.c (init_ready_list): Ditto.
1395
1396         * (move_insn, set_priorities): Ditto.
1397
1398         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1399         flag is clear after reload.
1400         (adjust_cost): Change cost only for output dependencies.
1401
1402         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1403
1404         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1405
1406         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1407
1408         * target.h (gcc_target): Add member
1409         `dependencies_evaluation_hook'.
1410
1411         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1412         macro.
1413         (TARGET_SCHED): Add initiatialization of the new member.
1414
1415         * sched-ebb.c: Include `target.h'.
1416         (schedule_ebb): Call `dependencies_evaluation_hook'.
1417
1418         * sched-rgn.c (schedule_region): Call
1419         `dependencies_evaluation_hook'.
1420
1421         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1422         New macro.
1423         (ia64_dependencies_evaluation_hook): New function.
1424
1425         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1426         Describe the new hook.
1427
1428         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1429
1430         * target.h (gcc_target): Add members
1431         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1432
1433         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1434         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1435         macros.
1436         (TARGET_SCHED): Add initiatialization of the new members.
1437
1438         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1439         insn scheduling too.
1440         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1441         initialize `ready_try'.
1442         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1443         `dfa_new_cycle' says not to do it.
1444
1445         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1446         bundling.
1447
1448         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1449
1450         * config/ia64/ia64.c: Include `hashtab.h'.
1451         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1452         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1453         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1454         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1455         bundle_state_eq_p, insert_bundle_state,
1456         initiate_bundle_state_table, finish_bundle_state_table,
1457         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1458         get_template, get_next_important_insn, bundling): New functions.
1459         (ia64_internal_sched_reorder): Remove it.
1460         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1461         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1462         (ia64_safe_itanium_requires_unit0): Remove it.
1463         (group_barrier_needed_p): Place group barrier right before a real
1464         insn.
1465         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1466         Remove them.
1467         (bundle_name): New variable.
1468         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1469         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1470         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1471         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1472         temp_dfa_state, prev_cycle_state): New global variables.
1473         (insn_matches_slot, maybe_rotate, finish_last_head,
1474         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1475         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1476         find_best_packet, itanium_reorder, dump_current_packet,
1477         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1478         (sched_data, sched_ready, sched_types): Remove them.
1479         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1480         `init_insn_group_barriers'.
1481         (ia64_sched_reorder, ia64_sched_reorder2): Call
1482         ia64_dfa_sched_reorder.
1483         (ia64_variable_issue): Rewrite it.
1484         (bundle_state): New structure.
1485         (index_to_bundle_states, bundle_states_num,
1486         allocated_bundle_states_chain, free_bundle_state_chain): New
1487         global variables.
1488         (ia64_sched_finish): Add stop bits and call `bundling' after the
1489         2nd insn scheduling.
1490         (ia64_use_dfa_pipeline_interface): Return zero always.
1491         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1492         insn scheduling.
1493         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1494         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1495         (ia64_reorg): Add bundling insns.
1496
1497         * doc/tm.texi
1498         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1499         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1500
1501         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1502
1503         * config/ia64/ia64.md: Add Itanium1 DFA description.
1504         (itanium_class): Add `nop' and `pre_cycle'.  Add
1505         define_function_unit for `nop'.
1506         (nop): Change attribute `itanium_class'.
1507         (pre_cycle): New define_insn.
1508
1509         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1510         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1511         ia64_produce_address_p): New function prototypes.
1512
1513         * config/ia64/ia64.c (bundling_p): New global variable.
1514         (ia64_use_dfa_pipeline_interface,
1515         ia64_first_cycle_multipass_dfa_lookahead,
1516         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1517         functions.
1518         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1519         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1520         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1521         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1522         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1523         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1524         (dfa_pre_cycle_insn): New variable.
1525
1526         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1527
1528         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1529         constructions.
1530
1531         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1532         New function prototypes.
1533
1534         * genattrtab.c (main): Process the new constructions.
1535
1536         * genautomata.c (gen_presence_absence_set,
1537         process_presence_absence_names, process_presence_absence_patterns,
1538         add_presence_absence, check_absence_pattern_sets): Add parameter
1539         `final_p'.
1540         (unit_decl): Add new members `final_presence_list' and
1541         `final_absence_list'.
1542         (unit_pattern_rel_decl): Add new member `final_p'.
1543         (gen_final_presence_set, gen_final_absence_set): New functions.
1544         (process_decls): Use member `final_p'.
1545         (temp_reserv): New global variable.
1546         (reserv_sets_are_intersected): Add processing `final_presence_set'
1547         and `final_absence_set'.
1548         (initiate_states): Allocate `temp_reserv'.
1549         (unit_final_presence_set_table, unit_final_absence_set_table): New
1550         gloabal variables.
1551         (initiate_presence_absence_pattern_sets): Initiate them.
1552         (NDFA_to_DFA): Fix typo.
1553         (output_description): Output `final_presence_set' and
1554         `final_absence_set'.
1555
1556         * doc/md.texi (final_presence_set, final_absence_set): Describe
1557         them.
1558
1559         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1560
1561         * genautomata.c (transform_3): Process a missing case (nothing on
1562         unit place).
1563
1564         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1565
1566         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1567         comments about queried units and the minimization.
1568
1569         * doc/md.texi: Ditto.
1570
1571         * genautomata.c (create_composed_state): Return nonzero if the new
1572         state has been created.
1573         (first_cycle_unit_presence): New function.
1574         (state_is_differed): Add new parameter.  Use the new function.
1575         Take queried units into account.
1576         (partition_equiv_class): Pass additional parameter to
1577         `state_is_differed'.
1578         (merge_states): Process composed states too.
1579         (build_automaton, create_automata, output_min_issue_delay_table,
1580         output_tables, output_statistics): Output more information.
1581         (output_reserved_units_table): Use function
1582         `first_cycle_unit_presence'.
1583         (output_tables): Output table of queried units even if the
1584         minimization is switched on.
1585         (write_automata): Output code for querying units even if the
1586         minimization is switched on.
1587
1588         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1589
1590         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1591         syntax of the constructions.
1592
1593         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1594         extended syntax of the constructions.
1595
1596         * genautomata.c (unit_rel_decl): Rename it to
1597         `unit_pattern_rel_decl'.
1598         (pattern_set_el, pattern_reserv): New structures.
1599         (pattern_set_el_t, pattern_reserv_t): New types.
1600         (gen_presence_absence_set): New function.
1601         (process_presence_absence): Remove it.
1602         (process_presence_absence_names,
1603         process_presence_absence_patterns): New functions.
1604         (get_presence_absence_set): Remove it.
1605         (initiate_presence_absence_sets): Rename it on
1606         `initiate_presence_absence_pattern_sets'.  Use new function
1607         `form_reserv_sets_list'.
1608         (form_reserv_sets_list, check_presence_pattern_sets,
1609         check_absence_pattern_sets, output_pattern_set_el_list): New
1610         functions.
1611         (unit_decl): Change types of members `presence_list' and
1612         `absence_list'.
1613         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1614         (decl): Change types of members `excl', `presence', and `absence'.
1615         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1616         at the end of the vector.
1617         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1618         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1619         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1620         (gen_presence_set, gen_absence_set): Use new function
1621         `gen_presence_absence_set'.
1622         (add_presence_absence): Process `pattern_list' instead of
1623         `source_list'.
1624         (process_decls): USe new functions
1625         `process_presence_absence_names' and
1626         `process_presence_absence_patterns'.
1627         (reserv_sets_are_intersected): Use new function
1628         `check_presence_pattern_sets'.
1629         (presence_set, absence_set): Remove them.
1630         (unit_presence_set_table, unit_absence_set_table): New global
1631         variables.
1632         (output_description): Use new function
1633         `output_pattern_set_el_list'.
1634         (generate): Use `initiate_presence_absence_pattern_sets'.
1635
1636         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1637
1638         * genattr.c (main): Add output of prototype of new interface
1639         function `dfa_clean_insn_cache'.
1640
1641         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1642         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1643         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1644         the generated code.
1645         (write_automata): Call the new function.
1646
1647 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1648
1649         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1650         correctly.
1651
1652 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1653
1654         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1655
1656 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1657
1658         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1659         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1660         (CONSTRAINT_LEN): Provide default definition.
1661         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1662         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1663         (EXTRA_CONSTRAINT_STR): Likewise.
1664         (REG_CLASS_FROM_CONSTRAINT): Define.
1665         * genoutput.c (check_constraint_len, constraint_len): New functions.
1666         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1667         constraint / modifier.
1668         (gen_insn): Call check_constraint_len.
1669         * local-alloc.c (block_alloc): Update to use new macros / pass
1670         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1671         * ra-build.c (handle_asm_insn): Likewise.
1672         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1673         (constrain_operands, peep2_find_free_register): Likewise.
1674         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1675         * regmove.c (find_matches): Likewise.
1676         * reload.c (push_secondary_reload, find_reloads): Likewise.
1677         (alternative_allows_memconst): Likewise.
1678         * reload1.c (maybe_fix_stack_asms): Likewise.
1679         (reload_cse_simplify_operands): Likewise.
1680         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1681         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1682         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1683         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1684         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1685         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1686
1687         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1688
1689 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1690
1691         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1692         length.
1693         (*extzv_1_r_h8300hs): Likewise.
1694         (*extzv_1_r_inv_h8300): Likewise.
1695         (*extzv_1_r_inv_h8300hs): Likewise.
1696
1697 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1698
1699         * config/h8300/h8300.h (PREDICATE_CODES): New.
1700
1701 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1702
1703         * config/h8300/h8300.md (*addsi3_upper): New.
1704         (*iorsi3_shift): Likewise.
1705         (two splitters): Likewise.
1706         (*addsi3_shift): Likewise.
1707         (two splitters): Likewise.
1708
1709 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1710
1711         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1712         * basic-block.h (control_flow_insn_p): Fuction was exported.
1713         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1714         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1715         notes only when the region is contained in a single basic block.
1716
1717 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1718
1719         PR inline-asm/8832
1720         * tree.h (expand_asm): New prototype.
1721         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1722         to do so.
1723         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1724         down to expand_asm.
1725         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1726         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1727         (volatile_refs_p) [ASM_INPUT]: Likewise.
1728         (side_effects_p) [ASM_INPUT]: Likewise.
1729
1730 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1731
1732         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1733         athlon_decode attributes
1734         (imul/k8 optimization peep2s): New.
1735
1736         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1737         * i386.md (type attribute): Add ssecomi.
1738         (unit, memory, prefix attributes): Handle ssecomi.
1739         (cvt?2? patterns): Fix athlon_decode attribute
1740         (comi patterns): Set attribute to ssecomi.
1741
1742         PR target/8343
1743         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1744
1745 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1746
1747         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1748         that match register_operands.
1749         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1750         register_operand the default case.
1751
1752 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1753
1754         PR c/8032
1755         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1756         an empty element, do not advance the pointer to unfilled
1757         fields if there are pending initializers.
1758
1759 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1760
1761         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1762         (install-gcc-tooldir, install-cpp, installdirs,
1763         install-common, install-driver, install-info, install-man,
1764         install-headers, install-include-dir, install-headers-tar,
1765         install-headers-cpio, install-headers-cp, install-mkheaders,
1766         install-collect2, uninstall): Prepend $(DESTDIR) to
1767         destination paths in all (un)installation commands.
1768         (install-driver): Rewrite $(LN) commands to support DESTDIR
1769         with "ln" as well as with "ln -s".
1770         (installdirs): Simply use mkinstalldirs.
1771         (install-libgcc, install-multilib): Also pass DESTDIR.
1772         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1773         installation destination variable ldir.
1774         * config/alpha/t-osf4, config/arm/t-netbsd,
1775         config/ia64/t-hpux, config/mips/t-iris5-6,
1776         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1777         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1778         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1779         in the definition of SHLIB_INSTALL.
1780         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1781         $(libsubdir) in the installation commands.
1782
1783 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1784
1785         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1786         non-optimizing compile.
1787         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1788         compile.
1789
1790 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1791
1792         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1793         ms_struct and gcc_struct.
1794         (ix86_handle_struct_attribute): New function.
1795         (ix86_ms_bitfield_layout_p): Update to take new attributes
1796         into account.
1797         * doc/extend.texi: Document new attributes.
1798         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1799
1800 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1801
1802         PR optimization/8750
1803         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1804         scheduling pass to move insns across __alloca call.
1805
1806 2003-01-08  Dale Johannesen  <dalej@apple.com>
1807
1808         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1809         with *stmsi[3-8].
1810
1811 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1812
1813         PR target/9210
1814         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1815         Set SYMBOL_REF_FLAG on local data sym_ref.
1816
1817 2003-01-08  Dale Johannesen  <dalej@apple.com>
1818
1819         * function.c (assign_parms):  Don't set pretend_args_size if
1820           REG_PARM_STACK_SPACE.
1821           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1822           pretend_args_size.
1823
1824 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1825
1826         * gcc.hlp: Delete.
1827
1828 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1829
1830         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1831
1832 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1833
1834         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1835         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1836         as hook_bool_tree_hwi_hwi_tree_true.
1837         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1838         (rs6000_emit_epilogue): Same.
1839         (rs6000_output_mi_thunk): Re-implement as RTL.
1840         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1841         xcoffout_declare_function if any debugging enabled.
1842
1843 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1844
1845         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1846         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1847         * config/mips/mips.h (enum processor_type): Rename
1848         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1849         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1850         Add PROCESSOR_M4K.
1851         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1852         (ISA_MIPS32R2): New define.
1853         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1854         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1855         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1856         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1857         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1858         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1859         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1860         compiling MIPS16 code.
1861         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1862         comment.
1863         (ISA_HAS_SEB_SEH): New define.
1864         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1865         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1866         processor_type value renaming.  Add support for MIPS32R2.
1867         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1868         entries.
1869         (override_options): Reimplement -mipsN option handling so that
1870         it will work correctly for -mips32r2.  Avoid branch-likely
1871         instructions on MIPS32R2.
1872         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1873         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1874         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1875         (extendhisi2_hw, extendqisi2_hw): New.
1876         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1877         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1878         MIPS32R2, and MIPS64.
1879         (LINK_SPEC): Pass -mips32r2 to linker.
1880         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1881         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1882         for mips32r2 in the -march description.  Alphabetically sort
1883         CPU names in the -march description.  Add long-missed -mips32
1884         and -mips64 to MIPS option summary.
1885
1886         * config.gcc: Update copyright years to include 2003.
1887         * config/mips/mips.c: Likewise.
1888         * config/mips/mips.h: Likewise.
1889         * config/mips/mips.md: Likewise.
1890         * config/mips/netbsd.h: Likewise.
1891         * doc/invoke.texi: Likewise.
1892
1893 2003-01-08  Andreas Schwab  <schwab@suse.de>
1894
1895         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1896         variable.
1897         * configure: Regenerated.
1898
1899 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1900
1901         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1902         extraction of det with b0, b1, w0, w2, etc.
1903         (compute_logical_op_length): Likewise.
1904         (compute_logical_op_cc): Likewise.
1905
1906 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1907
1908         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1909         HIGH on all variants.
1910
1911 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1912
1913         * Makefile.in (PARTITION_H): New.
1914         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1915         * basic-block.h: Include hard-reg-set.h.
1916
1917 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1918
1919         * arm.h (ENABLE_XF_PATTERNS): Delete.
1920         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1921         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1922         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1923         (cmpxf_trap): Delete.
1924         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1925
1926 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1927
1928         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1929         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1930         (add??cc): New expanders.
1931         * i386.c (expand_int_addcc): New function.
1932         * i386-protos.h (expand_int_addcc): Declare.
1933
1934         * alias.c (memory_modified_1): New static function.
1935         (memory_modified): New static varaible.
1936         (memory_modified_in_insn_p): New global function.
1937         * rtl.h (memory_modified_in_insn_p): Declare.
1938         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1939         references.
1940
1941         * expr.h (emit_conditional_add): Declare.
1942
1943 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1944
1945         PR other/8947
1946         * doc/invoke.texi (-malign-double): Explain that the option breaks
1947         binary compatibility.
1948
1949 2003-01-08  Andreas Schwab  <schwab@suse.de>
1950
1951         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1952         should come from the generic *-*-linux* entry.
1953
1954 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1955
1956         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1957         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1958         we are inside libcall.
1959         * cselib.h (elt_loc_list): Add in_libcall.
1960         * gcse.c (do_local_cprop): Do not copy propagate using insns
1961         in libcalls.
1962
1963 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1964
1965         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1966         not normally affect to issue rate.
1967
1968 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1969
1970         * genopinit.c (optabs): Add addc_optab.
1971         * ifcvt.c (noce_try_store_flag): Rename to ...
1972         (noce_try_addcc): ... this one; handle generic conditional increment.
1973         (noce_process_if_block): Update noce_try_addcc call.
1974         * optabs.c (emit_conditional_add): New.
1975         (init_obtabs): Initialize addc_optab.
1976         * optabs.h (optab_index): Add OTI_addcc.
1977         (addcc_optab): New macro.
1978         * md.texi: Document addMcc
1979
1980         PR target/8322
1981         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1982         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1983         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1984
1985         * reload1.c (delete_output_reload): Avoid repeated attempts
1986         to delete insn.
1987
1988 2003-01-07  Andreas Schwab  <schwab@suse.de>
1989
1990         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1991         Move --enable-initfini-array check ...
1992         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
1993         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1994         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
1995         * configure: Rebuild.
1996
1997 2003-01-07  Richard Henderson  <rth@redhat.com>
1998
1999         * alias.c (find_base_value): Only use new_reg_base_value shortcut
2000         if the register is set once.
2001
2002 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
2003
2004         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
2005         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
2006         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
2007
2008 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2009             Sunil Davasam  <sunil.k.davasam@intel.com>
2010
2011         PR libstdc++/9076
2012         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
2013         DW_CFA_same_value, read next and ignore.
2014
2015 2003-01-07  Richard Henderson  <rth@redhat.com>
2016
2017         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
2018
2019 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2020
2021         * cfg.c: Include alloc-pool.h
2022         (edge_pool): New pool.
2023         (bb_pool): New pool.
2024         (first_deleted_edge): Remove.
2025         (first_deleted_block): Remove.
2026         (init_flow): Alloc/free the pools.
2027         (free_edge): Use pools.
2028         (alloc_block): Ditto.
2029         (expunge_block): Ditto.
2030         (cached_make_edge): Ditto.
2031
2032         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
2033
2034 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
2035
2036         * et-forest.c: Include alloc-pool.h.
2037         (struct et_forest): Add node_pool and occur_pool.
2038         (et_forest_create): Create the new pools.
2039         (et_forest_delete): Delete them.
2040         (et_forest_add_node): Allocate and free using pools.
2041         (et_forest_add_edge): Ditto.
2042         (et_forest_remove_node): Ditto.
2043         (et_forest_remove_edge): Ditto.
2044
2045         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
2046
2047 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
2048
2049         * config/h8300/h8300.c (output_logical_op): Simplify and
2050         optimize the handling of SImode.
2051         * config/h8300/h8300.c (compute_logical_op_length): Update
2052         accordingly.
2053         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
2054
2055 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
2056
2057         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
2058         big-endian correction to indirect arguments too.
2059
2060 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2061
2062         Segher Boessenkool  <segher@koffie.nl>
2063
2064         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
2065         (alt_reg_names): Ditto, fix formatting.
2066         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
2067
2068 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2069
2070         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
2071         (output_logical_op): Constify intval and det.
2072         (compute_logical_length): Likewise.
2073         (compute_logical_cc): Likewise.
2074         (output_a_shift): Constify mask.
2075         (h8300_encode_label): Constify len.
2076
2077 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2078
2079         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
2080         (h8300_expand_epilogue): Likewise.
2081
2082 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
2083
2084         Segher Boessenkool  <segher@koffie.nl>
2085
2086         * config/rs6000/altivec.md: Remove spaces from assembler
2087         instruction argument lists.
2088
2089 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2090
2091         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
2092         c4x_assembler_function_p.
2093         (c4x_null_epilogue_p): Complement return value, all uses updated.
2094         (c4x_insert_attributes): Add naked.
2095         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
2096         * doc/extend.texi: Update C4x function attributes.
2097
2098 2003-01-06  Richard Henderson  <rth@redhat.com>
2099
2100         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
2101         properly when changing "local-ness".
2102         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
2103
2104 2003-01-06  Dale Johannesen  <dalej@apple.com>
2105
2106         * config/darwin-protos.h:  Add prototypes for new section functions.
2107
2108 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
2109
2110         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
2111         to EABI.
2112
2113 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
2114
2115         * hwint.h: If the current compiler has no 64-bit type at all,
2116         make HOST_WIDEST_INT 32 bits.
2117
2118 2003-01-06  Eric Christopher  <echristo@redhat.com>
2119
2120         * config/mips/mips.md (movdf_internal2): Fix constraints.
2121
2122 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
2123
2124         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
2125
2126 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
2127
2128         * config/mips/mips.md (leadi): Use dla rather than la.
2129
2130 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
2131
2132         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
2133         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
2134
2135 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
2136
2137         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
2138         redefinition.
2139
2140 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2141
2142         * config/h8300/h8300.md (*extzv_8_23): New.
2143
2144 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2145
2146         * pa64-hpux.h (JCR_SECTION_NAME): Define.
2147         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
2148         USE_EH_FRAME_REGISTRY when defining.
2149
2150 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
2151
2152         * config/h8300/h8300.c (output_a_shift): Do not output a
2153         variable shift.
2154         * config/h8300/h8300.md (two splitters): New.
2155
2156 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
2157
2158         * config/mips/mips.md: Disable the movstrsi define_split.
2159
2160 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2161
2162         * alloc-pool.c: Don't include "libiberty.h".
2163         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
2164         * convert.c (convert_to_real): Hide unused variable.
2165
2166 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2167
2168         * Makefile.in (gtyp-gen.h): Const-ify.
2169         * gcov-dump.c (tag_table): Likewise.
2170
2171 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2172
2173         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2174         of *both* the file name and the fix name.
2175
2176 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2177
2178         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2179         collect2.
2180         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2181         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2182         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2183         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2184         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2185         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2186         elfos.h.
2187         (EH_FRAME_IN_DATA_SECTION): Delete define.
2188         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2189         (STARTFILE_SPEC): Use crtbegin.o.
2190         (ENDFILE_SPEC): Use crtend.o.
2191         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2192         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2193         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2194         DTOR_LIST_BEGIN): Define.
2195         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2196         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2197         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2198
2199 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2200
2201         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2202         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2203         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2204         Cleanup handling of replacement text.
2205         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2206
2207 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2208
2209         * fixinc/tests/base/math.h: removed obsolete results
2210         * fixinc/tests/base/stdlib.h: ditto
2211         * fixinc/tests/base/sys/param.h: ditto
2212         * fixinc/tests/base/sys/stat.h: ditto
2213         * fixinc/tests/base/time.h: ditto
2214         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2215         * fixinc/tests/base/sys/byteorder.h: ditto
2216         * fixinc/inclhack.def: Remove superfluous backslashes
2217
2218 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2219
2220         * config/h8300/h8300-protos.h: Add prototypes for
2221         the new functions defined below.
2222         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2223         define.
2224         (dosize): Emit RTL instead of assembly code.
2225         (push): Likewise.
2226         (pop): Likewise.
2227         (h8300_output_function_prologue): Remove.
2228         (h8300_expand_prologue): New.
2229         (h8300_expand_epilogue): New.
2230         (h8300_output_function_epilogue): Do only the reset of
2231         pragma_saveall.
2232         * config/h8300/h8300.md (push_h8300): New.
2233         (push_h8300hs): Likewise.
2234         (pop_h8300): Likewise.
2235         (pop_h8300hs): Likewise.
2236         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2237         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2238         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2239         (*ldm_h8300s_2): New.
2240         (*ldm_h8300s_3): Likewise.
2241         (*ldm_h8300s_4): Likewise.
2242         (return): Likewise.
2243         (*return_1): Likewise.
2244         (prologue): Likewise.
2245         (epilogue): Likewise.
2246         (monitor_prologue): Likewise.
2247
2248 2003-01-03  Dale Johannesen  <dalej@apple.com>
2249
2250         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2251           machopic_picsymbol_stub1.
2252           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2253         * rs6000/rs6000.c:  Update copyright.
2254           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2255
2256 2003-01-02  Jason Merrill  <jason@redhat.com>
2257
2258         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2259
2260         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2261         static/external decls.
2262
2263         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2264         outermost scope.
2265         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2266
2267 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2268
2269         * config/h8300/h8300-protos.h: Add a prototype for
2270         h8300_current_function_interrupt_function_p.
2271         * config/h8300/h8300.c (interrupt_handler): Remove.
2272         (os_task): Likewise.
2273         (monitor): Likewise.
2274         (pragma_interrupt): New.
2275         (WORD_REG_USED): Use
2276         h8300_current_function_interrupt_function_p.
2277         (dosize): Likewise.
2278         (h8300_output_function_prologue): Likewise.
2279         Do not set interrupt_handler, os_task, monitor.
2280         (h8300_output_function_prologue): Use
2281         h8300_current_function_interrupt_function_p.
2282         Do not set interrupt_handler, os_task, monitor.
2283         (h8300_current_function_interrupt_function_p): New.
2284         (h8300_pr_interrupt): Set pragma_interrupt.
2285         (h8300_insert_attributes): Reset pragma_interrupt.
2286
2287 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2288
2289         * doc/install.texi (Configuration): Fix markup for reference to
2290         gcc/config.gcc.
2291
2292 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2293
2294         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2295         (*iorhi3_two_qi): Likewise.
2296         (*iorsi3_zexthi): Likewise.
2297         (*xorhi3_zextqi): Likewise.
2298         (*xorsi3_zexthi): Likewise.
2299         (*xorsi3_zextqi): Likewise.
2300
2301 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2302
2303         * config/h8300/h8300.c (stack_pointer_operand): New.
2304         (const_int_gt_2_operand): Likewise.
2305         (const_int_ge_8_operand): Likewise.
2306         * config/h8300/h8300.md (a splitter): Likewise.
2307         (a peephole2): Likewise.
2308         * config/h8300/h8300-protos.h: Add prototypes for the new
2309         functions above.
2310
2311 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2312
2313         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2314         objc/objc-act.h: Fix copyright years.
2315
2316 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2317
2318         * doc/passes.texi: Fix documentation for -fssa-ccp
2319
2320 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2321
2322         * gccbug.in: Update for new categories.
2323
2324 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2325
2326         * config/h8300/h8300.md: Reorder some patterns.
2327
2328 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2329
2330         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2331
2332 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2333
2334         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2335         config/cris/cris-protos.h, config/i370/i370-protos.h,
2336         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2337         config/v850/v850-protos.h: Use struct, and don't conditionally
2338         compile on GCC_C_PRAGMA_H.
2339
2340 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2341
2342         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2343         * config/h8300/h8300-protos.h: Likewise.
2344         * config/sh/sh-protos.h: Likewise.
2345
2346 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2347
2348         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2349         cpp_reader.
2350         * config/h8300/h8300-protos.h: Likewise.
2351         * config/sh/sh-protos.h: Likewise.
2352
2353 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2354
2355         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2356         arm_pr_long_calls_off): Use struct.
2357         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2358         : Similarly.
2359         Don't include cpplib.h.
2360         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2361         sh_pr_nosave_low_regs): Similarly.
2362
2363 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2364
2365         * config/h8300/h8300.c: Include cpplib.h.
2366
2367 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2368
2369         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2370           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2371           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2372           "GCC" in the copyright header.
2373
2374 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2375
2376         * c-pragma.c (c_register_pragma): New.
2377         (init_pragma): Use it.
2378         * c-pragma.h (cpp_register_pragma): Don't declare.
2379         (c_register_pragma): New.
2380         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2381         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2382         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2383         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2384         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2385         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2386         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2387         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2388         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2389         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2390         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2391         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2392
2393 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2394
2395         * config/h8300/h8300-protos.h: Update the prototypes.
2396         * config/h8300/h8300.c (const_le_2_operand): Change to
2397         const_int_le_2_operand.
2398         (const_int_le_6_operand): Change to const_int_le_6_operand.
2399         * config/h8300/h8300.md (two peepholes): Update the function
2400         names.
2401
2402 2002-12-31  Tom Tromey  <tromey@redhat.com>
2403
2404         * doc/install.texi (Testing): Fixed typo.
2405
2406 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2407
2408         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2409         (TRAMPOLINE_SIZE): Support the normal mode.
2410         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2411
2412 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2413
2414         * c-common.h (pending_lang_change): Declare.
2415
2416 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2417
2418         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2419         descriptions.
2420
2421 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2422
2423         * gcc/doc/invoke.texi (Optimization Options): List the options
2424         enabled by each -O flag.
2425
2426 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2427
2428         * doc/install.texi (Configuration): Explicitly refer
2429         gcc/config.gcc for a list of cpu models.
2430
2431 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2432
2433         * config/h8300/h8300.h: Fix comment typos.
2434
2435 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2436
2437         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2438
2439 2002-12-30  Tom Tromey  <tromey@redhat.com>
2440
2441         * doc/install.texi (Testing): Mention Jacks.
2442
2443 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2444
2445         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2446
2447 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2448
2449         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2450         cases.
2451         (compute_logical_op_length): Update to reflect the change in
2452         output_logical_op.
2453         (compute_logical_op_cc): Likewise.
2454
2455 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2456
2457         * doc/service.texi: Uncomment and update FAQ link.
2458
2459 2002-12-30  Andreas Jaeger  <aj@suse.de>
2460
2461         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2462
2463 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2464
2465         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2466
2467 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2468
2469         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2470         are clearing the most significant byte.
2471         (compute_logical_op_length): Update to reflect the change in
2472         output_logical_op.
2473         (compute_logical_op_cc): Likewise.
2474
2475 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2476
2477         * config/h8300/h8300.md: Give internal names to anonymous
2478         insns.
2479
2480 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2481
2482         * config/h8300/h8300.md: Reorder some insns.
2483
2484 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2485
2486         * config/h8300/h8300-protos.h: Add prototypes for
2487         const_int_qi_operand and const_int_hi_operand.
2488         * config/h8300/h8300.c (const_int_qi_operand): New.
2489         (const_int_hi_operand): Likewise.
2490         * config/h8300/h8300.md (three peepholes): New.
2491
2492 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2493
2494         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2495         Use @copying.
2496
2497 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2498
2499         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2500         * configure: Regenerate.
2501         * doc/install.texi: Update Texinfo version requirement.
2502
2503 2002-12-28  Andreas Jaeger  <aj@suse.de>
2504
2505         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2506         possibly unused.
2507
2508         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2509         correct format.
2510
2511 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2512
2513         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2514         *iorhi_ashift_8.
2515         (*iorhi_lshiftrt_8): New.
2516
2517 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2518
2519         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2520
2521 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2522
2523         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2524
2525 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2526
2527         * config/h8300/h8300-protos.h: Fix comment typos.
2528         Update copyright.
2529         * config/h8300/h8300.c: Fix comment typos.
2530
2531 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2532
2533         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2534
2535 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2536
2537         * config/i386/athlon.md: Fix comment typos.
2538         * config/i386/crtdll.h: Likewise.
2539         * config/i386/djgpp.h: Likewise.
2540         * config/i386/i386-interix.h: Likewise.
2541         * config/i386/i386.c: Likewise.
2542         * config/i386/i386.h: Likewise.
2543         * config/i386/i386.md: Likewise.
2544         * config/i386/k6.md: Likewise.
2545         * config/i386/mingw32.h: Likewise.
2546         * config/i386/pentium.md: Likewise.
2547         * config/i386/sco5.h: Likewise.
2548         * config/i386/winnt.c: Likewise.
2549         * config/i386/xmmintrin.h: Likewise.
2550
2551 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2552
2553         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2554         INSN_P before checking to see if it is dead.
2555         (mark_all_insn_unnecessary): Similarly.
2556         (ssa_eliminate_dead_code): Similarly.
2557         * rtl.h (struct rtx_def): Update comments for in_struct usage
2558         in dead code elimination pass.
2559         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2560
2561 2002-12-26  Andreas Schwab  <schwab@suse.de>
2562
2563         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2564
2565 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2566
2567         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2568         tartet_flags_explicit.
2569         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2570         Compact target_flags bits.
2571         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2572         (TARGET_SWITCHES): Delete references to *_SET flags.
2573
2574 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2575
2576         * i386.md (memory attribute): Fix setcc attribute.
2577
2578 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2579
2580         * output.h: Fix comment typos.
2581         * predict.c: Likewise.
2582         * print-tree.c: Likewise.
2583         * profile.c: Likewise.
2584         * ra-build.c: Likewise.
2585         * ra-colorize.c: Likewise.
2586         * ra-debug.c: Likewise.
2587         * ra-rewrite.c: Likewise.
2588         * ra.c: Likewise.
2589         * ra.h: Likewise.
2590         * real.c: Likewise.
2591         * recog.c: Likewise.
2592         * reg-stack.c: Likewise.
2593         * regclass.c: Likewise.
2594
2595 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2596
2597         * config/h8300/h8300.c (print_operand_address): Do not negate
2598         a negative number when printing one.
2599
2600 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2601
2602         * config/h8300/h8300-protos.h: Add prototypes for
2603         output_plussi, compute_plussi_length, and compute_plussi_cc.
2604         * config/h8300/h8300.c (output_plussi): New.
2605         (compute_plussi_length): Likewise.
2606         (compute_plussi_cc): Likewise.
2607         * config/h8300/h8300.md (addsi_h8300h): Call
2608         output_plussi, compute_plussi_length, and compute_plussi_cc.
2609
2610 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2611
2612         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2613         of match_operand in the new patterns.
2614
2615 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2616
2617         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2618
2619 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2620
2621         * configure.in (enable-coverage): Add SELF_COVERAGE.
2622         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2623
2624 2002-12-24  Jim Wilson  <wilson@redhat.com>
2625
2626         * alias.c (record_set): Handle multi-reg hard registers.
2627
2628 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2629
2630         * regmove.c: Fix comment typos.
2631         * reload.c: Likewise.
2632         * reload1.c: Likewise.
2633         * resource.c: Likewise.
2634         * rtl.def: Likewise.
2635         * rtl.h: Likewise.
2636         * rtlanal.c: Likewise.
2637         * sched-deps.c: Likewise.
2638         * sched-rgn.c: Likewise.
2639         * sibcall.c: Likewise.
2640         * simplify-rtx.c: Likewise.
2641         * ssa-ccp.c: Likewise.
2642         * ssa.c: Likewise.
2643         * stmt.c: Likewise.
2644         * stor-layout.c: Likewise.
2645         * system.h: Likewise.
2646         * tlink.c: Likewise.
2647         * toplev.c: Likewise.
2648         * tracer.c: Likewise.
2649         * tree-inline.c: Likewise.
2650         * tree.c: Likewise.
2651         * tree.h: Likewise.
2652         * unroll.c: Likewise.
2653         * varasm.c: Likewise.
2654
2655 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2656
2657         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2658         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2659         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2660         DG/UX entries.
2661         * doc/md.texi: Remove AMD 29K entries.
2662         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2663         1.38.1, NewsOS, RT PC, WE32K entries.
2664
2665 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2666
2667         PR/8763
2668         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2669         (altivec_vspltisw_v4sf): Name pattern.
2670         (altivec_vslw_v4sf): New pattern.
2671
2672 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2673
2674         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2675
2676 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2677
2678         * stor-layout.c (update_alignment_for_field): Correct handling of
2679         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2680         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2681         bitfield does not affect alignment.
2682
2683 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2684
2685         * expr.c (expand_assignment): Apply special treatment to
2686         ARRAY_TYPE.
2687
2688 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2689
2690         * config/h8300/h8300-protos.h: Update the prototype of
2691         expand_a_shift.
2692         * config/h8300/h8300.c (expand_a_shift): Change the return
2693         type to void.
2694         * config/h8300/h8300.md: Update all the uses of
2695         expand_a_shift.
2696
2697 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2698
2699         * tree.c (save_expr): Allow either side of a dyadic operand to be
2700         constant.
2701
2702         * doc/portability.texi (portability): Update portability goals.
2703
2704 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2705
2706         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2707
2708 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2709
2710         * stor-layout.c (update_alignment_for_field): Guard use of
2711         ADJUST_FIELD_ALIGN with #ifdef.
2712
2713         * stor-layout.c (update_alignment_for_field): Use
2714         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2715         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2716
2717 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2718
2719         * genautomata.c: Fix comment typos.
2720
2721 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2722
2723         * params.def (tracer-min-branch-probability-feedback): Fix default.
2724         * final.c (compute_alignments): Use profile to avoid code bloat.
2725
2726 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2727
2728         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2729         sequences end with a valid cc0 whenever possible.
2730
2731 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2732
2733         * config/h8300/h8300.md (negsf2): New.
2734         (*negsf2_h8300): Likewise.
2735         (*negsf2_h8300hs): Likewise.
2736
2737 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2738
2739         * integrate.c (output_inline_function): Don't hold private
2740         pointers to 'struct function' over GC calls.
2741
2742 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2743
2744         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2745         NO_FPSCR_VALUES.
2746         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2747
2748 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2749
2750         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2751         length.
2752
2753 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2754
2755         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2756         second alternative "#".
2757         (*zero_extendqihi2_h8300hs): Likewise.
2758         (a define_split): New.
2759
2760 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2761
2762         * config/h8300/h8300-protos.h: Update the prototype for
2763         split_adds_subs.
2764         Add prototypes for const_le_2_operand and const_le_6_operand.
2765         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2766         specify whether inc/dec should be used when possible.
2767         (const_le_2_operand): New.
2768         (const_le_6_operand): Likewise.
2769         * config/h8300/h8300.md (two peepholes): New.
2770
2771 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2772
2773         * config/fr30/fr30.md: Fix a comment typo.
2774         * config/i386/i386.c: Likewise.
2775         * config/ip2k/ip2k.h: Likewise.
2776
2777 2002-12-20  Jim Wilson  <wilson@redhat.com>
2778
2779         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2780         (__ev_subw, __ev_subiw): New.
2781         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2782         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2783
2784 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2785
2786         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2787         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2788         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2789         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2790
2791 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2792
2793         * config/h8300/h8300-protos.h: Add prototypes for
2794         incdec_operand and eqne_operator.
2795         * config/h8300/h8300.c (incdec_operand): New.
2796         (eqne_operator): Likewise.
2797         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2798         (CONST_OK_FOR_O): Likewise.
2799         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2800         CONST_OK_FOR_O.
2801         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2802         (addhi3_incdec): New.
2803         (addsi3_incdec): Likewise.
2804         (two peepholes): Likewise.
2805
2806 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2807
2808         * config/h8300/h8300.c (dosize): Remove warnings.
2809         (print_operand): Likewise.
2810
2811 2002-12-20  Richard Henderson  <rth@redhat.com>
2812
2813         * config/alpha/alpha.c (decl_has_samegp): New.
2814         (samegp_function_operand): Use it.  Rename from
2815         current_file_function_operand.
2816         (direct_call_operand): Handle -msmall-text via symbol->jump.
2817         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2818         (tls_symbolic_operand_type): Likewise.
2819         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2820         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2821         (alpha_end_function): Set symbol->jump for functions defined in
2822         the text section.
2823         * config/alpha/alpha-protos.h: Update.
2824         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2825         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2826         (PREDICATE_CODES): Update.
2827         * config/alpha/alpha.md (call patterns): Update for
2828         samegp_function_operand rename; use !samegp reloc if
2829         TARGET_EXPLICIT_RELOCS.
2830         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2831
2832 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2833
2834         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2835         all registers capable of holding a double float.
2836         (*rcond): change name of "reverse branch" insns to
2837         something more meaningful.
2838         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2839         comparisons properly.
2840         (*ffs): Change operand 0 from write to read-modify-write.
2841         (*ffsssi2): Drop constraints from define_expand.
2842
2843         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2844         MOVE_RATIO as default for store operations.
2845
2846         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2847         LONG_REGS class.
2848         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2849         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2850         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2851
2852         * config/ns32k/STATUS: New File
2853         * config/ns32k/NOTES: New file.
2854
2855 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2856
2857         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2858         option for S/390 and zSeries.
2859         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2860         s390_arch_string): New variables.
2861         (override_options): Checking for options and setting of
2862         appropriate target_flags, cpu and arch flags.
2863         * config/s390/s390.h: (processor_type): New enum.
2864         (TARGET_SWITCHES): New switches -mesa/zarch.
2865         * config/s390/s390.md: New attribute 'cpu'.
2866
2867 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2868
2869         * c-pretty-print.h: Fix comment typos.
2870         * integrate.c: Likewise.
2871         * varasm.c: Likewise.
2872         * config/c4x/c4x.h: Likewise.
2873         * config/c4x/c4x.md: Likewise.
2874         * config/fr30/fr30.md: Likewise.
2875         * config/frv/frv.c: Likewise.
2876         * config/h8300/h8300.c: Likewise.
2877         * config/i386/i386.c: Likewise.
2878         * config/i386/i386.h: Likewise.
2879         * config/ia64/ia64.c: Likewise.
2880         * config/ia64/ia64.h: Likewise.
2881         * config/ip2k/ip2k.md: Likewise.
2882         * config/m68hc11/m68hc11-crt0.S: Likewise.
2883         * config/m68hc11/m68hc11.h: Likewise.
2884         * config/m68hc11/m68hc11.md: Likewise.
2885         * config/m68hc11/m68hc12.h: Likewise.
2886         * config/mcore/mcore.md: Likewise.
2887         * config/mips/mips.c: Likewise.
2888         * config/mips/mips.md: Likewise.
2889         * config/mmix/mmix-modes.def: Likewise.
2890         * config/pa/pa.c: Likewise.
2891         * config/rs6000/rs6000.c: Likewise.
2892         * config/rs6000/rs6000.h: Likewise.
2893         * config/rs6000/rs6000.md: Likewise.
2894
2895 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2896
2897         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2898         output shifts using rotation.
2899
2900 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2901
2902         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2903
2904 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2905
2906         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2907         pointer.
2908         (pushqi_h8300hs): Likewise.
2909         (pushhi_h8300): Likewise.
2910         (pushhi_h8300hs): Likewise.
2911
2912 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2913
2914         * sched-rgn.c (init_regions): Update comment.
2915
2916 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2917
2918         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2919         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2920         attributes.
2921         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2922         (get_vrsave_internal,set_vrsave_internal): Same.
2923         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2924         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2925         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2926
2927 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2928             Danny Smith  <dannysmith@users.sourceforge.net>
2929             Eric Kohl  <ekohl@rz-online.de>
2930
2931         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2932         attributes incompatible with fastcall attribute.
2933         (ix86_handle_regparm_attribute): Likewise.
2934
2935         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2936         fastcall types.
2937
2938         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2939         attributes.
2940         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2941         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2942         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2943         i386_pe_output_labelref rather than here.
2944         (gen_fastcall_suffix): New function. Decorates a label name with the
2945         fastcall prefix (@) and the stdcall suffix.
2946         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2947         has a fastcall attribute.
2948         (i386_pe_output_labelref): New function. Outputs a label reference.
2949         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2950         valid attribute.
2951         (ix86_return_pops_args): Fastcall functions pop the stack.
2952         (init_cumulative_args): Reserve registers ECX and EDX if function has
2953         fastcall attribute.
2954         (function_arg): Use registers ECX and EDX if function has fastcall
2955         attribute.
2956         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2957         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2958         (FASTCALL_PREFIX): Define as '@'.
2959         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2960         attributes.
2961         * doc/extend.texi: Add documentation of fastcall attribute.
2962
2963 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2964
2965         * configure.in: FORBUILD when build!=host changed from
2966         ../$build-alias to ../build-$build_alias to match change made
2967         in top directory.
2968         * configure: Regenerated.
2969
2970 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2971
2972         PR optimization/8988
2973         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2974         the biv when eliminating.
2975
2976 2002-12-19  Devang Patel  <dpatel@apple.com>
2977         * gcc.c (struct default_compiler): Recognizes input file name with
2978         .CPP extension as C++ source files
2979         * cp/lang-spec.h: Same
2980         * doc/invoke.texi:  Add documentation for .CPP support.
2981
2982 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
2983
2984         PR 8553
2985         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2986         registers.
2987         ("absv16qi2"): Same.
2988         ("absv4si2"): Same.
2989         ("absv4sf2"): Same.
2990         ("altivec_abss_v16qi"): Same.
2991         ("altivec_abss_v8hi"): Same.
2992         ("altivec_abss_v4si"): Same.
2993
2994 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
2995
2996         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2997         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2998
2999 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3000
3001         PR target/8340
3002         * stmt.c (expand_asm_operands): Produce an error when
3003         the PIC register is clobbered.
3004
3005 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
3006
3007         * Makefile.in (OBJS): Add alloc-pool.o
3008         (alloc-pool.o): New object.
3009
3010         * alloc-pool.c: New file.
3011         * alloc-pool.h: New file.
3012
3013 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
3014
3015         * gcc.c (validate_switches): Robustify against skipping past '\0'.
3016
3017 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3018
3019         * config.gcc: Set extra_objs in the generic Darwin rule,
3020         not in the machine-specific rules.
3021
3022 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
3023
3024         * ChangeLog: Follow spelling conventions.
3025         * ChangeLog.2: Likewise.
3026         * ChangeLog.4: Likewise.
3027         * ChangeLog.5: Likewise.
3028         * cppexp.c: Likewise.
3029         * df.c: Likewise.
3030         * gcov.c: Likewise.
3031         * gengtype.c: Likewise.
3032         * reload1.c: Likewise.
3033         * sched-rgn.c: Likewise.
3034         * stmt.c: Likewise.
3035         * stor-layout.c: Likewise.
3036         * timevar.c: Likewise.
3037         * toplev.c: Likewise.
3038         * tree.h: Likewise.
3039         * varasm.c: Likewise.
3040         * config/fr30/fr30.md: Likewise.
3041         * config/i386/i386.c: Likewise.
3042         * config/ia64/ia64.c: Likewise.
3043         * config/pa/pa.c: Likewise.
3044
3045 2002-12-18  Roger Sayle  <roger@eyesopen.com>
3046
3047         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
3048
3049 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
3050
3051         PR 8551
3052         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
3053         macro.
3054         (vec_cmplt C++ functions): Reverse arguments.
3055
3056 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3057
3058         * config/rs6000/t-rs6000: Move contents to t-fprules,
3059         add rules for dependencies of rs6000.o and to build rs6000-c.o
3060         * config/rs6000/t-fprules: New file from t-rs6000.
3061         * config/rs6000/t-beos: Remove soft-fp rules.
3062         * config/rs6000/t-ppccomm: Likewise.
3063         * config/rs6000/t-newas: Likewise.
3064         * config/rs6000/t-rs6000-c-rule: Delete.
3065         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
3066         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
3067         Create generic Darwin rules.
3068
3069         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
3070
3071 2002-12-18  Doug Evans  <dje@sebabeach.org>
3072
3073         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
3074         and LIT_NAME_P.
3075         (move_src_operand): Remove compile-time warning.
3076         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
3077
3078 2002-12-18  Jason Merrill  <jason@redhat.com>
3079
3080         * unwind-dw2-fde.c (frame_downheap): Split out from...
3081         (frame_heapsort): Here.
3082
3083 2002-12-17  Jason Merrill  <jason@redhat.com>
3084
3085         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
3086         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
3087
3088         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
3089
3090         * calls.c (expand_call): Don't try to be clever about expanding
3091         the return slot address.
3092
3093 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
3094
3095         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
3096         Define.
3097
3098 2002-12-17  Jason Merrill  <jason@redhat.com>
3099
3100         * genmultilib: Use 'cd ./foo'.
3101
3102 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3103
3104         * doc/c-tree.texi: Restore deliberate spelling mistakes.
3105
3106 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
3107
3108         * doc/c-tree.texi: Fix typos and follow spelling conventions.
3109         * doc/cpp.texi: Likewise.
3110         * doc/extend.texi: Likewise.
3111         * doc/gty.texi: Likewise.
3112         * doc/install.texi: Likewise.
3113         * doc/invoke.texi: Likewise.
3114         * doc/md.texi: Likewise.
3115         * doc/passes.texi: Likewise.
3116         * doc/rtl.texi: Likewise.
3117         * doc/sourcebuild.texi: Likewise.
3118         * doc/tm.texi: Likewise.
3119
3120 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
3121
3122         * doc/invoke.texi: Minor spelling and grammar fixes.
3123
3124 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
3125
3126         * config/s390/s390.c (s390_output_constant_pool): Replace
3127         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
3128
3129 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
3130
3131         * convert.c (convert_to_real): Disable function transformation for
3132         now.
3133
3134 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3135
3136         * gcc.c (handle_braces): Allow '@' as a switch name.
3137
3138 2002-12-16  Jason Merrill  <jason@redhat.com>
3139
3140         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
3141         with special struct-return ABIs.
3142
3143         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
3144         doesn't match the begin SCOPE_STMT in partialness.
3145
3146 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
3147
3148         * genmultilib: Create temporary files in unique subdirectory.
3149
3150         * gcc.c (validate_switches): Allow '@' as a switch name.
3151
3152 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
3153
3154         * Makefile.in (gcov-iov.h): Improve portability.
3155
3156 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
3157
3158         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
3159         gas
3160         * mips.md (tablejump insn): Likewise.
3161
3162 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
3163
3164         * doc/include/gcc-common.texi: Change version number to 3.4.
3165
3166 2002-12-16  Bruce Korb  <bkorb@gnu.org>
3167
3168         * fixinc/fixlib.h: add: #include <signal.h>
3169         * fixinc/fixincl.c: remove: #include <signal.h>
3170
3171 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3172
3173         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3174         (EXTRA_CONSTRAINT): Use it.
3175         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3176
3177 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3178
3179         * config.gcc (need_64bit_hwint): New variable.
3180         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3181         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3182         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3183         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3184         Set it.
3185         (powerpc*-*-darwin*): Unset it.
3186         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3187         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3188         deleted/nonexistent xm-*.h headers.
3189         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3190         target set need_64bit_hwint in config.gcc.
3191         * configure, config.in: Regenerate.
3192
3193         * hwint.h: Overhaul.  Don't bother trying int for
3194         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3195         decision to force 64-bit HOST_WIDE_INT on
3196         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3197         not visible at this point.  Don't allow prior definition of
3198         any macro defined by this file.
3199
3200         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3201         HOST_BITS_PER_WIDE_INT.
3202         * config/c4x/c4x.h: Adjust redefinition of
3203         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3204         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3205         config/i386/xm-i386-interix.h: Delete file.
3206
3207 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3208             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3209
3210         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3211         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3212
3213 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3214
3215         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3216
3217 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3218
3219         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3220         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3221         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3222         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3223         config/v850/t-v850:  Correct dependencies and normalize
3224         compilation commands for files that include coretypes.h and tm.h.
3225
3226         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3227         not config.h and system.h.
3228
3229 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3230
3231         * i386.c (flags_reg_operand):  New function.
3232         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3233         * i386.md (cmov splitter, movqicc): Use new predicate.
3234
3235 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3236
3237         * i386.md (movqicc splitter): Fix template.
3238
3239 2002-12-13  Jason Merrill  <jason@redhat.com>
3240
3241         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3242         * calls.c (expand_call): Handle it.
3243         * tree-inline.c (struct inline_data): Remove target_exprs field.
3244         (optimize_inline_calls): Don't initialize it.
3245         (expand_call_inline): Don't modify it.  Handle
3246         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3247         (declare_return_variable): Take return slot addr.
3248         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3249         to return_slot_addr.
3250         * langhooks-def.h, langhooks.c: Adjust.
3251         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3252         a decl with no DECL_INITIAL.
3253
3254         * expr.c (expand_expr): Don't discard the target of a call which
3255         returns in memory.
3256
3257 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3258
3259         * cppinit.c (path_include): Take an environment variable name.
3260         Tidy up.
3261         (init_standard_includes): Simplify environment handling, and
3262         move to ...
3263         (cpp_read_main_file): ...here as -nostdinc should not affect
3264         environment variable paths.
3265
3266 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3267
3268         * pa.c (output_millicode_call): Correct typo.
3269         (output_call): Likewise.
3270
3271 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3272
3273         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3274         operand's range.  Print value directly, without aid from
3275         output_address.
3276         <case U>: New.
3277         <case S>: Make sure argument to fprintf has the right type.
3278         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3279         (EXTRA_CONSTRAINT): Adjust.
3280         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3281         bclr.  Use %U for immediate operands of bset and bclr.
3282         (iorqi3): New expand, with insns for AM33 and mn10300.
3283
3284 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3285
3286         * sh.c (sh_register_operand): New function.
3287         (prepare_move_operands): Use it.
3288         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3289         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3290         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3291         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3292         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3293         (movv2si_i): Likewise.
3294
3295 2002-12-13  Jim Wilson  <wilson@redhat.com>
3296
3297         * doc/extend.texi (Complex Numbers): Update info on debug info.
3298
3299 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3300
3301         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3302         alternative.
3303
3304 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3305
3306         * hooks.h (hook_tree_tree_bool_false): Declare
3307         hook_bool_tree_tree_false instead.
3308
3309 2002-12-12  Devang Patel  <dpatel@apple.com>
3310
3311         * doc/invoke.texi: Document Darwin linker options, -bundle
3312         -bind_at_load, -all_load and -arch_errors_fatal
3313
3314 2002-12-12  Jim Wilson  <wilson@redhat.com>
3315
3316         * dbxout.c (dbxout_fptype_value): New.
3317         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3318
3319 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3320
3321         * c-decl.c: Fix a comment typo.
3322         * cfg.c: Likewise.
3323         * cfgcleanup.c: Likewise.
3324         * cfglayout.c: Likewise.
3325         * cfgrtl.c: Likewise.
3326         * c-typeck.c: Likewise.
3327         * dominance.c: Likewise.
3328         * dwarf2asm.c: Likewise.
3329         * dwarfout.c: Likewise.
3330         * expmed.c: Likewise.
3331         * expr.c: Likewise.
3332         * final.c: Likewise.
3333         * flow.c: Likewise.
3334         * function.c: Likewise.
3335         * gcc.c: Likewise.
3336         * genautomata.c: Likewise.
3337         * integrate.c: Likewise.
3338         * loop.c: Likewise.
3339         * loop.h: Likewise.
3340         * output.h: Likewise.
3341         * profile.c: Likewise.
3342         * ra.h: Likewise.
3343         * reload1.c: Likewise.
3344         * reload.c: Likewise.
3345         * sched-rgn.c: Likewise.
3346         * stmt.c: Likewise.
3347         * tree.h: Likewise.
3348         * vmsdbgout.c: Likewise.
3349
3350 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3351
3352         * config/h8300/h8300.md: Add a new peephole2.
3353
3354 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3355
3356         * config/h8300/h8300.md (a peephole2): Accept a constant
3357         that's accepted by CONST_OK_FOR_J.
3358
3359 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3360
3361         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3362         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3363         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3364         (*addhi_h8300hs): Likewise.
3365
3366 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3367
3368         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3369         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3370         Increase cost for moves involving multiple general purpose registers.
3371         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3372         TARGET_FMOVD.
3373         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3374         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3375         (enum reg_class reg_class_from_letter): No longer const.
3376         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3377         REGCLASS_HAS_GENERAL_REG.
3378         Handle SImode moves from/to fp registers.
3379         ! TARGET_SHMEDIA && TARGET_FMOVD.
3380         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3381         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3382
3383 2002-12-12  Andreas Schwab  <schwab@suse.de>
3384
3385         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3386         change and some warnings.
3387
3388 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3389
3390         * doc/md.texi (pushm): Fix a typo.
3391
3392 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3393
3394         * config/mips/mips.c (mips_output_conditional_branch): Support
3395         PIC-safe out-of-range branch and branch-likely.
3396         * config/mips/mips.md (attr length): PIC-safe out-of-range
3397         branches are longer.
3398         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3399         unused code to support indirect jumps.
3400
3401 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3402
3403         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3404         $(tm_file_list).
3405
3406 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3407
3408         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3409
3410 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3411
3412         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3413
3414 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3415
3416         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3417         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3418         BIGGEST_ALIGNMENT.
3419         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3420         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3421
3422 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3423
3424         * doc/invoke.texi: Correct dump file names.
3425
3426 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3427
3428         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3429         name to globalize_label or assemble_name.
3430
3431 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3432
3433         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3434         if not TARGET_SHMEDIA.
3435
3436 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3437
3438         * sh.h (REG_CLASS_HAS_FP_REG): New.
3439         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3440         move it into:
3441         * sh.c (sh_register_move_cost).
3442         * sh-protos.h (sh_register_move_cost): Declare.
3443
3444         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3445         (sh_adjust_cost): Always return a value.
3446
3447 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3448
3449         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3450         (REGISTER_MOVE_COST): Use it.
3451
3452 2002-12-11  Richard Henderson  <rth@redhat.com>
3453
3454         * tree.h (MODULE_LOCAL_P): Kill.
3455         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3456
3457 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3458
3459         * config/h8300/h8300.md (two define_peephole2): New.
3460
3461 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3462
3463         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3464         (CONST_OK_FOR_K): Likewise.
3465         (CONST_OK_FOR_M): Likewise.
3466         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3467
3468 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3469
3470         * c-common.c (builtin_define_type_max): Handle unsigned
3471         types too.
3472
3473 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3474
3475         * haifa-sched.c (rank_for_schedule): Correct style.
3476
3477 2002-12-10  Per Bothner  <pbothner@apple.com>
3478
3479         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3480         directive_index into an unsigned field and a new is_directive field.
3481         * cppinit.c (mark_named_operators):  Update to set new fields.
3482         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3483         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3484         No longer need to subtract 1 from directive_index.
3485         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3486         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3487
3488 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3489
3490         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3491         check for evaluating sqrt of a constant at compile time.
3492         * simplify-rtx.c (simplify_unary_operation): Likewise.
3493
3494 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3495
3496         PR other/8882
3497         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3498
3499 2002-12-10  Devang Patel  <dpatel@appple.com>
3500
3501         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3502         * doc/invoke.texi: Add new "Darwin Options" section.
3503
3504 2002-12-10  Jim Wilson  <wilson@redhat.com>
3505
3506         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3507         memory.
3508
3509 2002-12-10  Andrew Haley  <aph@redhat.com>
3510
3511         * cse.c (cse_insn): Don't cse past a basic block boundary.
3512
3513 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3514
3515         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3516         -shared.
3517         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3518         * config/alpha/linux.h (LIB_SPEC): Likewise.
3519         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3520         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3521         * config/sparc/linux.h (LIB_SPEC): Likewise.
3522         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3523
3524 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3525
3526         * doc/invoke.texi: Document UltraSparc III option.
3527
3528 2002-12-09  Richard Henderson  <rth@redhat.com>
3529
3530         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3531         __tune_pentium2__ and __tune_pentium3__ as necessary.
3532
3533 2002-12-09  Richard Henderson  <rth@redhat.com>
3534
3535         * target.h (gcc_target): Add cannot_force_const_mem.
3536         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3537         (TARGET_INITIALIZER): Add it.
3538         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3539         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3540         * reload1.c (reload): Likewise.
3541         * hooks.c (hook_bool_rtx_false): New.
3542         * hooks.h: Declare it.
3543
3544         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3545         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3546         (ix86_expand_move): Remove de-const-pooling hack.
3547
3548 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3549
3550         * toplev.c (dump_file): Fix order to match reality.
3551
3552 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3553
3554         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3555         (store_multiple): Likewise.
3556
3557 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3558
3559         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3560         function pointers in page 0.
3561
3562 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3563
3564         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3565         definition
3566         (MEMBER_TYPE_FORCES_BLK): Move.
3567         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3568         aggregate arguments.
3569         (ia64_function_value): Use PARALLEL to return aggregate values.
3570
3571 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3572
3573         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3574         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3575         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3576         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3577         * stmt.c (expand_return): Ditto.
3578         * expr.c (move_block_from_reg): Ditto.
3579         (copy_blkmode_from_reg): Ditto.
3580         * expmed.c (store_bit_field): Ditto.
3581
3582 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3583
3584         * config.gcc: Added tic4x-* target as an alias to c4x-*
3585
3586 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3587
3588         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3589         constructing insn directly.
3590
3591 2002-12-06  Per Bothner  <pbothner@apple.com>
3592
3593         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3594         char to an int bit-field, for hosts where char is unsigned.
3595
3596 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3597             Richard Henderson <rth@redhat.com>
3598
3599         * real.c (ieee_extended_motorola_format,
3600         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3601         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3602         Provide appropriate values for new signbit field.
3603
3604 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3605
3606         * real.h (real_format): Add signbit field.
3607         * real.c (ieee_single_format, ieee_double_format,
3608         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3609         ieee_extended_intel_128_format, ibm_extended_format,
3610         ieee_quad_format, vax_f_format, vax_d_format,
3611         vax_g_format, i370_single_format, i370_double_format,
3612         c4x_single_format, c4x_extended_format, real_internal_format):
3613         Provide suitable signbit value, or -1 to avoid bit twiddling.
3614
3615         * optabs.c (expand_unop): Try implementing negation of
3616         floating point modes by flipping the sign bit.
3617         (expand_abs): Try implementing abs of floating point modes
3618         by clearing the sign bit.
3619
3620 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3621
3622         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3623         of constructing insn directly.
3624
3625 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3626
3627         * config/h8300/h8300.md (*iorhi_shift_8): New.
3628
3629 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3630
3631         * doc/invoke.texi: Document FRV port options.
3632         * doc/md.texi: Document FRV register classes.
3633
3634 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3635
3636         * doc/install.texi (Configuration): Improve description of cases
3637         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3638
3639 2002-12-06  Per Bothner  <pbothner@apple.com>
3640
3641         * cpplib.h (NODE_MACRO_ARG):  New flag.
3642         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3643         Remove value.operator field.  Move arg_index field to value union.
3644         (directive_index):  Make signed, since also used for C++ operators.
3645         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3646         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3647         Save node->value, and set node->value.arg_index.
3648         (_cpp_create_definition):  For each paramater, restore node->value.
3649         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3650         * cpptrad.c (scan_out_logical_line): Likewise.
3651         (scan_out_logical_line): Check for directive > 0.
3652         * cpplib.c (cpp_handle_directive):  Likewise.
3653         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3654         by negative of directive_index.
3655         * cppinit.c (mark_named_operators):  Likewise.
3656
3657         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3658
3659 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3660
3661         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3662         FPU.
3663         (push): Generate push_fpscr.
3664         (pop): Generate pop_fpscr.
3665         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3666         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3667
3668 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3669
3670         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3671         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3672
3673 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3674
3675         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3676
3677 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3678         Merged from basic improvements branch (excerpt):
3679
3680         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3681         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3682
3683 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3684
3685         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3686
3687 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3688
3689         * i386.md (dimode peep2s): Re-add "&& 1".
3690
3691 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3692
3693         * i386.c (ix86_expand_prologue):  Add comment, do not use
3694         fast prologues for cold and normal functions.
3695
3696 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3697
3698         * i386.c (x86_rep_movl_optimal): New variable.
3699         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3700         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3701
3702         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3703         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3704         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3705         generate unnecesary subregs.
3706
3707 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3708
3709         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3710         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3711
3712 2002-12-05  Dale Johannesen  <dalej@apple.com>
3713
3714         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3715
3716 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3717
3718         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3719         PROFILE_HOOK.
3720         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3721
3722 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3723
3724         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3725         (__ev_mwlufia): Remove.
3726         (__ev_mwlumfaaw): Remove.
3727         (__ev_mwlusfaaw): Remove.
3728         (__ev_mwlumfanw): Remove.
3729         (__ev_mwlusfanw): Remove.
3730
3731 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3732
3733         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3734
3735 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3736
3737         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3738         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3739         (get_shift_alg): Return optimal assembly instructions for the
3740         shifts mentioned above.
3741
3742 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3743
3744         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3745         condtiional moves.
3746
3747 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3748
3749         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3750         implement ashiftrt:HI by 13 bits on H8S.
3751
3752 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3753
3754         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3755         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3756         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3757         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3758         CTOR_LIST_BEGIN): New defines.
3759         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3760         (fptr.c): Add make rules.
3761
3762 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3763
3764         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3765         * doc/md.texi (Insn Canonicalizations): Document new
3766         canonicalizations for multiply/add combinations.
3767         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3768         patterns to ensure they're used whenever they can be.
3769
3770 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3771
3772         * config/h8300/h8300.c: Update the comments related to shifts.
3773
3774 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3775
3776         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3777
3778 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3779
3780         * config/h8300/h8300.md (*extzv_8_8): New.
3781         (*extzv_8_16): Likewise.
3782
3783 2002-12-04  Jason Merrill  <jason@redhat.com>
3784
3785         PR c++/8461, c++/8625
3786         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3787         references.
3788         * tree-inline.c (initialize_inlined_parameters): Likewise.
3789
3790         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3791
3792 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3793
3794         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3795         macro instruction in a branch delay slot, to avoid assembler
3796         warnings.
3797
3798 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3799
3800         PR c/7622
3801         * c-semantics (genrtl_scope_stmt): Do not output inlined
3802         nested functions that contain no code.
3803
3804 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3805
3806         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3807         to be forced into nonfallthru.
3808
3809 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3810
3811         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3812
3813 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3814
3815         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3816
3817 2002-12-03  Richard Henderson  <rth@redhat.com>
3818
3819         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3820
3821 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3822
3823         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3824         Initialize tmp.using_obstack to 0.
3825
3826 2002-12-03  Andreas Schwab  <schwab@suse.de>
3827
3828         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3829         (EH_RETURN_STACKADJ_RTX): Define.
3830         (EH_RETURN_HANDLER_RTX): Define.
3831         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3832         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3833         registers and don't save fixed registers.
3834         (m68k_output_function_prologue): Use it.
3835         (use_return_insn): Likewise.
3836         (m68k_output_function_epilogue): Likewise.
3837
3838 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3839
3840         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3841         (single_zero_operand): Likewise.
3842
3843 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3844
3845         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3846         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3847         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3848         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3849         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3850         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3851         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3852         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3853         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3854
3855 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3856
3857         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3858         (ffsdi): Likewise.
3859         (cntlzw2, cntlzd2): New patterns.
3860
3861 2002-12-02  H.J. Lu <hjl@gnu.org>
3862
3863         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3864         (mips*-*-linux*): Remove mips/t-linux.
3865
3866 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3867
3868         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3869
3870 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3871
3872         * config/h8300/h8300.c (dosize): Replace argument op with
3873         sign.
3874         (h8300_output_function_prologue): Update the call to dosize.
3875         (h8300_output_function_epilogue): Likewise.
3876
3877 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3878
3879         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3880
3881 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3882
3883         * configure.in: Use "missing" script to generate warning if
3884         flex or bison programs not found, instead of invoking "false".
3885         * configure: Rebuilt.
3886
3887 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3888
3889         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3890
3891 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3892
3893         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3894
3895 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3896
3897         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3898         (push): Likewise.
3899         (pop): Likewise.
3900         (h8300_output_function_prologue): Likewise.
3901         (h8300_output_function_epilogue): Likewise.
3902
3903 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3904
3905         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3906         corresponding mode of non-integer mode, unless it is VOIDmode.
3907
3908 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3909
3910         * config/h8300/h8300.md (stm_h8300s_2): New.
3911         (stm_h8300s_3): Likewise.
3912         (stm_h8300s_4): Likewise.
3913         (five define_peephole2): Likewise.
3914
3915 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3916
3917         * ra-build.c: Fix a comment typo.
3918
3919 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3920
3921         * i386.c (ix86_expand_int_movcc): fix
3922         reversed BRANCH_COST test; be curefull about infinite recursion.
3923
3924 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3925
3926         * config/h8300/h8300.c (h8300_output_function_prologue):
3927         Remove variable idx.
3928         (h8300_output_function_epilogue): Likewise.
3929
3930 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3931
3932         * config/frv/xm-frv.h: Delete, unnecessary.
3933
3934 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3935
3936         * config/h8300/h8300.md: Add comments for define_peephole2.
3937
3938 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3939
3940         * builtin-types.def (BT_SIZE): Use size_type_node.
3941         * builtins.c (fold_builtin): Make the builtin strlen returns a
3942         size_t, not a sizetype.
3943         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3944         c_size_type_node.
3945         (c_alignof_expr): Likewise.
3946         (c_common_nodes_and_builtins): Likewise.
3947         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3948         (c_size_type_node): Likewise.
3949         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3950         * tree.h (TI_SIZE_TYPE): New enumeral.
3951         (size_type_node): Likewise.
3952
3953 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3954
3955         * configure.in: Don't put ${tm_file} into host_xm_file,
3956         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3957         Take location of tm-preds.h into account when calculating
3958         tm_p_file_list.
3959         * configure: Regenerate.
3960         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3961         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3962         Remove special case code for tm_p.h and *config.h; add new
3963         special case code for tm.h and tconfig.h. Clean up a bit.
3964
3965         * Makefile.in (tm_file, tm_file_list): New variables set from
3966         @-substitutions.
3967         (GCONFIG_H): Deleted.
3968         (GTM_H, TM_H): New.
3969         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3970         (TM_P_H): Move up with the other mkconfig.sh-generated
3971         headers; don't mention tm-preds.h explicitly.
3972         (tm.h, cs-tm.h): New rule.
3973         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3974         invocations of mkconfig.sh for changes to that program.
3975         (mostlyclean): Delete print-rtl1.c.
3976         (clean): Delete tm.h.
3977         Update dependencies for the files listed below.
3978
3979         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3980
3981         * coretypes.h: New file.
3982         * system.h: #define malloc to xmalloc and realloc to xrealloc
3983         when FLEX_SCANNER or YYBISON is defined, independent of the
3984         value of GCC_VERSION.
3985         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3986         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3987         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3988         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3989         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3990         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3991         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3992         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3993         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3994         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3995         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3996         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3997         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3998         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3999         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
4000         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
4001         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
4002         genconstants.c, genemit.c, genextract.c, genflags.c,
4003         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
4004         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
4005         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
4006         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
4007         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
4008         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
4009         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
4010         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
4011         print-tree.c, profile.c, protoize.c, ra-build.c,
4012         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
4013         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
4014         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
4015         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
4016         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
4017         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
4018         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
4019         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
4020         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
4021         xcoffout.c, config/darwin-c.c, config/darwin.c,
4022         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
4023         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
4024         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
4025         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
4026         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
4027         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
4028         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
4029         config/i960/i960-c.c, config/i960/i960.c,
4030         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
4031         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
4032         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
4033         config/mips/irix6-libc-compat.c, config/mips/mips.c,
4034         config/mmix/mmix.c, config/mn10200/mn10200.c,
4035         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
4036         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
4037         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
4038         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
4039         config/sparc/sparc.c, config/stormy16/stormy16.c,
4040         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
4041         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
4042         Include coretypes.h and tm.h.
4043
4044         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
4045         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
4046         genrecog.c: Include coretypes.h and tm.h from the file
4047         generated by this program.
4048
4049         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
4050         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
4051         coretypes.h and tm.h, and tsystem.h when not already included.
4052         No need to include stddef.h nor stdlib.h.
4053
4054         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
4055         include auto-host.h or ansidecl.h/
4056         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
4057         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
4058         include auto-host.h, ansidecl.h, or system.h.
4059         * fixinc/server.c: Likewise.  Also, do not include signal.h,
4060         and do not redefine volatile.
4061
4062 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4063
4064         * i386.md (movdf_integer):  Always enable in 64bit.
4065         (movdf_nointeger): Always disable in 64bit.
4066
4067 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4068
4069         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
4070         pseudo register number plus 1.
4071
4072 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
4073
4074         * expmed.c (store_bit_field): Use int_mode_for_mode to find
4075         corresponding mode of non-integer mode, unless it is VOIDmode.
4076
4077 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
4078
4079         * cpplib.c (_cpp_test_assertion): Default *value to 0.
4080
4081         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
4082
4083 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
4084
4085         * config/s390/t-crtstuff: New target makefile fragment.
4086         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
4087
4088 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4089
4090         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
4091         alternatives to correct the length when the memory operand is
4092         either pre_dec or post_inc.
4093
4094 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
4095
4096         * config/h8300/h8300.md (an anonymous pattern): Give an
4097         internal name *tst_extzv_bitqi_1_n.
4098         Accept bit_operand instead of bit_memory_operand.
4099         Do not accept bit tests with the MSB.
4100         (*tst_extzv_memqi_1_n): New.
4101
4102 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
4103
4104         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
4105         sharing when operand is SUBREG.
4106
4107 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
4108
4109         * athlon.md (athlon-decodev): New reservation unit.
4110         (athlon-direct0): New reservation.
4111         (athlon-vector): New use athlon-decodev.
4112         (athlon-double, athlon-direct): Better model.
4113         (athlon_imul_k8): Use athlon-direct0.
4114         (athlon_movlpd_load): New insn reservation.
4115
4116 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4117
4118         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
4119         Fix a comment typo.
4120         (h8300_tiny_constant_address_p): Likewise.
4121
4122 2002-11-28  Michael Matz  <matz@suse.de>
4123
4124         * doc/passes.texi: Mention the other register allocator.
4125
4126 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4127
4128         * config/h8300/h8300.md (6 new peephole2 patterns): New.
4129
4130 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
4131
4132         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
4133         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
4134         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
4135
4136 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
4137
4138         * config/h8300/h8300.c (h8300_and_costs): New.
4139         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
4140         * config/h8300/h8300-protos.h: Add a prototype for
4141         h8300_and_costs.
4142
4143 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
4144
4145         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
4146         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
4147         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
4148         * i386.md (truncdfsf patterns and splitters): Use
4149         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
4150
4151 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
4152
4153         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
4154         pointer argument in the prototypes of the following builtins
4155         be (const TYPE *) rather than (TYPE *):
4156          + __builtin_altivec_ld_internal_4sf
4157          + __builtin_altivec_ld_internal_4si
4158          + __builtin_altivec_ld_internal_8hi
4159          + __builtin_altivec_ld_internal_16qi
4160          + __builtin_altivec_lvsl
4161          + __builtin_altivec_lvsr
4162          + __builtin_altivec_lvebx
4163          + __builtin_altivec_lvehx
4164          + __builtin_altivec_lvewx
4165          + __builtin_altivec_lvxl
4166          + __builtin_altivec_lvx
4167          + __builtin_altivec_dst
4168          + __builtin_altivec_dstt
4169          + __builtin_altivec_dstst
4170          + __builtin_altivec_dststt
4171
4172 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4173
4174         * except.c (default_exception_section): Move variable into the
4175         scope where it is used.
4176
4177 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4178
4179         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4180         correct version.
4181
4182 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4183
4184         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4185
4186 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4187
4188         * config/h8300/h8300.c (h8300_shift_costs): New.
4189         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4190         * config/h8300/h8300-protos.h: Add a prototype for
4191         h8300_shift_costs.
4192
4193 2002-11-27  Jim Wilson  <wilson@redhat.com>
4194
4195         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4196         in output template.
4197
4198 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4199
4200         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4201         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4202         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4203         (i386_pe_dllimport_name_p): Likewise.
4204         (i386_pe_mark_dllexport): Likewise.
4205         (i386_pe_mark_dllimport): Likewise.
4206         (i386_pe_encode_section_info): Likewise.
4207         (i386_pe_strip_name_encoding): Likewise.
4208
4209 2002-11-27  Richard Henderson  <rth@redhat.com>
4210
4211         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4212         (nm && NF == 3): Set sawsymbol true.
4213         (END): Exit if no symbols seen.
4214         (output): Fix map syntax error if no globals for the version.
4215
4216 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4217
4218         * builtins.def (DEF_C99_BUILTIN): Fix.
4219
4220 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4221
4222         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4223         (all): Add .size and .type information.
4224
4225 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4226
4227         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4228         partial_reg_stall target.
4229
4230 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4231
4232         * i386.md (movhicc): Allow general operand.
4233         (movqicc): New expander.
4234         (movqicc_noc): New pattern.
4235         * i386.c (ix86_expand_carry_flag_compare): New function.
4236         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4237         HImode conversion; support QImode conditional moves
4238
4239 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4240
4241         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4242         (ix86_expand_prologue): Multiply the count by amount of registers to be
4243         pushed.
4244
4245 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4246
4247         * i386.c (override_options): Error about wrong -mcpu on x86-64
4248         compilation.
4249
4250 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4251
4252         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4253
4254 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4255
4256         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4257         x86_extended_reg_mentioned_p): Declare.
4258         * i386.c (extended_reg_mentioned_1): New static function.
4259         (x86_extended_QIreg_mentioned_p,
4260         x86_extended_reg_mentioned_p): New global functions.
4261         * i386.h (REX_SSE_REGNO_P): New macro.
4262         * i386.md (prefix_rex): New attribute.
4263         (length attribute): Add rex.
4264
4265 2002-11-26  Andrew Haley  <aph@redhat.com>
4266
4267         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4268         from_Unwind_Find_Enclosing_Function.
4269         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4270         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4271         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4272         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4273         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4274
4275 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4276
4277         * config/s390/s390.c (390_output_constant_pool): Set alignment
4278         before label in 64 bit mode, behind otherwise.
4279
4280 2002-11-26  Richard Henderson  <rth@redhat.com>
4281
4282         * c-common.c (handle_visibility_attribute): Accept "default".
4283         * tree.h (enum symbol_visibility): New.
4284         (decl_visibility): Declare.
4285         * target.h (gcc_target.visibility): Take visibility arg as integer.
4286         * varasm.c (default_assemble_visibility): Likewise.
4287         (decl_visibility): New.
4288         (maybe_assemble_visibility): Use it.
4289         * output.h (default_assemble_visibility): Update prototype.
4290         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4291         visibility arg as integer.
4292         * doc/extend.texi: Document default visibility.
4293
4294 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4295
4296         * config/h8300/h8300.c: Adjust spacing.
4297         * config/h8300/h8300.h: Likewise.
4298
4299 2002-11-26  Richard Henderson  <rth@redhat.com>
4300
4301         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4302         hook_void_FILEptr_constcharptr): Rename so that the return
4303         type is first.
4304         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4305         hook_bool_tree_false): New.
4306         * hooks.h: Update.
4307         * langhooks-def.h: Update for renames.
4308         * target-def.h: Likewise.
4309         * tree.c (default_comp_type_attributes,
4310         default_set_default_type_attributes, default_insert_attributes,
4311         default_function_attribute_inlinable_p,
4312         default_ms_bitfield_layout_p): Remove.
4313         * tree.h: Update.
4314
4315 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4316
4317         * pa-protos.h (function_value): New prototype.
4318         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4319         TARGET_64BIT.
4320         * pa.h (FUNCTION_VALUE): Use function_value.
4321         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4322         call_value_internal_reg, sibcall_value_internal_symref,
4323         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4324         value.
4325
4326 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4327
4328         * expr.c (gen_group_rtx, emit_group_move): New functions.
4329         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4330         * function.c (expand_function_start): Use gen_group_rtx to create a
4331         PARALLEL rtx to hold the return value when the real return rtx is a
4332         PARALLEL.
4333         (expand_function_end): Use emit_group_move to move the return value
4334         from a PARALLEL to the real return registers.
4335         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4336         in PARALLELs.
4337
4338 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4339
4340         * config/t-libc-ok: Fix typo.
4341
4342 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4343
4344         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4345         before AC_PROG_CC.
4346         * configure: Rebuilt.
4347
4348 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4349
4350         * c-decl.c: (start_struct): Commonize flag setting.
4351
4352 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4353
4354         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4355         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4356         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4357         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4358
4359 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4360
4361         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4362         insns.
4363         * config/s390/s390.c (struct machine_function): Introduction of
4364         struct machine_function.
4365         (s390_output_symbolic_const): Use of cfun.
4366         (s390_optimize_prolog): Likewise.
4367         (s390_fixup_clobbered_return_reg): Likewise.
4368         (s390_frame_info): Likewise.
4369         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4370         (s390_init_machine_status): New function.
4371         (override_options): call s390_init_machine_status.
4372         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4373         prototype.
4374
4375 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4376
4377         * varasm.c (output_constant_pool): For pool constants in mergeable
4378         section ensure each constant is padded to multiple of entity size.
4379
4380 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4381
4382         * varasm.c (default_exception_section): Move to...
4383         * except.c (default_exception_section): ... here. Make
4384         .gcc_except_table read-only if it is not expected to have any
4385         dynamic relocations and linker handles it.
4386         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4387         if it is not expected to have any dynamic relocations and linker
4388         handles it.
4389         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4390         when linking read-only and read-write sections together.
4391         * configure, config.in: Rebuilt.
4392         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4393         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4394
4395 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4396
4397         * i386.md (pushsf_rex64): Fix typo.
4398
4399 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4400
4401         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4402         new function.
4403         (__ev_create_ufix32_fs): Same.
4404         (__ev_get_sfix32_fs_internal): New.
4405         (__ev_get_sfix32_fs): Define to use function.
4406         (__ev_get_ufix32_fs_internal): New.
4407         (__ev_get_ufix32_fs): Define to use function.
4408         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4409         (__ev_get_lower_ufix32_fs): Same.
4410         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4411         (__ev_get_lower_sfix32_fs): Same.
4412         (__ev_set_sfix32_fs_internal): New.
4413         (__ev_set_ufix32_fs_internal): New.
4414         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4415         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4416         (__ev_set_upper_sfix32_fs): Call function.
4417         (__ev_set_lower_sfix32_fs): Same.
4418         (__ev_set_upper_ufix32_fs): Same.
4419         (__ev_set_lower_ufix32_fs): Same.
4420
4421 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4422
4423         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4424
4425 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4426
4427         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4428         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4429         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4430         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4431         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4432         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4433         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4434         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4435         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4436         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4437         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4438         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4439         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4440         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4441         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4442         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4443         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4444         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4445         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4446         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4447         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4448         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4449         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4450         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4451         defining.
4452         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4453         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4454
4455 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4456
4457         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4458
4459 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4460
4461         * config/h8300/h8300.md (an anonymous pattern): New.
4462
4463 2002-11-25  Richard Henderson  <rth@redhat.com>
4464
4465         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4466         (copying_arguments): Make boolean.
4467
4468 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4469
4470         * gcc.c (static_spec_functions): Add if-exists-else spec
4471         function.
4472         (if_exists_else_spec_function): New function.
4473         * doc/invoke.texi: Document the if-exists-else spec function.
4474
4475         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4476         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4477
4478 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4479
4480         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4481         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4482         "${tmake_file} rs6000/t-netbsd".
4483         * config/rs6000/netbsd.h: Rewrite.
4484         * config/rs6000/t-netbsd: New file.
4485
4486 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4487
4488         * config/h8300/h8300.md (an anonymous pattern): Relax the
4489         condition for the pattern.
4490
4491 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4492
4493         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4494         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4495         evmwlssfanw, evmwlsmfanw.
4496
4497         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4498
4499         * config/rs6000/spe.md: Same for patterns.
4500
4501 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4502
4503         PR c/8639
4504         * fold-const.c (extract_muldiv): Don't propagate division unless
4505         both arguments are multiples of C.
4506
4507 2002-11-25  Andrew Haley  <aph@redhat.com>
4508
4509         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4510         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4511         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4512         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4513
4514 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4515
4516         * i386.c (x86_use_ffreep): New global variable.
4517         * i386.h (x86_use_frfeep): Declare
4518         (TARGET_USE_FFREEP): New macro
4519         * i386.md  (movs?f*): Use freep when asked for.
4520         (push?f): Remove dead code.
4521
4522 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4523
4524         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4525         target help message.
4526
4527 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4528
4529         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4530         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4531         crtbeginT.o".
4532         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4533         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4534         to "" for a.out configurations.
4535         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4536
4537 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4538
4539         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4540         NETBSD_CPP_SPEC directly.
4541         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4542         netbsd_endfile_spec.
4543         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4544
4545 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4546
4547         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4548         NETBSD_STARTFILE_SPEC.
4549         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4550         (ENDFILE_SPEC): Likewise.
4551         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4552
4553 2002-11-24  Andreas Schwab  <schwab@suse.de>
4554
4555         * Makefile.in (install-driver): Remove versioned link before
4556         trying to create it.
4557
4558         * config/m68k/m68k.c: Fix typo in last change defining
4559         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4560
4561 2002-11-23  H.J. Lu <hjl@gnu.org>
4562
4563         * aclocal.m4: Include ../config/accross.m4.
4564         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4565         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4566         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4567         instead of $ac_cv_c_compile_endian.
4568
4569         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4570         AC_COMPILE_CHECK_SIZEOF.
4571         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4572         * configure: Rebuild.
4573
4574 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4575
4576         * config/h8300/h8300.c (print_operand): Update the use of
4577         h8300_tiny_constant_address_p.
4578         (h8300_adjust_insn_length): Likewise.
4579         (h8300_tiny_constant_address_p): Check if the given rtx is a
4580         variable declared with __attribute__ ((tiny_data)).
4581
4582 2002-11-22  Dale Johannesen  <dalej@apple.com>
4583
4584         * toplev.c (rest_of_compilation):  Fix comments.
4585
4586 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4587
4588         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4589         allow mmap from /dev/zero.  Don't make decisions for the host
4590         based on presence or absence of /dev/zero on the build machine.
4591         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4592         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4593         * configure: Regenerate.
4594
4595 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4596
4597         * gcc.c (make_relative_prefix, split_directories)
4598         (free_split_directories): Removed.
4599
4600 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4601
4602         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4603         * configure: Regenerated.
4604
4605 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4606
4607         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4608         length computation when xor.l is output.
4609
4610 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4611
4612         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4613         (call_vms_1, call_value_vms_1): Cleanup syntax.
4614
4615 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4616
4617         * athlon.md (define_atuomaton): Add athlon_load.
4618         (athlon-double): New reservation.
4619         (athlon-ieu0): New CPU unit.
4620         (athlon-load?): Use athlon_load automaton.
4621         (*_k8 reservations): New.
4622         (other insn revervations): Activate for K8.
4623
4624 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4625
4626         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4627
4628 2002-11-21  Jim Wilson  <wilson@redhat.com>
4629
4630         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4631         vectors to SI.
4632
4633 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4634
4635         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4636         * config/xtensa/xtensa.c (struct machine_function): Add
4637         incoming_a7_copied flag.
4638         (xtensa_copy_incoming_a7): Define.
4639         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4640         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4641
4642 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4643
4644         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4645         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4646         x86_64_nonmemory_operand, x86_64_movabs_operand,
4647         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4648         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4649         (local_symbolic_operand): Do not care the 64bit limits.
4650         (x86_64_sign_extended_value): Remove allow_rip support.
4651         (legitimate_pic_address_disp_p): Handle all cases allowed
4652         with RIP addressing.
4653         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4654         (legitimize_pic_address): Reorganize.
4655         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4656
4657 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4658
4659         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4660         * config/arm/netbsd-elf.h: New file.
4661
4662 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4663
4664         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4665         subtarget_asm_float_spec.
4666         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4667         defaults from...
4668         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4669
4670 2002-11-21  Nick Clifton  <nickc@redhat.com>
4671
4672         * config/fr30/fr30.md (movsf_constant_store): Move code to
4673         detect 0.0 into fr30.c.
4674         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4675         Prototype.
4676         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4677         function.  Return true if the rtx is 0.0.
4678
4679 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4680
4681         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4682         if -mlittle-endian is specified.
4683
4684 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4685
4686         PR optimization/2903
4687         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4688         (anddi_notsesidi_di): Likewise.
4689
4690 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4691
4692         * config/h8300/h8300.c (print_operand): Use
4693         h8300_eightbit_constant_address_p and
4694         h8300_tiny_constant_address_p.
4695         (h8300_adjust_insn_length): Likewise.
4696         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4697         (TINY_CONSTANT_ADDRESS_P): Likewise.
4698         (OK_FOR_U): Use eightbit_constant_address_p.
4699
4700 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4701
4702         * config/s390/libgcc-libc.ver: Add multilib support.
4703         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4704         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4705         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4706         EXTRA_MULTILIB_PARTS): Define.
4707
4708 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4709
4710         * arm.c (arm_get_frame_size): A leaf function does not need its
4711         stack padding to an aligned boundary if it has no frame.
4712         (thumb_get_frame_size): Likewise.
4713
4714 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4715
4716         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4717         (override_options): Likewise.
4718
4719 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4720
4721         * config.gcc: Add k8 target alias support
4722         * i386.c (_cost): Declare costs for various variants of divides and
4723         multiplies.
4724         (k8_cost): New.
4725         (m_K8, m_ATHLON_K8): New macros.
4726         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4727         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4728         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4729         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4730         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4731         x86_prologue_using_move, x86_epilogue_using_move,
4732         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4733         x86_sse_typeless_stores): Set for K8
4734         (override_options): Add k8 support; fix athlon alignment;
4735         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4736         (ix86_issue_rate): Set for K8.
4737         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4738         x86_machine_dependent_reorg): Handle K8 like
4739         * i386.h
4740         (x86_costs):  Change mult_init and divide into array.
4741         (TARGET_K8, TARGET_ATHLON): New macros.
4742         (MODE_INDEX): New macro.
4743         (RTX_COST): Use new costs.
4744         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4745         (TARGET_CPU_DEFAULT_NAMES): Add k8
4746         (TARGET_CPU_DEFAULT_k8): New constant
4747         (enum processor_type): Add PROCESSOR_K8.
4748         * i386.md (cpu attribute): Add k8.
4749
4750         * invoke.texi: Document -march=k8.
4751
4752         * i386.md (type attribute): Add leave
4753         (mode attribute): Remove unknownfp.
4754         (length_immediate, modrm, memory attributes): Handle leave correctly.
4755         (fp comparison patterns): Determine FP mode.
4756         (leave, leave_rex64): Remove special cases.
4757         * ppro.md (ppro_uops, ppro_p2): Add leave
4758         * pentiun.md (pent_pop): Handle leave too.
4759         * k6.md (k6_load): Handle leave.
4760         * athlon.md (athlon_leave, athlon_pop): Fix.
4761         (athlon_decode): Handle leave.
4762
4763 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4764
4765         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4766         to component type using GET_MODE_INNER.
4767         * expr.c (emit_move_insn_1): Ditto.
4768         * optabs.c (expand_binop): Ditto.
4769         (expand_unop): Ditto.
4770         (expand_complex_abs): Ditto.
4771
4772 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4773
4774         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4775
4776 2002-11-20  DJ Delorie  <dj@redhat.com>
4777
4778         * config/stormy16/stormy16.c (s16builtins,
4779         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4780         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4781
4782 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4783
4784         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4785         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4786         (executing gencheck, genconfigs, genconditions, genflags,
4787         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4788         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4789         gengtype, genprotos): Prepend $(RUN_GEN).
4790         * configure.in: Move host compiler tests before --enable-checking
4791         tests.
4792         (--enable-checking=valgrind): New.
4793         * config.in, configure: Regenerate.
4794         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4795         Define as empty.
4796         (read_include_file): When doing the mmap+1 trick,
4797         valgrind-annotate the byte after the mmap:ed area as readable.
4798         (purge_cache): Remove above annotation.
4799         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4800         VALGRIND_PATH -q to each command.
4801
4802         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4803         Define as empty.
4804         (ggc_realloc): Update valgrind annotations.
4805         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4806         Define as empty.
4807         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4808         valgrind-annotate memory.
4809
4810 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4811
4812         * recog.c (constrain_operands): Prefer exact match over reloadable
4813         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4814
4815         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4816         operands in Pmode.
4817
4818 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4819
4820         PR c/8518
4821         * c-decl.c (duplicate_decls): Outline the second definition
4822         of an extern inline function in all cases.
4823
4824 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4825
4826         * stor-layout.c (place_field): Update rli->offset as well as
4827         rli->bitpos.
4828
4829 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4830
4831         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4832
4833 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4834
4835         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4836         into a libcall block.
4837         (divsi3): Likewise divsi3_i4_media.
4838
4839 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4840
4841         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4842         out another register.
4843
4844 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4845
4846         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4847         (not just mask) are set in C.
4848
4849 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4850
4851         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4852
4853 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4854
4855         * profile.c (index_counts_file): Fix obvious mistake.
4856
4857 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4858
4859         * Makefile.in (profile.o): Add hashtab.h dependency.
4860         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4861         * profile.c: Include hashtab.h.
4862         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4863         cleanup_counts_index, index_counts_file, struct section_reference,
4864         struct da_index_entry, counts_file_name, counts_file_index): New.
4865         (get_exec_counts, init_branch_prob): Modified.
4866
4867 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4868
4869         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4870         to tmake_file. Remove setting gas and gnu_ld here.
4871         * config/sh/libgcc-glibc.ver: New file.
4872         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4873         (SHLIB_MAPFILES): New.
4874         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4875         (MD_STARTFILE_PREFIX): Likewise.
4876         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4877         (DWARF2_UNWIND_INFO): Redefine.
4878         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4879         (LINK_EH_SPEC): Redefine.
4880         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4881         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4882         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4883         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4884         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4885         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4886         SH_DWARF_FRAME_FPSCR): Likewise.
4887         * config/sh/sh-protos.h (sh_set_return_address): Declare.
4888         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4889         registers if the current function calls EH return.
4890         (sh_expand_epilogue): Handle EH stack adjustments.
4891         (sh_set_return_address): New function.
4892         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4893         Don't abort even if the number is mapped to -1.
4894         (EH_RETURN_DATA_REGNO): Define.
4895         (EH_RETURN_STACKADJ_RTX): Define.
4896         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4897         (eh_return): New pattern.
4898         (eh_set_ra_di, eh_set_ra_si): Likewise.
4899         Add splitter to perform EH return after reload.
4900
4901 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
4902
4903         * stor-layout.c (excess_unit_span): New function.
4904         (place_field): Use it.
4905
4906 2002-11-19  Andreas Schwab  <schwab@suse.de>
4907
4908         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4909         not valid in C++.
4910
4911 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4912
4913         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4914         * configure: Regenerate.
4915
4916 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4917
4918         * convert.c (strip_float_extensions): New function.
4919         (convert_to_real): Optimize some cases.
4920
4921 2002-11-19  Andreas Jaeger  <aj@suse.de>
4922
4923         * loop.c (record_giv): Initialize not_replaceable.
4924         (check_final_value): Likewise.
4925
4926 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4927
4928         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4929         MASK_H8300S.
4930
4931 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
4932
4933         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4934         only if -mh or -ms present.
4935         (h8300_eightbit_constant_address_p): Support the normal mode.
4936         (h8300_tiny_constant_address_p): Likewise.
4937         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4938         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4939         (Pmode): Evaluate to HImode for the normal mode.
4940         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4941         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4942         (ASM_WORD_OP): Evaluate to word for the normal mode.
4943         * config/h8300/h8300.md (tablejump_normal_mode): New.
4944         (indirect_jump_normal_mode): New.
4945         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4946         directory.
4947         (MULTILIB_DIRNAMES): Create target dependent directory
4948         'normal'.
4949         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4950         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4951
4952 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4953
4954         * i386.md (length_immediate): Do not refer to insn address.
4955         (jcc*, jmp patterns):  Compute length explicitly.
4956
4957 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4958
4959         PR c/8588
4960         * optabs.c (expand_binop): Convert CONST_INTs in shift
4961         operations too.
4962
4963 2002-11-19  Roger Sayle  <roger@eyesopen.com>
4964
4965         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4966
4967 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4968
4969         * config/h8300/h8300.md (an anonymous pattern): Relax the
4970         condition to accept the same operands and/or subregs.
4971
4972 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
4973
4974         * config/sh/sh.c (gen_shl_and): Revert previous patch.
4975         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
4976         reload_completed.
4977
4978 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4979
4980         * config/h8300/h8300.c (print_operand): Update the use of
4981         EIGHTBIT_CONSTANT_ADDRESS_P.
4982         (h8300_adjust_insn_length): Likewise.
4983         (h8300_eightbit_constant_address_p): Check if the given rtx is
4984         a variable with __attribute__((eightbit_data)).
4985         * config/h8300/h8300.h (OK_FOR_U): Update the use of
4986         EIGHTBIT_CONSTANT_ADDRESS_P.
4987
4988 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4989
4990         * doc/contrib.texi (Contributors): Add self as second contact in
4991         addition to Jeff Law.
4992
4993 2002-11-19  Andreas Jaeger  <aj@suse.de>
4994
4995         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
4996         find_alloca_call to right place.
4997
4998 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4999
5000         * cppfiles.c: Fix formatting.
5001
5002 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
5003
5004         * gcc.c (The Specs Language): Document spec functions.
5005         (static_spec_functions, lookup_spec_function)
5006         (eval_spec_function, handle_spec_function)
5007         (if_exists_spec_function, alloc_args): New.
5008         (execute): Abort if processing_spec_function is true.
5009         (do_spec_1): Hand off spec to handle_spec_function if %:
5010         is encountered.  If processing_spec_function is true,
5011         end any pending argument when the end of the string is reached.
5012         (main): Use alloc_args to allocate the initial argument vector.
5013         * gcc.h (struct spec_function): New.
5014         (lang_specific_spec_functions): New extern.
5015
5016         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
5017         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
5018         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
5019
5020         * doc/invoke.texi: Document spec functions.
5021
5022         * cppspec.c (lang_specific_spec_functions): New.
5023         * gccspec.c: Likewise.
5024
5025 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
5026
5027         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
5028         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
5029         (fixunstfsi_libfunc): Change.
5030         (fixunstfdi_libfunc): Change.
5031         (sdiv_optab): Don't zero out SImode handler.
5032         (udiv_optab): Don't zero out SImode handler.
5033         (smod_optab): Don't zero out SImode handler.
5034         (umod_optab): Don't zero out SImode handler.
5035
5036 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
5037
5038         PR preprocessor/8524
5039         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
5040         Add a new one in its place, which hopefully works.
5041         (skip_rest_of_line): Change test for bottom-of-context-stack.
5042
5043 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
5044
5045         * i386.md (addqi_1_slp): Fix output template.
5046         (subqi_1_slp): Fix type.
5047
5048 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
5049
5050         * calls.c (alloca_call_p): New global function.
5051         * tree.h (alloca_call_p): New.
5052         * tree-inline.c (inlinable_function_p):  Do not inline when
5053         function calls alloca.
5054         (find_alloca_call, find_alloca_call_1): New functions.
5055
5056 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
5057
5058         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
5059         bst.  Update the insn length.
5060         (*andorhi3): Likewise.
5061         (*andorsi3): Likewise.
5062
5063 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5064
5065         * config/sh/sh-protos.h (sh_mark_label): Declare.
5066         * config/sh/sh.c (sh_mark_label): New function, taken from
5067         movdi_const, but fixing the case when the address has an addend.
5068         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
5069
5070 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5071
5072         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
5073         (add_constant): Set it.
5074         (dump_table): Don't reorder a constant if part_of_sequence_p.
5075         (machine_dependent_reorg): Assume that float constants will
5076         stay in their original order if used as a sequence.
5077
5078 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5079
5080         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
5081         in compact code.
5082
5083 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
5084
5085         * config/sh/sh.md (initialize_trampoline): Do not force the
5086         trampoline address into R0_REGS here.
5087
5088 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
5089
5090         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5091         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5092         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5093         generate unnecesary subregs.
5094
5095 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5096
5097         * df.c: Fix formatting.
5098
5099 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5100
5101         * config/h8300/h8300.md (two anonymous patterns): Fix insn
5102         lengths.
5103
5104 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
5105
5106         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
5107         is not an arith_reg_operand.
5108
5109 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
5110
5111         * real.c (real_to_decimal): Fix buffer overrun when buffer size
5112         is smaller than representation.
5113
5114 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
5115
5116         * builtins.c: Fix formatting.
5117
5118 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5119
5120         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
5121         floats?dff2_i387):
5122         Work around regclass stupidity.
5123         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
5124
5125 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5126
5127         * i386.md (fop_df_6): New pattern.
5128         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
5129         (fop_xf_6): Rewrite
5130         (fop_xf_7): Delete.
5131         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
5132         (fop_tf_6): Rewrite
5133         (fop_tf_7): Delete.
5134
5135 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5136
5137         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
5138
5139 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5140
5141         * config/h8300/h8300.md: Fix formatting.
5142
5143 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5144
5145         * config/h8300/h8300.md: Replace spaces with tabs.
5146         * config/h8300/t-h8300: Remove a trailing empty line.
5147
5148 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5149
5150         * tlink.c: Fix formatting.
5151
5152 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
5153
5154         PR 8362
5155         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
5156         * config/rs6000/rs6000.md (movti_string): Remove output modifier
5157         when scratch register never needed.
5158         (ldmsi[3-8]): New patterns.
5159
5160 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5161
5162         * hard-reg-set.h: Follow spelling conventions.
5163         * real.c: Likewise.
5164         * target.h: Likewise.
5165
5166 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
5167
5168         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5169
5170 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5171
5172         * optabs.c: Fix formatting.
5173
5174 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5175
5176         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5177         * i386.md (attribute type): Add type shift1 and rotate1.
5178         (*_slp): Rewrite to have just two operands to avoid reload problems.
5179
5180 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5181
5182         * config/h8300/h8300.md (4 anonymous patterns): New.
5183
5184 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5185
5186         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5187         * doc/invoke.texi: Correct description of what needs to be done to
5188         force collection at every ggc_collect call.
5189
5190 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5191
5192         * config/s390/s390.c (optimization_options): Set
5193         flag_asynchronous_unwind_tables to 1 by default.
5194
5195 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5196
5197         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5198
5199 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5200
5201         * i386-protos.h (x86_function_profiler): New function
5202         * i386.h (MCOUNT_NAME): New.
5203         (PROFILE_COUNT_REGISTER): New.
5204         (FUNCTION_PROFILER): Move offline to ...
5205         * i386.c (x86_function_profiler) ... here; fix 64bit support
5206         * beos-elf.h (FUNCTION_PROFILER): Kill.
5207         (MCOUNT_NAME): New.
5208         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5209         (MCOUNT_NAME): New.
5210         (PROFILE_COUNT_REGISTER): New.
5211         * linux.h (FUNCTION_PROFILER): Kill.
5212         (MCOUNT_NAME): New.
5213         * x86-64.h (FUNCTION_PROFILER): Kill.
5214         (MCOUNT_NAME): New.
5215         * freebsd.h (FUNCTION_PROFILER): Kill.
5216         (MCOUNT_NAME): New.
5217
5218 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5219
5220         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5221         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5222         * config/arm/arm.c (arm_va_arg,
5223         arm_function_arg_pass_by_reference): New.
5224         * config/arm/arm-protos.h: Add prototypes.
5225
5226 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5227
5228         * gthr-single.h: Fix formatting.
5229
5230 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5231
5232         * tree.c (tree_vec_elt_check_failed): New function.
5233         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5234         (TREE_VEC_ELT): Use it.
5235
5236         * tree-inline.c (optimize_inline_calls): Don't copy a
5237         zero-length vector.
5238
5239 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5240
5241         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5242
5243 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5244
5245         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5246         both operands contain local relocations.
5247         (categorize_decl_for_section): Don't use mergeable sections if
5248         initializer has any relocations.
5249
5250 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5251
5252         * gthr-vxworks.h: Fix formatting.
5253
5254 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5255
5256         * doc/install.texi (Testing): Document extra Java testing.
5257         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5258
5259 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5260
5261         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5262         beginning of the spec.
5263         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5264         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5265         regarding problems with global constructors when using GNU ld.
5266
5267 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5268
5269         * gthr-solaris.h: Fix formatting.
5270
5271 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5272
5273         * gthr-posix.h: Fix formatting.
5274
5275 2002-11-12  Devang Patel <dpatel@apple.com>
5276         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5277         (process_command): Same.
5278         * doc/invoke.texi: Info about these two new options.
5279
5280 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5281
5282         * config/h8300/h8300.md (*andorsi3): New.
5283
5284 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5285
5286         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5287
5288 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5289
5290         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5291         expressions appropriately.
5292
5293 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5294
5295         * gthr-win32.h: Fix formatting.
5296
5297 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5298
5299         * config/h8300/h8300.c (single_one_operand): Correctly compute
5300         mask when mode is SImode.
5301         (single_zero_operand): Likewise.
5302         * config/h8300/h8300.md (two new anonymous insns): New.
5303
5304 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5305
5306         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5307         to that entire project.
5308
5309 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5310
5311         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5312         directories.
5313
5314 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5315
5316         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5317         * doc/invoke.texi: Document them.
5318
5319         * ggc-page.c: Include params.h.  Remove definitions of
5320         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5321         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5322         (init_gcc): Don't set G.allocated_last_gc here.
5323         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5324         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5325         perform collection.
5326         * ggc-simple.c: Similarly.
5327         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5328         dependencies.
5329
5330 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5331
5332         * gthr-dce.h: Fix formatting.
5333
5334 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5335
5336         PR c/8467
5337         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5338         mode of DECL_RTL case.
5339
5340 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5341
5342         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5343
5344 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5345
5346         * i386.c (construct_container): Fix handling of SSE_CLASS.
5347
5348 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5349
5350         * config/m68k/t-crtstuff (crti.o): Use this...
5351         ($(T)crti.o): ... instead.
5352         (crtn.o): Use this...
5353         ($(T)crtn.o): ... instead.
5354
5355 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5356
5357         PR c/8439
5358         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5359         if there is something new to be simplified.
5360
5361 2002-11-10  H.J. Lu <hjl@gnu.org>
5362
5363         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5364         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5365
5366         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5367
5368 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5369
5370         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5371         * config/rs6000/linux.h, config/rs6000/linux64.h,
5372         config/rs6000/windiss.h: ... not here.
5373
5374 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5375
5376         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5377         __ABICALLS__ if TARGET_ABICALLS.
5378
5379 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5380
5381         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5382
5383 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5384
5385         * c-decl.c (grokdeclarator): Make error for duplicate type
5386         qualifiers into a pedwarn, disabled for C99.
5387
5388 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5389
5390         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5391         as FUNCTION_ARG_PASS_BY_REFERENCE.
5392
5393 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5394
5395         * doc/install.texi: Add *-*-vxworks* specific installation
5396         instructions.
5397
5398         * config/vxlib.c: Rewrite using generation numbers to identify
5399         valid TSD keys.
5400
5401 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5402
5403         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5404
5405 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5406
5407         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5408
5409         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5410         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5411         * pa.c (output_millicode_call): Use symbol difference rather than
5412         $PIC_pcrel$0 when using HP assembler.
5413         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5414         not elfos.h (i.e., gas) is being used.
5415         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5416         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5417         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5418         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5419         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5420         using elfos.h.
5421         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5422         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5423         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5424         using elfos.h.
5425         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5426         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5427         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5428         Don't define when not using elfos.h.
5429         (ASM_DECLARE_RESULT): Don't define.
5430         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5431         doesn't work on hppa64-hp-hpux11.
5432         (hppa*-hp-hpux11): Update.
5433
5434 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5435
5436         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5437         to the assembler if -mno-abicalls was specified.
5438
5439 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5440
5441         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5442         ASM_OUTPUT_DEF): Delete.
5443
5444 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5445
5446         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5447
5448 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5449
5450         * real.c (real_sqrt): Update comment with bibliographic reference.
5451
5452 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5453
5454         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5455
5456 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5457
5458         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5459
5460 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5461
5462         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5463         (expand_builtin): Likewise.
5464         * builtins.def: Add
5465         __builtin_floor, __builtin_floorf, __builtin_floorl
5466         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5467         __builtin_round, __builtin_roundf, __builtin_roundl
5468         __builtin_trunc, __builtin_truncf, __builtin_truncl
5469         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5470         * genopinit.c (optabs): Initialize the new optabs.
5471         * optab.c (init_optabs): Likewise.
5472         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5473         OTI_round, OTI_nearbyint.
5474         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5475         * doc/md.texi: Document new named patterns.
5476         * doc/extend.texi (builtin functions)  Document
5477         floor, floorf, floorl, ceil, ceilf,
5478         ceill, round, roundf, roundl, trunc,
5479         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5480
5481 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5482
5483         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5484
5485 2002-11-08  Dale Johannesen  <dalej@apple.com>
5486
5487         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5488
5489 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5490
5491         PR preprocessor/8497
5492         PR preprocessor/8501
5493         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5494         start a directive.  In assembler, #NUM is not a line directive.
5495
5496 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5497
5498         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5499         buffers.
5500
5501 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5502
5503         * config/h8300/h8300.md (two anonymous test insns): New.
5504
5505 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5506
5507         * jump.c (mark_jump_label): Handle subregs of label_refs.
5508
5509 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5510
5511         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5512         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5513
5514 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5515
5516         * config/ia64/crtend.asm: Include "auto-host.h".
5517         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5518         * config/ia64/crtbegin.asm: Similarly.
5519         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5520         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5521
5522         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5523         * configure.in: Use it if --enable-initfini-array not specified.
5524         * doc/install.texi (Configuration): Document --enable-initfini-array.
5525         * configure, config.in: Rebuild.
5526
5527 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5528
5529         * config/arm/arm-protos.h (arm_get_frame_size)
5530         (thumb_get_frame_size): New prototypes.
5531         * config/arm/arm.c (arm_get_frame_size)
5532         (thumb_get_frame_size): New functions.
5533         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5534         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5535         arm_get_frame_size.
5536         (thumb_expand_prologue, thumb_expand_epilogue): Use
5537         thumb_get_frame_size.
5538         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5539         (machine_function): Add frame_size member.
5540         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5541
5542 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5543
5544         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5545         Adjust code to use portable unsigned bit manipulation.
5546         (insn_flags, tune_flags): Change type to unsigned.
5547         (struct processors): Make flags unsigned long.
5548         (arm_override_options): Change type of count and current_bit_count
5549         to unsigned.
5550
5551 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5552
5553         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5554
5555 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5556
5557         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5558
5559 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5560
5561         * reg-stack.c (compensate_edge): Fix sanity check.
5562
5563 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5564
5565         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5566         crt2.o.  Rearrange t-darwin makefiles.
5567         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5568         * unwind-dw2-fde-darwin.c: New.
5569         * unwind-dw2-fde-glibc.c: Correct comment.
5570         * unwind-dw2-fde.c (__register_frame_info_bases)
5571         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5572         (classify_object_over_fdes): Use last_fde.
5573         (add_fdes): Likewise.
5574         (linear_search_fdes): Likewise.
5575         * unwind-dw2-fde.h (struct object)
5576         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5577         (last_fde): New.
5578         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5579         (ENDFILE_SPEC): No crtend.o.
5580         * config/t-darwin: New.
5581         * config/i386/t-darwin: Delete.
5582         * config/darwin-crt2.c: New.
5583         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5584         or config/t-darwin.
5585
5586 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5587
5588         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5589         MASK_MS_BITFIELD_LAYOUT
5590         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5591         MS bitfields for Objective-C.
5592         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5593         defines.
5594
5595         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5596         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5597         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5598
5599         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5600         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5601         (TARGET_SWITCHES): Add above mask.
5602
5603         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5604         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5605         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5606         flags for interix.
5607
5608 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5609
5610         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5611         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5612         assembler.
5613         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5614         before jump on ABI_N32 too.
5615         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5616         length to match.
5617
5618 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5619
5620         * i386.md (negsf splitter): Accept memory operand in second register.
5621         (abssf/absdf splitters): Simplify
5622         (sse_loadss, sse_loadsd): Turn into expander.
5623
5624 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5625
5626         PR target/8480
5627         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5628         FPR to FPR moves.
5629
5630 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5631
5632         * doc/contrib.texi: Merge in the list from the Java web pages.
5633
5634 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5635
5636         * config/sparc/freebsd: Fix typo.
5637
5638 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5639
5640         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5641
5642 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5643
5644         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5645         non-SImode addresses.
5646
5647 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5648
5649         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5650         stack register.
5651         (float SSE splitters): Reorder conditional.
5652
5653 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5654
5655         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5656
5657 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5658
5659         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5660         (STARTFILE_SPEC): Remove p and pg options.
5661
5662 2002-11-05  Andrew Haley  <aph@redhat.com>
5663
5664         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5665         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5666
5667 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5668
5669         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5670         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5671
5672 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5673
5674         * gthr-vxworks.h: Rewritten from scratch.
5675         * config/vxlib.c: New file.
5676         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5677         * config/rs6000/t-vxworks: Add config/vxlib.c to
5678         LIB2FUNCS_EXTRA here too, because of clash with
5679         config/rs6000/t-ppccomm.
5680
5681 2002-11-04  Dale Johannesen  <dalej@apple.com>
5682
5683         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5684         for unrolled loops.
5685         * loop.c (loop_invariant_p):  Support calling from unroller.
5686
5687 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5688
5689         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5690         for comparison.
5691
5692 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5693
5694         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5695
5696         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5697         (CLASS_CANNOT_CHANGE_MODE): Remove.
5698         (CANNOT_CHANGE_MODE_CLASS): New.
5699
5700         * config/alpha/alpha.h: Same.
5701
5702         * config/ia64/ia64.h: Same.
5703
5704         * config/mips/mips.h: Same.
5705
5706         * config/s390/s390.h: Same.
5707
5708         * config/sh/sh.h: Same.
5709
5710         * config/pa/pa64-regs.h: Same.
5711
5712         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5713
5714         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5715
5716         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5717         prototype.
5718
5719         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5720
5721         * doc/tm.texi (Register Classes): Remove
5722         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5723         Document CANNOT_CHANGE_MODE_CLASS.
5724
5725         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5726         (push_reload): Same.
5727
5728         * simplify-rtx.c (simplify_subreg): Same.
5729
5730         * reload1.c (choose_reload_regs): Same.
5731
5732         * recog.c (register_operand): Same.
5733
5734         * regrename.c (mode_change_ok): Change to use new
5735         CANNOT_CHANGE_MODE_CLASS infrastructure.
5736
5737         * regclass.c (cannot_change_mode_set_regs): New.
5738         Declare subregs_of_mode.
5739         (regclass): Use subregs_of_mode.
5740         Remove references to reg_changes_mode.
5741         (init_reg_sets_1): Remove class_can_change_mode and
5742         reg_changes_mode code.
5743         (invalid_mode_change_p): New.
5744         (dump_regclass): Use invalid_mode_change_p instead of
5745         class_can_change_mode.
5746         (regclass): Same.
5747         (record_operand_costs): Do not set reg_changes_mode.
5748
5749         * local-alloc.c (struct qty): Remove changes_mode field.
5750         (alloc_qty): Remove changes_mode initialization.
5751         (update_qty_class): Remove set of changes_mode.
5752         (find_free_reg): Use subregs_of_mode.
5753
5754         * global.c (find_reg): Use subregs_of_mode info.
5755
5756         * rtl.h (cannot_change_mode_set_regs): New prototype.
5757         (invalid_mode_change_p): Same.
5758         (REG_CANNOT_CHANGE_MODE_P): New macro.
5759
5760         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5761         REG_CHANGES_MODE.
5762         (life_analysis): Clear subregs_of_mode.
5763
5764         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5765         Remove use of CLASS_CANNOT_CHANGE_MODE.
5766         (simplify_set): Same.
5767         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5768         REG_CHANGES_MODE.
5769
5770         * regs.h: Add extern for subregs_of_mode;
5771         Include hard-reg-set and basic-block.
5772         (REG_CHANGES_MODE): Delete.
5773
5774 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5775
5776         * real.c (real_sqrt): New function to calculate square roots.
5777         * real.h (real_sqrt): Add function prototype.
5778         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5779         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5780         of constant argument.
5781
5782 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5783
5784         * jump.c (never_reached_warning): Don't set contains_insn until the
5785         first line note is seen.
5786
5787 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5788
5789         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5790
5791 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5792
5793         PR c/7128
5794         * c-typeck.c (c_expand_asm_operands): Defend against
5795         error_mark_nodes in the output argument to avoid ICE.
5796
5797 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5798
5799         PR middle-end/8408
5800         * genrecog.c (preds): Handle ADDRESSOF.
5801         (validate_pattern): Mark it as an lvalue.
5802
5803 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5804
5805         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5806         instructions when optimizing for size.
5807
5808 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5809
5810         * config/h8300/h8300.h: Fix comment typos.
5811         * config/h8300/h8300.md: Likewise.
5812         * config/h8300/lib1funcs.asm: Likewise.
5813
5814 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5815
5816         Revert this change:
5817
5818         *doc/install.texi (Installing GCC: Configuration): Clarify
5819         the only supported ways to configure gcc.
5820
5821 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5822
5823         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5824         instead of 'O' for the constraint for the second operand.
5825
5826 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5827
5828         PR c++/8391
5829         * toplev.c (rest_of_compilation): Do not refuse to output code for
5830         an inline function in a local class.
5831
5832 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5833
5834         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5835         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5836         Add comment.
5837
5838 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5839
5840         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5841
5842 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5843
5844         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5845
5846 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5847
5848         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5849         (MASK_INLINE_DIV_THR): Remove.
5850         (TARGET_INLINE_DIV_LAT): Remove.
5851         (TARGET_INLINE_DIV_THR): Remove.
5852         (TARGET_INLINE_DIV): Remove.
5853         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5854         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5855         (MASK_INLINE_INT_DIV_LAT): New macro.
5856         (MASK_INLINE_INT_DIV_THR): New macro.
5857         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5858         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5859         (TARGET_INLINE_INT_DIV_LAT): New macro.
5860         (TARGET_INLINE_INT_DIV_THR): New macro.
5861         (TARGET_INLINE_FLOAT_DIV): New macro.
5862         (TARGET_INLINE_INT_DIV): New macro.
5863         * config/ia64/ia64.md (divsi3): Change to use new macros.
5864         (modsi3): Ditto.
5865         (udivsi3): Ditto.
5866         (umodsi3): Ditto.
5867         (divsi3_internal): Ditto.
5868         (divdi3): Ditto.
5869         (moddi3): Ditto.
5870         (udivdi3): Ditto.
5871         (umoddi3): Ditto.
5872         (divdi3_internal_lat): Ditto.
5873         (divdi3_internal_thr): Ditto.
5874         (divsf3): Ditto.
5875         (divsf3_internal_lat): Ditto.
5876         (divsf3_internal_thr): Ditto.
5877         (divdf3): Ditto.
5878         (divdf3_internal_lat): Ditto.
5879         (divdf3_internal_thr): Ditto.
5880         (divtf3): Ditto.
5881         (divtf3_internal_lat): Ditto.
5882         (divtf3_internal_thr): Ditto.
5883         * config/ia64/ia64.c (ia64_override_options): Change
5884         to check new macros for conflicts in settings.
5885         * doc/invoke.texi (-minline-divide-min-latency): Remove.
5886         (-minline-divide-max-throughput): Remove.
5887         (-minline-float-divide-min-latency): New.
5888         (-minline-float-divide-max-throughput): New.
5889         (-minline-int-divide-min-latency): New.
5890         (-minline-int-divide-max-throughput): New.
5891
5892 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
5893
5894         PR target/7856
5895         * arm.c (use_return_insn): Don't use a return insn if there are
5896         saved integer regs, but LR is not one of them.
5897
5898 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5899
5900         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
5901         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5902
5903 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5904
5905         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
5906         (movps, movpd splitters): Use canonical form.
5907         (movv2di): Fix merge problem.
5908
5909 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
5910
5911         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5912
5913 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5914
5915         PR optimization/6162
5916         * doc/md.texi: Document restriction on commutative operand
5917         specification.
5918
5919 2002-10-31  Eric Christopher  <echristo@redhat.com>
5920
5921         * explow.c (convert_memory_address): Use shallow_copy_rtx.
5922
5923 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5924
5925         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5926
5927 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5928
5929         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5930
5931 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5932
5933         * config/rs6000/darwin.h:  Correct formatting in previous.
5934
5935 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5936
5937         * config/rs6000/darwin.h:  Enable -falign-xxx options.
5938
5939 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
5940
5941         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5942         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5943         * i386.c (optimization_options): Set flag_omit_frame_pointer,
5944         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5945         Do not clear -momit-leaf-frame-pointer when profiling.
5946         (ix86_frame_pointer_required): Frame pointer is always required when
5947         profiling.
5948
5949 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5950
5951         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5952
5953 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
5954
5955         * sh.h (binary_logical_operator): Declare.
5956         * sh.c (binary_logical_operator): New function.
5957         * sh.md (xordi3+1): New combiner splitter pattern.
5958
5959 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5960
5961         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5962         __enable_execute_stack function.
5963
5964 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
5965
5966         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5967         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5968         * unwind-sjlj.c (fc_key_dtor): Delete.
5969         (fc_key_init): Adjust __gthread_key_create call to match.
5970
5971 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
5972
5973         * c-common.c: Add GTY to vector_type_node_list.
5974
5975 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
5976
5977         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5978         * pa-protos.h (attr_length_millicode_call, attr_length_call,
5979         pa_init_machine_status): Declare new global functions.
5980         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
5981         implement new functions.
5982         (attr_length_millicode_call, attr_length_call): Implement.
5983         (total_code_bytes): Change type to long.
5984         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
5985         Reset counter if flag_function_sections.
5986         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
5987         (output_cbranch): Move call to gen_label_rtx.
5988         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
5989         delay slot in all variants, shorten pc-relative calls.
5990         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
5991         slot usage and exposure, various new call variants, and shortened
5992         sequences for some variants on TARGET_PA_20.
5993         Miscellaneous format changes.
5994         * pa.h (total_code_bytes): Change type to long.
5995         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
5996         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
5997         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
5998         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
5999         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
6000         stores on TARGET_ELF32.
6001         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
6002         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
6003         canonicalize_funcptr_for_compare expanders): Calculate attribute length
6004         attr_length_millicode_call().
6005         (call_internal_symref, call_value_internal_symref): Clobber register 1.
6006         Calculate attribute length using attr_length_call().
6007         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
6008         to delay slot.
6009         (sibcall, sibcall_value): Rewrite.
6010         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
6011         register 1.  Use attr_length_call().
6012         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
6013         New patterns.
6014         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
6015         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
6016         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
6017         * doc/invoke.texi (mlong-calls): Document.
6018
6019 2002-10-30  Roger Sayle  <roger@eyesopen.com>
6020
6021         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
6022         handling of cases where one or both branches of the conditional
6023         have void type, i.e. throw an exception or don't return.
6024         (fold): Only apply (and undo) type conversion to the non-void
6025         branches of a COND_EXPR.
6026
6027 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
6028
6029         PR c++/8333
6030         * varasm.c (asm_output_aligned_bss): Do not call
6031         ASM_GLOBALIZE_LABEL.
6032
6033 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
6034             Torbjorn Granlund  <tege@swox.com>
6035
6036         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
6037         for addressibility.
6038         (load_toc_v4_PIC_1b): Same.
6039
6040 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
6041
6042         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6043         Truncate the addresses for H8/300 using HImode.
6044
6045 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
6046
6047         * i386.md (negdf splitter): Fix construction of the constant.
6048
6049 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
6050
6051         * i386.md (negsf, negdf): Reorganize to use vector modes
6052         for SSE variants.
6053         (abssf, absdf): Use force_reg.
6054         (movv4sf, movv2df): New splitters.
6055         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
6056         * i386.c (zero_extended_scalar_load_operand
6057
6058         * i386-protos.h (ix86_expand_call): Update prototype.
6059         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
6060         (ix86_expand_call): Use r11 for indirect sibcalls.
6061         * i386.md (call, call_value, untyped_call, call_value_pop):
6062         update x86_expand_call call.
6063         (sibcall, sibcall_value): new patterns
6064         (call_rex64, call_value_rex64): Do not accept sibcalls.
6065         (sibcall_rex64, sibcall_value_rex64,
6066         sibcall_rex64_v, sibcall_value_rex64_v): New.
6067
6068 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6069
6070         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6071         before final pass.
6072
6073 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
6074
6075         * toplev.c (rest_of_type_compilation): Return early in case of
6076         errors.
6077         (check_global_declarations): Don't call debug_hooks->global_decl
6078         in case of errors.
6079
6080 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
6081
6082         * doc/c-tree.texi (Tree overview): Fix typos.
6083
6084 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
6085
6086         * Makefile.in (gnucompare*):  Only record bad comparisons
6087         if there really was a bad comparison.
6088
6089 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
6090
6091         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
6092         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
6093         * md.texi (machine dependent constraints): Document 'C'
6094
6095         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
6096
6097         * i386.c (ix86_expand_vector_move): Fix.
6098
6099         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
6100         * i386.md (sse2_maskmovdqu_rex64): New pattern
6101
6102         PR target/8322
6103         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
6104         (ix86_init_mmx_sse_builtins): Fix type.
6105
6106 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
6107
6108         * gthr-posix.h: Include <unistd.h> for feature tests.
6109         (sched_get_priority_max, sched_get_priority_min)
6110         (pthread_getschedparam, pthread_setschedparam): Only use
6111         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
6112         (__gthread_objc_thread_set_priority): Don't treat all nonzero
6113         returns from sched_get_priority_max and sched_get_priority_min
6114         as an error.
6115
6116 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6117
6118         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
6119         MASK_QUICKCALL.
6120
6121 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6122
6123         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
6124         (h8300_tiny_constant_address_p): Likewise.
6125         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
6126         h8300_eightbit_constant_address_p.
6127         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
6128         * config/h8300/h8300-protos.h: Add the prototypes for the two
6129         new functions.
6130
6131 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6132
6133         * reload1.c (update_eliminables): Unconditionally check if
6134         frame_pointer_needed has changed.
6135
6136 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6137
6138         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
6139         before final pass.
6140
6141 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
6142
6143         PR optimization/8334
6144         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
6145         check for zero operands explicitly.
6146
6147 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
6148
6149         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
6150         memory after adjusting to BLKmode.
6151
6152 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
6153
6154         * config/h8300/h8300.h (MASK_*): New.
6155         (TARGET_*): Use MASK_*.
6156
6157 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
6158
6159         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
6160         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
6161         config/rs6000/vxworks.h: New files.
6162         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
6163
6164         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
6165         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
6166         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
6167         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
6168         sparc-*-vxsim*): Delete stanzas.
6169         * gthr-vxworks.h: Rip out all substantive code and just
6170         include gthr-single.h.
6171
6172         * config/alpha/vxworks.h, config/arm/vxarm.h,
6173         config/i386/vxi386.h, config/i960/t-vxworks960,
6174         config/i960/vx960-coff.h, config/i960/vx960.h,
6175         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6176         config/mips/vxworks.h, config/rs6000/vxppc.h,
6177         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6178         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6179         config/sparc/vxsparc64.h: Delete files.
6180
6181 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6182
6183         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6184         tm_defines if pthreads are enabled.
6185         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6186         if NETBSD_ENABLE_PTHREADS is defined.
6187
6188 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6189
6190         * ChangeLog.1: Fix typos.
6191         * cse.c: Fix a comment typo.
6192         * reload1.c: Likewise.
6193
6194 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6195
6196         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6197         * fixinc/tests/base/_G_config.h: New file.
6198
6199 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6200
6201         * combine.c: Fix comment formatting.
6202         * loop.c: Likewise.
6203         * real.c: Likewise.
6204         * regclass.c: Likewise.
6205         * regmove.c: Likewise.
6206         * regrename.c: Likewise.
6207         * reg-stack.c: Likewise.
6208         * reload1.c: Likewise.
6209         * reload.c: Likewise.
6210         * reload.h: Likewise.
6211         * unroll.c: Likewise.
6212
6213 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6214
6215         * reload1.c (reload): Fix a comment typo.
6216
6217 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6218
6219         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6220
6221 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6222
6223         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6224         * dwarf2out.c: Include hashtab.h.
6225         (is_main_source): New static variable.
6226         (attr_checksum, die_checksum): Modified to handle die references.
6227         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6228         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6229         record_comdat_symbol_number): New static functions.
6230         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6231         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6232         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6233         declarations added.
6234
6235 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6236
6237         * config/h8300/h8300.c (initial_offset): Change to
6238         h8300_initial_elimination_offset.
6239         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6240         h8300_initial_elimination_offset.
6241         * config/h8300/h8300-protos.h: Update the prototype.
6242
6243 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6244
6245         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6246         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6247         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6248         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6249         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6250         and RTX_CODE.
6251         (mmix_function_value_regno_p): Declare.
6252
6253         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6254         invalid for floating point mode result, with fix.
6255
6256 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6257
6258         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6259         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6260         (stage1_build): Likewise.
6261
6262 2002-10-25  Mike Stump  <mrs@apple.com>
6263
6264         Fixes gcc.dg/warn-1.c.
6265         * c-typeck.c (warn_for_assignment): Don't print argument number,
6266         if zero.
6267
6268 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6269
6270         * toplev.c (dump_file_index): Add DFI_ce3.
6271         (dump_file_info): Likewise.
6272         (rest_of_compilation): Run first ifcvt pass before tracer.
6273
6274 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6275
6276         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6277
6278 2002-10-25  Richard Henderson  <rth@redhat.com>
6279
6280         * real.c (real_to_decimal): If the >1 tens reduction loop results
6281         in a negative exponent, fall into the <1 pten computation.
6282
6283 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6284
6285         PR middle-end/6994
6286         * c-objc-common.c (inline_forbidden_p): Can not inline
6287         functions containing structures or unions containing VLAs.
6288         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6289         TYPE_SIZE and TYPE_SIZE_UNIT.
6290         (copy_tree_r): Copy types if they are variably modified.
6291
6292 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6293
6294         * config/s390/s390.md: Remove old-style peepholes.
6295
6296 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6297
6298         * config/s390/s390.c (s390_decompose_address): Do not range check the
6299         displacement if base or index is the argument pointer register.
6300
6301 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6302
6303         PR other/3337
6304         PR bootstrap/6763
6305         PR bootstrap/8122
6306         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6307         * fixinc/fixincl.x: Regenerate.
6308         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6309         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6310         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6311         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6312         * config.in, configure: Regenerate.
6313
6314 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6315
6316         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6317
6318 2002-10-24  Richard Henderson  <rth@redhat.com>
6319
6320         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6321
6322 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6323
6324         * config/h8300/h8300.c (initial_offset): Simplify by using
6325         round_frame_size.
6326
6327 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6328
6329         * doc/install.texi (avr): Update required binutils version.
6330
6331 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6332
6333         * doc/install.texi: Point avr users at more up-to-date information.
6334
6335 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6336
6337         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6338         to pull operands out of the literal pool where possible.
6339
6340 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6341
6342         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6343
6344 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6345
6346         * expr.c (convert_move): If unsignedp is less then zero there
6347         is no equivalent code.
6348
6349 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6350
6351         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6352
6353 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6354
6355         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6356         according to the sequence they are defined in the manual.
6357         (POINTER_BOUNDARY): Remove.
6358
6359 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6360
6361         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6362         BITS_PER_UNIT.
6363
6364 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6365
6366         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6367         64-bit safe.
6368         (TINY_CONSTANT_ADDRESS_P): Likewise.
6369
6370 2002-10-24  Richard Henderson  <rth@redhat.com>
6371
6372         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6373         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6374         vcall offset.
6375
6376 2002-10-24  Richard Henderson  <rth@redhat.com>
6377
6378         PR opt/7944
6379         * reload.c (find_reloads_toplev): Mode of X is not important
6380         when simplifying subregs of constants.
6381
6382 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6383
6384         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6385         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6386         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6387         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6388         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6389
6390 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6391
6392         * optabs.c (expand_binop): Don't reuse the shift target in the
6393         middle of shift sequences.
6394
6395 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6396
6397         * i386.md (abs splitters): Do not produce nested subregs.
6398
6399 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6400
6401         * i386.md (movti_rex64): Fix constraints.
6402
6403 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6404
6405         * i386.md (abssf,absdf): Use vector operands for SSE
6406         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6407         vector operand.
6408
6409 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6410
6411         * objc/objc-act.c (get_static_reference): Remove unneeded
6412         TYPE_BINFO initialization.
6413         (get_object-reference): Likewise.
6414         (build_constructor): Tighten precondition check.
6415         (finish_message_expr): Likewise.
6416
6417 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6418
6419         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6420         after CONST test.
6421
6422 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6423
6424         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6425         in HFAs.
6426
6427 2002-10-23  Richard Henderson  <rth@redhat.com>
6428
6429         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6430         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6431
6432 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6433
6434         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6435         var_mod_type_p.
6436         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6437         hook_tree_bool_false.
6438
6439         * tree.c (variably_modified_type_p): Moved here from
6440         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6441         language-specific cases.  Due to this, must weaken some 'if
6442         and only if' checks to merely 'if'.
6443         * tree.h: Prototype variably_modified_type_p.
6444
6445         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6446
6447 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6448
6449         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6450         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6451
6452         * config/s390/s390-protos.h (fp_operand): Remove.
6453         * config/s390/s390.c (fp_operand): Remove.
6454         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6455         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6456         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6457         (movdi_31, movdf_31 splitters): Likewise.
6458
6459         * config/s390/s390.h (IEEE_FLOAT): Remove.
6460         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6461         (INT_REGNO_P): Rename to ...
6462         (GENERAL_REGNO_P): ... this.
6463         (FLOAT_REGNO_P): Rename to ...
6464         (FP_REGNO_P): ... this.
6465         (ADDR_REGNO_P): New macro.
6466         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6467         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6468         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6469         (HARD_REGNO_NREGS): Adapt to macro renaming.
6470         (HARD_REGNO_MODE_OK): Likewise.
6471
6472 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6473             Geoff Keating  <geoffk@apple.com>
6474
6475         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6476         (rs6000_memory_move_cost): New function.
6477         * config/rs6000/rs6000-protos.h: Declare them.
6478         * config/rs6000/rs6000.h: Use them.
6479
6480 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6481
6482         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6483         inlining it into other libgcc2 routines.
6484         (__udivmoddi4): Likewise.
6485
6486 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6487
6488         * doc/sourcebuild.texi (Test Suites): Improve.
6489
6490 2002-10-22  Stan Shebs  <shebs@apple.com>
6491
6492         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6493         case for Darwin.
6494
6495 2002-10-22  Jim Wilson  <wilson@redhat.com>
6496
6497         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6498
6499 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6500
6501         PR other/8289
6502         * xmmintrin.h: Add const to the argument of loads.
6503
6504         * i386.md (pushv2di): New pattern.
6505         PR target/6890
6506         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6507
6508 2002-10-22  Richard Henderson  <rth@redhat.com>
6509
6510         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6511         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6512         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6513         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6514         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6515         (TARGET_ASM_OUT): Update.
6516         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6517         (hook_bool_tree_hwi_hwi_tree_true): New.
6518         (default_can_output_mi_thunk_no_vcall): New.
6519         * hooks.h: Declare them.
6520         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6521
6522         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6523         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6524         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6525         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6526         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6527         config/stormy16/stormy16.c: Similarly.
6528
6529         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6530         Handle 64-bit properly.  Streamline.
6531         (x86_output_mi_vcall_thunk): Remove.
6532         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6533         (x86_can_output_mi_thunk): New.
6534         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6535         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6536         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6537
6538         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6539         output_mi_thunk; make static; always use function_section.
6540         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6541         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6542         (rs6000_ra_ever_killed): Test no_new_pseudos not
6543         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6544         * config/rs6000/rs6000-protos.h: Update.
6545         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6546         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6547         xcoffout_declare_function when using rs6000_output_mi_thunk.
6548
6549         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6550         s390_output_mi_vcall_thunk.
6551         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6552         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6553
6554         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6555         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6556         * config/vax/vax-protos.h: Update.
6557         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6558
6559 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6560
6561         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6562         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6563         * i386.md (movti_internal): Use 'C'
6564
6565         * xmmintrin.h (_mm_cmplt_epi*): New.
6566
6567 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6568
6569         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6570         ("*movdf_64"): Likewise.
6571         ("*lshrdi3_64"): Likewise.
6572         ("blockage"): Add length attribute.
6573         ("lit"): Likewise.
6574
6575 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6576
6577         * i386.md: FIx typo.
6578         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6579         (sse2_umulv2siv2di3): Fix predicate.
6580         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6581         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6582         * xmmintrin.h (_mm_mul_epu16): Rename to...
6583         (_mm_mul_epu32): This one.
6584         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6585
6586         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6587
6588 2002-10-22  Eric Christopher  <echristo@redhat.com>
6589
6590         * config/sparc/sparc.h: Add #error.
6591
6592 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6593
6594         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6595         [s390x-*-linux*]: Likewise.
6596         * config/s390/t-linux: Remove.
6597         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6598
6599 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6600
6601         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6602         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6603         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6604         * i386.md (mmx_punpck?dq): Simplify.
6605         (sse2_pubpcklqdq): Fix.
6606         (sse2_pubpckhqdq): New.
6607         * xmmintrin.h (_mm_unpackhi_epi32): New.
6608
6609         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6610         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6611
6612 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6613
6614         PR c++/7209
6615         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6616         build compound_expr if we used save_expr.
6617
6618 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6619
6620         * output.h (SECTION_NOTYPE): Define.
6621         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6622         init array sections.
6623         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6624         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6625         merge TLS support.
6626
6627 2002-10-21  Richard Henderson  <rth@redhat.com>
6628
6629         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6630         the function type, not the return type.
6631
6632 2002-10-21  Richard Henderson  <rth@redhat.com>
6633
6634         * real.c (sticky_rshift_significand): Return inexact, don't
6635         or it in immediately.
6636         (sub_significands): Accept incomming carry.
6637         (div_significands, rtd_divmod): Update for sub_significands change.
6638         (round_for_format): Update for sticky_rshift_significand change.
6639         (do_add): Don't involve the inexact bit in addition, do give the
6640         inexact bit as the subtraction carry-in.
6641         (encode_internal, decode_internal, real_internal_format): New.
6642         * real.h (real_internal_format): Declare.
6643
6644 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6645
6646         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6647         don't define sdiv_qrnnd.
6648
6649 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6650
6651         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6652         using IN_RANGE.
6653         (TINY_CONSTANT_ADDRESS_P): Likewise.
6654
6655 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6656
6657         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6658         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6659         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6660         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6661         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6662         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6663         __builtin_ia32_setzero128.
6664         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6665         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6666         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6667         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6668         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6669         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6670         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6671         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6672         sse2_movq): New patterns.
6673         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6674         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6675         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6676         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6677         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6678         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6679         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6680         (_mm_insert_epi16): Fix.
6681
6682 2002-10-21  Dale Johannesen  <dalej@apple.com>
6683
6684         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6685             unsafe math reversals correctly for RTL generation.
6686           (output_cbranch):  Replace rs6000_reverse_condition call
6687             by its former definition.
6688
6689 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6690
6691         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6692         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6693         from constant pool or LABEL_REFs as sign extended if allow_rip.
6694         Change all +-1GB limits to +-16MB.
6695         (x86_64_general_operand, x86_64_szext_general_operand,
6696         x86_64_nonmemory_operand, x86_64_movabs_operand,
6697         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6698         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6699         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6700         in CM_SMALL_PIC model.
6701         (legitimate_pic_address_disp_p): Don't check offsets before
6702         calling local_symbolic_operand.
6703         (legitimize_pic_address): Force offsets bigger than +-16MB into
6704         register.
6705         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6706         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6707         prototype.
6708
6709         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6710         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6711         * configure: Rebuilt.
6712         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6713         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6714         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6715         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6716         -fpic.
6717         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6718         non-pic code if TARGET_64BIT.
6719         (legitimize_address): Generate 64-bit TLS sequences.
6720         (output_pic_addr_const): Support x86-64 TLS operators.
6721         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6722         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6723         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6724         (output_addr_const_extra): Support x86-64 TLS operators.
6725         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6726         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6727         unconditionally.
6728         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6729         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6730         (*tls_global_dynamic_sun): Renamed to...
6731         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6732         (tls_global_dynamic): Renamed to...
6733         (tls_global_dynamic_32): ... this.
6734         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6735         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6736         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6737         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6738         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6739         (tls_local_dynamic_base_dynamic): Renamed to...
6740         (tls_local_dynamic_base_dynamic_32): ... this.
6741         (tls_local_dynamic_base_dynamic_64,
6742         *tls_local_dynamic_base_dynamic_64): New.
6743         (*tls_local_dynamic_once): Renamed to...
6744         (*tls_local_dynamic_32_once): ... this.
6745
6746 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6747
6748         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6749         __divdi3, __umoddi3, or __moddi3.
6750
6751 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6752
6753         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6754         instead of just opt_index as switch expression.
6755
6756         * calls.c (store_one_arg): Change type of 'excess_align'
6757         to unsigned int.
6758
6759         * profile.c (output_gcov_string): Change type of 'temp'
6760         to size_t.
6761
6762 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6763
6764         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6765         (__fixunssfdi, __fixsfdi): Likewise.
6766         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6767         (s390_single_qi): Likewise.
6768         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6769         unsigned comparison warning.
6770         (s390_return_addr_rtx): New function.
6771         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6772         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6773         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6774
6775 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6776
6777         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6778         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6779         (s390_output_mi_thunk): Remove.
6780         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6781
6782 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6783
6784         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6785
6786 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6787
6788         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6789         inverted test in the conditional determining the possibility
6790         of sibcalls in PIC mode.
6791
6792 2002-10-20  Richard Henderson  <rth@redhat.com>
6793
6794         * target.h (struct gcc_target): Line wrap.
6795
6796         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6797         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6798         * config/alpha/alpha.h: ... not here.
6799         * config/alpha/alpha-protos.h: Update.
6800
6801         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6802         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6803         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6804         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6805         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6806         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6807         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6808         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6809         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6810         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6811         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6812         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6813         config/sparc/sparc.c, config/sparc/sparc.h,
6814         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6815         config/stormy16/stormy16.h: Similarly.
6816
6817         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6818         selection logic from call patterns.
6819
6820 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6821
6822         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6823
6824 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6825
6826         PR other/8202
6827         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6828         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6829         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6830         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6831
6832 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6833
6834         PR c/761
6835         * toplev.c (flag_unsafe_profile_arcs): Remove.
6836         (flag_bounded_pointers): Remove.
6837         (flag_bounds_check): Correct comments.
6838         (lang_independent_options): Remove -funsafe-profile-arcs and
6839         -fbounded-pointers.  Correct -fbounds-check comments.
6840
6841         * flags.h: Correct flag_schedule_interblock comments.
6842         (flag_bounded_pointers): Remove prototype.
6843         (flag_bounds_check): Correct comments.
6844
6845         * c-opts.c (c_common_init_options): No need to mark
6846         flag_bounds_check as unspecified.
6847         (c_common_post_options): And no need to set it from
6848         flag_bounded_pointers if its still unspecified.
6849
6850         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6851         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6852         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6853         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6854
6855 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6856         Angela Marie Thomas  <angela@releasedominatrix.com>
6857         Brendan Kehoe  <brendan@zen.org>
6858         Nick Clifton  <nickc@redhat.com>
6859         Andrew Haley  <aph@redhat.com>
6860
6861         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6862         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6863         and CROSS_SYSTEM_HEADER_DIR.
6864         * configure: Rebuilt.
6865         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6866         (TARGET_SYSTEM_ROOT): New.
6867         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6868         CROSS_SYSTEM_HEADER_DIR.
6869         (install-gcc-tooldir): New target.
6870         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6871         if SYSTEM_HEADER_DIR does not exist and it's not the default
6872         sys-include directory.
6873         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6874         (install-mkheaders): Likewise.
6875         * gcc.c (target_system_root): New variable.
6876         (add_sysrooted_prefix): New function.
6877         (process_command): Recompute run-time target_system_root from
6878         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6879         does not exist.
6880         (do_spec_1): Process 'R' spec.
6881         (main): Add md_exec_prefix to exec_prefixes regardless of
6882         startfile_prefix_spec.  Use add_sysrooted_prefix for
6883         startfile_prefixes, and don't skip the default ones when cross
6884         compiling with sysroot enabled.  Removed unused case of
6885         non-absolute standard_startfile_prefix.
6886         * config/interix.h: Remove the only potential, yet disabled,
6887         occurrence of non-absolute (empty) standard_startfile_prefix.
6888         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6889         linking.
6890         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6891         * doc/install.texi (--with-sysroot): Document.
6892         (--with-headers, --with-libs): Deprecate.
6893
6894 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6895             Mark Mitchell  <mark@codesourcery.com>
6896
6897         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6898         match target.h.
6899         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6900         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6901         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6902         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6903         x86_output_mi_thunk): Likewise.
6904         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6905         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6906         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6907         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6908         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6909         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6910         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6911         Likewise.
6912         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6913
6914         * target.h (gcc_target): Update output_mi_thunk and
6915         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6916         vcall_index.
6917
6918         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6919         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6920         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6921         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6922         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6923         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6924         signature.
6925         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6926         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6927         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6928         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6929         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6930         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6931         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6932         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6933         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6934
6935         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6936         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6937
6938 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
6939
6940         * real.c (do_add): Fix 0+0 sign corner case.
6941         (do_divide): Fix Inf/0 corner case.
6942
6943 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
6944
6945         * i386.c (classify_argument): Pass MMX arguments in memory
6946         (ix86_expand_builtin): Expand proper address mode for cflush.
6947         * i386.md (movdqa): Fix typo.
6948         (sse2_cflush): Accept DImode addresses.
6949
6950         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6951         (_mm_max_sd): Fix pasto.
6952         (_mm_storeh_pd, _mm_storel_pd): Fix.
6953
6954         * i386.c (bdesc_comi): Fix to match specification.
6955         (ix86_expand_sse_comi): Emit the comparison properly.
6956         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6957         Do not use comparison operator.
6958         (vnmaskcmp): Fix template.
6959
6960         * xmmintrin.h (_mm_cvtps_pi16): Fix.
6961
6962 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
6963
6964         * dependence.c : Removed.
6965         * Makefile.in : Remove dependence.o.
6966
6967 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
6968
6969         * mmintrin.h (__m64): typedef it to v2si.
6970         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6971         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6972         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6973         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6974         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
6975         * xmmintrin.h (_mm_setzero_si64): Likewise.
6976
6977         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
6978         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
6979
6980         PR target/7693
6981         Patch by Shawn Wagner
6982         * mmintrin.h: Replace pi64 by si64.
6983
6984 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
6985
6986         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
6987         Use length of 4 not *.
6988         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
6989         (movdf_softfloat64): Likewise.
6990         (movdi_internal32): Use length of 4 not *.
6991         (movti_power): Same.
6992         (ctrsi, ctrdi): Same.
6993
6994 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
6995
6996         * c-decl.c (start_decl): Point users of the old initialized-
6997         typedef extension at __typeof__.
6998
6999 2002-10-18  Richard Henderson  <rth@redhat.com>
7000
7001         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
7002         (real_to_decimal): Re-implement using the logic from the
7003         gcc 3.2 etoasc.  Comment heavily.
7004         (div_significands): Simplify loop startup and comparison logic.
7005
7006 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
7007
7008         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
7009         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
7010         (TARGET_ASM_OUT): Add them.
7011         * target.h (asm_out): Add output_mi_thunk and
7012         output_mi_vcall_thunk.
7013         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7014         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7015         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
7016         * config/arm/arm.c (arm_output_mi_thunk): Define.
7017         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7018         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7019         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7020         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7021         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7022         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7023         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
7024         prototype.
7025         (x86_output_mi_vcall_thunk): Declare.
7026         * config/i386/i386.c (override_options): Clear
7027         output_mi_vcall_thunk in 64-bit mode.
7028         (ix86_fntype_regparm): New function.
7029         (ix86_return_pops_args): Use it.
7030         (ia32_this_parameter): New function.
7031         (x86_output_mi_vcall_thunk): New function.
7032         (x86_output_mi_thunk): Use it
7033         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
7034         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
7035         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
7036         * config/i960/i960.c (i960_output_mi_thunk): New function.
7037         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
7038         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
7039         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
7040         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7041         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7042         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
7043         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7044         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7045         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7046         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7047         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7048         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7049         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7050         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7051         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7052         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7053         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
7054         * config/s390/s390.c (s390_output_mi_thunk): Define.
7055         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7056         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7057         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7058         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7059         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7060         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7061         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
7062         * config/vax/vax.c (vax_output_mi_thunk): Define.
7063         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
7064         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
7065         * doc/tm.texi: Adjust documentation.
7066
7067 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7068
7069         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
7070         __enable_execute_stack function.
7071         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7072         as NETBSD_ENABLE_EXECUTE_STACK.
7073         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7074         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7075         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7076         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7077         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
7078
7079 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
7080
7081         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
7082         to __enable_execute_stack with the address of the trampoline
7083         if TRANSFER_FROM_TRAMPOLINE is defined.
7084         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
7085         constant if building libgcc2.
7086
7087 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
7088
7089         * i386.c (pentium4_cost): Fix according to Intel recommendations.
7090         (ix86_memory_move_cost): Fix for 64bit compilation.
7091
7092 2002-10-17  Roger Sayle  <roger@eyesopen.com>
7093
7094         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
7095
7096 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
7097
7098         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
7099         in CTR/LR/MQ.
7100         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
7101         to/from CTR/LR/MQ.
7102         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
7103         (movsf_softfloat): Likewise.
7104
7105 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
7106
7107         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
7108
7109 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
7110
7111         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
7112         tramp, not addr, to pass the trampoline address to
7113         __enable_execute_stack.
7114
7115 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
7116
7117         * mmintrin.h: Guard by __MMX__
7118         * xmmintrin.h: Guard by __SSE__
7119
7120         PR other/8062
7121         * xmmintrin.h (_MM_SHUFFLE2): New macro.
7122         (_mm_load*_?d): New functions.
7123         (_mm_set*_?d): New functions.
7124         (_mm_store*_?d): New functions.
7125
7126 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
7127
7128         Really commit patch announced at Oct 14
7129         PR c/7344
7130         * predict.c (can_predict_insn_p): New function.
7131         (estimate_probability): Avoid unnecesary work.
7132         (process_note_prediction): Likewise.
7133         * toplev.c (rest_of_compilation): Account early branch prediction pass
7134         as TV_BRANCH_PROB.
7135
7136         PR other/8048
7137         Found by Ian Ollmann
7138         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
7139         (_mm_load?_pd): Likewise.
7140         (_mm_store?_pd): Likewise.
7141
7142         PR target/7386
7143         * i386.c (builtin_description):Drop cmpg[te]s[sd].
7144         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
7145         swapped alternative.
7146
7147         PR opt/7630
7148         * reload1.c (reload_inner_reg_of_subreg): New argument output;
7149         (push_reload): Update call.
7150
7151 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
7152
7153         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
7154         if using mips/elf.h or mips/elf64.h.
7155         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
7156         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
7157
7158 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
7159
7160         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
7161         SI.
7162
7163 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
7164
7165         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
7166         (LPREFIX): Likewise.
7167         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
7168         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7169         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7170         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7171         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7172
7173         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7174         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7175         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7176         BSS_SECTION_ASM_OP): Move from linux.h.
7177         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7178         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7179
7180         * config/s390/s390.c (s390_function_profiler): Use
7181         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7182
7183 2002-10-15  Eric Christopher  <echristo@redhat.com>
7184
7185         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7186         * java/parse.y (obtain_incomplete_type): Make pointer
7187         ptr_mode.
7188
7189 2002-10-15  Richard Henderson  <rth@redhat.com>
7190
7191         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7192         as arguments.  Bound DIGITS by the available buffer size.
7193         (real_to_hexadecimal): Likewise.
7194         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7195         (REAL_VALUE_TO_DECIMAL): Remove.
7196         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7197         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7198         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7199         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7200         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7201         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7202         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7203         use real_to_decimal directly, and with the proper arguments.
7204         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7205
7206 2002-10-15  Jim Wilson  <wilson@redhat.com>
7207
7208         * reload1.c (merge_assigned_reloads): After converting overlapping
7209         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7210
7211         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7212
7213 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7214
7215         * expr.c (do_tablejump): Fix typo in my previous commit.
7216
7217 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7218
7219         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7220
7221 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7222
7223         * config/s390/s390.c (s390_split_branches): Add return
7224         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7225
7226         (find_base_register_in_addr): New function.
7227         (find_base_register_ref): New function.
7228         (replace_base_register_ref): New function.
7229
7230         (struct constant_pool): Add members pool_insn, insns, and anchor.
7231         Remove member last_insn.
7232         (s390_start_pool): Initialize them.
7233         (s390_end_pool): Emit pool placeholder insn.
7234         (s390_add_pool_insn): New function.
7235         (s390_find_pool): Use insns bitmap instead of addresses.
7236         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7237         Replace unspec 104 by local-pool-relative references.
7238         (s390_output_constant_pool): Output anchor label if required.
7239         (s390_output_symbolic_const): Handle unspec 104 and 105.
7240         (s390_add_pool): Remove, replace by ...
7241         (s390_add_constant, s390_find_constant): ... these new functions.
7242         (s390_add_anchor): New function.
7243
7244         (s390_chunkify_pool): Delete, replace by ...
7245         (s390_chunkify_start, s390_chunkify_finish,
7246         s390_chunkify_cancel): ... these new functions.
7247         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7248         Recompute register live data for special registers.
7249         (s390_fixup_clobbered_return_reg): New function.
7250         (s390_machine_dependent_reorg): Rewrite to use new
7251         s390_chunkify_... routines.
7252
7253         config/s390/s390.md ("reload_base"): Rename to ...
7254         ("reload_base_31"): ... this.
7255         ("reload_base_64"): New insn.
7256         ("reload_base2"): Remove.
7257         ("reload_anchor"): New insn.
7258         ("pool"): New insn.
7259
7260         s390.c (s390_pool_overflow): Remove.
7261         s390.h (s390_pool_overflow): Likewise.
7262         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7263
7264 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7265
7266         * sh.md (movv8qi_i+2): Don't split if source is -1.
7267
7268 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7269
7270         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7271
7272 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7273
7274         PR opt/7409
7275         * loop.c (loop_regs_scan): Mark registers used for function
7276         argument passing as MAY_NOT_OPTIMIZE.
7277
7278 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7279
7280         * gcov-io.h (gcov_info): Fix type.
7281         * profile.c (create_profiler): Fix type mismatch.
7282
7283 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7284
7285         * i386.md (movv2di_internal): New pattern.
7286         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7287         (movv2di): New expander.
7288         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7289
7290         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7291         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7292         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7293         (ix86_expand_builtin): Likewise.
7294         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7295         sse_andti3,
7296         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7297         sse_andnti3,
7298         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7299         sse_orti3,
7300         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7301         sse_xorti3): Kill.
7302         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7303          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7304         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7305          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7306         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7307          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7308
7309         * xmmintrin.h (__m128i): Define as __v2di.
7310
7311         PR c++/6419
7312         (expand_expr): Use DECL_RTL_SET_P.
7313
7314 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7315
7316         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7317
7318 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7319             Zack Weinberg <zack@codesourcery.com>
7320
7321         * config/i386/i386.c (k6_cost): Correct typo.
7322
7323 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7324
7325         PR optimization/6631
7326         * alias.c (objects_must_conflict_p): Check honor_readonly when
7327         examining TYPE_READONLY.
7328         * function.c (assign_stack_temp_for_type): Likewise.
7329
7330 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7331
7332         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7333         Swap zero extension arguments.
7334         (umaxhi3): Fix instruction class.
7335         PR target/7211
7336         (prefetch): Fix prefetch instructions.
7337         PR target/7238
7338         (pkwb): Fix output constraint.
7339
7340 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7341
7342         * config/mips/mips.c (print_operand): Increase buffer size for
7343         real numbers.
7344
7345 2002-10-14  Richard Henderson  <rth@redhat.com>
7346
7347         PR opt/8165
7348         * gcse.c (adjust_libcall_notes): Revert last change.
7349         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7350
7351 2002-10-14  Andrew Haley  <aph@redhat.com>
7352
7353         * tree-inline.c (remap_block): All local class initialization
7354         flags go in the outermost scope.
7355         (expand_call_inline): Call java_inlining_map_static_initializers.
7356         (expand_call_inline): Call java_inlining_merge_static_initializers.
7357         * java/lang.c (merge_init_test_initialization): New.
7358         (java_inlining_merge_static_initializers): New.
7359         (inline_init_test_initialization): New.
7360         (java_inlining_map_static_initializers): New.
7361
7362         * tree-inline.c (expand_call_inline): Convert retvar to expected
7363         type.
7364
7365 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7366
7367         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7368
7369 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7370
7371         * stmt.c: Fix typo in comment.
7372
7373 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7374
7375         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7376         * tree.c (build_common_tree_nodes_2): Initialize
7377         unsigned_V2HI_type_node and V2HI_type_node.
7378         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7379         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7380
7381 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7382
7383         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7384         Handle TARGET_64BIT.
7385
7386 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7387
7388         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7389         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7390         (MULTILIB_DIRNAMES): Remove long32.
7391         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7392         (MULTILIB_REDUNDANT_DIRS): Remove.
7393
7394 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7395
7396         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7397         * gcc.c (driver_self_specs): New variable.
7398         (do_self_spec): New function.
7399         (main): Use it to process driver_self_specs.
7400
7401 2002-10-13  Richard Henderson  <rth@redhat.com>
7402
7403         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7404         indirect sibcalls when regparm >= 3.
7405
7406         * config/i386/i386.c (sibcall_insn_operand): New.
7407         * config/i386/i386.h (PREDICATE_CODES): Update.
7408         * config/i386/i386-protos.h: Update.
7409         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7410
7411         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7412
7413 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7414
7415         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7416         arithmetic right shifts of ~0 during RTL simplifications.
7417
7418 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7419
7420         PR preprocessor/7862
7421         PR preprocessor/8190
7422         * gcc.c (cpp_unique_options): Don't delete .d files.
7423         Remove stray whitespace.
7424
7425 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7426
7427         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7428         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7429         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7430         (pdp11_output_function_epilogue, output_ascii): Likewise.
7431         (output_addr_const_pdp11): Likewise.
7432         * pdp11.md (movdi): Use offsetable memory for floating store.
7433         (lshrsi3, negsi2): Delete irrelevant comment.
7434
7435 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7436
7437         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7438         indirect calls to be sibcall optimized.
7439         * config/i386/i386.md (sibcall_1): New.
7440         (call_1): Add no-sibcalls condition.
7441         (sibcall_value_1): New.
7442         (call_value_1): Add no-sibcalls condition.
7443
7444 2002-10-11  Eric Christopher  <echristo@redhat.com>
7445
7446        * output.h (default_valid_pointer_mode): Declare.
7447        * varasm.c (default_valid_pointer_mode): Define.
7448        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7449        * target.h: Ditto.
7450        * tree.c (build_pointer_type_for_mode): New function.
7451        (build_pointer_type): Use.
7452        (build_reference_type_for_mode): New function.
7453        (build_reference_type): Use.
7454        * tree.h: Declare new functions.
7455        * c-common.c (handle_mode_attribute): Use new functions, check
7456        for type.
7457        * stor-layout.c (layout_type): Depend on machine mode for
7458        REFERENCE_TYPE and POINTER_TYPE.
7459        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7460        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7461        and REFERENCE_TYPE.
7462        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7463        (TARGET_VALID_POINTER_MODE): Use and define.
7464        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7465
7466 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7467
7468         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7469         not the address of the REG.
7470         (struct cse_reg_info): Make subreg_ticked unsigned.
7471
7472 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7473
7474         * doc/compat.texi: Add info about C++ libraries.
7475
7476 2002-10-11  Richard Henderson  <rth@redhat.com>
7477
7478         PR opt/8165
7479         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7480
7481 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7482
7483         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7484         * genautomata.c (output_insn_code_cases): Likewise.
7485         * real.c (real_format): Likewise.
7486         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7487         ensure value is promoted before doing subtraction.
7488
7489 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7490
7491         * calls.c (expand_call): Simplify noreturn call.
7492
7493         PR c/7344
7494         * cfgbuild.c (make_edges): Create edge cache when we do have
7495         large jumptable.
7496         * expr.c (do_tablejump): Note size of maximal jumptable.
7497         * function.c (prepare_function_start): Zero out size.
7498         * function.h (function): Add max_jumptable_ents.
7499
7500         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7501
7502 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7503
7504         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7505         register for mperm_w operation.
7506
7507 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7508
7509         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7510         an integer, use simplify_gen_subreg.
7511
7512 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7513
7514         * calls.c (flags_from_decl_or_type): Make extern.
7515         (ECF_*): Move ...
7516         * rtl.h (ECF_*): ... here.
7517         (flags_from_decl_or_type): Declare.
7518
7519 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7520             Nathan Sidwell <nathan@codesourcery.com>
7521
7522         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7523         shifts of the form -1 >> x.
7524
7525 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7526
7527         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7528
7529 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7530
7531         * extend.texi (Vector Extensions): Remove comment about single
7532         element vectors.
7533
7534 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7535
7536         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7537         * function.c (insns_for_mem_hash): Likewise.
7538         * varasm.c (STRHASH): Likewise.
7539
7540 2002-10-10  Stuart Hastings  <stuart@apple.com>
7541
7542         * cse.c (struct cse_reg_info): Add subreg_ticked.
7543         (SUBREG_TICKED): New.
7544         (get_cse_reg_info): Initialize SUBREG_TICKED.
7545         (mention_regs): Use it.
7546         (invalidate): Set SUBREG_TICKED.
7547         (invalidate_for_call): Likewise.
7548         (addr_affects_sp_p): Likewise.
7549
7550 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7551
7552         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7553         into proper operand.
7554
7555 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7556
7557         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7558         deallocation.
7559         * config/ip2k/libgcc.S: Combine routines used by function
7560         epilogue.
7561
7562 2002-10-10  Jim Wilson  <wilson@redhat.com>
7563
7564         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7565         UDIV.
7566
7567 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7568
7569         * config/rs6000/aix52.h: New file.
7570         * config/rs6000/t-aix52: New File.
7571         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7572         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7573
7574 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7575
7576         PR target/5610
7577         * invoke.texi (-msse-math): Kill
7578         (-msse): Add note to mfpmath=sse.
7579
7580 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7581
7582         PR target/7723
7583         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7584
7585 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7586
7587         PR preprocessor/8179
7588         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7589         as cc1_options.
7590         (default_compilers): Pass debug options when preprocessing
7591         stdin.
7592
7593 2002-10-06  Richard Henderson  <rth@redhat.com>
7594
7595         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7596
7597 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7598
7599         * i386.c (*_cost): Add branch costs.
7600         (override_options): set ix86_branch_cost.
7601         (ix86_expand_int_movcc): Use BRANCH_COST.
7602         * i386.h (costs): Add branch_cost.
7603
7604 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7605
7606         PR c/7353
7607         * c-decl.c (start_decl): Unconditionally issue error for
7608         'typedef foo = bar'.
7609         (finish_decl): Remove special case for TYPE_DECL with initializer.
7610
7611         * doc/extend.texi: Delete "Naming Types" section.  Change all
7612         cross-references to that section to refer to "Typeof" instead.
7613         Add the useful safe-max()-macro example from "Naming Types" to
7614         "Typeof", rewritten using that extension.  Add some compatibility
7615         notes to "Typeof."
7616
7617 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7618
7619         * loop.c: Revert 2002-08-15 change.
7620         (LOOP_REGNO_NREGS): Ensure type is int.
7621
7622 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7623
7624         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7625         which copies first FPR and clears second.
7626         (extendsftf2): Same.
7627         (floatditf2): Fix typo.
7628         (floatsitf2): Same.
7629         (fix_trunctfdi2): Same.
7630         (fix_trunctfsi2): Same.
7631
7632 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7633
7634         * conflict.c (arc_hash): Change return type to hashval_t.
7635         * cselib.c (get_value_hash): Likewise.
7636         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7637         state_hash, automata_list_hash): Likewise.
7638         * read-rtl.c (def_hash): Likewise.
7639         * tree.c (type_hash_hash): Likewise.
7640
7641 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7642
7643         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7644         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7645
7646 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7647
7648         * sh.md (ffssi2): Fix emitted code.
7649
7650 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7651
7652         * cse.c (insn_live_p): Pass insn pattern, not full insn
7653         to may_trap_p.
7654
7655 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7656
7657         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7658
7659 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7660
7661         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7662         64-bit hosts.
7663         (movtf_internal): Reference correct displacement for second value
7664         in memory.
7665         (movtf splitter): Correct generation of constants in 64-bit mode.
7666
7667 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7668
7669         * libgcc2.c (__floatdisf): Properly cure double rounding.
7670
7671 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7672
7673         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7674         * doc/cpp.texi (Common Predefined Macros): Document.
7675
7676 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7677
7678         PR doc/7484
7679         * doc/invoke.texi (Option Summary): List
7680         -Wmissing-declarations as a C only option.
7681
7682 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7683
7684         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7685         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7686         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7687
7688 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7689
7690         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7691         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7692         variables.
7693         (safe_vector_operand): Update sse_clrv4sf call.
7694         (ix86_expand_buildin): Likewise
7695         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7696         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7697         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7698         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7699         macros.
7700         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7701         movv4si):  Obey the new flags.
7702         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7703         reformating penalty.
7704         (anddf, cmov patterns): Avoid reformating by first converting.
7705         (sse_cvtsd2ss): Fix predicate.
7706         (sse2_clrti): Fix mode,
7707         (sse_clrv4sf): Avoid unspec.
7708
7709 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7710
7711         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7712         mno-app-regs|mcmodel=medany.
7713         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7714         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7715         (CRTSTUFF_T_CFLAGS): Define.
7716
7717 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7718
7719         PR target/8087
7720         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7721         pool references that are constructed using LO_SUM.
7722
7723 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7724
7725         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7726         -Wall.
7727         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7728         message.
7729         * flags.h (warn_strict_aliasing): Declare.
7730         * toplev.c (warn_strict_aliasing): Define.
7731         (lang_independent_options): Add it.
7732         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7733
7734 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7735
7736         * system.h (GCCBUGURL): Delete.
7737         * version.c (bug_report_url): New.  Add commentary about
7738         modifying both these strings in modified distributions.
7739         * version.h: Declare bug_report_url.
7740
7741         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7742         bug_report_url.
7743
7744 2002-10-08  Nick Clifton  <nickc@redhat.com>
7745
7746         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7747         convert uint64_t into __ev64_opaque__.
7748         (__ev_set_acc_s64): Likewise, but using signed types.
7749
7750 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7751
7752         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7753         ("*doloop_di_long"): Likewise.
7754
7755 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7756
7757         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7758
7759 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7760
7761         * config/mips/mips.md (define_attr cpu): Add r4111.
7762
7763 2002-10-08  Anthony Green  <green@redhat.com>
7764
7765         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7766
7767 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7768
7769         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7770         for REAL_VALUE_TO_DECIMAL output.
7771
7772 2002-10-07  Richard Henderson  <rth@redhat.com>
7773
7774         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7775         function; cleanup PLUS case by using recursion.  Update all users.
7776         (NONZERO_BASE_PLUS_P): Remove.
7777         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7778         (fold_rtx): Use nonzero_address_p.
7779         * rtl.h (nonzero_address_p): Declare.
7780         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7781         (rtx_addr_can_trap_p): Likewise.
7782         (nonzero_address_p): New.
7783         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7784         (simplify_relational_operation): Use nonzero_address_p.
7785
7786 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7787
7788         * config/rs6000/rs6000.c (rs6000_override_options): Set
7789         real_format_for_mode for IBM extended format, if enabled.
7790         (easy_fp_constant): Add TFmode.
7791         (rs6000_legitimize_address): Add TFmode.
7792         (rs6000_legitimate_address): Same.
7793         (function_arg_advance): TFmode uses two FPRs.
7794         (rs6000_emit_prologue): Fix warning.
7795         (rs6000_output_function_epilogue): Add TFmode.
7796         (output_toc): Add TFmode.
7797         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7798         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7799         * rs6000.md (movtf splitter): Load TFmode constant.
7800
7801 2002-10-07  Dale Johannesen  <dalej@apple.com>
7802
7803         * rtl.h:  Add NOTE_PRECONDITIONED.
7804         * unroll.c:  Set it.
7805         * loop.c:  Set loop_info->preconditioned from it.
7806         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7807
7808 2002-10-07  Richard Henderson  <rth@redhat.com>
7809
7810         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7811         new rtx for comparing the argument pointer against zero.
7812         (i960_va_start): Similarly.
7813
7814 2002-10-07  Richard Henderson  <rth@redhat.com>
7815
7816         * config/i960/i960.md (*): Use TFmode, not XFmode.
7817         * config/i960/i960.c (*): Likewise.
7818         (i960_arg_size_and_align): Remove XFmode alignment hack.
7819         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7820         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7821         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7822         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7823
7824 2002-10-07  Richard Henderson  <rth@redhat.com>
7825
7826         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7827         entry points; use void return value and argument list.
7828
7829 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7830
7831         * calls.c (expand_call): Fix function-is-volatile check.
7832
7833 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7834
7835         * t-pdp11: Add MULTILIB support for msoft-float.
7836         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7837
7838         * t-pdp11: Add LIB2FUNCS_EXTRA.
7839         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7840         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7841         'fldd' to 'ldd', rename 'fstd' to 'std'.
7842         (pdp11_output_function_epilogue): Likewise.
7843         (output_move_quad): Make the comment gas compatible.
7844         (output_ascii): Add preceding 0 to the octal constant.
7845         (print_operand_address): Add pre_modify, post_modify.
7846         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7847         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7848         with the indication of Paul Koning.
7849         (PRINT_OPERAND): Fix floating constant.
7850         * pdp11.md (movdi): Restrict matching pattern.
7851         (movqi): Generalize the matching pattern.
7852         (movdf): Restrict matching pattern.
7853         (zero_extendqihi2): Change constant representation.
7854         (floatsidf2): Fix wrong operands.
7855         (addqi3): Fix wrong instruction name.
7856         (subqi3): Fix wrong instruction name.
7857         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7858         (xorsi3): Fix wrong insn.
7859         (one_cmplqi2): Add two operand pattern.
7860         (lsrsi3): New.
7861         (negsi2): New.
7862         (call): Add register indirect case.
7863         (mod): Fix wrong subreg.
7864
7865 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7866             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7867
7868         PR c/7411
7869         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7870         have been expanded in EXPAND_NORMAL mode.
7871
7872 2002-10-06  Richard Henderson  <rth@redhat.com>
7873
7874         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7875
7876 2002-10-06  Richard Henderson  <rth@redhat.com>
7877
7878         PR optimization/2960
7879         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7880         optimize_size.
7881
7882 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7883
7884         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7885         previously definitions.
7886
7887 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
7888
7889         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7890         * c-opts.c (find_opt): Similarly.
7891
7892 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
7893
7894         * athlon.md: rewrite to DFA.
7895         * i386 (ix86_adjust_cost): Drop memory latency code.
7896         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7897
7898 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
7899
7900         * gcc.c (set_multilib_dir): Don't access *end.
7901         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
7902         (print_multilib_info): Don't show paths starting with ".:".
7903         * genmultilib: Add new option, "yes" if multilibs are enabled.
7904         Update comments.  If multilibs not enabled, print .:${osdirout}
7905         for each directory.  If multilibs are enabled, always print
7906         ${dirout}:${osdirout}, even if the two are the same.
7907         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7908         Pass all MULTILIB_* variables to genmultilib even if
7909         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7910
7911 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
7912
7913         * gcc.c (process_command): Set .validated for -pipe.  Correct
7914         grammar in comment.
7915
7916 2002-10-04  Bruce Korb  <bkorb@gnu.org>
7917
7918         * fixinc/inclhack.def(hpux11_abs):  use format fix
7919         * fixinc/fixincl.x: regenerate
7920         * fixinc/tests/base/stdlib.h: accommodate new fix test
7921
7922 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
7923
7924         * c-common.c (cb_register_builtins):  Use really_no_inline.
7925
7926 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
7927
7928         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7929         copied instruction if the note is not loop invariant.
7930
7931 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
7932
7933         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7934
7935 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7936
7937         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
7938         and -mhp-ld options to list of options.  Add -mgnu-ld
7939         and -mhp-ld option descriptions.
7940
7941 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7942
7943         * fixinc/inclhack.def (hpux11_abs):  New.
7944         (stdio_va_list): change __va_list__ to __gnuc_va_list.
7945         * fixinc/fixincl.x: Rebuild.
7946
7947 2002-10-04  Roger Sayle  <roger@eyesopen.com>
7948
7949         * config/i386/i386.h (processor_costs): Add new fields fadd,
7950         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7951         (RTX_COSTS): Use these fields to determine the RTX costs
7952         of floating point addition/subtraction, multiplication,
7953         division, fabs, negation and square root respectively.
7954         * config/i386/i386.c (size_cost): Provide instruction sizes
7955         for these new fields.
7956         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7957         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7958         counts for these new fields for all x86 processor variants.
7959
7960 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7961
7962         * mips.c (mips_const_double_ok): Delete unused variable.
7963
7964         * gengtype.c (rtx_next): Change type to int.
7965
7966 2002-10-04  Andreas Jaeger  <aj@suse.de>
7967
7968         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7969
7970 2002-10-04  Richard Henderson  <rth@redhat.com>
7971
7972         * real.h (SIGNIFICAND_BITS): Add one more word.
7973         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7974         * real.c (times_pten): New.
7975         (real_to_decimal, real_from_string): Use it.
7976         (sticky_rshift_significand): Use & to find modulus.
7977         (rshift_significand, lshift_significand): Likewise.
7978         (do_divide): Apply sticky bit after normalization.
7979         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
7980
7981 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
7982
7983         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
7984         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7985
7986 2002-10-03  Andreas Jaeger  <aj@suse.de>
7987
7988         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
7989         to unsigned long, adjust printf format string.
7990         (output_mangled_typename): Likewise.
7991
7992 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
7993
7994         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
7995         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
7996         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
7997         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
7998         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
7999         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
8000         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
8001         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
8002
8003 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
8004
8005         * doc/invoke.texi (-Wabi): Document mangling bug.
8006
8007 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
8008
8009         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
8010         name for the tbtab label that depends on the function asm name.
8011         Don't output tbtab label unless optional_tbtab.
8012         (output_mi_thunk): Formatting.
8013
8014 2002-10-03  Richard Henderson  <rth@redhat.com>
8015
8016         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
8017         * config/m68k/m68k.c (override_options): ... here.
8018         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
8019         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
8020         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8021         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8022
8023 2002-10-03  Richard Henderson  <rth@redhat.com>
8024
8025         * real.h (struct real_value): Use ENUM_BITFIELD.
8026
8027 2002-10-03  Richard Henderson  <rth@redhat.com>
8028
8029         * config/i960/i960.md (call, call_value): Use emit_call_insn.
8030
8031 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8032
8033         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
8034
8035 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
8036
8037         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
8038         * config/pa/pa.h (MASK_GNU_LD): New.
8039         (TARGET_GNU_LD): New.
8040         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
8041         on gnu-ld and MASK_GNU_LD.
8042         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
8043
8044 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
8045
8046         * i386.c (athlon_cost): Fix the move costs.
8047
8048 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
8049
8050         * final.c (final): Use symbol name as function name for profiling.
8051         * profile.c (get_exec_counts): Likewise.
8052         (branch_prob): Likewise.
8053
8054 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8055
8056         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
8057
8058 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
8059
8060         * gcc.c (print_multi_os_directory): New variable.
8061         (option_map): Support --print-multi-os-directory.
8062         (struct prefix_list): Add os_multilib field.
8063         (multilib_os_dir): New variable.
8064         (static_specs): Add multilib_options.
8065         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
8066         subdirs if nonzero.
8067         (read_specs, execute): Update callers.
8068         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
8069         pass 1 as multilib option.
8070         (display_help): Include --print-multi-os-directory.
8071         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
8072         (process_command): Update callers.  Handle --print-multi-os-directory.
8073         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
8074         set.
8075         (main): Update find_a_file and add_prefix callers.
8076         Handle print_multi_os_directory.
8077         (struct mdswitchstr): New.
8078         (mdswitches, n_mdswitches): New variables.
8079         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
8080         present on the command line nor their mutually incompatible
8081         switches.
8082         (default_arg): Optimize.
8083         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
8084         array.
8085         (print_multilib_info): Only print GCC multilib dir name, not OS
8086         multilib dirname.
8087         * genmultilib: Add osdirnames parameter.  Output multilib_options
8088         variable.  If osdirnames is specified, output dirnames as
8089         dirname:osdirname.
8090         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
8091         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
8092         to compute libgcc_s soname and install path.
8093         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
8094         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8095         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
8096         argument.
8097
8098         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8099         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8100         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
8101         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
8102         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
8103         and -m64.
8104         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
8105         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8106         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
8107         (STARTFILE_ARCH_SPEC): Remove.
8108         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
8109         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8110         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
8111         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
8112         (SHLIB_SLIBDIR_SUFFIXES): Remove.
8113
8114 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8115
8116         * predict.c (choose_function_section): Avoid choice for linkonce functions.
8117
8118 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
8119
8120         * i386.md (lea to mul peep2): Fix condition.
8121
8122 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8123
8124         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
8125         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
8126
8127 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
8128
8129         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
8130         attribute "unused".
8131
8132         * config/t-libunwind: Mention unwind-sjlj.c.
8133         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
8134         to #ifndef __USING_SJLJ_EXCEPTIONS__.
8135
8136         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
8137         before inclusion of config.gcc, but after configuring the compiler etc.
8138         Determine default value for --enable-libunwind-exceptions based on
8139         whether the host has a libunwind library (not guaranteed to be correct,
8140         but it's a reasonable first guess and can always be overridden with an
8141         explicit --enable/disable-libunwind-exceptions.
8142         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
8143         tmake_file when $use_libunwind_exceptions is enabled.
8144         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
8145         ia64 (e.g., config/t-linux also updates it).
8146         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
8147         along with the shared version of libgcc since the latter requires
8148         the former.
8149         * unwind-libunwind.c: New file.
8150         * config/t-libunwind: Ditto.
8151
8152 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8153
8154         * config.gcc: Remove support for vax-*-vms*.
8155         * config/vax/vms.h: Remove.
8156         * config/vax/xm-vms.h: Remove.
8157         * config/vax/vax-protos.h: Remove VMS-specific code.
8158         * config/vax/vax.c: Remove VMS-specific code.
8159
8160 2002-10-02  Richard Henderson  <rth@redhat.com>
8161
8162         PR opt/7124
8163         * config/i386/i386.c (ix86_register_move_cost): Increase cost
8164         for secondary_memory_needed pairs.
8165
8166 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8167
8168         * doc/vms.texi: Blow away false include file section.
8169
8170 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8171
8172         PR optimization/6627
8173         * toplev.c (force_align_functions_log): New global variable.
8174         * flags.h (force_align_functions_log): Add extern prototype.
8175         * varasm.c (assemble_start_function): Use it to force minimum
8176         function alignment.
8177         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8178         minimum function alignment to one byte.
8179         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8180         the least significant bit of vtable member function pointers.
8181         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8182         here from cp/cp-tree.h.
8183
8184 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8185
8186         * i386.c (print_operand_address): Use RIP addressing for offsetted
8187         label refs too.
8188
8189 2002-09-30  David S. Miller  <davem@redhat.com>
8190
8191         PR middle-end/7151
8192         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8193         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8194
8195 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8196
8197         * calls.c (expand_call): Remove the `no indirect check'
8198         for sibcall optimization; use function_ok_for_sibcall
8199         target hook; refine check for `function is volatile'.
8200         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8201         * hooks.c (hook_tree_tree_bool_false): New.
8202         * hooks.h (hook_tree_tree_bool_false): Declare.
8203         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8204         (TARGET_INITIALIZER): Add it.
8205         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8206         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8207         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8208         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8209         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8210         Remove function declaration.
8211         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8212         function static and accept another argument of type `tree'.
8213         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8214         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8215         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8216         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8217         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8218         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8219         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8220         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8221         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8222         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8223         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8224         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8225         Remove function declaration.
8226         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8227         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8228         rename first argument to `decl'; accept another argument
8229         of type `tree'; make static.
8230         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8231         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8232         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8233         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8234         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8235         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8236         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8237         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8238         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8239
8240 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8241
8242         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8243
8244 2002-10-01  Richard Henderson  <rth@redhat.com>
8245
8246         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8247         (real_to_hexadecimal): Likewise.
8248         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8249         dump the XWINT fields of a floating point CONST_DOUBLE.
8250
8251 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8252
8253         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8254
8255 2002-10-01  Richard Henderson  <rth@redhat.com>
8256
8257         * calls.c (precompute_register_parameters): Force non-legitimate
8258         constants into pseudos.
8259
8260 2002-10-01  Nick Clifton  <nickc@redhat.com>
8261
8262         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8263         to assembler template.
8264
8265 2002-10-01  Richard Henderson  <rth@redhat.com>
8266
8267         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8268         for TLS debug info to !DECL_EXTERNAL.
8269
8270 2002-10-01  Matt Thomas  <matt@3am-software.com>
8271             Jason Thorpe  <thorpej@wasabisystems.com>
8272
8273         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8274         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8275         if not already defined.
8276         * config/vax/elf.h: New file.
8277         * config/vax/netbsd-elf.h: New file.
8278         * config/vax/vax.c: Include "debug.h".
8279         (vax_output_function_prologue): Add dwarf2 support.  Use
8280         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8281         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8282         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8283         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8284         (VAX_ISTREAM_SYNC): Remove.
8285         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8286         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8287         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8288         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8289         and assemble_name.
8290         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8291         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8292         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8293         (INCOMING_RETURN_ADDR_RTX): Define.
8294         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8295         (VUNSPEC_SYNC_ISTREAM): Define.
8296         (blockage): Use VUNSPEC_BLOCKAGE.
8297         (sync_istream): New insn.
8298
8299 2002-10-01  Richard Henderson  <rth@redhat.com>
8300
8301         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8302         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8303         (*call): New insn.
8304
8305 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8306
8307         PR c/8083
8308         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8309         type based aliasing.
8310
8311 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8312
8313         * stor-layout.c (update_alignment_for_field): New function.
8314         (place_union_field): Use it.
8315         (place_field): Likewise.
8316
8317 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8318
8319         PR other/8077
8320         * gcc.c (cc1_options): Add space on -auxbase-strip.
8321
8322 2002-10-01  Jim Wilson  <wilson@redhat.com>
8323
8324         * config/v850/v850.h (EPILOGUE_USES): Define.
8325
8326 2002-09-30  Andrew Haley  <aph@redhat.com>
8327
8328         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8329         eliminate insns that may trap.
8330         * cse.c (insn_live_p): Likewise.
8331
8332 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8333
8334         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8335         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8336         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8337         * config/mips/mips.md: Apply same renaming here.
8338
8339 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8340
8341         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8342         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8343         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8344         * config/mips/mips.md (define_attr cpu): Remove r4320.
8345         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8346
8347 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8348
8349         * config/mips/mips.c (mips16_strings): New variable.
8350         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8351         symbol in mips16_strings.  Free the list.
8352         (mips_encode_section_info): Keep track of local strings.
8353
8354 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8355
8356         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8357         (sordered_df, sordered_sf): Remove.
8358         * config/mips/mips.c (get_float_compare_codes): New fn.
8359         (gen_int_relational, gen_conditional_move): Use it.
8360
8361 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8362
8363         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8364         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8365         * config/mips/mips.c (fcc_register_operand): New function.
8366         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8367         (override_options): Allow TFmode values in float registers
8368         if ISA_HAS_8CC.
8369         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8370         to fcc_register_operand.  Remove misleading source constraint.
8371         Use mips_emit_fcc_reload.
8372         (reload_outcc): Duplicate reload_incc.
8373
8374 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8375
8376         * gcc.c (validate_switches): Handle all new forms of spec
8377         syntax introduced recently.  Now returns a char *.
8378         (validate_all_switches): Repetitive logic broken out to...
8379         (validate_switches_from_spec): ...here.
8380         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8381
8382 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8383
8384         * longlong.h: Partially synchronize with GMP-4.1 version:
8385         Use i370 definitions also for s390.
8386         Add generic definition of umul_ppmm in terms of smul_ppmm.
8387         [s390] (umul_ppmm): Remove.
8388         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8389         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8390
8391 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8392
8393         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8394         Add new RL_REGS register class.
8395         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8396         Call xtensa_preferred_reload_class for both input and output reloads.
8397         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8398         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8399         instead of either AR_REGS or GR_REGS classes.
8400         (xtensa_secondary_reload_class): Use new RL_REGS class.
8401         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8402
8403 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8404
8405         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8406         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8407         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8408         there is a '*' prefix in NAME.
8409
8410 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8411
8412         * reload.c (push_reload): Handle subregs and secondary memory.
8413         * reload1.c (gen_reload): Likewise.
8414
8415         * jump.c (reg_or_subregno): New function.
8416         * rtl.h (reg_or_subregno): Declare
8417         * unroll.c (find_splittable_givs): Handle subregs.
8418
8419 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8420
8421         * store-layout.c (finish_record_layout): Add free_p parameter.
8422         (layout_type): Pass it.
8423         * tree.h (finish_record_layout): Update prototype.
8424
8425 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8426
8427         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8428
8429         * gcse.c (cprop_jump): Check that the register has not
8430         been modified
8431         (cprop_jump): Likewise.
8432
8433 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8434
8435         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8436         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8437         that we have a SImode access, and only then if reload hasn't completed;
8438         for all other cases, use LO_REGS.
8439
8440 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8441
8442         * openbsd.h: Fix typo in last change.
8443
8444 2002-09-29  Richard Henderson  <rth@redhat.com>
8445
8446         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8447
8448 2002-09-29  Richard Henderson  <rth@redhat.com>
8449
8450         PR c/8002
8451         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8452         for CONST_INT.
8453
8454 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8455
8456         * real.h (ibm_extended_format): Declare.
8457         * real.c (encode_ibm_extended, decode_ibm_extended): New
8458         functions.
8459
8460 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8461
8462         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8463
8464         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8465
8466 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8467
8468         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8469
8470 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8471
8472         * builtins.def: Fix comment formatting.
8473         * c-common.def: Likewise.
8474         * cfgcleanup.c: Likewise.
8475         * combine.c: Likewise.
8476         * gengtype.c: Likewise.
8477         * params.def: Likewise.
8478         * predict.def: Likewise.
8479         * rtl.def: Likewise.
8480         * stab.def: Likewise.
8481         * stor-layout.c: Likewise.
8482         * tree.def: Likewise.
8483         * config/darwin.c: Likewise.
8484         * config/darwin.h: Likewise.
8485         * config/dbxcoff.h: Likewise.
8486         * config/elfos.h: Likewise.
8487         * config/fp-bit.c: Likewise.
8488         * config/freebsd-spec.h: Likewise.
8489         * config/interix.h: Likewise.
8490         * config/libgloss.h: Likewise.
8491         * config/linux-aout.h: Likewise.
8492         * config/linux.h: Likewise.
8493         * config/lynx-ng.h: Likewise.
8494         * config/lynx.h: Likewise.
8495         * config/netbsd-aout.h: Likewise.
8496         * config/netbsd.h: Likewise.
8497         * config/netware.h: Likewise.
8498         * config/psos.h: Likewise.
8499         * config/ptx4.h: Likewise.
8500
8501 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8502
8503         * ChangeLog.4: Fix typos.
8504         * ChangeLog.6: Likewise.
8505         * FSFChangeLog.10: Likewise.
8506         * genattrtab.c: Fix comment typos.
8507         * haifa-sched.c: Likewise.
8508         * real.c: Likewise.
8509         * tree.h: Likewise.
8510         * config/arm/arm.c: Likewise.
8511         * config/arm/crti.asm: Likewise.
8512         * config/arm/crtn.asm: Likewise.
8513         * config/frv/frv.c: Likewise.
8514         * config/frv/frv.md: Likewise.
8515         * config/h8300/h8300.md: Likewise.
8516         * config/i386/rtemself.h: Likewise.
8517         * config/ia64/unwind-ia64.c: Likewise.
8518         * config/ip2k/ip2k.h: Likewise.
8519         * config/m88k/m88k.c: Likewise.
8520         * config/m88k/m88k.md: Likewise.
8521         * config/mips/sr71k.md: Likewise.
8522         * config/mmix/mmix.c: Likewise.
8523         * config/rs6000/rs6000.c: Likewise.
8524         * config/sh/sh.md: Likewise.
8525
8526 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8527
8528         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8529         * config/avr/avr.md: Ditto.
8530
8531 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8532
8533         PR preprocessor/8055
8534         * cppmacro.c (stringify_arg): Do not overflow the buffer
8535         with the terminating NUL when the argument to be stringified
8536         has no tokens.
8537
8538 2002-09-27  Richard Henderson  <rth@redhat.com>
8539
8540         * unroll.c (simplify_cmp_and_jump_insns): New.
8541         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8542         instead of expand_simple_foo.
8543
8544 2002-09-27  Richard Henderson  <rth@redhat.com>
8545
8546         PR optimization/7520
8547         * cfganal.c (flow_active_insn_p): New.
8548         (forwarder_block_p): Use it.
8549
8550 2002-09-27  Richard Henderson  <rth@redhat.com>
8551
8552         * emit-rtl.c (active_insn_p): Revert last change.
8553
8554 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8555
8556         * doc/extend.texi (tls_model): Document.
8557         * varasm.c (decl_tls_model): New.
8558         * c-common.c (handle_tls_model_attribute): New.
8559         (c_common_attribute_table): Add tls_model.
8560         * config/alpha/alpha.c (alpha_encode_section_info): Use
8561         decl_tls_model.
8562         * flags.h (enum tls_model, flag_tls_default): Move...
8563         * tree.h (enum tls_model, flag_tls_default): ...here.
8564         (decl_tls_model): New prototype.
8565         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8566         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8567         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8568         Allow !flag_pic.
8569
8570 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8571
8572         * LANGUAGES: Follow spelling conventions.
8573         * rtl.def: Likewise.
8574         * sbitmap.c: Likewise.
8575         * sched-int.h: Likewise.
8576         * sched-rgn.c: Likewise.
8577         * sibcall.c: Likewise.
8578         * simplify-rtx.c: Likewise.
8579         * ssa.c: Likewise.
8580         * stab.def: Likewise.
8581         * stmt.c: Likewise.
8582         * stor-layout.c: Likewise.
8583         * target.h: Likewise.
8584         * timevar.c: Likewise.
8585         * toplev.c: Likewise.
8586         * tree-dump.c: Likewise.
8587         * tree-inline.c: Likewise.
8588         * tree.c: Likewise.
8589         * tree.def: Likewise.
8590         * tree.h: Likewise.
8591         * unroll.c: Likewise.
8592         * varasm.c: Likewise.
8593         * vmsdbgout.c: Likewise.
8594         * treelang/treelang.texi: Likewise.
8595         * treelang/treetree.c: Likewise.
8596
8597 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8598
8599         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8600         instead of a hard register number.
8601         (get_shift_alg): Use an enumerated type instead of numbers.
8602         (h8300_shift_needs_scratch_p): Likewise.
8603
8604 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8605
8606         * varasm.c (force_data_section): Remove.
8607         (assemble_constant_align): Likewise.
8608         * output.h: Remove corresponding prototypes.
8609
8610 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8611
8612         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8613         jump, if the loop to exit is the top of the current nesting stack.
8614
8615 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8616
8617         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8618         arithmetic.
8619
8620 2002-09-26  David S. Miller  <davem@redhat.com>
8621
8622         PR optimization/7335
8623         * calls.c (emit_library_call_value_1): Passing args by reference
8624         converts a CONST function into a PURE one.
8625
8626 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8627
8628         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8629         text_section.
8630         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8631         text section.
8632         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8633         function-sections and data-sections functionality on AIX.
8634
8635 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8636             Dale Johannesen  <dalej@apple.com>
8637
8638         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8639         in RTL for sub-word loads from memory.
8640
8641 2002-09-26  Richard Henderson  <rth@redhat.com>
8642
8643         PR c/7160
8644         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8645         on call insns.
8646
8647 2002-09-26  Richard Henderson  <rth@redhat.com>
8648
8649         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8650
8651 2002-09-26  Chris Lattner  <sabre@nondot.org>
8652
8653         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8654         handling undefined values.
8655
8656 2002-09-26  Richard Henderson  <rth@redhat.com>
8657
8658         PR opt/7520
8659         * emit-rtl.c (active_insn_p): Consider a clobber of the
8660         function return value to be active even after reload.
8661
8662 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8663
8664         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8665         by absolute loop increment, not loop increment.
8666
8667 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8668
8669         * c-common.h: Follow spelling conventions.
8670         * cpplex.c: Likewise.
8671         * cpplib.h: Likewise.
8672         * gthr-dce.h: Likewise.
8673         * gthr-posix.h: Likewise.
8674         * optabs.c: Likewise.
8675         * output.h: Likewise.
8676         * profile.c: Likewise.
8677         * protoize.c: Likewise.
8678         * ra-rewrite.c: Likewise.
8679         * real.c: Likewise.
8680         * recog.c: Likewise.
8681         * reg-stack.c: Likewise.
8682         * regclass.c: Likewise.
8683         * regmove.c: Likewise.
8684         * reload.c: Likewise.
8685         * reload.h: Likewise.
8686         * reload1.c: Likewise.
8687         * reorg.c: Likewise.
8688         * resource.c: Likewise.
8689         * rtl.h: Likewise.
8690         * rtlanal.c: Likewise.
8691
8692 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8693
8694         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8695         for symbol address.
8696
8697 2002-09-24  Eric Christopher  <echristo@redhat.com>
8698
8699         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8700         * config/mips/elf64.h: Ditto.
8701
8702 2002-09-24  Eric Christopher  <echristo@redhat.com>
8703
8704         * except.c (expand_builtin_extract_return_address): Handle case
8705         where Pmode != ptr_mode.
8706
8707 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8708
8709         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8710
8711 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8712
8713         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8714
8715 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8716
8717         * combine.c (simplify_set): Don't call to force_to_mode if size
8718         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8719
8720 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8721
8722         * Makefile.in (qmtest-g++): Fix file path.
8723
8724 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8725
8726         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8727         A + (-const) on RTX level, even for unsigned types.
8728
8729 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8730
8731         * reload.c (dup_replacements): New function.
8732         (find_reloads): Use it to duplicate replacements at the top level
8733         of match_dup operands.
8734
8735 2002-09-26  Miles Bader  <miles@gnu.org>
8736
8737         * v850.md ("length"): Change default value to 4.
8738
8739 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8740
8741         * ChangeLog.1: Follow spelling conventions.
8742         * ChangeLog.4: Likewise.
8743         * ChangeLog.6: Likewise.
8744         * FSFChangeLog.11: Likewise.
8745         * doc/cpp.texi: Likewise.
8746         * doc/invoke.texi: Likewise.
8747         * doc/tm.texi: Likewise.
8748
8749 2002-09-26  Nick Clifton  <nickc@redhat.com>
8750
8751         * config.gcc: Add x prefix to v850e case for handling
8752         --with-cpu=v850e.
8753
8754 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8755
8756         * gcc.c (input_suffix_matches, switch_matches,
8757         mark_matching_switches, process_marked_switches,
8758         process_brace_body): New functions - split from handle_braces.
8759         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8760         and ignore whitespace in more places.
8761         (specs documentation comment): Document %{S:X;T:Y;:D}.
8762         Clarify other %{...} docs.
8763         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8764         %{...} docs.
8765
8766         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8767         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8768
8769 2002-09-25  David S. Miller  <davem@redhat.com>
8770
8771         PR target/7842
8772         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8773         extend.
8774
8775 2002-09-25  Richard Henderson  <rth@redhat.com>
8776
8777         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8778         fp CONST_DOUBLE; use real_identical.
8779
8780 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8781
8782         * doc/invoke.texi: Add more -Wabi examples.
8783
8784 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8785
8786         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8787
8788 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8789
8790         * profile.c (end_branch_prob): Only look for __gcov_init on
8791         weak-enabled native compilers.
8792
8793 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8794
8795         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8796         cases of optimizing "add sp,w" to "inc sp".
8797
8798 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8799
8800         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8801         epilogue for naked functions.
8802
8803 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8804             Nick Clifton  <nickc@redhat.com>
8805
8806         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8807         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8808         is defined.
8809
8810 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8811
8812         * config/s390/s390.c (preferred_la_operand_p): New function.
8813         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8814         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8815         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8816         ("*la_31"): Deactivate for TARGET_64BIT.
8817         ("*la_31_and", "*la_31_and_cc"): New.
8818
8819 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8820
8821         * real.h (real_value): Make `exp' explicitly signed.
8822
8823 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8824
8825         * config/elfos.h: Follow spelling conventions.
8826         * config/alpha/alpha.h: Likewise.
8827         * config/arc/arc.h: Likewise.
8828         * config/arm/arm.md: Likewise.
8829         * config/avr/avr.h: Likewise.
8830         * config/cris/cris.md: Likewise.
8831         * config/d30v/d30v.h: Likewise.
8832         * config/frv/frv.c: Likewise.
8833         * config/frv/frv.h: Likewise.
8834         * config/h8300/h8300.c: Likewise.
8835         * config/h8300/h8300.h: Likewise.
8836         * config/h8300/h8300.md: Likewise.
8837         * config/i386/cygwin.h: Likewise.
8838         * config/i386/i386.h: Likewise.
8839         * config/i386/sysv3.h: Likewise.
8840         * config/i960/i960.h: Likewise.
8841         * config/ia64/ia64.h: Likewise.
8842         * config/ia64/ia64.md: Likewise.
8843         * config/ip2k/ip2k.h: Likewise.
8844         * config/m32r/m32r.h: Likewise.
8845         * config/m68k/m68k.h: Likewise.
8846         * config/m88k/m88k.h: Likewise.
8847         * config/mcore/mcore.c: Likewise.
8848         * config/mcore/mcore.h: Likewise.
8849         * config/mcore/mcore.md: Likewise.
8850         * config/mips/mips.h: Likewise.
8851         * config/mmix/mmix.h: Likewise.
8852         * config/mmix/mmix.md: Likewise.
8853         * config/ns32k/netbsd.h: Likewise.
8854         * config/ns32k/ns32k.h: Likewise.
8855         * config/ns32k/ns32k.md: Likewise.
8856         * config/pa/pa.h: Likewise.
8857         * config/romp/romp.h: Likewise.
8858         * config/rs6000/rs6000.h: Likewise.
8859         * config/rs6000/rs6000.md: Likewise.
8860         * config/sparc/sparc.h: Likewise.
8861         * config/stormy16/stormy-abi: Likewise.
8862         * config/stormy16/stormy16.h: Likewise.
8863         * config/vax/vax.h: Likewise.
8864
8865 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8866
8867         * config/alpha/alpha.h: Remove commented-out macro
8868         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8869         * config/avr/avr.h: Likewise.
8870         * config/d30v/d30v.h: Likewise.
8871         * config/dsp16xx/dsp16xx.h: Likewise.
8872         * config/i370/i370.h: Likewise.
8873         * config/i386/i386.h: Likewise.
8874         * config/i960/i960.h: Likewise.
8875         * config/m68k/m68k.h: Likewise.
8876         * config/m88k/m88k.h: Likewise.
8877         * config/mips/mips.h: Likewise.
8878         * config/ns32k/ns32k.h: Likewise.
8879         * config/pdp11/pdp11.h: Likewise.
8880         * config/romp/romp.h: Likewise.
8881         * config/rs6000/rs6000.h: Likewise.
8882         * config/s390/s390.h: Likewise.
8883         * config/sh/sh.h: Likewise.
8884         * config/sparc/sparc.h: Likewise.
8885         * config/stormy16/stormy16.h: Likewise.
8886         * config/vax/vax.h: Likewise.
8887
8888 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8889
8890         * function.c (push_temp_slots_for_block): Remove.
8891         (push_temp_slots_for_target): Likewise.
8892         (get_target_temp_slot_level): Likewise.
8893         (set_target_temp_slot_level): Likewise.
8894         (get_first_block_beg): Likewise.
8895         * function.h: Remove corresponding prototypes.
8896
8897 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
8898
8899         * version.c (version_string): Now const char[].
8900         * version.h: Update to match.
8901
8902 2002-09-23  Richard Henderson  <rth@redhat.com>
8903
8904         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8905         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8906         (TARGET_SWITCHES): Don't reference them.
8907         * config/i386/i386.c (override_options): Use target_flags_explicit
8908         to examine bits set by the user.
8909
8910 2002-09-23  Dale Johannesen  <dalej@apple.com>
8911
8912         * dbxout.c (dbxout_parms):  Set current_sym_code for params
8913         passed on stack by invisible reference.
8914
8915 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
8916
8917         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8918         at least one byte of space.
8919
8920 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8921
8922         * c-common.h (flag_abi_version): Fix typo in comment.
8923         * doc/invoke.texi (flag_abi_version): Document default value.
8924
8925 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
8926
8927         * doc/extend.texi (Extended Asm): Clarify that overlap between
8928         asm-declared register variables used in an asm and the asm clobber
8929         list is not allowed.
8930         * stmt.c (decl_conflicts_with_clobbers_p): New function.
8931         (expand_asm_operands): Keep track of clobbered registers.  Call
8932         decl_conflicts_with_clobbers_p for each input and output operand.
8933         If no conflicts found before, also do conflict sanity check when
8934         emitting clobbers.
8935
8936 2002-09-23  Richard Henderson  <rth@redhat.com>
8937
8938         * c-common.c (cpp_define_data_format): Remove.
8939         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8940         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8941         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8942         * doc/cpp.texi: Don't document them either.
8943         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8944         __LONG_LONG_MAX__): Document.
8945         (__TARGET_FLOAT_FORMAT__): Remove.
8946
8947 2002-09-23  Richard Henderson  <rth@redhat.com>
8948
8949         * real.c (do_multiply): Normalize U before addition.
8950
8951 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8952
8953         * c-common.c (flag_abi_version): New variable.
8954         * c-common.h (flag_abi_version): Declare it.
8955         * c-opts.c (missing_arg): Add -fabi-version.
8956         (c_common_decode_option): Process -fabi-version.
8957         * doc/invoke.texi (-fabi-version): Document it.
8958         (-Wabi): Add information about bit-fields in unions.
8959
8960 2002-09-22  Roger Sayle  <roger@eyesopen.com>
8961
8962         * expr.c (STORE_BY_PIECES_P): New target macro.
8963         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8964         instead of MOVE_BY_PIECES_P.
8965         * doc/tm.texi: Document this new macro.
8966
8967 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8968
8969         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8970         unless -fno-pic or -fno-PIC is specified.
8971
8972 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8973
8974         * c-common.c (preprocessing_trad_p): Define.
8975         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
8976         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
8977         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8978         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
8979         * pa-linux.h (CPP_PREDEFINES): Delete.
8980         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8981         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
8982         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
8983         (TARGET_OS_CPP_BUILTINS): Define.
8984         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
8985         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
8986         (SUBTARGET_SWITCHES): Provide default definition.
8987         (TARGET_OPTIONS): Reformat.  Use N_() macro.
8988         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
8989         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
8990         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
8991         (TARGET_CPU_CPP_BUILTINS): Define.
8992         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
8993         * doc/invoke.texi (msio, mwsio): Document new hppa options.
8994         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
8995         preprocessing_trad_p().
8996
8997 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8998
8999         * doc/install.texi: Document behavior of --with-headers and
9000         --with-libs when arguments are omitted.
9001
9002 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
9003
9004         * dbxout.c: Follow spelling conventions.
9005         * defaults.h: Likewise.
9006         * df.c: Likewise.
9007         * diagnostic.h: Likewise.
9008         * doloop.c: Likewise.
9009         * dwarf2out.c: Likewise.
9010         * dwarfout.c: Likewise.
9011         * emit-rtl.c: Likewise.
9012         * except.c: Likewise.
9013         * explow.c: Likewise.
9014         * expmed.c: Likewise.
9015         * expr.c: Likewise.
9016         * expr.h: Likewise.
9017         * flags.h: Likewise.
9018         * flow.c: Likewise.
9019         * fold-const.c: Likewise.
9020         * function.c: Likewise.
9021         * function.h: Likewise.
9022         * gcc.c: Likewise.
9023         * gcov-io.h: Likewise.
9024         * gcov.c: Likewise.
9025         * gcse.c: Likewise.
9026         * genattrtab.c: Likewise.
9027         * genconfig.c: Likewise.
9028         * genrecog.c: Likewise.
9029         * ggc-page.c: Likewise.
9030         * ggc.h: Likewise.
9031         * global.c: Likewise.
9032         * gthr-win32.h: Likewise.
9033         * integrate.c: Likewise.
9034         * jump.c: Likewise.
9035         * langhooks.c: Likewise.
9036         * langhooks.h: Likewise.
9037         * line-map.h: Likewise.
9038         * local-alloc.c: Likewise.
9039         * longlong.h: Likewise.
9040         * loop.c: Likewise.
9041         * loop.h: Likewise.
9042
9043 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9044
9045         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
9046
9047 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
9048
9049         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
9050         for -Os/TARGET_64BIT too.
9051
9052 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
9053
9054         * ChangeLog: Follow spelling conventions.
9055         * ChangeLog.0: Likewise.
9056         * ChangeLog.1: Likewise.
9057         * ChangeLog.2: Likewise.
9058         * ChangeLog.3: Likewise.
9059         * ChangeLog.4: Likewise.
9060         * ChangeLog.5: Likewise.
9061         * ChangeLog.6: Likewise.
9062         * FSFChangeLog.10: Likewise.
9063         * FSFChangeLog.11: Likewise.
9064         * alias.c: Likewise.
9065         * basic-block.h: Likewise.
9066         * c-aux-info.c: Likewise.
9067         * c-common.c: Likewise.
9068         * c-common.h: Likewise.
9069         * c-decl.c: Likewise.
9070         * c-format.c: Likewise.
9071         * c-semantics.c: Likewise.
9072         * c-typeck.c: Likewise.
9073         * calls.c: Likewise.
9074         * cfganal.c: Likewise.
9075         * cfgloop.c: Likewise.
9076         * collect2.c: Likewise.
9077         * combine.c: Likewise.
9078         * conflict.c: Likewise.
9079         * cppexp.c: Likewise.
9080         * cppfiles.c: Likewise.
9081         * cpphash.h: Likewise.
9082         * cppinit.c: Likewise.
9083         * cpplex.c: Likewise.
9084         * cpplib.c: Likewise.
9085         * cpplib.h: Likewise.
9086         * cppmacro.c: Likewise.
9087         * cse.c: Likewise.
9088
9089 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9090
9091         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
9092         LINK_SPEC.
9093         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
9094         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
9095         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
9096
9097 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
9098
9099         PR opt/7930
9100         * cse.c (fold_rtx): Calculate old_cost before we fold each
9101         operand.
9102
9103 2002-09-21  Richard Henderson  <rth@redhat.com>
9104
9105         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
9106         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
9107         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
9108         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
9109         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
9110         * doc/cpp.texi: Don't document them.
9111
9112 2002-09-21  Richard Henderson  <rth@redhat.com>
9113
9114         * c-common.c (builtin_define_float_constants): Use real_format
9115         to get the floating-point parameters.
9116
9117 2002-09-21  Richard Henderson  <rth@redhat.com>
9118
9119         * real.c (struct real_format): Move to real.h.
9120         (real_format_for_mode): Rename from fmt_for_mode; update all users;
9121         initialize with ieee defaults.
9122         (real_to_target_fmt, real_from_target_fmt): New.
9123         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9124         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9125         ieee_quad_format, i370_single_format, i370_double_format,
9126         c4x_single_format, c4x_extended_format): Rename from s/_format//.
9127         (ieee_quad_format): Fix emin.
9128         (format_for_size, init_real_once): Remove.
9129         * real.h (struct real_format): Move from real.c.
9130         (real_format_for_mode): Declare.
9131         (real_to_target_fmt, real_from_target_fmt): Declare.
9132         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
9133         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
9134         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
9135         i370_single_format, i370_double_format, c4x_single_format,
9136         c4x_extended_format): Declare.
9137         * toplev.c (do_compile): Don't call init_real_once.
9138
9139         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9140         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9141
9142         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
9143         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
9144         * config/alpha/alpha.c (override_options): Set real_format_for_mode
9145         for VAX, if enabled.
9146
9147         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
9148         for C4X.
9149
9150         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
9151         * config/i370/i370.c (override_options): New.
9152         * config/i370/i370-protos.h: Update.
9153
9154         * config/i386/i386.c (override_options): Set real_format_for_mode
9155         for Intel 80-bit extended.
9156         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
9157
9158         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
9159         (OVERRIDE_OPTIONS): Move code...
9160         * config/i960/i960.c (i960_initialize): ... here.  Set
9161         real_format_for_mode for Intel 80-bit extended.
9162
9163         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
9164         for Intel 80-bit extended, if enabled.
9165
9166         * config/m68k/m68k.c (override_options): Set real_format_for_mode
9167         for Motorola 96-bit extended.
9168
9169         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9170         * config/vax/vax.c (override_options): New.
9171         * config/vax/vax-protos.h: Update.
9172
9173 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9174
9175         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9176         #if TARGET_MACHO.
9177
9178         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9179         insns.  Supply missing clobber of scratch reg.
9180
9181 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9182
9183         * config/m32r/m32r.c: Follow spelling conventions.
9184         * config/m32r/m32r.h: Likewise.
9185         * config/m32r/m32r.md: Likewise.
9186         * config/m68k/m68k.c: Likewise.
9187         * config/m88k/m88k.c: Likewise.
9188         * config/mcore/mcore.c: Likewise.
9189         * config/mips/mips.c: Likewise.
9190         * config/mips/mips.h: Likewise.
9191         * config/mmix/mmix.c: Likewise.
9192         * config/mn10200/mn10200.c: Likewise.
9193         * config/ns32k/ns32k.h: Likewise.
9194         * config/pa/pa.c: Likewise.
9195         * config/pa/pa64-linux.h: Likewise.
9196         * config/pdp11/pdp11.h: Likewise.
9197         * config/romp/romp.c: Likewise.
9198         * config/romp/romp.h: Likewise.
9199         * config/rs6000/eabi.asm: Likewise.
9200         * config/rs6000/linux64.h: Likewise.
9201         * config/rs6000/rs6000.c: Likewise.
9202         * config/rs6000/rs6000.h: Likewise.
9203         * config/rs6000/rs6000.md: Likewise.
9204         * config/rs6000/sysv4.h: Likewise.
9205         * config/rs6000/xcoff.h: Likewise.
9206
9207 2002-09-20  Jim Wilson  <wilson@redhat.com>
9208
9209         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9210
9211 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9212
9213         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9214         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9215         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9216         (legitimate_address_p): Likewise.
9217         (legitimize_address): Use @gotntpoff and @indntpoff.
9218         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9219         (output_addr_const_extra): Likewise.
9220
9221 2002-09-20  Jim Wilson  <wilson@redhat.com>
9222
9223         * combine.c (try_combine): When split an instruction pair, where the
9224         first has a sign_extend src, verify that the src and dest modes match.
9225
9226 2002-09-20  Richard Henderson  <rth@redhat.com>
9227
9228         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9229         (override_options): Do not initialize them.
9230         (mips_const_double_ok): Allow no fp constants except zero,
9231         and not even that for mips16.
9232         (const_float_1_operand): Use dconst1.
9233         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9234         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9235         Don't allow arbitrary constants; fix predicates and C constraint.
9236
9237 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9238
9239         * cppmacro.c: Don't warn about function-like macros without
9240         '(' during pre-expansion.
9241
9242 2002-09-20  Jim Wilson  <wilson@redhat.com>
9243
9244         * config/v850/v850.c (current_function_anonymous_args): Delete.
9245         (expand_prologue): Use current_function_args_info.anonymous_args.
9246         (expand_epilogue): Delete use of current_function_anonymous_args.
9247         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9248         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9249         (current_function_anonymous_args): Delete extern declaration.
9250         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9251
9252 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9253
9254         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9255         to load_macho_picbase.
9256         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9257         (load_macho_picbase): Take the symbol to use as a parameter.
9258         (macho_correct_pic): New insn.
9259         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9260
9261         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9262         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9263         (CAN_ELIMINATE): Likewise.
9264         (INITIAL_ELIMINATION_OFFSET): Likewise.
9265         (TOC_REGISTER): Likewise.
9266
9267 2002-09-20  Richard Henderson  <rth@redhat.com>
9268
9269         * real.c (real_hash): New.
9270         * real.h: Declare it.
9271         * cse.c (canon_hash): Use it.
9272         * cselib.c (hash_rtx): Likewise.
9273         * emit-rtl.c (const_double_htab_hash): Likewise.
9274         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9275         * varasm.c (struct rtx_const): Reduce vector size; separate
9276         integer and fp vectors.
9277         (HASHBITS): Remove.
9278         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9279         take modulus MAX_HASH_TABLE.
9280         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9281         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9282         (SYMHASH): Don't use HASHBITS.
9283         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9284         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9285         (simplify_subtraction): Fix kind comparison.
9286         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9287         Use a union to pun integer array.
9288         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9289         only hash two words of integral CONST_DOUBLE.
9290
9291 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9292
9293         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9294         (STARTFILE_PREFIX_SPEC): New.
9295         (LINK_SPEC): Modify.
9296         (LIB_SPEC): Modify.
9297         (LIBGCC_SPEC): New.
9298
9299 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9300
9301         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9302         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9303
9304 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9305
9306         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9307         Add clobber of the condition code register.
9308
9309 2002-09-20  Richard Henderson  <rth@redhat.com>
9310
9311         * real.c (do_fix_trunc): Static.
9312         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9313         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9314         encode_i370_single, encode_i370_double, encode_c4x_single,
9315         encode_c4x_extended): Add default abort case.
9316
9317 2002-09-20  Richard Henderson  <rth@redhat.com>
9318
9319         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9320         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9321         (struct realvaluetype): Remove.
9322         (REAL_VALUE_TYPE): Use struct real_value.
9323         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9324         (test_real_width): New.
9325         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9326         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9327         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9328         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9329         real_to_integer, real_to_integer2, real_to_decimal,
9330         real_to_hexadecimal, real_from_string, real_from_integer,
9331         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9332         real_from_target): Likewise.
9333         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9334         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9335
9336 2002-09-20  Richard Henderson  <rth@redhat.com>
9337
9338         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9339         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9340         * defaults.h: ... here.
9341         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9342         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9343         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9344         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9345
9346 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9347
9348         * config/mmix/mmix.md ("negdf2"): Rewrite.
9349         ("*expanded_negdf2"): New.
9350
9351 2002-09-19  Jim Wilson  <wilson@redhat.com>
9352
9353         * combine.c (simplify_set): When optimizing a subreg src with a
9354         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9355
9356 2002-09-19  Dale Johannesen <dalej@apple.com>
9357         * combine.c (make_extraction): Don't create
9358         invalid subreg.
9359
9360 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9361
9362         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9363         * tree.h (integer_nonzerop): Add function prototype.
9364         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9365         are no instructions in the test, i.e. the loop is unconditional.
9366         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9367         tests when the condition is always true or always false.
9368         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9369         do-loops when the condition is always true.
9370         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9371         the for-expression is empty.
9372
9373 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9374
9375         * gcc.c (use_pipes): New flag.
9376         (process_command): Set it.  Adjust check for -pipe conflicting
9377         with -time or -save-temps.
9378         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9379         %<SWITCH.  Drop %| (without a SUFFIX).
9380         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9381         (give_switch): Third argument eliminated.
9382         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9383         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9384         (specs documentation comment): Update.
9385
9386         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9387         config/svr4.h, config/i386/freebsd-aout.h,
9388         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9389         config/m68k/openbsd.h, config/mips/openbsd.h,
9390         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9391         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9392         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9393         * config/cris/cris.h: Update comment.
9394
9395         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9396         error messages.  Don't use %{^SWITCH}.
9397         * ada/misc.c (gnat_decode_option): Handle -I with a
9398         separate argument.
9399
9400         * f/lang-specs.h: Use %| and %m.
9401         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9402         uses of %{<SWITCH} to %<SWITCH.
9403
9404         * doc/invoke.texi: Update documentation of specs.
9405         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9406
9407 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9408
9409         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9410         and STRICT_LOW_PART within SET_DEST.
9411         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9412         splitters, replacing pre-reload splitters.
9413         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9414         "*zero_extendqihi2_31"): New insns.
9415         ("*zero_extendqihi2_64"): Do not clobber CC.
9416
9417 2002-09-18  Devang Patel  <dpatel@apple.com>
9418
9419         * cp/cp-tree.h: New prototype for walk_vtables().
9420         * cp/decl.c (walk_vtables_r): New function.
9421         (struct cp_binding_level): Add new members, namespaces,
9422         names_size and vtables.
9423         (add_decl_to_level): Add decl in namespaces or vtables
9424         chain, if conditions match.
9425         (walk_vtables): New function.
9426         (walk_namespaces_r): Travers separate namespace chain
9427         for namespace decls.
9428         (wrapup_globals_for_namespace): Use names_size instead
9429         of list_length().
9430         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9431         walk_globals() to walk vtable decls.
9432
9433 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9434
9435         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9436         (DTORS_SECTION_ASM_OP): Ditto.
9437         (READONLY_DATA_SECTION_ASM_OP): Moved.
9438         (DATA_SECTION_ASM_OP): New.
9439         (SDATA_SECTION_ASM_OP): New.
9440         (BSS_SECTION_ASM_OP): New.
9441         (SBSS_SECTION_ASM_OP): New.
9442         (TEXT_SECTION_ASM_OP): New.
9443
9444 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9445
9446         * config/fp-bit.c: Follow spelling conventions.
9447         * config/d30v/d30v.c: Likewise.
9448         * config/d30v/d30v.h: Likewise.
9449         * config/fr30/fr30.c: Likewise.
9450         * config/fr30/fr30.h: Likewise.
9451         * config/fr30/fr30.md: Likewise.
9452         * config/frv/frv.c: Likewise.
9453         * config/frv/frv.h: Likewise.
9454         * config/h8300/h8300.c: Likewise.
9455         * config/h8300/lib1funcs.asm: Likewise.
9456         * config/i370/i370.c: Likewise.
9457         * config/i386/i386.h: Likewise.
9458         * config/i386/i386.md: Likewise.
9459         * config/i386/pentium.md: Likewise.
9460         * config/i386/winnt.c: Likewise.
9461         * config/i960/i960.c: Likewise.
9462         * config/ia64/ia64.h: Likewise.
9463         * config/ip2k/ip2k.c: Likewise.
9464         * config/ip2k/ip2k.h: Likewise.
9465         * config/ip2k/ip2k.md: Likewise.
9466         * config/ip2k/libgcc.S: Likewise.
9467
9468 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9469
9470         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9471         (GOTOFF_P): Extend to allow gotoff plus constant.
9472
9473 2002-09-18  Richard Henderson  <rth@redhat.com>
9474
9475         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9476         with INSN_B before COND_EARLIEST.  Don't check A and B for
9477         modification in condition range.  Reorder INSN_B for A==B properly.
9478         (if_convert): Iterate until no matches for a block.
9479
9480 2002-09-18  Richard Henderson  <rth@redhat.com>
9481
9482         * calls.c (store_one_arg): Rename default_align to parm_align;
9483         always adjust parm_align for downward padding.
9484
9485 2002-09-18  Richard Henderson  <rth@redhat.com>
9486
9487         * toplev.c (backend_init): Move init_real_once invocation ...
9488         (do_compile): ... here.
9489
9490 2002-09-18  Richard Henderson  <rth@redhat.com>
9491
9492         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9493         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9494
9495 2002-09-18  Richard Henderson  <rth@redhat.com>
9496
9497         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9498
9499 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9500
9501         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9502         floatdisf2_internal1.
9503         (floatdisf2): New define_expand.
9504         (floatdisf2_internal2): Likewise.
9505
9506 2002-09-18  Richard Henderson  <rth@redhat.com>
9507
9508         * real.c (sticky_rshift_significand): Collect sticky as
9509         unsigned long, not bool.
9510
9511 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9512
9513         * config/s390/s390.c (s390_address_cost): New function.
9514         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9515         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9516         (RTX_COST): Use COSTS_N_INSNS.
9517
9518 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9519             Donn Terry  <donnte@microsoft.com>
9520
9521         * stor-layout.c (place_field): Handle alignment of whole
9522         structures when MSVC compatible bitfields are involved.
9523         Change method of computing location of MS bitfields to
9524         be compatible with #pragma pack(n).
9525
9526         * tree.h (record_layout_info): Add new field
9527         remaining_in_alignment.
9528
9529         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9530         (pragma pack): Add paragraph on MSVC bitfield packing.
9531
9532 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9533
9534         PR optimization/7967
9535         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9536         register.
9537
9538 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9539
9540         * config/s390/s390.c: Follow spelling conventions.
9541         * config/sh/lib1funcs.asm: Likewise.
9542         * config/sh/sh.c: Likewise.
9543         * config/sh/sh.h: Likewise.
9544         * config/sparc/sparc.c: Likewise.
9545         * config/sparc/sparc.h: Likewise.
9546         * config/sparc/sparc.md: Likewise.
9547         * config/stormy16/stormy16.c: Likewise.
9548         * config/stormy16/stormy16.h: Likewise.
9549         * config/v850/v850.c: Likewise.
9550         * config/v850/v850.h: Likewise.
9551         * config/vax/vax.c: Likewise.
9552         * config/vax/vax.h: Likewise.
9553
9554 2002-09-18  Nick Clifton  <nickc@redhat.com>
9555
9556         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9557         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9558         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9559
9560 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9561
9562         * function.c (max_parm_reg_num): Remove.
9563         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9564         drop_through_at_end_p, move_cleanups_up,
9565         expand_end_case_dummy, case_index_expr_type): Likewise.
9566         * stor-layout.c (pos_from_byte): Likewise.
9567         * tree.c (chain_member_value, chain_member_purpose, listify,
9568         tree_int_cst_msb, index_type_equal): Likewise.
9569         * tree.h: Remove prototypes for unused functions.
9570
9571 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9572
9573         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9574         statement that the only translation is to en_UK.
9575
9576 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9577
9578         * config/alpha/alpha.c: Follow spelling conventions.
9579         * config/alpha/alpha.h: Likewise.
9580         * config/alpha/alpha.md: Likewise.
9581         * config/arc/arc.h: Likewise.
9582         * config/arm/arm.c: Likewise.
9583         * config/arm/arm.h: Likewise.
9584         * config/arm/arm.md: Likewise.
9585         * config/arm/pe.c: Likewise.
9586         * config/arm/unknown-elf.h: Likewise.
9587         * config/avr/avr.c: Likewise.
9588         * config/avr/avr.h: Likewise.
9589         * config/c4x/c4x.c: Likewise.
9590         * config/cris/cris.c: Likewise.
9591         * config/cris/cris.h: Likewise.
9592
9593 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9594
9595         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9596         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9597         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9598
9599 2002-09-17  Dale Johannesen  <dalej@apple.com>
9600
9601         * cfgcleanup.c (try_forward_edges):  Do not forward a
9602         branch to just after a loop exit before loop optimization;
9603         this interfered with doloop detection.
9604
9605 2002-09-17  Nick Clifton  <nickc@redhat.com>
9606
9607         * config/arm/arm.c (output_return_instruction): Do not
9608         writeback the stack pointer when it is being loaded.
9609         (arm_output_epilogue): Likewise.
9610
9611 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9612
9613         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9614         generate a pseudo reg that receives the result of a libcall.
9615         (prepare_float_lib_cmp): Likewise.
9616
9617 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9618
9619         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9620
9621 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9622
9623         Fix PR/7014 and related objc bugs:
9624         * c-typeck.c (comp_target_types): Added a reflexive argument.
9625         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9626         callers to provide the appropriate reflexive argument.
9627         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9628         typechecking for all cases of comparisons and assignments,
9629         particularly the obscure and less common ones involving protocols.
9630
9631 2002-09-17  Nick Clifton  <nickc@redhat.com>
9632
9633         * machmode.def (V1DImode): New mode.  A single element vector.
9634         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9635         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9636         * tree.c (build_common_tree_nodes_2): Build
9637         unsigned_V1DI_type_node and V1D1_type_node.
9638         * c-common.c (c_common_type_for_mode): Return
9639         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9640         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9641
9642 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9643
9644         * doc/objc.texi (Constant string objects): Extended documentation
9645         to make clear that the constant string class ivar layout is
9646         completely fixed.
9647
9648 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9649
9650         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9651         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9652
9653 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9654
9655         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9656         * gcc.c (make_relative_prefix): Likewise.
9657         * loop.c (check_final_value): Likewise.
9658         * jump.c (init_label_info): Remove return value.
9659         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9660
9661 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9662
9663         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9664         (ASM_PN_FORMAT): Define.
9665
9666 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9667
9668         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9669         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9670         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9671         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9672         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9673         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9674         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9675         Delete.
9676         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9677         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9678         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9679
9680         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9681         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9682
9683 2002-09-16  Richard Henderson  <rth@redhat.com>
9684
9685         * expr.c (emit_block_move): Set memory block size as appropriate
9686         for the copy.
9687
9688 2002-09-16  Richard Henderson  <rth@redhat.com>
9689
9690         PR fortran/3924
9691         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9692
9693 2002-09-16  Richard Henderson  <rth@redhat.com>
9694
9695         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9696         as well as OFFSET for BITPOS.
9697
9698 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9699
9700         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9701         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9702         winchip2 and c3.
9703         * doc/invoke.texi: Mention new aliases.
9704
9705 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9706
9707         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9708         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9709         downward.
9710         * function.c (pad_below):  Always compile.
9711         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9712         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9713         Pad below when the argument is not in a register and the padding
9714         direction is downward.
9715
9716         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9717         (PAD_VARARGS_DOWN): Define.
9718         * pa.c (function_arg_padding): Revise padding directions to make them
9719         compatible with the 32 and 64-bit runtime architecture documentation.
9720         (hppa_va_arg):  Add code to handle variable and size zero arguments
9721         passed by reference on TARGET_64BIT.  Reformat.
9722         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9723         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9724         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9725         Add comments.
9726         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9727         (RETURN_IN_MEMORY): Return size zero types in memory.
9728         (FUNCTION_VALUE): Return TFmode in general registers.
9729         (MUST_PASS_IN_STACK): Define.
9730         (FUNCTION_ARG_BOUNDARY): Simplify.
9731         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9732         by reference.
9733         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9734
9735 2002-09-16  Richard Henderson  <rth@redhat.com>
9736
9737         * real.c (do_fix_trunc): New.
9738         (real_arithmetic): Call it.
9739         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9740         with a floating-point result mode.
9741
9742 2002-09-16  Richard Henderson  <rth@redhat.com>
9743
9744         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9745         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9746         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9747         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9748         * builtins.c (fold_builtin_nan): New.
9749         (fold_builtin): Call it.
9750         * real.c (real_nan): Parse a non-empty string.
9751         (round_for_format): Fix NaN significand truncation.
9752         * real.h (real_nan): Return bool.
9753         * doc/extend.texi: Document new builtins.
9754
9755 2002-09-16  Jason Merrill  <jason@redhat.com>
9756             Danny Smith  <dannysmith@users.sourceforge.net>
9757
9758         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9759         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9760         (i386_pe_mark_dllimport): Not here.
9761
9762 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9763
9764         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9765
9766 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9767
9768         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9769         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9770         < 64.
9771         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9772
9773 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9774
9775         * calls.c (emit_library_call_value_1): Don't refer to
9776         hard_libcall_value.
9777         * optabs.c (prepare_float_lib_cmp): Likewise.
9778
9779 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9780
9781         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9782         mangling.
9783
9784         The following changes are merged from pch-branch:
9785
9786         * doc/gty.texi (GTY Options): Document %a.
9787         * gengtype.c (do_scalar_typedef): New function.
9788         (process_gc_options): Handle `length' option.
9789         (set_gc_used_type): A pointer to an array of structures doesn't
9790         qualify as a pointer to a structure.
9791         (output_escaped_param): Add `%a' escape.
9792         (write_gc_structure_fields): Allow 'desc' on array of unions.
9793         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9794         do_scalar_typedef.
9795
9796         * gengtype.c (enum rtx_code): Make global.
9797         (rtx_format): Make global.
9798         (rtx_next): New.
9799         (gen_rtx_next): New.
9800         (write_rtx_next): New.
9801         (adjust_field_rtx_def): Skip fields marked by chain_next.
9802         (open_base_files): Delete redundant prototype.
9803         (write_enum_defn): New.
9804         (output_mangled_typename): Correct abort call.
9805         (write_gc_marker_routine_for_structure): Handle chain_next and
9806         chain_prev options.
9807         (finish_root_table): Don't output redundant \n.
9808         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9809         * c-tree.h (union lang_tree_node): Add chain_next option.
9810
9811         * gengtype.h (NUM_PARAM): New definition.
9812         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9813         * gengtype.c (find_param_structure): New.
9814         (adjust_field_type): Handle param<n>_is option.
9815         (process_gc_options): Detect use_params option.  Update callers.
9816         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9817         'use_params' option.
9818         (open_base_files): Add splay-tree.h to list of files included.
9819         (output_mangled_typename): New.
9820         (write_gc_structure_fields): Update 'param' parameter to support
9821         multiple parameters.  Change name mangling.  Allow parameterized
9822         fields to have an apparent scalar type.  Handle param<n>_is options,
9823         use_param option.
9824         (write_gc_marker_routine_for_structure): Update for change to name
9825         mangling.  Better guess the output file for parameterized types.
9826         (write_gc_types): Update for change to name mangling.
9827         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9828         param<n>_is options.
9829         * doc/gty.texi (GTY Options): Add description of param<n>_is
9830         options, use_params option.
9831         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9832         * gengtype-lex.l: Produce token for param<n>_is.
9833         * gengtype-yacc.y: Parse param<n>_is.
9834
9835         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9836
9837         * rtl.c: Update comment describing rtx_format.
9838         * rtl.h (union rtunion): Separate definition and typedef.
9839         (struct rtx_def): Use gengtype to mark.
9840         * Makefile.in (gengtype.o): Also depend on rtl.def.
9841         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9842         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9843         * ggc-common.c (ggc_mark_rtx_children): Delete.
9844         (ggc_mark_rtx_children_1): Delete.
9845         (gt_ggc_m_rtx_def): Delete.
9846         * gengtype.c (adjust_field_rtx_def): New.
9847         (adjust_field_type): Call adjust_field_rtx_def.
9848         (write_gc_structure_fields): Add 'default' case to switch if none
9849         is specified; remove unused code.
9850
9851         * tree.h (struct tree_exp): Update for change to meaning
9852         of special.
9853         * gengtype.c (adjust_field_tree_exp): New function.
9854         (adjust_field_type): Handle `tree_exp' special here.
9855         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9856         Handle new `dot' option.
9857
9858         * gengtype.h: Make `info' a pointer-to-const.
9859         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9860
9861         * gengtype.c (write_gc_structure_fields): Remove implementation
9862         of `always' option, add `default' option.
9863         * doc/gty.texi (GTY Options): Remove documentation of `always',
9864         add `default'.
9865
9866 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9867
9868         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9869
9870 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9871
9872         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9873
9874         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9875         instead of the *-protos.h file directly.
9876         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9877         * darwin.c (machopic_output_stub): Move prototype ...
9878         * darwin-protos.h (machopic_output_stub): ... here.
9879         * rs6000-protos.h (machopic_output_stub): Don't declare.
9880
9881 2002-09-16  Richard Henderson  <rth@redhat.com>
9882
9883         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9884
9885 2002-09-16  Richard Henderson  <rth@redhat.com>
9886
9887         * real.c, real.h: Rewrite from scratch.
9888
9889         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9890         (paranoia): New target.
9891         * builtins.c (fold_builtin_inf): Use new real.h interface.
9892         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9893         * c-lex.c (interpret_float): Likewise.
9894         * emit-rtl.c (gen_lowpart_common): Likewise.
9895         * optabs.c (expand_float): Use real_2expN.
9896         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9897         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9898         (FLOAT_WORDS_BIG_ENDIAN): New.
9899         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9900         directly to REAL_VALUE_NEGATIVE.
9901         * loop.c (canonicalize_condition): Likewise.
9902         * simplify-rtx.c: Include tree.h.
9903         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9904         with floating-point result modes.
9905         * toplev.c (backend_init): Call init_real_once.
9906
9907         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9908         * tree.c (build_real): Likewise.
9909         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9910         float_values, inited_float_values, check_float_value): Remove.
9911         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9912         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9913         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9914         (VAX_HALFWORD_ORDER): Remove.
9915
9916 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
9917
9918         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9919         (s390_load_address): ... this new function.
9920         (s390_decompose_address): Allow the argument pointer and all
9921         virtual registers as 'pointer' registers.
9922         (s390_expand_plus_operand): Use s390_load_address.
9923         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9924         ("force_la_31"): New insn pattern.
9925         config/s390/s390-protos.h (legitimize_la_operand): Remove.
9926         (s390_load_address): Add prototype.
9927
9928         * config/s390/s390.c: Include "optabs.h".
9929         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9930         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9931         s390_expand_cmpstr): Add prototypes.
9932         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9933         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
9934         for operands 0 and 1 to "memory_operand".  Add type attribute.
9935         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
9936         for operands 0 and 1 to "memory_operand".  Add type attribute.
9937         ("movstrdi_long", "movstrsi_long"): Remove.
9938         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9939         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9940         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9941         ("clrstrsico"): Remove, replace by ...
9942         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9943         ("clrstrsi_64"): Rename to "clrstr_long_64".
9944         ("clrstrsi_31"): Rename to "clrstr_long_31".
9945         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9946         ("cmpstr_const"): Remove, replace by ...
9947         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9948         ("cmpstr_64"): Rename to "cmpstr_long_64".
9949         ("cmpstr_31"): Rename to "cmpstr_long_31".
9950
9951 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9952
9953         * ABOUT-NLS: Follow spelling conventions.
9954         * ChangeLog: Likewise.
9955         * ChangeLog.1: Likewise.
9956         * ChangeLog.2: Likewise.
9957         * ChangeLog.3: Likewise.
9958         * ChangeLog.4: Likewise.
9959         * ChangeLog.5: Likewise.
9960         * ChangeLog.6: Likewise.
9961         * FSFChangeLog.10: Likewise.
9962         * FSFChangeLog.11: Likewise.
9963         * c-common.c: Likewise.
9964         * c-lex.c: Likewise.
9965         * c-objc-common.c: Likewise.
9966         * cppexp.c: Likewise.
9967         * cppinit.c: Likewise.
9968         * cpplex.c: Likewise.
9969         * doloop.c: Likewise.
9970         * flow.c: Likewise.
9971         * function.c: Likewise.
9972         * integrate.c: Likewise.
9973         * loop.c: Likewise.
9974         * reg-stack.c: Likewise.
9975         * reload.h: Likewise.
9976         * ssa.c: Likewise.
9977
9978 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9979
9980         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
9981         * vmsdbgout.c: Include "target.h".
9982
9983 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9984
9985         * ChangeLog: Follow spelling conventions.
9986         * ChangeLog.0: Likewise.
9987         * ChangeLog.1: Likewise.
9988         * ChangeLog.2: Likewise.
9989         * ChangeLog.4: Likewise.
9990         * ChangeLog.6: Likewise.
9991         * config.gcc: Likewise.
9992         * dwarfout.c: Likewise.
9993         * reload1.c: Likewise.
9994         * simplify-rtx.c: Likewise.
9995         * unwind-sjlj.c: Likewise.
9996         * config/avr/avr.h: Likewise.
9997         * config/d30v/d30v.h: Likewise.
9998         * config/frv/frv.c: Likewise.
9999         * config/frv/frv.h: Likewise.
10000         * config/ip2k/ip2k.h: Likewise.
10001         * config/m88k/m88k-move.sh: Likewise.
10002         * config/stormy16/stormy16.c: Likewise.
10003         * config/stormy16/stormy16.h: Likewise.
10004         * doc/extend.texi: Likewise.
10005         * doc/interface.texi: Likewise.
10006         * doc/invoke.texi: Likewise.
10007         * doc/md.texi: Likewise.
10008         * doc/rtl.texi: Likewise.
10009         * doc/tm.texi: Likewise.
10010         * doc/trouble.texi: Likewise.
10011         * ginclude/float.h: Likewise.
10012         * treelang/treelang.texi: Likewise.
10013
10014 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10015
10016         * i386-protos.h (i386_pe_dllexport_name_p,
10017         i386_pe_dllimport_name_p, i386_pe_unique_section,
10018         i386_pe_declare_function_type, i386_pe_record_external_function,
10019         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
10020         prototype.
10021         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
10022         * i386/t-interix (winnt.o): Likewise.
10023
10024         * v850-protos.h (v850_output_addr_const_extra): Prototype.
10025
10026 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10027
10028         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
10029         MIPS ABI CPP macros.
10030         (TARGET_CPU_CPP_BUILTINS): Redefine.
10031         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
10032         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
10033
10034 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10035
10036         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
10037
10038 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10039
10040         * ChangeLog: Follow spelling conventions.
10041         * ChangeLog.0: Likewise.
10042         * ChangeLog.1: Likewise.
10043         * ChangeLog.2: Likewise.
10044         * ChangeLog.3: Likewise.
10045         * ChangeLog.4: Likewise.
10046         * ChangeLog.5: Likewise.
10047         * ChangeLog.6: Likewise.
10048         * FSFChangeLog.10: Likewise.
10049         * FSFChangeLog.11: Likewise.
10050         * c-common.c: Likewise.
10051         * c-common.h: Likewise.
10052         * c-format.c: Likewise.
10053         * c-opts.c: Likewise.
10054         * cpplib.c: Likewise.
10055         * langhooks.h: Likewise.
10056         * real.c: Likewise.
10057         * reg-stack.c: Likewise.
10058         * toplev.c: Likewise.
10059         * config/arm/arm.c: Likewise.
10060         * config/arm/arm.md: Likewise.
10061         * config/arm/linux-gas.h: Likewise.
10062         * config/arm/netbsd.h: Likewise.
10063         * config/c4x/c4x.c: Likewise.
10064         * config/c4x/c4x.h: Likewise.
10065         * config/c4x/c4x.md: Likewise.
10066         * config/c4x/libgcc.S: Likewise.
10067         * config/fr30/fr30.md: Likewise.
10068         * config/frv/frv.md: Likewise.
10069         * config/ia64/ia64.md: Likewise.
10070         * config/mips/mips.h: Likewise.
10071         * config/mn10300/mn10300.c: Likewise.
10072         * config/stormy16/stormy16.c: Likewise.
10073         * config/v850/v850.md: Likewise.
10074         * doc/extend.texi: Likewise.
10075         * doc/invoke.texi: Likewise.
10076         * doc/md.texi: Likewise.
10077
10078 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10079
10080         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
10081         library if -pthread is specified.
10082
10083 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
10084
10085         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
10086         for --enable-threads=yes and --enable-threads=posix.
10087
10088 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
10089
10090         * config/sparc/cypress.md: Replace Sparc with SPARC.
10091         * config/sparc/freebsd.h: Likewise.
10092         * config/sparc/gmon-sol2.c: Likewise.
10093         * config/sparc/hypersparc.md: Likewise.
10094         * config/sparc/lb1spc.asm: Likewise.
10095         * config/sparc/lb1spl.asm: Likewise.
10096         * config/sparc/linux.h: Likewise.
10097         * config/sparc/linux64.h: Likewise.
10098         * config/sparc/lynx.h: Likewise.
10099         * config/sparc/sol2.h: Likewise.
10100         * config/sparc/sparc-modes.def: Likewise.
10101         * config/sparc/sparc.c: Likewise.
10102         * config/sparc/sparc.h: Likewise.
10103         * config/sparc/sparc.md: Likewise.
10104         * config/sparc/sparclet.md: Likewise.
10105         * config/sparc/supersparc.md: Likewise.
10106         * config/sparc/sysv4.h: Likewise.
10107         * config/sparc/vxsim.h: Likewise.
10108         * config/sparc/vxsparc64.h: Likewise.
10109
10110 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10111
10112         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
10113         * collect2.c (ignore_library, aix_std_libs): Move into the context
10114         where it is used.
10115         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
10116         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
10117         * m88k.c (output_call): Wrap variables with macro controlling use.
10118         * rs6000.md: Likewise.  Const-ify variable.
10119         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
10120         * final.c (only_leaf_regs_used): Likewise.
10121         * regrename.c (maybe_mode_change): Mark parameter with
10122         ATTRIBUTE_UNUSED.
10123         * reload.c (find_valid_class): Likewise.  Likewise for variable.
10124         (find_reloads_address_1): Likewise.
10125         * varasm.c (weak_finish): Wrap variable with macro controlling use.
10126
10127 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10128
10129         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
10130
10131 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10132
10133         * ChangeLog: Follow spelling conventions.
10134         * ChangeLog.0: Likewise.
10135         * ChangeLog.2: Likewise.
10136         * ChangeLog.3: Likewise.
10137         * ChangeLog.4: Likewise.
10138         * ChangeLog.5: Likewise.
10139         * ChangeLog.6: Likewise.
10140         * cppfiles.c: Likewise.
10141         * cppinit.c: Likewise.
10142         * cpplib.h: Likewise.
10143         * cse.c: Likewise.
10144         * debug.h: Likewise.
10145         * df.c: Likewise.
10146         * dominance.c: Likewise.
10147         * hashtable.c: Likewise.
10148         * hashtable.h: Likewise.
10149         * loop.c: Likewise.
10150         * config/arm/README-interworking: Likewise.
10151         * config/arm/arm.c: Likewise.
10152         * config/arm/arm.h: Likewise.
10153         * config/arm/arm.md: Likewise.
10154         * config/dsp16xx/dsp16xx.h: Likewise.
10155         * config/frv/frv.c: Likewise.
10156         * config/frv/frv.h: Likewise.
10157         * config/ip2k/ip2k.h: Likewise.
10158         * config/rs6000/rs6000.c: Likewise.
10159         * config/stormy16/stormy-abi: Likewise.
10160         * config/stormy16/stormy16.h: Likewise.
10161         * config/v850/v850.c: Likewise.
10162
10163 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10164
10165         * loop.c: Fix a comment typo.
10166
10167 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10168
10169         * config/fr30/fr30.h: Fix comment typos.
10170         * config/frv/frv.c: Likewise.
10171         * config/i386/xmmintrin.h: Likewise.
10172         * config/mips/mips.c: Likewise.
10173         * config/sh/sh.c: Likewise.
10174
10175 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10176
10177         * haifa-sched.c: Follow spelling conventions.
10178         * regclass.c: Likewise.
10179         * regrename.c: Likewise.
10180         * config/fp-bit.c: Likewise.
10181         * config/frv/frv.h: Likewise.
10182         * config/m88k/m88k.c: Likewise.
10183         * config/mcore/mcore.c: Likewise.
10184         * config/rs6000/darwin.h: Likewise.
10185         * config/rs6000/gnu.h: Likewise.
10186         * config/rs6000/linux.h: Likewise.
10187         * config/rs6000/linux64.h: Likewise.
10188         * config/rs6000/rs6000.c: Likewise.
10189         * config/rs6000/rs6000.h: Likewise.
10190         * config/sh/sh.c: Likewise.
10191         * config/sparc/sparc.c: Likewise.
10192         * config/sparc/ultra1_2.md: Likewise.
10193
10194 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10195
10196         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10197         memory operand when source is 0 (K constraint).
10198         ("movsi_internal"): Likewise.
10199         ("movdf_internal"): Likewise.
10200         ("movsf_internal"): Likewise.
10201
10202 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10203
10204         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10205         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10206         (rs6000_xcoff_encode_section_info): Likewise.
10207         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10208
10209 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10210
10211         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10212
10213 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10214
10215         * stmt.c (struct nexting): Remove unused alt_end_label field.
10216         (expand_start_loop): Delete initialization of alt_end_label.
10217         (expand_start_null_loop): Likewise.
10218         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10219
10220 2002-09-13  Richard Henderson  <rth@redhat.com>
10221
10222         * Makefile.in (toplev.o): Depend on real.h.
10223         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10224
10225 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10226
10227         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10228         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10229         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10230
10231 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10232
10233         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10234
10235 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10236
10237         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10238         ia64*-*-linux*): Set extra_parts.
10239         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10240         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10241
10242 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10243
10244         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10245         * config/h8300/h8300.c: Likewise.
10246         * config/h8300/h8300.h: Likewise.
10247         * config/h8300/h8300.md: Likewise.
10248         * doc/invoke.texi: Likewise.
10249
10250 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10251
10252         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10253
10254 2002-09-13  Richard Henderson  <rth@redhat.com>
10255
10256         * config/alpha/alpha.md (attr type): Add callpal.
10257         (imb, trap, load_tp, set_tp): Use it.
10258         * config/alpha/ev4.md (ev4_callpal): New.
10259         * config/alpha/ev5.md (ev5_callpal): New.
10260         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10261         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10262         (alphaev5_insn_pipe): Likewise.
10263
10264 2002-09-13  Andreas Jaeger  <aj@suse.de>
10265
10266         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10267
10268 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10269
10270         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10271         LIB2ADDEH): New, set to NULL.
10272         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10273
10274 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10275
10276         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10277         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10278         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10279         Add declarations.
10280         (_U_Qfneg): Remove.
10281
10282 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10283
10284         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10285         for H8/300, H8S aa:8 mode.
10286         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10287         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10288         for H8/300 aa:8 mode.
10289
10290 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10291
10292         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10293         insns.
10294
10295 2002-09-12  Richard Henderson  <rth@redhat.com>
10296
10297         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10298         (print-rtl.o): Don't define GENERATOR_FILE.
10299         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10300         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10301         unless GENERATOR_FILE.
10302
10303 2002-09-12  Stan Shebs  <shebs@apple.com>
10304
10305         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10306         * config/i386/darwin.h: ... instead of here.
10307
10308         * target.h (struct gcc_target): New field
10309         terminate_dw2_eh_frame_info.
10310         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10311         (TARGET_INITIALIZER): Add it.
10312         * dwarf2out.c (output_call_frame_info): Use target hook.
10313         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10314         ASM_OUTPUT_DWARF_DELTA if defined.
10315         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10316         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10317         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10318         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10319         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10320         (powerpc-*-darwin*): Ditto.
10321         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10322         to work correctly for Darwin.
10323         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10324         (STARTFILE_SPEC): Add crtbegin.o.
10325         (ENDFILE_SPEC): Define.
10326         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10327         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10328         (ASM_OUTPUT_DWARF_DELTA): Define.
10329         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10330         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10331
10332 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10333
10334         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10335         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10336         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10337
10338 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10339
10340         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10341         * defaults.h: ... here.
10342
10343 2002-09-12  Richard Henderson  <rth@redhat.com>
10344
10345         * vax.c: Include tree.h earlier.
10346
10347 2002-09-12  Stan Shebs  <shebs@apple.com>
10348
10349         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10350         (machopic_operand_p): Ditto.
10351
10352 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10353
10354         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10355         Fix a comment typo.
10356
10357 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10358
10359         * toplev.c (do_abort): Fix a comment typo.
10360
10361 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10362
10363         * cselib.c: Fix comment formatting.
10364         * gengtype.c: Likewise.
10365
10366 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10367
10368         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10369         (udivmodhi4): Likewise.
10370
10371 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10372             Roger Sayle  <roger@eyesopen.com>
10373
10374         * i386.c (any_fp_register_operand, fp_register_operand,
10375         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10376         New predicate functions.
10377         * i386-protos.h:  Add their prototypes.
10378         * i386.h: Add them to PREDICATE_CODES.
10379         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10380         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10381         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10382         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10383         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10384         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10385         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10386         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10387         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10388         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10389         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10390         Use these new predicates to simplify and correct the use of
10391         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10392
10393 2002-09-12  Jason Merrill  <jason@redhat.com>
10394
10395         * diagnostic.c (output_add_identifier): New fn.
10396         * diagnostic.h: Declare it.
10397
10398         * calls.c (store_one_arg): Use size_in_bytes to determine the
10399         amount of space to push.
10400
10401 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10402
10403         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10404
10405 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10406
10407         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10408         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10409         (s390_select_ccmode): Likewise.
10410         (s390_branch_condition_mask): Likewise.
10411         (optimization_options): Do not set flag_branch_on_count.
10412         (s390_split_branches): Handle doloop branches.
10413         (s390_chunkify_pool): Likewise.
10414         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10415         ("doloop_end"): New expander.
10416         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10417         associated splitters): New.
10418
10419 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10420
10421         * genattrtab.c (simplify_cond): Remove unused variable(s).
10422         * global.c (record_conflicts): Likewise.
10423         * jump.c (rebuild_jump_labels): Likewise.
10424         * loop.c (scan_loop, check_final_value): Likewise.
10425         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10426         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10427         * rtlanal.c (reg_set_p): Likewise.
10428         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10429         * genautomata.c (empty_reserv): Remove.
10430         * loop.c (max_luid): Likewise.
10431         * sched-rgn.c (bitlst_table_size): Likewise.
10432
10433 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10434
10435         Reimplement gcov format.
10436         * gcov-io.h: Replace.
10437         * gcov.c: Reimplement.
10438         * gcov-iov.c: New file.
10439         * gcov-dump.c: New file.
10440         * libgcc2.c (L_bb): Replace with ...
10441         (L_gcov): ... this.
10442         (struct bb_function_info, struct bb): Remove.
10443         (inhibit_libc): Never inhibit.
10444         (gcov_list, gcov_crc): New static variables.
10445         (gcov_version_mismatch): New static function.
10446         (__bb_exit_func): Renamed to ...
10447         (__gcov_exit): ... here. Made static. Reimplement.
10448         (__gcov_init_func): Rename to ...
10449         (__gcov_init): ... here. Check version, update crc.
10450         (__bb_fork_func): Rename to ...
10451         (__gcov_flush): ... here.
10452         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10453         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10454         * calls.c (expand_call): Call __gcov_flush.
10455         * profile.c (bb_file, last_bb_file_name): Remove.
10456         (bbg_file_name): New global variable.
10457         (output_gcov_string): Remove.
10458         (get_exec_counts): Reimplement.
10459         (branch_prob): Reimplement gcov file writing.
10460         (init_branch_prob): Create bbg_file_name, don't create
10461         bb_file_name.
10462         (end_branch_prob): Adjust. Don't remove counter file when
10463         instrumenting ourselves.
10464         (create_profiler): Adjust.
10465         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10466         point to gcov-io.h.
10467         * Makefile.in (LANGUAGES): Add gcov-dump.
10468         (coverageexts): Remove .bb.
10469         (STAGESTUFF): Add gcov-dump.
10470         (LIB2FUNCS_ST): Replace _bb with _gcov.
10471         (profile.o): Depend on gcov-iov.h.
10472         (final.o): Don't depend on profile.h, gcov.h.
10473         (gcov.o): Depend on gcov-iov.h.
10474         (gcov-iov.o): New target.
10475         (gcov-iov): New target.
10476         (gcov-iov.h): New target.
10477         (gcov-dump.o): New target.
10478         (GCOV_DUMP_OBJS): New variable.
10479         (gcov-dump): New target.
10480         (distclean): Remove coverageexts.
10481         (stage1): Remove coverageexts.
10482
10483 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10484
10485         * fold-const.c (make_range): Only narrow to signed range if
10486         the signed range is smaller than the unsigned range.
10487
10488 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10489
10490         * emit-rtl.c (set_mem_size): New function.
10491         * expr.h (set_mem_size): Declare.
10492         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10493         (expand_block_move): Instead, use adjust_address and
10494         replace_equiv_address to generate proper aliasing info.
10495         Move common code out of conditionals.  Localize vars.
10496
10497 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10498
10499         * optabs.c (expand_binop): Minor cleanup.
10500         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10501
10502 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10503
10504         * print-tree.c (print_node): Print the restrict qualifier.
10505
10506 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10507
10508         * doc/install.texi: Fix typos.
10509
10510 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10511
10512         * Makefile.in: Remove all references to s-under and underscore.c.
10513         * collect2.c, tlink.c: Change all uses of prepends_underscore
10514         to look directly at USER_LABEL_PREFIX.
10515
10516 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10517
10518         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10519         alignment to csect.
10520         (rs6000_xcoff_unique_section): Only set section name for public
10521         data.
10522         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10523         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10524         duplicate definition.
10525
10526 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10527
10528         * pa.md (extzv): Check predicates before emitting extzv_32.
10529         (insv): Likewise.
10530
10531 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10532
10533         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10534         (MAX_MOVE_MAX): Define.
10535         (MOVE_BY_PIECES_P): Define.
10536         (CLEAR_BY_PIECES_P): Define.
10537
10538 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10539
10540         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10541
10542 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10543
10544         PR c/7873
10545         * arm.md (insv): Use reg_or_int_operand for operand[3].
10546
10547 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10548
10549         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10550         inside macro.  Correct function definition typo.
10551         (rs6000_xcoff_section_type_flags): New function.
10552         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10553         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10554         with appropriate PIC test.
10555         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10556         determine readonly.
10557         (rs6000_binds_local_p): Combine PIC flags.
10558         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10559         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10560
10561 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10562
10563         * h8300.md: Fix signed/unsigned warnings.
10564         * mcore.md: Likewise.
10565         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10566
10567 2002-09-09  Per Bothner  <per@bothner.com>
10568
10569         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10570         characters, and only print TREE_STRING_LENGTH chars.
10571
10572 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10573
10574         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10575         (ASM_FILE_END) New.
10576         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10577         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10578         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10579         of external functions if TARGET_HPUX_LD is true.
10580         (ia64_hpux_add_extern_decl): New, routine to put names on
10581         list of external functions.
10582         (ia64_hpux_asm_file_end): Put out declarations for external
10583         functions if and only if they are used.
10584
10585 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10586
10587         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10588         on TARGET_64BIT before pic register restore.
10589
10590 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10591
10592         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10593         (TARGET_HAVE_TLS): New description.
10594
10595 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10596
10597         * doc/extend.texi (Statement Exprs): Fix broken link.
10598
10599 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10600
10601         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10602         right conversion of operands[1].
10603
10604 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10605
10606         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10607         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10608         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10609
10610         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10611         as commutative.
10612
10613         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10614         mark as commutative.  Use "nonimmediate_operand" instead of
10615         "register_operand" as predicate for operand 1.
10616
10617         ("movstrictsi"): Fix typo in insn name.
10618
10619 2002-09-09  Jan Hubicka  <jh@suse.cz>
10620
10621         * i386.c (index_register_operand): New.
10622         * i386.h (predicate_codes): Add new predicate.
10623         * i386.md (lea_general_*): Use index_register_operand
10624         (ashift to lea splitter): Do not produce invalid leas
10625         (ashift to mov+ashift split): New.
10626
10627 2002-09-09  Nick Clifton  <nickc@redhat.com>
10628
10629         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10630         Fix folding marks.
10631
10632 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10633             J"orn Rennecke <joern.rennecke@superh.com>
10634
10635         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10636
10637 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10638
10639         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10640         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10641         attributes.
10642
10643 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10644
10645         * basic_block.h (gcov_type): Explain why it is signed.
10646         * final.c: Don't include profile.h.
10647         (struct function_list, functions_head, functions_tail,
10648         end_final): Moved to profile.c
10649         (final): Move arc chaining code to profile.c.
10650         * function.c (prepare_function_start): Remove duplicate line.
10651         * output.h (end_final): Remove prototype.
10652         * predict.c (estimate_loops_at_level): Use gcov_type.
10653         * profile.c (struct function_list, functions_head,
10654         functions_tail): Moved from final.c
10655         (need_func_profiler): Remove.
10656         (instrument_edges): Don't set need_func_profiler.
10657         (get_exec_counts): Avoid signed/unsigned warning.
10658         (compute_checksum): Use crc32.
10659         (branch_prob): Adjust. Chain onto functions_head.
10660         (init_branch_prob): Absorb init_edge_profiler.
10661         (init_edge_profiler): Remove.
10662         (create_profiler): Moved and renamed from final.c:end_final.
10663         Emit data and constructor.
10664         (output_func_start_profiler): Remove.
10665         * profile.h (struct profile_info): checksum is unsigned.
10666         * rtl.h (output_func_start_profiler): Remove prototype.
10667         (create_profiler): Declare.
10668         * toplev.c (compile_file): Call create_profiler, if instrumenting
10669         arcs. Don't call end_final.
10670
10671 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10672
10673         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10674
10675 2002-09-08  Richard Henderson  <rth@redhat.com>
10676
10677         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10678         (DW_OP_GNU_push_tls_address): New.
10679         (DW_OP_lo_user): Fix.
10680         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10681         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10682         (size_of_loc_descr): Likewise.
10683         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10684         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10685         (loc_descriptor_from_tree): Handle TLS variables.
10686         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10687         (add_location_or_const_value_attribute): ... not here.  Defer
10688         to loc_descriptor_from_tree for TLS variables.
10689
10690         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10691         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10692         * config/i386/i386-protos.h: Update.
10693
10694 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10695
10696         PR optimization/6405
10697         * unroll.c (loop_iterations): last_loop_insn should be the previous
10698         non-note instruction before loop->end.
10699         * loop.c (strength_reduce): The conditional jump is the last
10700         non-note instruction before loop->end (as above).
10701
10702 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10703
10704         * combine.c (try_combine): Handle the case that undobuf.other_insn
10705         has been turned into a return or unconditional jump, by inserting
10706         a BARRIER if necessary.
10707         (simplify_set):  Test if a condition code setter has a constant
10708         comparison at compile time, if so convert this insn to a no-op move
10709         and update/simplify the condition code user (undobuf.other_insn).
10710
10711 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10712
10713         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10714         (CLEAR_INSN_CACHE): Define.
10715
10716 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10717
10718         * basic-block.h: Fix comment formatting.
10719         * c-common.c: Likewise.
10720         * c-common.h: Likewise.
10721         * c-lex.c: Likewise.
10722         * c-pretty-print.c: Likewise.
10723         * cfglayout.c: Likewise.
10724         * cfgloop.c: Likewise.
10725         * defaults.h: Likewise.
10726         * et-forest.c: Likewise.
10727         * explow.c: Likewise.
10728         * function.h: Likewise.
10729         * gcov.c: Likewise.
10730         * genattrtab.c: Likewise.
10731         * gengtype.c: Likewise.
10732         * ifcvt.c: Likewise.
10733         * libgcc2.c: Likewise.
10734         * loop.c: Likewise.
10735         * profile.c: Likewise.
10736         * ra-build.c: Likewise.
10737         * real.c: Likewise.
10738         * rtl.h: Likewise.
10739         * tracer.c: Likewise.
10740         * tree-inline.c: Likewise.
10741         * varasm.c: Likewise.
10742
10743 2002-09-08  Jan Hubicka  <jh@suse.cz>
10744
10745         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10746         handling.
10747
10748         * loop.c (loop_givs_reduce):  Emit addition after.
10749
10750 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10751
10752         * varasm.c (default_assemble_visibility): Rename from
10753         assemble_visibility.
10754         * output.h: Here too.
10755         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10756         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10757
10758 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10759
10760         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10761         find_reloads_address.
10762
10763 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10764
10765         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10766         (anonymous pattern): Likewise.
10767
10768 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10769
10770         * machmode.def: Add modes for half-float vectors.
10771
10772 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10773
10774         PR target/7374
10775         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10776
10777 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10778
10779         * basic-block.h (struct loop): Remove unused cont_dominator field.
10780
10781 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10782
10783         * varasm.c (decode_rtx_const): Don't check undefined field for
10784         CONST_VECTOR.
10785
10786 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10787
10788         PR opt/7814
10789         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10790         to reg_last->sets after flushing the dependency lists to guarantee
10791         that subsequent clobbers will be dependent on it.
10792
10793 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10794
10795         * combine.c (simplify_shift_const): Calculate rotate count
10796         correctly for vector operands.
10797
10798 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10799
10800         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10801         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10802         tree_expr_nonnegative_p.
10803         (build_conditional_expr): Likewise.
10804         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10805
10806 2002-09-07  Richard Henderson  <rth@redhat.com>
10807
10808         * builtins.def (inf, inff, infl): Mark const.
10809         (huge_val, huge_valf, huge_vall): Likewise.
10810         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10811
10812         * real.c (ereal_inf): Clear E before use.
10813
10814 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10815
10816         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10817         an expander and an anonymous pattern.  Zero out the upper half
10818         of the dividend in the expander.
10819         (udivmodqi4): Likewise.
10820
10821 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10822
10823         * config/h8300/h8300.c: Fix formatting.
10824         * config/h8300/h8300.h: Likewise.
10825         * config/h8300/h8300.md: Likewise.
10826
10827 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10828
10829         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10830         information.
10831
10832 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10833
10834        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10835
10836 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10837
10838         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10839
10840         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10841         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10842         (TARGET_ASM_OUT): Add the above here.
10843         * target.h (struct gcc_target): Add "visibility" field.
10844         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10845         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10846         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10847         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10848
10849 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10850
10851         * c-lang.c (objc_is_id): New stub.
10852         * c-tree.h (objc_is_id): New forward declaration.
10853         * c-typeck.c (build_c_cast): Do not strip protocol
10854         qualifiers from 'id' type.
10855         * objc/objc-act.c (objc_comptypes): Correct handling
10856         of protocol qualifiers.
10857         (objc_is_id): New.
10858
10859 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10860
10861         * pentium.md (pentium-firstvboth): Fix typo.
10862
10863 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10864
10865         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10866         (enum shift_type, enum h8_cpu): Likewise.
10867         (INL, ROT, LOP, SPC macros): Likewise.
10868         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10869         const designator.
10870         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10871         space efficient algorithms when optimize for codesize.
10872
10873 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10874
10875         Fix PR/1727 and long-standing failing testcase
10876         objc/formal-protocol-6.m.
10877         * objc-act.c (build_protocol_expr): If compiling for the GNU
10878         runtime, create a list of Protocol statically allocated instances
10879         if it doesn't exist, then add the Protocol object to this same
10880         list.
10881         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10882         instead of TREE_CHAIN.
10883
10884 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10885
10886         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10887         10k.  Fixed category dumping - print out category names with the
10888         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
10889         interface.
10890         (finish_objc): Fixed the -gen-decls option.  It was printing out
10891         only the last class.  Dump an interface declaration of all classes
10892         being compiled instead.
10893
10894 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
10895
10896         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10897         prototype.
10898         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10899         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10900         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
10901         rather than GEN_INT.
10902         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10903         (return_addr_mask, *check_arch2): New.
10904
10905 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
10906
10907         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10908         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10909         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10910         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10911         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10912         "adddf3", "*adddf3", "*adddf3_ibm",
10913         "addsf3", "*addsf3", "*addsf3_ibm",
10914         "muldi3", "mulsi3", "mulsidi3",
10915         "muldf3", "*muldf3", "*muldf3_ibm",
10916         "mulsf3", "*mulsf3", "*mulsf3_ibm",
10917         "*anddi3_cc", "*anddi3_cconly", "anddi3",
10918         "*andsi3_cc", "*andsi3_cconly", "andsi3",
10919         "*iordi3_cc", "*iordi3_cconly", "iordi3",
10920         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10921         "*xordi3_cc", "*xordi3_cconly", "xordi3",
10922         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10923         instead of "register_operand" as predicate for "%0" operand.
10924
10925 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
10926
10927         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10928         unconditionally when gcc_cv_as_flags64 checks are gone.
10929         * configure: Rebuilt.
10930
10931 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
10932
10933         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10934         2002-07-26 change.  Comment.
10935
10936 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10937
10938         * frv.c (frv_unique_section, frv_select_section,
10939         frv_select_rtx_section): Delete.
10940         (frv_in_small_data_p): New.
10941         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10942         TARGET_ASM_SELECT_RTX_SECTION): Delete.
10943         (TARGET_IN_SMALL_DATA_P): Define.
10944
10945 2002-09-05  Dale Johannesen  <dalej@apple.com>
10946
10947         * reload1.c (reload):  Retain only those memory clobbers
10948         added for variable-array handling.
10949
10950 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10951
10952         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10953         return-in-memory rules.
10954         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10955
10956 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10957
10958         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10959         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10960
10961 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10962
10963         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10964         not a compile-time constant for the non-IBM case.
10965         * config/arm/arm-protos.h (arm_float_words_big_endian): New
10966         prototype.
10967         * config/arm/arm.c (arm_float_words_big_endian): New function.
10968         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10969         if TARGET_VFP  and not TARGET_HARD_FLOAT.
10970         (ARM_FLAG_VFP, TARGET_VFP): Define.
10971         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10972
10973 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10974
10975         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
10976         URLs.  Fix AIX wording.
10977
10978 2002-09-05  Stan Shebs  <shebs@apple.com>
10979
10980         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
10981         -fPIC equivalent on Darwin.
10982
10983 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
10984
10985         * sh.c (sh_expand_builtin): Return early if encountering an
10986         error_mark for a type.
10987
10988 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
10989
10990         * config/s390/s390.c (s390_expand_plus_operand): Do not require
10991         double-word scratch register.
10992         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
10993
10994         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
10995         "*cli"): Replace s_operand by memory_operand.
10996         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
10997
10998 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
10999
11000         * config/h8300/h8300.c (asm_file_start): Add a missing
11001         semicolon.
11002
11003 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11004
11005         * c-typeck.c (build_function_call): Remove unused variable(s).
11006         (build_c_cast): Likewise.
11007         * calls.c (rtx_for_function_call): Likewise.
11008         * cfglayout.c (duplicate_insn_chain): Likewise.
11009         * cfgloop.c (flow_loop_nodes_find): Likewise.
11010         * cfgrtl.c (split_edge): Likewise.
11011         * df.c (df_ref_create): Likewise.
11012         * except.c (expand_end_catch): Likewise.
11013         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
11014         * function.c (emit_return_into_block): Likewise.
11015         (reposition_prologue_and_epilogue_notes): Likewise.
11016         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
11017         * combine.c (subst_prev_insn, need_refresh): Remove.
11018         * dwarf2out.c (primary_filename): Remove.
11019         * final.c (new_block): Remove.
11020         * gcse.c (orig_bb_count): Remove.
11021
11022 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11023
11024         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
11025         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
11026         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
11027         directly instead of using a function pointer.
11028
11029 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
11030
11031         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
11032         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
11033         (ix86_output_addr_diff_elt) Likewise.
11034         (x86_output_mi_thunk) Likewise.
11035         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
11036
11037 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11038
11039         * frv.c (frv_encode_section_info): Fix error in last change.
11040
11041 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11042
11043         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
11044         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
11045         (TARGET_BINDS_LOCAL_P): Define.
11046         (rs6000_override_options): Save original flag_pic value.
11047         (rs6000_elf_select_section): Call default_elf_select_section_1.
11048         (rs6000_elf_unique_section): Call default_unique_section_1.
11049         (rs6000_elf_in_small_data_p): New function.
11050         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
11051         (rs6000_xcoff_select_section): Update based on defaults.
11052         (rs6000_xcoff_unique_section): Set to basic name if not common.
11053         (rs6000_binds_local_p): New function.
11054         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
11055         targetm.have_srodata_section if SDATA_EABI.
11056         (TARGET_IN_SMALL_DATA_P): Define.
11057
11058 2002-09-04  Dale Johannesen  <dalej@apple.com>
11059
11060         * varasm.c (struct rtx_const, decode_rtx_const):
11061         Make veclo and vechi fields not share storage.
11062
11063 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11064
11065         * loop.c (scan_loop): Don't mark separate insns out of a libcall
11066         for moving.
11067         (move_movables): Abort if we see the first insn of a libcall.
11068
11069 2002-09-04  Richard Henderson  <rth@redhat.com>
11070
11071         * builtin-types.def (BT_FN_FLOAT): New.
11072         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
11073         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
11074         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
11075         * builtins.c (fold_builtin_inf): New.
11076         (fold_builtin): Call it.
11077         * real.c (ereal_inf): New.
11078         * real.h: Declare it.
11079         * doc/extend.texi: Document new builtins.
11080
11081 2002-09-04  Richard Henderson  <rth@redhat.com>
11082
11083         * cse.c (cse_insn): Avoid subreg games if the equivalence
11084         is already in the proper mode.
11085
11086 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
11087
11088         PR c/7102
11089         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
11090
11091 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11092
11093         * pa.md (setccfp0, setccfp1): New patterns.
11094
11095 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11096
11097         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
11098         frv_select_section, frv_select_rtx_section,
11099         frv_encode_section_info, frv_unique_section): Delete.
11100         * frv.c: Update for target hooks.
11101         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
11102         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
11103         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
11104
11105 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11106
11107         * ip2k-protos.h (function_prologue, function_epilogue,
11108         encode_section_info): Update to match target hook specification.
11109         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
11110         (function_prologue, function_epilogue, encode_section_info):
11111         Update to match target hook specification.
11112         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
11113         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
11114         (NOTICE_UPDATE_CC): Cast to void.
11115         * ip2k.md: Add defaults in switch statements.
11116
11117 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11118
11119         * doc/trouble.texi (Interoperation): Update information about C++ ABI
11120         issues.
11121
11122 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
11123
11124         * config/sparc/t-netbsd64: Disable multilib for now.
11125
11126 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
11127
11128         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
11129         * target.h (gcc_target): Add have_srodata_section member.
11130         * varasm.c (section_category): Add SECCAT_SRODATA.
11131         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
11132         READONLY_SDATA_SECTION defined.
11133         (decl_readonly_section_1): True for SECCAT_SRODATA also.
11134         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
11135         (default_unique_section_1): Likewise.
11136
11137 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11138
11139         * expr.c (emit_group_load): Revise to allow splitting TCmode source
11140         into DImode pieces.
11141
11142         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
11143         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
11144         for floating-point register class.
11145         * pa.c (function_arg): Fix handling of modes wider than one word for
11146         TARGET_64BIT.
11147
11148 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
11149
11150         * combine.c (make_compound_operation): Don't generate zero / sign
11151         extensions in floating point modes.
11152
11153 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11154
11155         * doc/c-tree.texi: Fix overfull hboxes.
11156         * doc/cppopts.texi: Ditto.
11157         * doc/extend.texi: Ditto.
11158         * doc/gty.texi: Ditto.
11159         * doc/invoke.texi: Ditto.
11160         * doc/makefile.texi: Ditto.
11161         * doc/rtl.texi: Ditto.
11162         * doc/standards.texi: Ditto.
11163         * doc/tm.texi: Ditto.
11164
11165 2002-09-04  Richard Henderson  <rth@redhat.com>
11166
11167         * c-common.c (builtin_define_with_hex_fp_value): New.
11168         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11169
11170 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11171
11172         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11173         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11174         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11175         Warn that these options can break ABI compatibility.
11176
11177 2002-09-04  Richard Henderson  <rth@redhat.com>
11178
11179         * real.c (ereal_to_decimal): Add digits parameter.
11180         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11181         * c-pretty-print.c (pp_c_real_literal): Update call.
11182         * print-rtl.c (print_rtx): Likewise.
11183         * print-tree.c (print_node_brief, print_node): Likewise.
11184         * sched-vis.c (print_value): Likewise.
11185         * config/arc/arc.c (arc_print_operand): Likewise.
11186         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11187         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11188         * config/i386/i386.c (print_operand): Likewise.
11189         * config/i960/i960.c (i960_print_operand): Likewise.
11190         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11191         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11192         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11193         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11194         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11195         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11196         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11197         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11198         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11199         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11200         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11201         * config/mips/mips.c (print_operand): Likewise.
11202         * config/ns32k/ns32k.c (print_operand): Likewise.
11203         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11204         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11205         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11206
11207 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11208
11209         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11210         xtensa_multibss_section_type_flags.
11211         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11212
11213 2002-09-04  Richard Henderson  <rth@redhat.com>
11214
11215         * doc/install-old.texi: Don't mention enquire.
11216         * doc/sourcebuild.texi: Update float.h description.
11217
11218 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11219
11220         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11221
11222 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11223
11224         * builtins.c (build_function_call_expr): Remove prototype, export
11225         as non-static and add a comment above function definition.
11226         (builtin_mathfn_code): New function to check for math builtins.
11227         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11228         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11229         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11230         log(sqrt(x)) as log(x)/2.0.
11231
11232         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11233         in new "builtins.c" section.  Place the build_range_type prototype
11234         with the other prototypes from "tree.c".
11235
11236         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11237         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11238         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11239         x/exp(y) as x*exp(-y).
11240
11241 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11242
11243         * varasm.c (default_section_type_flags): Append _1 to name with
11244         shlib parameter.  Use original name to call new function with
11245         implicit flag_pic.
11246         (decl_readonly_section): Likewise.
11247         (default_elf_select_section): Likewise.
11248         (default_unique_section): Likewise.
11249         (default_bind_local_p): Likewise.
11250         (categorize_decl_for_section): Add shlib parameter to use in place
11251         of implicit flag_pic.
11252         * output.h: Declare new functions with _1 and shlib argument.
11253
11254 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11255
11256         * doc/install.texi: Fix typos, formatting problems, and obvious
11257         overfull/underfull boxes.
11258
11259         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11260         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11261         include its file, compat.texi.
11262         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11263
11264 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11265
11266         Debian BTS Bug #157416
11267         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11268         * cpplib.c (destringize_and_run): Kludge around getting
11269         tokens from in-progress macros.
11270         (_cpp_do__Pragma): Simplify.
11271
11272 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11273
11274         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11275         (CPP_CPU_SPEC): Remove.
11276         (TARGET_CPU_CPP_BUILTINS): New.
11277         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11278         (CPP_SPEC): Remove.
11279         (TARGET_OS_CPP_BUILTINS): New.
11280         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11281         (TARGET_OS_CPP_BUILTINS): New.
11282         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11283         TARGET_OS_CPP_BUILTINS.
11284         (CPP_PREDEFINES): Remove.
11285         (CPLUSPLUS_CPP_SPEC): Remove.
11286         (TARGET_OS_CPP_BUILTINS): New.
11287
11288 2002-09-03  Richard Henderson  <rth@redhat.com>
11289
11290         * Makefile.in (USER_H): Add ginclude/float.h.
11291         (FLOAT_H): Remove.
11292         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11293         (mostlyclean): Don't remove float.h intermediate files.
11294         (distclean): Don't remove float.h.
11295         * config.gcc: Remove all float_format references.
11296         * configure.in (float_format, float_h_file): Remove.
11297
11298         * c-common.c: Include tree-inline.h.
11299         (builtin_define_with_int_value): New.
11300         (builtin_define_type_precision): Use it.
11301         (builtin_define_float_constants): New.
11302         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11303         __FLT_EVAL_METHOD__.
11304         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11305         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11306         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11307         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11308         (TARGET_FLT_EVAL_METHOD): New.
11309
11310         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11311         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11312         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11313         * ginclude/float.h: New.
11314
11315 2002-09-03  Stan Shebs  <shebs@apple.com>
11316
11317         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11318         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11319         (PREFERRED_DEBUGGING_TYPE): Ditto.
11320         (ASM_OUTPUT_IDENT): Remove empty definition.
11321
11322 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11323
11324         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11325         cxx_target.
11326         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11327         handling routine for builtin pragma.
11328         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11329         Registered pragma handling routine.
11330         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11331         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11332         If builtin pragma seen for math routine and C89 conformance is
11333         requested use different math function in order to set errno.
11334         * t-ia64 (ia64-c.o): Add new rule for new file.
11335
11336 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11337
11338         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11339         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11340         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11341
11342         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11343         "*movsf_ss"): Remove.
11344
11345 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11346
11347         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11348         Delete macros.
11349
11350 2002-09-03   Arati Dikey  <aratid@kpit.com>
11351
11352         * h8300.c (asm_file_start): Corrected optimization comment.
11353
11354 2002-09-03  Stan Shebs  <shebs@apple.com>
11355
11356         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11357         * c-tree.h (recognize_objc_keyword): Remove decl.
11358         * c-typeck.c (comp_target_types): Update a comment.
11359
11360 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11361
11362         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11363         and register validity checks.
11364         (general_s_operand): Adapt to s390_decompose_address interface change.
11365         (q_constraint): Likewise.
11366         (s390_expand_plus_operand): Likewise.
11367         (legitimiate_address_p): Likewise.
11368         (legitimate_la_operand_p): Likewise.
11369         (legitimize_la_operand): Likewise.
11370         (print_operand_address): Likewise.
11371         (print_operand): Likewise.
11372
11373 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11374
11375         PR objc/5956:
11376         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11377         was causing the new selector never to match the existing ones
11378         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11379
11380 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11381
11382         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11383
11384 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11385
11386         * expr.c (expand_expr): Remove extraneous comment and code.
11387
11388 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11389
11390         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11391         frontend. Take chain of fields. Allow NULL alignment type.
11392         * tree.h (finish_builtin_struct): Declare.
11393
11394 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11395
11396         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11397         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11398         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11399         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11400         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11401         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11402         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11403         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11404         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11405         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11406         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11407         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11408         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11409         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11410         config/rs6000/linux64.h config/rs6000/lynx.h
11411         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11412         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11413         config/sparc/sparc.c config/sparc/sysv4.h
11414         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11415         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11416         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11417
11418         * doc/tm.texi: Update docs.
11419         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11420         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11421
11422 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11423
11424         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11425         * arc.c (arc_internal_label): New function.
11426         (TARGET_ASM_INTERNAL_LABEL): Set.
11427         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11428         * arm.c (arm_internal_label): New function.
11429         (TARGET_ASM_INTERNAL_LABEL): Set.
11430         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11431         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11432         * i370.c (i370_internal_label): New function.
11433         (TARGET_ASM_INTERNAL_LABEL): Set.
11434         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11435         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11436         * m68k.c (m68k_hp320_internal_label): New function.
11437         (TARGET_ASM_INTERNAL_LABEL): Set.
11438         * m88k.c (m88k_internal_label): New function.
11439         (TARGET_ASM_INTERNAL_LABEL): Set.
11440         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11441         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11442         * genoutput.c (output_prologue): Include target.h in output file.
11443         * output.h (default_internal_label): Declare.
11444         * sdbout.c: Include target.h.
11445         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11446         TARGET_ASM_OUT.
11447         * target.h (internal_label): Add to struct gcc_target.
11448         * varasm.c (default_internal_label): New function.
11449
11450 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11451
11452         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11453         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11454         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11455         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11456         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11457         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11458         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11459         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11460         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11461         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11462         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11463         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11464         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11465         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11466         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11467         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11468         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11469         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11470         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11471         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11472         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11473         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11474         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11475         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11476         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11477         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11478         * mmix.c (mmix_asm_output_internal_label): Likewise.
11479         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11480         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11481         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11482         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11483         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11484         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11485         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11486         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11487         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11488         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11489         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11490         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11491         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11492         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11493         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11494         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11495         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11496         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11497         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11498
11499         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11500
11501 2002-08-31  Richard Henderson  <rth@redhat.com>
11502
11503         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11504
11505 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11506
11507         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11508
11509 2002-08-30  Richard Henderson  <rth@redhat.com>
11510
11511         PR opt/7515
11512         * c-objc-common.c: Include target.h.
11513         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11514         don't bind locally.  Factor setting DECL_UNINLINABLE.
11515         * Makefile.in (c-objc-common.o): Update.
11516
11517 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11518
11519         * doc/install.texi (Configuration, Building): Fix a typo and
11520         some formatting directives.
11521
11522 2002-08-30  Paul Koning <pkoning@equallogic.com>
11523
11524         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11525         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11526         implemented" note.
11527         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11528         for alphabetic order.
11529         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11530         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11531         (VAX_HALFWORD_ORDER): Document.
11532         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11533         IEEE float format.
11534         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11535         (ASM_OUTPUT_LABEL_REF): Fix font.
11536         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11537
11538 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11539
11540         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11541         stuff.
11542         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11543         CONST_DOUBLE constants.
11544
11545 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11546
11547         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11548         related defines to...
11549         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11550         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11551         as a no-op.
11552
11553 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11554
11555         * config/arm/arm.c (arm_asm_output_labelref): New function.
11556         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11557         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11558
11559 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11560
11561         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11562         memory exhausted" workarounds.
11563
11564 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11565
11566         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11567         * toplev.c (crash_signal): Likewise.
11568
11569 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11570
11571         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11572         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11573         Extended, updated documentation.
11574         (-Wundeclared-selector): Documented.
11575
11576 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11577
11578         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11579         the value 1.  Do not undef before defining.
11580         * config/darwin.h: Likewise.
11581         * config/dbx.h: Likewise.
11582         * config/dbxcoff.h: Likewise.
11583         * config/dbxelf.h: Likewise.
11584         * config/elfos.h: Likewise.
11585         * config/interix.h: Likewise.
11586         * config/lynx-ng.h: Likewise.
11587         * config/lynx.h: Likewise.
11588         * config/netware.h: Likewise.
11589         * config/psos.h: Likewise.
11590         * config/svr3.h: Likewise.
11591         * config/alpha/alpha.h: Likewise.
11592         * config/alpha/elf.h: Likewise.
11593         * config/alpha/vms.h: Likewise.
11594         * config/arc/arc.h: Likewise.
11595         * config/arm/aout.h: Likewise.
11596         * config/arm/coff.h: Likewise.
11597         * config/c4x/c4x.h: Likewise.
11598         * config/h8300/h8300.h: Likewise.
11599         * config/i386/cygwin.h: Likewise.
11600         * config/i386/djgpp.h: Likewise.
11601         * config/i386/gas.h: Likewise.
11602         * config/i386/gstabs.h: Likewise.
11603         * config/i386/i386-coff.h: Likewise.
11604         * config/i386/i386-interix.h: Likewise.
11605         * config/i386/sco5.h: Likewise.
11606         * config/i386/svr3dbx.h: Likewise.
11607         * config/i386/sysv3.h: Likewise.
11608         * config/i386/win32.h: Likewise.
11609         * config/i386/x86-64.h: Likewise.
11610         * config/i960/i960.h: Likewise.
11611         * config/ia64/ia64.h: Likewise.
11612         * config/ip2k/ip2k.h: Likewise.
11613         * config/m32r/m32r.h: Likewise.
11614         * config/m68k/3b1.h: Likewise.
11615         * config/m68k/3b1g.h: Likewise.
11616         * config/m68k/ccur-GAS.h: Likewise.
11617         * config/m68k/coff.h: Likewise.
11618         * config/m68k/hp2bsd.h: Likewise.
11619         * config/m68k/hp310g.h: Likewise.
11620         * config/m68k/hp320g.h: Likewise.
11621         * config/m68k/hp3bsd.h: Likewise.
11622         * config/m68k/hp3bsd44.h: Likewise.
11623         * config/m68k/linux-aout.h: Likewise.
11624         * config/m68k/m68k-aout.h: Likewise.
11625         * config/m68k/mot3300.h: Likewise.
11626         * config/m68k/netbsd.h: Likewise.
11627         * config/m68k/openbsd.h: Likewise.
11628         * config/m68k/pbb.h: Likewise.
11629         * config/m68k/plexus.h: Likewise.
11630         * config/m68k/sun2.h: Likewise.
11631         * config/m68k/sun3.h: Likewise.
11632         * config/m68k/tower-as.h: Likewise.
11633         * config/m68k/vxm68k.h: Likewise.
11634         * config/m88k/aout-dbx.h: Likewise.
11635         * config/m88k/m88k-aout.h: Likewise.
11636         * config/mcore/mcore-elf.h: Likewise.
11637         * config/mcore/mcore-pe.h: Likewise.
11638         * config/mips/elf.h: Likewise.
11639         * config/mips/elf64.h: Likewise.
11640         * config/mips/iris5gas.h: Likewise.
11641         * config/mips/iris6.h: Likewise.
11642         * config/mips/mips.h: Likewise.
11643         * config/mips/sni-gas.h: Likewise.
11644         * config/mmix/mmix.h: Likewise.
11645         * config/ns32k/netbsd.h: Likewise.
11646         * config/pa/pa64-hpux.h: Likewise.
11647         * config/romp/romp.h: Likewise.
11648         * config/rs6000/sysv4.h: Likewise.
11649         * config/rs6000/xcoff.h: Likewise.
11650         * config/sh/coff.h: Likewise.
11651         * config/sh/elf.h: Likewise.
11652         * config/sparc/linux64.h: Likewise.
11653         * config/sparc/liteelf.h: Likewise.
11654         * config/sparc/netbsd.h: Likewise.
11655         * config/sparc/openbsd.h: Likewise.
11656         * config/sparc/pbd.h: Likewise.
11657         * config/sparc/sp64-elf.h: Likewise.
11658         * config/sparc/sp86x-elf.h: Likewise.
11659         * config/sparc/sparc.h: Likewise.
11660         * config/vax/vax.h: Likewise.
11661         * config/vax/vaxv.h: Likewise.
11662
11663 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11664
11665         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11666         of HImode shifts.
11667         (get_shift_alg): Corresponding changes.
11668
11669 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11670
11671         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11672
11673 2002-08-29  Richard Henderson  <rth@redhat.com>
11674
11675         * expr.h (enum block_op_methods): New.
11676         (emit_block_move): Update prototype.
11677         * expr.c (block_move_libcall_safe_for_call_parm): New.
11678         (emit_block_move_via_loop): New.
11679         (emit_block_move): Use them.  New argument METHOD.
11680         (emit_push_insn): Always respect the given alignment.
11681         (expand_assignment): Update call to emit_block_move.
11682         (store_expr, store_field, expand_expr): Likewise.
11683         * builtins.c (expand_builtin_apply): Likewise.
11684         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11685         * function.c (expand_function_end): Likewise.
11686         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11687         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11688         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11689         (save_fixed_argument_area): Use emit_block_move with
11690         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11691         (restore_fixed_argument_area): Likewise.
11692         (store_one_arg): Fix alignment parameter to emit_push_insn.
11693
11694 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11695
11696         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11697
11698 2002-08-29  Catherine Moore  <clm@redhat.com>
11699
11700         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11701         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11702         (PREDICATE_CODES): Include new predicates.
11703         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11704         (TARGET_SWITCHES):  Add strict-align.
11705         (TARGET_STRICT_ALIGN): New.
11706         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11707         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11708         Define.
11709         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11710         v850_muldi3.
11711         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11712         L_callt_save_r2_r31, L_return_r2_r31,
11713         L_save_all_interrupt): Change addi to add.
11714         (L_save_interrupt, L_return_interrupt): Rework.
11715         (__return_r31):  Correct .size directive.
11716         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11717         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11718         New routines.
11719         * config/v850/v850.c (expand_prologue): Call
11720         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11721         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11722         (reg_or_int9_operand): New predicate.
11723         (reg_or_const_operand): New routine.
11724         * config/v850/v850.md (return_interrupt): Changed from
11725         restore_interrupt.
11726         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11727         (callt_save_interrupt): Change save sequence.
11728         (callt_return_interrupt): New.
11729         (save_interrupt): Don't use runtime function for LONG_CALLS
11730         and TARGET_PROLOG_FUNCTION.
11731         (save_all_interrupt): Likewise.
11732         (mulsi3): Use new predicate.
11733         (moviscc): Disallow some combination of constants.
11734         Fix define_split for sasf insns, so that it will not generate bad
11735         code if operand0 and operand5 are the same.
11736         * config/v850/v850-protos.h: Prototype new predicates.
11737
11738 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11739
11740         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11741         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11742
11743 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11744
11745         * c-common.c (builtin_define_type_precision): New function.
11746         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11747         wchar_t is unsigned in C++.
11748         * doc/cpp.texi (Common Predefined Macros): Document
11749         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11750         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11751         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11752
11753 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11754
11755         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11756         section.  Mention that it is enabled by -Wall.
11757         (-Wall): Mention that there can be language-specific warnings as well.
11758         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11759         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11760
11761 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11762
11763         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11764         if it is ever live.
11765
11766         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11767         attribute for SHCOMPACT.
11768
11769         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11770         appropriately.
11771         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11772         by the ABI.
11773
11774         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11775
11776 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11777
11778         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11779         "MASK_GAS|MASK_ABICALLS".
11780         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11781         (TARGET_DEFAULT): Remove.
11782         (MACHINE_TYPE): Undefine before defining.
11783         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11784
11785 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11786
11787         * c-common.c (warn_abi): New variable.
11788         * c-common.h (warn_abi): Likewise.
11789         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11790         (c_common_decode_option): Handle it.
11791         * doc/invoke.texi: Document -Wabi.
11792
11793 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11794
11795         * c-common.c (warn_undeclared_selector): New variable.
11796         * c-common.h (warn_undeclared_selector): Idem.
11797         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11798         to on when -Wundeclared-selector is found.
11799         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11800         * objc/objc-act.c (build_selector_expr): If
11801         warn_undeclared_selector is set, check that the selector has
11802         already been defined, and emit a warning if not.
11803
11804 2002-08-27  Nick Clifton  <nickc@redhat.com>
11805             Catherine Moore  <clm@redhat.com>
11806             Jim Wilson  <wilson@cygnus.com>
11807
11808         * config.gcc: Add v850e-*-* target.
11809         Add --with-cpu= support for v850.
11810         * config/v850/lib1funcs.asm: Add v850e callt functions.
11811         * config/v850/v850.h: Add support for v850e target.
11812         * config/v850/v850.c: Add functions to support v850e target.
11813         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11814         * config/v850/v850.md: Add patterns for v850e instructions.
11815         * doc/invoke.texi: Document new v850e command line switches.
11816
11817 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11818                           Aldy Hernandez <aldyh at redhat dot com>
11819
11820         * doc/tm.texi: Applied numerous fixes to the automaton based
11821         scheduler descrition.
11822
11823 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11824
11825         * i386.c (classify_argument): Handle variable sized objects.
11826
11827 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11828
11829         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11830
11831 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11832
11833         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11834
11835 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11836
11837         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11838
11839 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11840
11841         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11842         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11843         accordingly.
11844         (attribute insn_class): Provide default definitions based on type.
11845         Remove all insn-specific settings.
11846         (various function units): Remove old SH4 scheduling.
11847         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11848         New attributes.  Set them where appropriate.
11849         (cpu unit FS): Don't define / use.
11850         (F3, load_store): New cpu units.
11851         (F01): New reservation.
11852         (all insn_reservations): Make dependent on sh4 pipeline model.
11853         Fix latencies.
11854         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11855         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11856         (mt insn_reservation): Use type mt_group.
11857         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11858         sh4_fload and sh4_store.
11859         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11860         (insn_reservation branch_far): Replace with sh4_return.
11861         (insn_reservation return_from_exp): Rename to:
11862         (sh4_return_from_exp).  Change to be just d_lock*5.
11863         (insn_reservation lds_to_pr): Rename to:
11864         (sh4_lds_to_pr).  Change to be just d_lock*2.
11865         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11866         d_lock*2.
11867         (insn_reservation prload_mem): Rename to:
11868         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11869         (insn_reservation fpscr_store): Rename to:
11870         (fpscr_load).  Change to d_lock,nothing,F1*3.
11871         (insn_reservation fpscr_store_mem): Rename to:
11872         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11873         (insn_reservation multi): Change to
11874         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11875         (insn_reservation fp_arith): Change to issue,F01,F2.
11876         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11877         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11878         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11879         (insn_reservation fp_double_cmp): Change to
11880         d_lock,(d_lock+F01),F1+F2,F2.
11881         (insn_reservation dp_div): Change to
11882         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11883         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11884         (sh_adjust_cost, SHcompact): Differentiate between different
11885         kinds of dependencies.  Drop factor of ten for superscalar.
11886         Use new instruction types.  Add new exception rules.
11887
11888         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11889
11890         * sh.md (mperm_w): Add DONE.
11891
11892 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
11893
11894         * longlong.h: Import current PowerPC defintion from GMP-4.1.
11895
11896         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11897
11898         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11899
11900 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
11901
11902         * sh.h (MAX_FIXED_MODE_SIZE): Define.
11903
11904 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
11905
11906         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11907         delimiter.
11908
11909 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11910
11911         * c-common.c (cpp_define_data_format): New function.
11912         (cb_register_builtins): Call it.
11913
11914         * doc/cpp.texi (Common Predefined Macros): Document
11915         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11916         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11917         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11918         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11919         __TARGET_USES_VAX_H_FLOAT__.
11920
11921 2002-08-26  Ziemowit Laski <zlaski@apple.com>
11922
11923         * objc/objc-act.c (get_super_receiver): If inside a class method
11924         of a category, cast the receiver to 'id' before accessing the 'isa'
11925         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
11926
11927 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
11928
11929         * config/s390/s390-protos.h (s390_function_prologue,
11930         s390_function_epilogue): Remove.
11931         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11932         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11933
11934         config/s390/s390.c (s390_machine_dependent_recorg): New function.
11935         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11936         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11937         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11938         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
11939
11940         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
11941         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11942         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11943         function is not a leaf function.  Use save_gprs and restore_gprs.
11944         (s390_emit_epilogue): Likewise.
11945         (save_gprs, restore_gprs): New functions.
11946         (struct s390_frame): Remove return_reg_saved_p member.
11947         (save_fprs_p): Remove.
11948         (s390_optimize_prolog): New function.
11949         (s390_legitimate_reload_constant): Remove now unnecessary check.
11950
11951         (s390_function_count): Remove.
11952         (s390_output_symbolic_const): Replace s390_function_count by
11953         current_function_funcdef_no.
11954         (s390_output_constant_pool): Likewise.
11955
11956         (legitimize_pic_address): Use regs_ever_live to track PIC register
11957         instead of current_function_uses_pic_offset_table.
11958         (s390_emit_prologue): Likewise.
11959         config/s390/s390.md ("call", "call_value"): Likewise.
11960
11961 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
11962
11963         * c-opts.c (find_opt): Don't complain about wrong languages
11964         here.  Return exact matches even for wrong language.
11965         (c_common_decode_option): Complain about wrong languages
11966         here.
11967
11968 2002-08-24  Stuart Hastings  <stuart@apple.com>
11969
11970         * function.h (struct function): Add flag
11971         all_throwers_are_sibcalls.
11972         * except.c (set_nothrow_function_flags): Replaces
11973         nothrow_function_p. Set new flag.
11974         * except.h (set_nothrow_function_flags): Replaces
11975         nothrow_function_p.
11976         * dwarf2out.c (struct dw_fde_struct): Add flag
11977         all_throwers_are_sibcalls.
11978         (output_call_frame_info): Test it.
11979         (dwarf2out_begin_prologue) Propagate it from cfun to
11980         dw_fde_struct.
11981         * toplev.c (rest_of_compilation): Update calls to
11982         nothrow_function_p.
11983
11984 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
11985
11986         * ggc-page.c (compute_inverse): Short circuit calculation for
11987         object sizes larger than half a page.
11988
11989 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
11990
11991         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
11992         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
11993         default.
11994         (rs6000_elf_unique_section): Likewise.
11995
11996 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11997
11998         * ns32k.c (ns32k_globalize_label): Delete.
11999         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
12000
12001 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
12002
12003         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
12004         for loading delta with num_insns_constant_wide.  Calculate
12005         delta_low, delta_high without using a conditional.
12006
12007 2002-08-22  Jason Merrill  <jason@redhat.com>
12008
12009         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
12010         * c-common.def: Adjust.
12011         * c-dump.c (c_dump_tree): Adjust.
12012         * c-semantics.c (genrtl_return_stmt): Adjust.
12013         * c-pretty-print.c (pp_c_statement): Adjust.
12014         * tree-inline.c (copy_body_r): Adjust.
12015
12016 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
12017
12018         * ggc-page.c: Avoid division in ggc_set_mark.
12019         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
12020         compute_inverse): New.
12021         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
12022         (init_ggc): Initialize inverse_table.
12023
12024 2002-08-22  Tom Tromey  <tromey@redhat.com>
12025
12026         * doc/install.texi (Configuration): Document --datadir.
12027
12028 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
12029
12030         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
12031
12032 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
12033
12034         * gengtype-lex.l (ID): Allow underscore as first character.
12035
12036 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
12037
12038         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
12039         function.
12040         (rs6000_xcoff_asm_named_section): Rename.
12041         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12042
12043 2002-08-21  Tom Tromey  <tromey@redhat.com>
12044
12045         For PR java/6005 and PR java/7611:
12046         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
12047         (fold): Likewise.
12048         * langhooks.c (lhd_can_use_bit_fields_p): New function.
12049         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
12050         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
12051         (LANG_HOOKS_INITIALIZER): Use it.
12052         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
12053         field.
12054
12055 2002-08-21  Stan Shebs  <shebs@apple.com>
12056
12057         * tree.c (finish_vector_type): Fix a typo in a comment.
12058         * Makefile.in: Fix "the the" stutters in comments.
12059         * genautomata.c: Ditto.
12060         * ifcvt.c: Ditto.
12061         * regrename.c: Ditto.
12062         * config/alpha/alpha.c: Ditto.
12063         * config/alpha/vms-crt0-64.c: Ditto.
12064         * config/alpha/vms-crt0.c: Ditto.
12065         * config/alpha/vms-psxcrt0-64.c: Ditto.
12066         * config/alpha/vms-psxcrt0.c: Ditto.
12067         * config/d30v/d30v.h: Ditto.
12068         * config/fr30/fr30.h: Ditto.
12069         * config/rs6000/rs6000.c: Ditto.
12070         * config/stormy16/stormy16.h: Ditto.
12071         * doc/md.texi: Ditto.
12072
12073 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12074
12075         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
12076
12077 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
12078
12079         * c-decl.c (grokdeclarator): Make invalid combinations with long,
12080         short, signed or unsigned into hard errors.  Fixes PR c/4319.
12081         Also make duplicate modifiers such as "short short" into hard
12082         errors.
12083
12084 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
12085             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12086
12087         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
12088         to the actual end.  Add '@end table' and '@table @code'.
12089
12090 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
12091
12092         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
12093
12094         * unroll.c (biv_total_increment): Don't try to compute the total
12095         increment for FP BIVs.
12096
12097 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12098
12099         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
12100         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
12101         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12102         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
12103         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
12104         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
12105         (GLOBAL_ASM_OP): Define.
12106         * arm.c (aof_globalize_label): New function.
12107         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
12108         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12109         * c4x.c (c4x_globalize_label): New function.
12110         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
12111         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
12112         (GLOBAL_ASM_OP): Define.
12113         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12114         * darwin-protos.h (darwin_globalize_label): Declare.
12115         * darwin.c (darwin_globalize_label): New function.
12116         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
12117         (ASM_GLOBALIZE_LABEL): Delete.
12118         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
12119         * dsp16xx.c (asm_output_common): Use target hook.
12120         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
12121         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
12122         (GLOBAL_ASM_OP): Define.
12123         * i370.c (i370_globalize_label): New function.
12124         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
12125         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
12126         * i386.c (ix86_asm_file_end): Use target hook.
12127         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
12128         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
12129         * ia64.c (ia64_asm_output_external): Likewise.
12130         * ia64/sysv4.h: Update comment.
12131         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12132         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12133         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
12134         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12135         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
12136         * mmix-protos.h (mmix_asm_globalize_label): Delete.
12137         * mmix.c (mmix_asm_globalize_label): Likewise.
12138         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
12139         (GLOBAL_ASM_OP): Define.
12140         * ns32k.c (ns32k_globalize_label): New function.
12141         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
12142         (ASM_GLOBALIZE_LABEL): Delete.
12143         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
12144         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
12145         * pa.c (pa_globalize_label): New function.
12146         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
12147         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
12148         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
12149         (GLOBAL_ASM_OP): Define.
12150         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
12151         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
12152         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
12153         (GLOBAL_ASM_OP): Define.
12154         * v850.c (v850_output_aligned_bss): Use target hook.
12155         * vax.c (vms_globalize_label): New function.
12156         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
12157         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
12158         (GLOBAL_ASM_OP): Define.
12159         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
12160         * doc/tm.texi: Update docs.
12161         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
12162         target hook.
12163         * final.c (output_alternate_entry_point): Likewise.
12164         * hooks.c (hook_FILEptr_constcharptr_void): New function.
12165         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
12166         * output.h (assemble_global): Delete.
12167         (default_globalize_label): Declare.
12168         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12169         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12170         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12171         * target.h (gcc_target): Add globalize_label member.
12172         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12173         globalize_decl): Use target hook.
12174         (assemble_global): Delete.
12175         (default_globalize_label): New function.
12176
12177 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12178
12179         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12180
12181 2002-08-20  Devang Patel  <dpatel@apple.com>
12182         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12183
12184 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12185
12186         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12187         * arm.c (thumb_output_function_prologue): Likewise.
12188         * avr.c (print_operand): Likewise.
12189         * c4x.c (c4x_print_operand): Likewise.
12190         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12191         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12192         * cris.c (cris_target_asm_function_prologue,
12193         cris_asm_output_mi_thunk): Likewise.
12194         * h8300.c (print_operand): Likewise.
12195         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12196         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12197         * m68hc11.c (asm_print_register, print_operand,
12198         print_operand_address): Use stdio instead of asm_fprintf.
12199         (print_operand_address): Fix format specifier.
12200         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12201         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12202         asm_fprintf.
12203         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12204         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12205         * m68k.c (m68k_output_function_prologue,
12206         m68k_output_function_epilogue, print_operand): Likewise.
12207         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12208         Likewise.  Fix format specifier.
12209         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12210         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12211         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12212
12213 2002-08-15  Eric Christopher  <echristo@redhat.com>
12214             Jeff Knaggs  <jknaggs@redhat.com>
12215
12216         * config.gcc (mipsisa64sr71k-elf): New target.
12217         * config/mips/sr71k.md: New file.
12218         * config/mips/mips.md: Use it.
12219         (rot*): Add sr71k specifics.
12220         * config/mips/t-sr71k: New file.
12221         * config/mips/mips.h (sr71k): New cpu.
12222         (TARGET_SR71K): Use it.
12223         (TUNE_SR71K): Ditto.
12224         (GENERATE_BRANCHLIKELY): Ditto.
12225         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12226         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12227         * config/mips/mips.c (sr71k): New cpu.
12228         (mips_use_dfa_pipeline_interface): Use.
12229
12230 2002-08-15  Eric Christopher  <echristo@redhat.com>
12231             Richard Sandiford <rsandifo@redhat.com>
12232             Aldy Hernandez  <aldyh@redhat.com>
12233             Graham Stott    <grahams@redhat.com>
12234             Michael Meissner  <meissner@redhat.com>
12235             Gavin Romig-Koch  <gavin@redhat.com>
12236             Ken Raeburn  <raeburn@cygnus.com>
12237             Alexandre Oliva <aoliva@redhat.com>
12238
12239         * config.gcc (mips64vr-elf): New target.
12240         * config/mips/5400.md: New file.
12241         * config/mips/5500.md: Ditto.
12242         * config/mips/mips.md: Use them.
12243         (frsqrt): New.
12244         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12245         cpus.
12246         (mips_issue_rate): Use them.
12247         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12248         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12249         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12250         cpus.
12251         (TARGET_MIPSx): Use them.
12252         (TUNE_MIPSx): Ditto.
12253         (GETNATE_MULT3_SI): Ditto.
12254         (ISA_HAS_BRANCHLIKELY): Ditto.
12255         (ISA_HAS_CONDMOVE): Ditto.
12256         (ISA_HAS_NMADD_NMSUB): Ditto.
12257         (ISA_HAS_MULHI): New. Ditto.
12258         (ISA_HAS_MULS): Ditto.
12259         (ISA_HAS_MSAC): Ditto.
12260         (ISA_HAS_MACC): Ditto.
12261         (ISA_HAS_ROTR_SI): Ditto.
12262         (ISA_HAS_ROTR_DI): Ditto.
12263         (RTX_COSTS): Use.
12264
12265 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12266
12267         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12268         at head.
12269         (remove_dup_nonsys_dirs): New function.
12270         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12271         (merge_include_chains): Remove non-system include directories from
12272         quote and bracket include chains when they duplicate equivalent system
12273         directories.
12274         * doc/cpp.texi (-I): Update.
12275         * doc/cppopts.texi (-I): Update.
12276         * doc/install.texi (--with-local-prefix): Further document usage of
12277         this option.
12278         * doc/invoke.texi (-I): Update.
12279
12280 2002-08-20  Richard Henderson  <rth@redhat.com>
12281
12282         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12283         (emit_block_move): Split out subroutines.
12284         (emit_block_move_via_movstr): New.
12285         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12286         (emit_block_move_libcall_fn): New.  Construct function prototype for
12287         bcopy as well.
12288         (clear_storage): Split out subroutines.
12289         (clear_storage_via_clrstr): New.
12290         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12291         (clear_storage_libcall_fn): New.  Construct function prototype for
12292         bzero as well.
12293         (emit_push_insn): Use emit_block_move.
12294         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12295         (store_constructor): Likewise.
12296
12297 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12298
12299         * objc/objc-act.c (building_objc_message_expr): Rename to
12300         current_objc_message_selector.
12301
12302 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12303
12304         * objc/objc-act.c (build_ivar_chain): Remove.
12305         (objc_copy_list): Likewise.
12306         (get_class_ivars): Inline call to removed build_ivar_chain
12307         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12308         slot; use that slot (rather than CLASS_IVARS) when accessing
12309         ivars for base classes.  Call copy_list and chainon instead of
12310         objc_copy_list.
12311         (build_private_template): Call get_class_ivars instead of
12312         build_ivar_chain.
12313         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12314         (continue_class): Call get_class_ivars instead of
12315         build_ivar_chain.
12316         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12317         of DECL_BIT_FIELD (which may have been cleared).
12318         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12319
12320 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12321
12322         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12323         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12324         in output file.
12325         (output_internal_min_issue_delay_func): Initialize variable in
12326         output file.
12327
12328 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12329
12330         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12331         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12332
12333 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12334             Steve Ellcey  <sje@cup.hp.com>
12335
12336         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12337         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12338         * explow.c (trunc_int_for_mode): Abort when the mode is not
12339         a scaler integer mode.
12340         * combine.c (expand_compound_operation): Don't expand Vector
12341         or Complex modes into shifts.
12342         (expand_field_assignment): Don't do bitwise arithmatic and
12343         shifts on Vector or Complex modes.
12344         (simplify_comparison): Don't call trunc_int_for_mode
12345         for VOIDmode.
12346         * recog.c (general_operand): Likewise.
12347         (immediate_operand): Likewise.
12348         (nonmemory_operand): Likewise.
12349
12350 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12351
12352         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12353         multi-instruction SImode constant.  Add REG_EQUAL note.
12354         * config/rs6000/rs6000.md (movsi splitter): Use
12355         rs6000_emit_set_const.
12356
12357 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12358
12359         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12360         the macro test controlling its use.
12361
12362 2002-08-18  H.J. Lu  (hjl@gnu.org)
12363
12364         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12365         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12366         gnu_ld=yes.
12367         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12368         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12369         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12370         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12371         here.
12372         (cris-*-linux*): Remove setting thread_file here.
12373
12374 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12375
12376         PR preprocessor/7602
12377         * cppinit.c (path_include): Treat the system environment
12378         variables as being cxx_aware.
12379
12380 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12381
12382         * c-decl.c (flexible_array_type_p): New function.
12383         (grokdeclarator, finish_struct): Use it.
12384         * doc/extend.texi: Document constraints on use of structures with
12385         flexible array members.
12386
12387 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12388
12389         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12390         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12391         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12392
12393 2002-08-16  Stan Shebs  <shebs@apple.com>
12394
12395         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12396         for ObjC with -fnext-runtime.
12397         * doc/cpp.texi: Document it.
12398
12399 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12400
12401         * doc/install.texi (Final installation): Replace links to individual
12402         build status pages with a link to a common page that lists them all.
12403
12404 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12405
12406         * doc/invoke.texi: Fix typo.
12407
12408 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12409
12410         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12411
12412 2002-08-16  Andrew Haley  <aph@redhat.com>
12413
12414         * tree-inline.c: Add includes for Java inliner.
12415         (remap_decl): Don't handle anonymous types for Java.
12416         (remap_block): Add handling for Java trees.
12417         (copy_scope_stmt): Conditionalize for non-Java use only.
12418         (copy_body_r): Handle Java trees.  Add handling for
12419         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12420         (initialize_inlined_parameters):  Handle Java trees.
12421         (declare_return_variable): Likewise.
12422         (expand_call_inline): Handle Java trees.
12423         (walk_tree): Likewise.
12424         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12425         (add_stmt_to_compound): New function.
12426
12427 2002-08-15  Richard Henderson  <rth@redhat.com>
12428
12429         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12430         (NOCOMMON_FLAG): New substitution point.
12431         (GCC_WARN_CFLAGS): Include it.
12432         * configure.in (ac_checking): Set nocommon_flag.
12433         (nocommon_flag): New substitution point.
12434
12435 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12436
12437         * c-tree.h (skip_evaluation): Move declaration...
12438         * c-common.h: ... here.
12439         * c-typeck.c (build_external_ref): Don't assemble_external nor
12440         mark a tree as used if skip_evaluation is set.
12441         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12442         around TYPEOF.
12443         (typespec_nonreserved_nonattr): Use it.
12444
12445 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12446
12447         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12448         (xcoff_debug_hooks): Update end_prologue.
12449         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12450         * debug.h (end_prologue): Add file arg.
12451         (end_epilogue): Add line and file args.
12452         (dwarf2out_end_epilogue): Add line and file args.
12453         (vmsdbgout_after_prologue): Remove.
12454         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12455         (dwarf2_debug_hooks): Update end_prologue.
12456         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12457         (dwarfout_end_prologue): Add file arg.
12458         * final.c (vmsdbgout_after_prologue): Remove
12459         (final_end_function): Update end_epilogue call.
12460         (final_scan_insn): Update end_prologue call.
12461         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12462         (sdbout_end_prologue): Add file arg.
12463         (sdb_debug_hooks): Update end_prologue.
12464         (sdb_begin_prologue): Update sdbout_end_prologue call.
12465         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12466         vmsdbgout_end_function.
12467         (vmsdbgout_end_prologue): New function renamed from
12468         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12469         (vmsdbgout_end_function): New function.
12470         (vmsdbgout_end_epilogue): Add line and file args. Call
12471         vmsdbgout_source_line.
12472         (write_pclines): Write only valid line numbers.
12473         (write_srccorr): Don't write source correlation records if 0 lines.
12474         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12475
12476 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12477
12478         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12479         (_Unwind_Internal_Ptr): 32 bit version for use in
12480         read_encoded_value_with_base.
12481         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12482         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12483         right size.
12484
12485 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12486
12487         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12488         signed/unsigned warnings.
12489
12490         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12491         record_reg_classes): Likewise.
12492
12493         * reload.c (reload_inner_reg_of_subreg, push_reload,
12494         find_reloads_address_1): Likewise.
12495
12496 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12497
12498         * rs6000.c (output_mi_thunk): Return to function section on
12499         TARGET_ELF.
12500
12501         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12502
12503 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12504
12505         * config/s390/s390.c (legitimize_address): Optimize loading
12506         of large displacements.
12507
12508 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12509
12510         * config/alpha/alpha-protos.h: Update.
12511
12512         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12513         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12514         (alpha_linkage_symbol_p): New static function.
12515         (print_operand_address): Print linkage operand.
12516
12517         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12518         variables.
12519         (reloc_kind): New enum.
12520         (struct alpha_funcs): New struct.
12521         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12522
12523         (alpha_need_linkage): Rewrite.
12524         (alpha_use_linkage): New global function.
12525         (alpha_write_linkage): Rewrite and make static.
12526         (alpha_write_one_linkage): Rewrite
12527
12528         (alpha_start_function): Remove procedure descriptor output.
12529         (alpha_end_function): Write linkages at end of each function.
12530
12531         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12532         (call_vms_1, call_value_vms_1): Rewrite.
12533
12534         * config/alpha/vms.h (ASM_FILE_END): Remove.
12535
12536 2002-08-14  Richard Henderson  <rth@redhat.com>
12537
12538         * ggc-page.c (RTL_SIZE): New.
12539         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12540         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12541
12542 2002-08-14  Richard Henderson  <rth@redhat.com>
12543
12544         * calls.c: Include target.h.
12545         * Makefile.in (calls.o): Update.
12546
12547         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12548         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12549
12550 2002-08-14  Richard Henderson  <rth@redhat.com>
12551
12552         * Makefile.in (LOOSE_WARN): Add -fno-common.
12553         * c-common.h (constant_string_class_name): Add missing extern.
12554
12555 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12556
12557         PR preprocessor/7358
12558         * c-opts.c (check_deps_environment_vars): Ignore main file
12559         for SUNPRO_DEPENDENCIES.
12560         * cppfiles.c (stack_include_file): Ignore main file if
12561         appropriate.
12562         * cpplib.h (struct cpp_options): New member in deps.
12563         * doc/cppenv.texi: Update.
12564
12565 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12566
12567         PR preprocessor/7526
12568         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12569
12570 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12571
12572         * doc/invoke.texi (-a): Remove documentation.
12573         (-fprofile-arcs): Remove reference to -a, -ax options.
12574         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12575
12576 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12577
12578         Fix PR/7566
12579         * c-semantics.c (genrtl_case_label): Don't (mis)use
12580         warning_with_decl.
12581
12582 2002-08-14  Dale Johannesen  <dalej@apple.com>
12583
12584         * explow.c (emit_stack_restore):  Emit memory clobbers
12585         preceding the stack pop, to prevent the scheduler from
12586         moving refs to variable arrays below this pop.
12587         * reload1.c (reload):  Preserve these clobbers for sched2.
12588         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12589
12590 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12591
12592         * c-opts.c (c_common_post_options): Correct test.
12593
12594 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12595
12596         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12597         order in call to fprintf.
12598
12599 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12600
12601         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12602
12603 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12604
12605         * reload.c (find_reloads): Handle constraint letters marked by
12606         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12607         (alternative_allows_memconst): Likewise.
12608         * reload1.c (maybe_fix_stack_asms): Likewise.
12609         * recog.c (asm_operand_ok, preprocess_constraints,
12610         constrain_operands): Likewise.
12611         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12612         * local-alloc.c (block_alloc, requires_inout): Likewise.
12613         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12614
12615         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12616         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12617         * doc/tm.texi: Document these two new target macros.
12618
12619         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12620         valid operands.
12621         (q_constraint): New function.
12622         config/s390/s390-protos.h (q_constraint): Declare it.
12623         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12624         (EXTRA_MEMORY_CONSTRAINT): New macro.
12625
12626         * config/s390/s390.md: Throughout the machine description,
12627         replace all instances of the constraint combinations 'Qo'
12628         or 'oQ' with simply 'Q'.
12629
12630 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12631
12632         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12633         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12634         (LIBGCC2_CFLAGS): Compile with -mrelax.
12635
12636 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12637
12638         * doc/invoke.texi: Document -minmax for 68HC12.
12639
12640         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12641         ("uminqi3"): Likewise.
12642         ("uminhi3", "umaxhi3"): Likewise.
12643
12644         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12645         (TARGET_MIN_MAX): Define.
12646         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12647
12648 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12649
12650         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12651         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12652
12653         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12654         (ret, declare, farsym): New gas macros.
12655         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12656         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12657         and declare the symbol far when compiled with -mlong-calls.
12658         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12659         far handler using jsr/bsr.
12660
12661         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12662         (jsr): New macro to transform a 'jsr' into a 'call'.
12663
12664 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12665
12666         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12667
12668         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12669         -mlong-calls is specified.
12670         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12671         assembler directives.
12672         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12673         (TARGET_SWITCHES): Add -mlong-calls options.
12674         (current_function_far): Declare.
12675
12676         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12677         into account the page register saved on the stack.
12678         (m68hc11_override_options): Take into account -mlong-calls option.
12679         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12680
12681         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12682         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12683         ("*return_16bit"): Likewise.
12684         ("*return_void"): Likewise.
12685         ("call", "call_value"): Use call for a far function call.
12686
12687 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12688
12689         * toplev.c (parse_options_and_default_flags): Don't call
12690         post_options here.
12691         (general_init): Initialize GC, pools and tree hash here,
12692         instead of lang_independent_init.
12693         (lang_independent_init): Rename backend_init.
12694         (do_compile): Call post_options hook; exit early if there
12695         have been errors after switch processing.
12696         (toplev_main): Update.
12697
12698 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12699
12700         * c-pretty-print.h: Guard against multiple inclusion.
12701         Robustify macros.
12702         (pp_c_attributes): Declare.
12703         * c-pretty-print.c (pp_c_attributes): New function.
12704
12705 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12706
12707         * m68k.c (m68k_output_function_prologue,
12708         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12709         and NEWS/MOTOROLA.
12710         * genattrtab.c: Remove dpx2 comment.
12711         * libgcc2.c (__enable_execute_stack): Delete versions for
12712         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12713         sony_news/SYSTYPE_BSD.
12714         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12715         __gmicro__, __i860__, __NeXT__ and __pyr__.
12716         * rtl.h: Remove convex comment.
12717         * varasm.c: Likewise.
12718
12719 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12720
12721         * c-opts.c (lang_flags): Const-ify.
12722         * ra-build.c (undef_table): Likewise.
12723         * ra.c (eliminables): Likewise.
12724
12725 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12726
12727         * tree.h: Guard against multiple inclusion.
12728
12729 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12730
12731         * reload1.c (reload_cse_simplify): Before checking
12732         REG_FUNCTION_VALUE_P, check REG_P.
12733
12734 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12735
12736         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12737
12738 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12739
12740         * c-opts.c (c_common_init_options): Extra braces needed.
12741
12742 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12743
12744         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12745         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12746         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12747         (sh_expand_binop_v2sf): Likewise.
12748         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12749         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12750         (sh_initialize_trampoline): Likewise.
12751
12752 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12753
12754         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12755         new condition code modes.
12756         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12757         (s390_select_ccmode): Likewise.
12758         (s390_branch_condition_mask): Likewise.
12759
12760         * s390-protos.h (s390_tm_ccmode): Declare.
12761         s390.c (s390_tm_ccmode): New function.
12762         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12763
12764         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12765         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12766         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12767
12768         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12769         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12770         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12771         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12772         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12773
12774         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12775         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12776         "*cmpqi_ccs_0"): Remove, replace by ...
12777         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12778         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12779         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12780
12781         ("*cmpsidi_ccs"): Remove, replace by ...
12782         ("*cmpsi_ccs_sign"): ... this new pattern.
12783         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12784
12785         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12786         ("*cli"): ... this new pattern.
12787
12788         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12789         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12790         New patterns.
12791         ("adddi3_64"): Rename to "*adddi3_64".
12792         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12793         ("adddi3"): Adapt expander.
12794
12795         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12796         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12797         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12798
12799         ("addhi3", "addqi3"): Remove, replace by ...
12800         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12801
12802         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12803         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12804         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12805         ("subdi3"): New expander.
12806
12807         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12808
12809         ("subhi3", "subqi3"): Remove, replace by ...
12810         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12811
12812         ("*muldi3_sign"): New pattern.
12813         ("muldi3"): Do not clobber CC.
12814         ("mulsi3"): Likewise.
12815         ("mulsi_6432"): Likewise.
12816
12817 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12818
12819         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12820         which can change CC0.
12821
12822 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12823
12824         * gcse.c (adjust_libcall_notes): New function.
12825         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12826
12827 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12828
12829         * libgcc2.c (L_bb): Remove unneeded #includes.
12830         (__global_counters, __gthreads_active): Remove unused globals.
12831         (__bb_exit_func): Merge counts into files rather than appending.
12832         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12833         (ALL_CFLAGS): ... to here.
12834
12835 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12836
12837         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12838         (function_epilogue): Don't calculate function size.
12839         (ip2k_set_compare): Don't use lookup_const_double.
12840         (asm_file_start): Initialization of commands_in_file removed.
12841         (asm_file_end): Output of commands_in_file removed.
12842
12843         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12844         __INT_MAX__.
12845
12846 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12847
12848         * c-opts.c (c_common_init_options): Check option array is
12849         sorted if checking enabled.
12850
12851 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12852
12853         * c-pretty-print.c: #include "c-tree.h".
12854         (pp_c_simple_type_specifier): Tweak.
12855         (pp_c_storage_class_specifier): New.
12856         (pp_c_function_specifier): Likewise.
12857         (pp_c_declaration_specifiers): Likewise.
12858         (pp_c_init_declarator): Likewise.
12859         (pp_c_declaration): Likewise.
12860         (pp_c_direct_declarator): Stub.
12861         (pp_c_declarator): Likewise.
12862         (pp_c_parameter_declaration): Likewise.
12863
12864 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12865
12866         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12867         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12868         struct deferred_opt): New.
12869         (COMMAND_LINE_OPTIONS): Add -M*.
12870         (missing_arg): Update.
12871         (c_common_decode_option): Handle -M*.
12872         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12873         don't call cpp_post_options.
12874         (c_common_finish, check_deps_environment_vars): Update.
12875         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12876         * cpphash.h (CPP_PRINT_DEPS): Remove.
12877         * cppinit.c: Don't include version.h.
12878         (cpp_create_reader): Don't call deps_init.  Initialize
12879         warn_long_long.
12880         (cpp_read_main_file): Init deps if necessary.
12881         (cpp_destroy): Conditionally free deps.
12882         (cpp_finish): Update.
12883         (no_tgt): Remove.
12884         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12885         (cpp_post_options): Rename post_options.
12886         * cpplib.h (struct cpp_options): Remove some dependency options;
12887         move others to a new structure.
12888         (cpp_post_options): Remove.
12889         (cpp_finish): Comment.
12890         * fix-header.c (read_scan_file): Don't call cpp_post_options.
12891
12892 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12893
12894         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12895         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12896         MMIX_rR_REGNUM as clobbered.
12897         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12898
12899 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
12900
12901         * diagnostic.h (output_formatted_scalar): Rename from
12902         output_formatted_integer.
12903         * diagnostic.def: Add DK_DEBUG.
12904         * diagnostic.c (output_decimal): Adjust.
12905         (output_long_decimal): Likewise.
12906         (output_unsigned_decimal): Likewise.
12907         (output_octal): Likewise.
12908         (output_long_octal): Likewise.
12909         (output_hexadecimal): Likewise.
12910         (output_long_hexadecimal): Likewise.
12911         * c-pretty-print.c (pp_c_type_specifier): New function.
12912         (pp_c_specifier_qualifier_list): Likewise.
12913         (pp_c_abstract_declarator): Likewise.
12914         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12915
12916 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
12917
12918         * doc/trouble.texi (Disappointments): Add static constructor and
12919         destructor dependency information for AIX.
12920
12921 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12922
12923         * cpphash.h (struct printer): New from cppmain.c.
12924         (cpp_reader): New member.
12925         * cppmain.c (struct printer): Move to cpphash.h.
12926         (options, print): Remove.
12927         (account_for_newlines, print_line, maybe_print_line,
12928         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12929         scan_translation_unit_trad, cb_line_change, cb_ident,
12930         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12931         cb_def_pragma): Make reentrant.
12932
12933 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12934
12935         * real.c (ieee_64): Always define.
12936         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12937         (dec_h): Not used yet, hide it.
12938         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
12939         macro controlling use.
12940         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12941
12942 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12943
12944         * i386.md (tablejump): Sign extend the operand.
12945         * i386.c (classify_argument): Fix missed case from previous patch.
12946
12947 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12948
12949         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12950         to c-copts.c.
12951         (warn_multichar): Die.
12952         (cb_register_builtins): Export.
12953         * c-common.h (warn_multichar, preprocess_file): Remove.
12954         (cb_register_builtins): New.
12955         * c-lang.c (c_init): Remove.
12956         (LANG_HOOKS_INIT): Use c_objc_common_init.
12957         * c-lex.c (init_c_lex): Don't canonicalize filename.
12958         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12959         (preprocess_file): Make static.  Update for cpplib.
12960         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
12961         (c_common_post_options): Set some cpp options here.
12962         (c_common_init): Move from c-common.c.
12963         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12964         * cpplib.h (struct cpp_options): Remove in_fname.
12965         (cpp_preprocess_file): Update.
12966         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12967
12968 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12969
12970         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12971
12972 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12973
12974         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
12975         backslash in comment preceeding macro definition.
12976         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
12977         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
12978         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
12979
12980 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12981
12982         * expr.c (store_expr): In condition for checking if value is
12983         generated in TARGET, move call to expr_size last.
12984
12985 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12986
12987         * c-common.c (c_common_init): Call preprocess_file instead.
12988         (c_common_finish): Move to c-opts.c.
12989         * c-common.h (preprocess_file): new.
12990         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
12991         check_deps_environment_vars, c_common_finish): New.
12992         (c_common_decode_option): Update for out_fname and dependencies.
12993         * cppinit.c (init_dependency_output, output_deps): Remove.
12994         (cpp_destroy): Update prototype.
12995         (cpp_add_dependency_target): New.
12996         (cpp_read_main_file): Don't overlay a buffer.
12997         (cpp_finish): Take a deps output stream and write deps to it.
12998         Return the error count.
12999         (cpp_post_options): Don't canonicalize out_fname, or do anything
13000         with dependencies.
13001         * cpplib.h (struct cpp_options): Remove out_fname and
13002         preprocess_only.
13003         (cpp_add_dependency_target): New.
13004         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
13005         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
13006         set preprocess_only.  Don't handle the output stream directly.
13007
13008 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13009
13010         * dsp16xx.c (print_operand): Fix format specifier.
13011         * dsp16xx.md: Avoid automatic aggregate initialization.
13012         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
13013         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
13014         integer constant modifier.
13015         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
13016         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
13017         guards.
13018         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
13019         * v850.c (v850_select_section): Mark parameter with
13020         ATTRIBUTE_UNUSED.
13021         * global.c (global_alloc): Const-ify.
13022         * ra-colorize.c (hardregset_to_string): Fix format specifier.
13023
13024 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13025
13026         * darwin-c.c (darwin_pragma_options): Const-ify.
13027         * darwin.c (machopic_non_lazy_ptr_name,
13028         machopic_validate_stub_or_non_lazy_ptr): Likewise.
13029         (machopic_indirect_data_reference): Wrap variables in macros
13030         controlling their use.
13031         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
13032         (machopic_select_section): Use parentheses around && within ||.
13033         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
13034
13035 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13036
13037         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
13038         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
13039         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
13040         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
13041         mdr_try_remove_redundant_insns, track_w_reload,
13042         mdr_try_wreg_elim): Make function static to match prototype.
13043         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
13044         parameter with ATTRIBUTE_UNUSED.
13045
13046 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13047
13048         * arc.c (arc_init): Don't use ISO C style function definitions.
13049         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
13050         arm_get_strip_length, arm_strip_name_encoding): Likewise.
13051         * avr.h (progmem_section): Likewise.
13052         * h8300.c h8300_asm_insn_count): Likewise.
13053         * m32r.c (init_idents): Likewise.
13054         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
13055         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
13056         * xtensa.c (xtensa_build_va_list): Likewise.
13057
13058 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
13059
13060         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
13061         * c-opts.c (parse_option): Rename find_opt.
13062         (set_std_c99): New function.
13063         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
13064         (missing_arg): Remove OPT_std_bad.  Handle -o.
13065         (c_common_decode_option): Handle input and output file names,
13066         -o and -remap.  Clean up -std= handling.
13067         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
13068         (cpp_handle_option): Similarly.  Don't handle filenames.
13069
13070 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
13071
13072         * i386.c (classify_argument): Fix computing of field's offsets.
13073
13074 2002-08-11  Andreas Jaeger  <aj@suse.de>
13075
13076         PR target/7531:
13077         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
13078
13079 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
13080
13081         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
13082         reference to clk_objective_c with flag_objc.
13083         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
13084         Likewise.
13085         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13086
13087 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
13088
13089         * c-opts.c (set_std_cxx98, set_std_c89): New.
13090         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13091         (c_common_decode_option): Handle new switches from cppinit.c.
13092         Add -std=gnu++98.
13093         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
13094         (no_arg, no_num): Remove.
13095         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
13096         switches apart from -lang-objc and lang-asm.
13097         (cpp_handle_option): Similarly.
13098         * cpplib.h (cpp_set_lang): New.
13099         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
13100         -std=gnu++98.
13101         * objc/lang-specs.h: Remove -ansi.
13102
13103 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
13104                                Graham Stott
13105
13106         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
13107         errors.
13108
13109 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13110
13111         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
13112         emit_jump_insn): Fix uninitialized variable.
13113         * gcov.c (init_line_info): Likewise.
13114         * genautomata.c (transform_3): Add braces around ambiguous
13115         else.
13116         * ifcvt.c (cond_exec_process_insns): Mark parameter with
13117         ATTRIBUTE_UNUSED.
13118         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
13119         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
13120         variable.
13121
13122         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
13123         warnings in output files.
13124
13125 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
13126
13127         * c-common.c (flag_objc): New.
13128         * c-common.h (c_language_kind): Get rid of clk_objective_c
13129         enum value.
13130         (flag_objc): New extern declaration.
13131         * c-decl.c (implicitly_declare): Call objc_check_decl
13132         instead of maybe_objc_check_decl.
13133         (finish_decl): Likewise.
13134         (grokfield): Likewise.
13135         (finish_struct): Likewise.
13136         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
13137         (maybe_objc_comptypes): Rename to objc_comptypes.
13138         (maybe_building_objc_message_expr): Rename to
13139         objc_message_selector.
13140         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
13141         replace with flag_objc as needed.
13142         * c-opts.c (c_common_init_options): Likewise.
13143         (c_common_decode_option): Likewise.
13144         * c-parse.in (init_reswords): Likewise.
13145         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
13146         (maybe_objc_comptypes): Rename to objc_comptypes.
13147         (maybe_building_objc_message_expr): Rename to
13148         objc_message_selector.
13149         * c-typeck.c (comptypes): Call objc_comptypes instead of
13150         maybe_objc_comptypes, and/or objc_message_selector instead of
13151         maybe_building_objc_message_expr.
13152         (comp_target_types): Likewise.
13153         (convert_for_assignment): Likewise.
13154         (warn_for_assignment): Likewise.
13155         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
13156         independently of those for other languages.
13157         * objc/objc-act.c (maybe_objc_comptypes): Delete.
13158         (maybe_objc_check_decl): Delete.
13159         (maybe_building_objc_message_expr): Rename to
13160         objc_message_selector.
13161         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
13162         clk_objective_c; set flag_objc flag.
13163
13164 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13165
13166         * ifcvt.c (find_if_case_2): Test correct basic block for size.
13167
13168 2002-08-09  Dale Johannesen  <dalej@apple.com>
13169
13170         * config/rs6000/rs6000.md: Add sibcall patterns.
13171         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13172         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13173         Rewritten to handle sibcalls.
13174         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13175         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13176
13177 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13178
13179         * profile.c (da_file_name): New static var.
13180         (init_branch_prob): Initialize it.
13181         (end_branch_prob): Remove da file.
13182
13183         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13184         * configure.in (coverage_flags): Default to nothing.
13185         * configure: Rebuilt.
13186
13187 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13188
13189         * Makefile.in (c-opts.o): Update
13190         * c-opts.c: Include intl.h.
13191         (print_help): Move from cppinit.c.  Remove unused options.
13192         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13193         (missing_arg): Complain for switches without an argument.
13194         (c_common_decode_option): Reject missing joined arguments.
13195         Handle new switches from cppinit.c.
13196         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13197         (cpp_handle_option): Similarly.
13198         (print_help): Moved to c-opts.c.
13199         * cpplib.h (struct cpp_options): Remove help_only.
13200         * gcc.c (cpp_unique_options): Remove -$.
13201         * doc/cppopts.texi: Undocument -h.
13202
13203 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13204
13205         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13206         legitimate constant.
13207         (legitimate_pic_operand_p): Neither pic operand.
13208         (legitimate_address_p): But legitimate address.
13209         (get_thread_pointer): Generate MEM/u instead of CONST around
13210         UNSPEC_TP.
13211         (print_operand): Remove printing of UNSPEC_TP.
13212         (print_operand_address): And print it here.
13213
13214 2002-08-08  Devang Patel  <dpatel@apple.com>
13215
13216         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13217         when  -Wselector is used,if method for which selector is being
13218         created does not exist.
13219
13220 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13221
13222         * config/sh/sh.c (prepare_move_operands): Only call
13223         target_reg_operand if TARGET_SHMEDIA.
13224
13225 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13226
13227         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13228         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13229         two patches.
13230         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13231
13232 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13233             Richard Henderson  <rth@redhat.com>
13234
13235         * emit-rtl.c (gen_rtx_REG): After reload, only return
13236         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13237
13238 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13239
13240         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13241         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13242         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13243         macro.
13244
13245 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13246
13247         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13248         register.
13249         (thumb_expand_prologue): Likewise.
13250         (thumb_output_function_prologue): Likewise.
13251         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13252         the additional push of the PIC register.
13253
13254 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13255
13256         * configure.in (enable_coverage): New enable switch.
13257         * configure: Rebuilt.
13258         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13259         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13260         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13261         (mostlyclean): Remove coverage files.
13262         * doc/install.texi: Document enable_coverage.
13263
13264         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13265         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13266         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13267         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13268         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13269         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13270         files.
13271
13272 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13273
13274         * c-opts.c (cpp_opts): New.
13275         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13276         (c_common_decode_options): Handle cpplib switches.
13277         (c_common_init_options): Set cpp_opts.
13278         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13279         (cpp_handle_option): Similarly.
13280
13281 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13282
13283         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13284         (TARGET_ALTIVEC_ABI): Same.
13285         (TARGET_ALTIVEC_VRSAVE): Same.
13286
13287         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13288         icode not CODE_FOR_nothing.  Change switch to if.
13289
13290 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13291
13292         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13293
13294 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13295
13296         * stor-layout.c (place_union_field): For bitfields if
13297         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13298         TYPE_USER_ALIGN.
13299
13300 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13301
13302         * pa.c (struct deferred_plabel): Constify name field.
13303
13304 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13305
13306         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13307
13308 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13309
13310         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13311         local_prefix are the same.
13312         * configure: Rebuilt.
13313
13314 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13315             Richard Henderson  <rth@redhat.com>
13316
13317         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13318         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13319         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13320         (place_field): Likewise.
13321         * config/i386/i386.c (x86_field_alignment): Don't check
13322         DECL_USER_ALIGN here.
13323         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13324         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13325         prototype.
13326         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13327         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13328         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13329         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13330         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13331         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13332
13333 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13334
13335         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13336         * c-common.c: Don't include tree-inline.h.
13337         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13338         * c-common.h (c_common_decode_option): New.
13339         * c-decl.c (c_decode_option): Remove.
13340         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13341         * c-opts.c: New file.
13342         * c-tree.h (c_decode_option): Remove.
13343         * doc/passes.texi: Update.
13344         * objc/objc-act.c (objc_decode_option): Remove.
13345         * objc/objc-act.h (objc_decode_option): Remove.
13346         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13347         c_common_decode_option.
13348
13349 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13350
13351         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13352         dependency on TARGET_DOUBLE_FLOAT.
13353
13354 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13355
13356         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13357         overwrite callee-save registers.  Fix comment.
13358
13359 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13360
13361         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13362         in target_flags based on ISA, if it was not set on the command
13363         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13364         support Branch Likely instructions.
13365         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13366         (TARGET_BRANCHLIKELY): Likewise.
13367         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13368         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13369         ISA_HAS_BRANCHLIKELY.
13370         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13371         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13372         -mno-branch-likely options.
13373
13374 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13375
13376         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13377
13378         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13379         $(GCONFIG_H).
13380
13381 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13382
13383         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13384         declarations.
13385
13386         * testsuite/gcc.dg/tls/diag-3.c: New.
13387
13388 2002-08-06  Dale Johannesen  <dalej@apple.com>
13389
13390         * c-common.c (fname_decl): Use line number 0 for
13391         __func__, to avoid confusing debuggers.
13392
13393 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13394
13395         * gcov.c: Tidy.
13396         (struct line_info, struct coverage): New structures.
13397         (gcov_file_name, gcov_file): Remove globals.
13398         (output_data): Take source file parameter. Fix memory leak. Break
13399         up into ...
13400         (init_line_info, output_line_info, make_gcov_file_name,
13401         accumulate_branch_counts): ... here.
13402         (calculate_branch_probs, function_summary): Adjust.
13403         (main): Adjust.
13404         (function_*): Remove global variables.
13405
13406 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13407
13408         * dwarf2out.c: Remove unused macros.
13409
13410 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13411
13412         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13413
13414 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13415
13416         * cppinit.c (struct lang_flags): Rename trigraphs std.
13417         (set_lang): Update.
13418         * cpplib.h (struct cpp_options): New member std.
13419         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13420         (collect_args): Flag whether to swallow a possible future
13421         comma pasted with varargs.
13422         (replace_args): Use this flag.
13423         * doc/cpp.texi: Update varargs extension documentation.
13424
13425 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13426
13427         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13428
13429 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13430
13431         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13432         and MODE_CLASS_INT modes.
13433
13434 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13435
13436         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13437         --{enable,disable}-threads is given to configure.
13438         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13439         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13440         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13441         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13442         Remove thread_file setting here.
13443
13444 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13445
13446         * doc/install.texi (Binaries): Update Bull Freeware URL.
13447
13448 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13449
13450         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13451
13452 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13453
13454         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13455
13456 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13457
13458         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13459         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13460
13461 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13462
13463         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13464         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13465         drectve_section): Define.
13466         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13467         * config/i386/interix.c: Remove.
13468
13469 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13470
13471         * attribs.c: Don't include obstack.h.
13472         * builtins.c: Likewise.
13473         * cfganal.c: Likewise.
13474         * cfgbuild.c: Likewise.
13475         * cfgcleanup.c: Likewise.
13476         * emit-rtl.c: Likewise.
13477         * loop.c: Likewise.
13478         * stmt.c: Likewise.
13479
13480         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13481
13482 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13483
13484         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13485
13486 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13487
13488         * doc/invoke.texi: Remove duplicated paragraph describing
13489         TARGET_SWITCHES.
13490
13491 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13492
13493         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13494         * collect2.h (permanent_obstack): Delete declaration.
13495         * collect2.c (permanent_obstack): Delete definition.
13496         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13497         * expr.c: Don't include obstack.h.
13498         (permanent_obstack): Delete declaration.
13499         * function.c: Don't include obstack.h.
13500         (permanent_obstack): Delete declaration.
13501         * integrate.c: Don't include obstack.h.
13502         (function_maybepermanent_obstack): Delete declaration.
13503         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13504         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13505         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13506         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13507         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13508         of permalloc, expralloc, perm_calloc.
13509         * tree.c (permanent_obstack): Delete definition.
13510         (init_ttree): Rename from init_obstacks.
13511         (permalloc): Delete.
13512         (perm_calloc): Delete.
13513         (dump_tree_statistics): Don't print information about
13514         permanent_obstack.
13515         * varasm.c (assemble_start_function): Use xstrdup instead of
13516         permalloc/strcpy.
13517         (assemble_variable): Likewise.
13518         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13519         permalloc.
13520         (unicosmk_add_extern): Likewise.
13521         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13522         (c4x_global_label): Likewise.
13523         * config/frv/frv.c (frv_encode_section_info): Likewise.
13524         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13525         (i386_pe_record_exported_symbol): Likewise.
13526         * config/mips/mips.c (mips_output_external): Likewise.
13527         (mips_output_external_libcall): Likewise.
13528         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13529         (output_call): Use ggc_strdup instead of allocating on
13530         permanent_obstack.
13531         * config/romp/romp.c: Include ggc.h.
13532         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13533         intead of permanent_obstack.
13534         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13535         instead of permalloc.
13536         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13537         instead of permalloc
13538         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13539         instead of permalloc.
13540         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13541         permalloc.
13542
13543 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13544
13545         Contribute a port developed primarily by Michael Meissner,
13546         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13547         * config.gcc: Add frv-elf target.
13548         * config/frv/cmovd.c: New file.
13549         * config/frv/cmovh.c: New file.
13550         * config/frv/cmovw.c: New file.
13551         * config/frv/frv-abi.h: New file.
13552         * config/frv/frv-asm.h: New file.
13553         * config/frv/frv-modes.def: New file.
13554         * config/frv/frv-protos.h: New file.
13555         * config/frv/frv.c: New file.
13556         * config/frv/frv.h: New file.
13557         * config/frv/frv.md: New file.
13558         * config/frv/frvbegin.c: New file.
13559         * config/frv/frvend.c: New file.
13560         * config/frv/lib1funcs.asm: New file.
13561         * config/frv/media.h: New file.
13562         * config/frv/modi.c: New file.
13563         * config/frv/t-frv: New file.
13564         * config/frv/uitod.c: New file.
13565         * config/frv/uitof.c: New file.
13566         * config/frv/ulltod.c: New file.
13567         * config/frv/ulltof.c: New file.
13568         * config/frv/umodi.c: New file.
13569         * config/frv/xm-frv.h: New file.
13570
13571         * config/frv/media.h: Removed again.
13572
13573 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13574
13575         * gcov.c (bb_file_time): New static variable.
13576         (object_directory): May also be object file.
13577         (preserve_paths): New static variable.
13578         (print_usage): Adjust.
13579         (options): Adjust.
13580         (process_args): Adjust.
13581         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13582         file. Find modification date on bb file.
13583         (read_profile): Don't rewind a NULL file.
13584         (format_hwint): New static function.
13585         (function_summary): Use format_hwint.
13586         (output_data): SOURCE_FILE_NAME is never relative to
13587         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13588         mangling. Adjust output format to make it more machine readable.
13589         * doc/gcov.texi: Document & clarify semantics.
13590
13591 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13592
13593         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13594
13595 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13596
13597         * gcc.c (cc1_options): Pass output file as auxbase when
13598         appropriate.
13599         * profile.c (init_branch_prob): FILENAME has already had ending
13600         stripped.
13601         * final.c (end_final): Likewise.
13602         * toplev.c (aux_base_name): New global.
13603         (compile_file): Pass aux_base_name to init init_branch_prob and
13604         end_final.
13605         (independent_decode_option, case 'a'): New auxinfo options.
13606         (case 'd'): Protect against mising basename.
13607         (do_compile): Initialize aux_base_name.
13608         * toplev.h (aux_base_name): New global.
13609         * doc/invoke.texi: Adjust documentation.
13610
13611 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13612
13613         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13614         of TARGET_ALIGN_DOUBLE.
13615
13616 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13617
13618         * diagnostic.c (inform): New function.
13619         * diagnostic.h (inform): Declare.
13620
13621 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13622
13623         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13624         (movhi_internal): Same.
13625         (movqi_internal): Same.
13626         (movdi_internal64): Same.
13627
13628         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13629
13630         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13631         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13632         (COMMON_ASM_OP): Define.
13633         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13634         Use ALIGN parameter.
13635         (LOCAL_COMMON_ASM_OP): Define.
13636         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13637
13638 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13639
13640         * builtins.def: Define new builtin functions exp, expf, expl,
13641         log, logf and logl (and their __builtin_* variants).
13642         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13643         Define exp_optab and log_optab.
13644         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13645         * genopinit.c (optabs): Implement exp_optab and log_optab
13646         using exp?f2 and log?f2 patterns.
13647         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13648         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13649         (expand_builtin): Ignore the new builtins (and all cos and
13650         sin variants) when not optimizing.  Expand new builtins via
13651         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13652
13653         * doc/extend.texi: Document new exp and log builtins.
13654         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13655         (and previously undocumented cos?f2 and sin?f2 patterns).
13656
13657 2002-08-03  Jason Merrill  <jason@redhat.com>
13658
13659         * explow.c (int_expr_size): New fn.
13660         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13661         * expr.h: Declare it.
13662
13663 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13664
13665         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13666         gengtype-* dependencies.
13667
13668 2002-08-02  Eric Christopher  <echristo@redhat.com>
13669
13670         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13671         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13672         #ifndef to #undef.
13673         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13674
13675 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13676
13677         PR optimize/7067
13678         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13679         small if optimizing for size.
13680
13681 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13682
13683         * configure.in (FORBUILD): Use $build_alias.
13684         * configure: Regenerated.
13685
13686 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13687
13688         * config.gcc: Don't include mips/abi64.h in $tm_file.
13689         * hard-reg-set.h (call_really_used_regs): Declare.
13690         * config/mips/abi64.h: Remove file.
13691         * config/mips/linux.h,
13692         * config/mips/iris6.h: Don't include it.
13693         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13694         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13695         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13696         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13697         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13698         Bring across definitions from abi64.h.
13699         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13700         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13701         (struct mips_args): Use it.
13702         * config/mips/mips.c (mips_conditional_register_usage): Define.
13703
13704 2002-08-02  Jason Merrill  <jason@redhat.com>
13705
13706         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13707         * langhooks.c (lhd_expr_size): Define default.
13708         * langhooks.h (struct lang_hooks): Add expr_size.
13709         * explow.c (expr_size): Call it.
13710         * expr.c (store_expr): Don't copy an expression of size zero.
13711         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13712         to store.
13713         * Makefile.in (builtins.o): Depend on langhooks.h.
13714
13715 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13716
13717         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13718         * ra-debug.c: Include "tm_p.h".
13719         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13720
13721 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13722
13723         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13724         when not honoring signalling NaNs.
13725         (simplify_ternary_operation): a == b has a definite value
13726         when not honoring NaNs.
13727
13728 2002-08-02  Jason Merrill  <jason@redhat.com>
13729
13730         * gdbinit.in (pct): New macro.
13731
13732 2002-08-01  Stan Shebs  <shebs@apple.com>
13733             Andreas Tobler  <toa@pop.agri.ch>
13734
13735         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13736         plays nice with Darwin headers.
13737         (_BSD_RUNE_T_DEFINED_): Likewise.
13738
13739 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13740
13741         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13742         * cppinit.c (cpp_post_options): Likewise.
13743
13744         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13745         warning about 'LL' suffix (but not 'ULL' etc) when
13746         -Wno-long-long is in effect.
13747
13748         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13749         Check for failing time()/localtime(), issue a warning, and
13750         make __TIME__ and __DATE__ expand to fallback strings.
13751
13752         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13753         and __TIME__ when the date and time cannot be determined.
13754
13755 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13756
13757         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13758
13759 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13760
13761         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13762
13763 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13764
13765         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13766         (mipsisa64sb1el-*-elf*): Likewise.
13767         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13768         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13769         (TARGET_SB1, TUNE_SB1): New macros.
13770         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13771         -mtune flags.
13772
13773 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13774
13775         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13776         and ASM_EMIT_BSS not supported by target.
13777         (assemble_variable): Do not duplicate uninitialized logic.
13778         Fall through if asm_emit_uninitialized failed.
13779
13780 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13781
13782         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13783
13784 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13785
13786         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13787         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13788
13789         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13790         HOST_BITS_PER_WIDE_INT == 64.
13791
13792 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13793
13794         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13795         * optabs.c (expand_binop): Make variable unsigned.
13796         * simplify-rtx.c (simplify_subreg): Likewise.
13797         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13798
13799 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13800
13801         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13802
13803 2002-08-01  Richard Henderson  <rth@redhat.com>
13804
13805         * toplev.c (parse_options_and_default_flags): Don't set
13806         flag_reorder_blocks for -Os.
13807
13808         * config/avr/avr.c (avr_optimization_options): Remove.
13809         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13810         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13811         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13812
13813 2002-08-01  H.J. Lu <hjl@gnu.org>
13814             Richard Henderson  <rth@redhat.com>
13815
13816         * output.h (DECL_READONLY_SECTION): Remove.
13817         (decl_readonly_section): Declare.
13818         * varasm.c (decl_readonly_section): New.
13819         (default_section_type_flags, default_select_section): Use it.
13820         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13821         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13822         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13823         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13824         * config/mips/mips.c (mips_unique_section): Likewise.
13825
13826 2002-08-01  Richard Henderson  <rth@redhat.com>
13827
13828         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13829         refers to a subroutine parameter.
13830
13831 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13832
13833         * varasm.c (assemble_visibility): Strip name encoding.
13834
13835 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13836
13837         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13838         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13839         when there is no frame pointer.
13840         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13841         registers properly.
13842         * config/ns32k/__unorddf2.c: New file.
13843         * config/ns32k/__unordsf2.c: New file.
13844         * config/ns32k/t-ns32k: New file.
13845         * config.gcc (ns32k-*-netbsd*): Use it.
13846
13847 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13848
13849         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13850
13851 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13852
13853         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13854
13855 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13856
13857         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13858
13859 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13860
13861         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13862
13863 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13864
13865         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13866         n_sets): Removed.
13867         (expr_hash_table, set_hash_table): Type changed to ...
13868         (struct hash_table): New type.
13869         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13870         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13871         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13872         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13873         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13874         (alloc_hash_table): New.
13875         (free_set_hash_table, free_expr_hash_table): Merged to ...
13876         (free_hash_table): New.
13877         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13878         (compute_hash_table_work): New.
13879         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13880         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13881         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13882         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13883         hoist_code, one_code_hoisting_pass,
13884         trim_ld_motion_mems): Altered due to changed type of hash tables.
13885
13886 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13887
13888         * final.c (output_alternate_entry_point):
13889         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13890
13891 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13892
13893         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13894         avoid ISO C style function definition.
13895
13896         * expr.c (expand_assignment): Delete unused variable.
13897
13898 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
13899
13900         * c-common.c (cb_register_builtins): Set
13901         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13902         is given, and to 0 otherwise.
13903         * combine.c (simplify_if_then_else): HONOR_NANS
13904         implies FLOAT_MODE_P.
13905
13906 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13907
13908         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13909         (cpp_handle_option): Don't handle it.
13910         (print_help): Update.
13911         * doc/cppopts.texi: Update.
13912
13913 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13914
13915         * c-common.c (cb_register_builtins): If C++, define
13916         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13917         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13918 cp:
13919         * lang-specs.h: Simplify in accordance with new code in
13920         c-common.c.
13921
13922 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13923
13924         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13925         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13926         * c-decl.c: Move all warning and flag variables to c-common.c.
13927         * c-format.c: Move all warning variables to c-common.c.
13928         * c-tree.h: Move all warning and flag declarations to c-common.h.
13929         * objc/objc-act.c: Move all warning variables to c-common.c.
13930         (flag_warn_protocol): Rename warn_protocol.
13931
13932 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13933
13934         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13935
13936 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
13937
13938         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13939         .section prefix.
13940
13941 2002-07-31  Stan Shebs  <shebs@apple.com>
13942
13943         * config.gcc (i[34567]86-*-darwin*): New configuration.
13944         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13945         defining.
13946         (TARGET_ENCODE_SECTION_INFO): Ditto.
13947         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13948         * config/darwin.c (machopic_indirect_data_reference): Remove
13949         setting of RTX_UNCHANGING_P.
13950         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13951         not to be applied to sums.
13952         * config/i386/t-darwin: New file.
13953         * config/i386/darwin.h: New file.
13954         * config/i386/i386.h (TARGET_MACHO): Add default definition.
13955         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13956         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13957         label and not the GOT add.
13958         (constant_address_p): For Mach-O, seeing a CONST is enough.
13959         (legitimate_pic_address_disp_p): Add a Mach-O case.
13960         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13961         (legitimize_pic_address): Use generic Mach-O code to legitimize.
13962         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13963         if outputting a difference.
13964         (ix86_output_addr_diff_elt): Add Mach-O case.
13965         (ix86_expand_move): Similarly.
13966         (ix86_expand_call): Similarly.
13967         (current_machopic_label_num): New global.
13968         (machopic_output_stub): New function.
13969         (ix86_value_regno): New function.
13970         (ix86_function_value): Use it instead of VALUE_REGNO.
13971         (ix86_libcall_value): Ditto.
13972         * config/i386/unix.h (VALUE_REGNO): Remove.
13973
13974 2002-07-31  Graham Stott  <grahas@btinternet.com>
13975
13976         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
13977         hash for LABEL_REF's.
13978
13979 2002-07-31  Graham Stott  <grahams@btinternet.com>
13980
13981         * config/rs6000/rs6000.c (spe_init_builtins,
13982         altivec_init_builtins, rs6000_common_init_builtins):
13983         Replace ANSI with K&R function def.
13984
13985 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
13986
13987         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
13988         for CCFPmode.
13989
13990 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13991
13992         * config/mips/crtn.asm: Don't use __mips16 to determine the
13993         return-address offset.  Define RA to a suitable temporary
13994         register for the return address.
13995
13996 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13997
13998         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
13999         constraints to 'd'.
14000
14001 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
14002
14003         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
14004         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
14005         patch on 2002-07-29.)
14006         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14007
14008 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14009
14010         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
14011         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
14012         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
14013         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
14014         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
14015         (ASM_GLOBALIZE_LABEL): Delete.
14016         (GLOBAL_ASM_OP): Define.
14017
14018         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
14019
14020         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
14021         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
14022
14023 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
14024
14025         * doc/extend.texi (Hints implementation): Document that GCC
14026         mostly ignores `register'.
14027
14028 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
14029
14030         * flags.h: Declare flag_finite_math_only.
14031         Use it in definition of HONOR_NANS and
14032         HONOR_INFINITIES.
14033         * c-common.c (cb_register_builtins): Emit
14034         __FINITE_MATH_ONLY__ when flag_finite_math_only
14035         is set.
14036         * combine.c (simplify_if_then_else): If
14037         flag_finite_math_only is set, a == b has a
14038         definite value.
14039         * toplev.c: Initialize flag_finite_math_only.
14040         (set_flags_fast_math): Set it on -ffast-math.
14041         (flag_fast_math_set_p): Test it.
14042         * doc/invoke.texi: Document -ffinite-math-only.
14043
14044 2002-07-30  Richard Henderson  <rth@redhat.com>
14045
14046         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
14047         (noce_process_if_block): Likewise.
14048
14049 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
14050
14051         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
14052         Bail out early if false_expr is NULL and we'd crash due to this.
14053         * genemit.c (gen_expand): Recognize return insns even if the return
14054         appears in a parallel.
14055         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
14056         * config/fp-bit.c: Likewise.
14057         * doc/tm.texi: Document it.
14058
14059 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
14060             Zack Weinberg  <zack@codesourcery.com>
14061
14062         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
14063         CODE_FOR_nothing.  Change switch to if.
14064         (rs6000_expand_binop_builtin): Same.
14065         (rs6000_expand_builtin): Expand builtin if target support enabled.
14066         (rs6000_init_builtins): Init builtin if target support enabled.
14067         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
14068
14069 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14070
14071         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
14072
14073 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
14074
14075         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
14076
14077 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
14078
14079         * sh.md (cond_delay_slot): New attribute.
14080         (cbranch delay): Use it for anulled-true case.
14081         (stuff_delay_slot): New pattern.
14082         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
14083         delay slot insn.
14084         (gen_far_branch): Emit stuff_delay_slot pattern.
14085
14086 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
14087
14088         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
14089
14090 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
14091
14092         * fold-const.c: Fix comment typos.
14093         * gcse.c: Likewise.
14094         * reload1.c: Likewise.
14095
14096 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14097
14098         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
14099         for TARGET_SPE.
14100
14101 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14102
14103         * c-pretty-print.h (pp_c_statement): Declare.
14104         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
14105         (pp_c_statement): Define.
14106
14107 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14108
14109         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
14110         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
14111         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
14112         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
14113         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14114         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
14115
14116         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
14117         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
14118
14119 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14120
14121         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
14122         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
14123         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
14124         (pp_c_expression): Update.
14125
14126 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14127
14128         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
14129         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
14130         * alpha/vms-ld.c (main): Likewise.
14131         * dsp16xx.c (double_reg_to_memory): Likewise.
14132         * mcore.c (mcore_expand_prolog): Likewise.
14133         * cppfiles.c (read_name_map): Likewise.
14134         * gensupport.c (process_rtx, identify_predicable_attribute,
14135         alter_test_for_insn): Likewise.
14136         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
14137
14138 2002-07-29  Roger Sayle  <roger@eyesopen.com>
14139
14140         * builtins.c (expand_builtin):  Change the default behavior to
14141         only issue an error if the builtin function doesn't have a
14142         fallback library call.  Remove several cases handled by the
14143         new default.
14144
14145 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
14146
14147         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
14148         floating point format of the target is IEEE.
14149         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
14150         format of the target is DEC.
14151
14152 2002-07-29  Richard Henderson  <rth@redhat.com>
14153
14154         * unroll.c (verify_addresses): Remove.
14155         (find_splittable_givs): Never split DEST_ADDR givs.
14156
14157 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
14158
14159         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
14160         is exhaustive.
14161         (Files): Improve documentation on generated source files.
14162
14163         * doc/extend.texi (Translation implementation): Document what
14164         diagnostics look like.
14165         (Identifiers implementation): Document that there's normally no
14166         limit on identifier names.
14167         (Integers implementation): Document two's complement.
14168         (Hints implementation): Document that GCC honors 'inline', mostly.
14169         (Preprocessing directives implementation): Document that GCC
14170         requires the current time.
14171
14172 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14173
14174         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14175         (pp_initializer): New macro.
14176         (pp_c_initializer): Declare.
14177         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14178         (pp_c_initializer): Define.
14179         (pp_c_initializer_list): New function.
14180         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14181         VECTOR_CST, CONSTRUCTOR.
14182         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14183         IMAGPART_EXPR.
14184         (pp_c_cast_expression): Handle FLOAT_EXPR.
14185         (pp_c_assignment_expression): Handle INIT_EXPR.
14186         (pp_c_expression): Update.
14187
14188 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14189
14190         * objc/objc-act.c (objc_init): Return immediately if filename
14191         is NULL.
14192
14193 2002-07-29  Eric Christopher  <echristo@redhat.com>
14194
14195         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14196         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14197         (SDB_DEBUGGING_INFO): Undefine.
14198         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14199         (PUT_SDB_SIZE): Remove.
14200         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14201         (STARTFILE_SPEC): Add isa3264 define.
14202         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14203         * config/mips/ecoff.h: Remove. and here...
14204         * config/mips/iris3.h: and here...
14205         * config/mips/sni-svr4.h: and here...
14206         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14207         Add assembler -mmdebug options for non-dwarf debugging.
14208         * config/mips/r3900.h: Remove debug info defines.
14209         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14210         * config/mips/isa3264.h: Ditto.
14211         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14212         change.
14213         * config/mips/t-elf: Ditto.
14214         * config/mips/t-ecoff: Ditto.
14215         * config/mips/t-r3900: Ditto.
14216         * config/mips/t-iris5-6: Ditto.
14217         * config/mips/t-isa3264: Ditto.
14218         * config/mips/t-linux: Remove.
14219         * config/mips/t-netbsd: Remove.
14220         * config/mips/t-mips: New file.
14221         * config/mips/t-gofast: Ditto.
14222         * config/mips/netbsd.h: Remove unnecessary undefines.
14223         * config/mips/linux.h: Remove #include of mips.h.
14224         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14225         for ecoff. Add gofast configure option for mips.
14226
14227 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14228
14229         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14230         linker scripts use STARTUP directives consistently.
14231         * configure: Regenerate.
14232         * config.in: Regenerate.
14233         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14234         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14235         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14236         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14237         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14238         will be the same.
14239
14240 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14241
14242         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14243
14244 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14245
14246         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14247
14248 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14249
14250         * config/rs6000/rs6000.md: Move altivec patterns from here...
14251
14252         * config/rs6000/altivec.md: ...to here.
14253
14254 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14255
14256         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14257
14258 2002-07-29  Richard Henderson  <rth@redhat.com>
14259
14260         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14261         set_mem_attributes and add BITPOS argument.  Subtract it from
14262         OFFSET when same is adjusted.
14263         (set_mem_attributes): New wrapper function.
14264         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14265         remove offset adjustment hack.
14266         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14267
14268 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14269
14270         * Makefile.in (C_OBJS): Include c-pretty-print.o
14271         (c-pretty-print.o): Add depency rule.
14272         * pretty-print.h: Add more macros.
14273         * c-pretty-print.c: New file.
14274         * c-pretty-print.h: Likewise.
14275
14276 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14277
14278         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14279         constants to __ev64_s32__.
14280         (__internal_ev_mwhgsmian): Same.
14281         (__internal_ev_mwhgsmfan): Same.
14282         (__internal_ev_mwhgssfan): Same.
14283         (__internal_ev_mwhgumiaa): Same.
14284         (__internal_ev_mwhgsmiaa): Same.
14285         (__internal_ev_mwhgsmfaa): Same.
14286         (__internal_ev_mwhgssfaa): Same.
14287
14288 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14289
14290         * varasm.c (assemble_variable): Narrow test for uninitialized
14291         without BSS target support.
14292
14293 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14294
14295         * profile.c: Add file comment describing the overall algorithm and
14296         structures.
14297         (struct edge_info): Add comments.
14298         (struct bb_info): Add comments.
14299         * basic-block.h (EDGE_*): Add comments.
14300         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14301
14302 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14303
14304         * config/xtensa/elf.h, config/xtensa/linux.h
14305         (TARGET_OS_CPP_BUILTINS): Define.
14306         (CPP_PREDEFINES): Remove.
14307         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14308         (CPP_SPEC): Remove.
14309
14310 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14311
14312         * gensupport.c: Include hashtab.h.
14313         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14314         maybe_eval_c_test): New routines and data structures to
14315         support insn elision.
14316         (init_md_reader): Read and initialize the condition_table.
14317         (read_md_rtx): Discard insn patterns whose C test is provably
14318         always false.
14319         * gensupport.h: Declare new functions and data structures.
14320
14321         * genconditions.c, dummy-conditions.c: New files.
14322         * Makefile.in: Build genconditions; run it to construct
14323         insn-conditions.c; build that and link it into most gen*
14324         programs.
14325         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14326         (GEN): Delete, unused.
14327         (STAGESTUFF): Update.
14328
14329         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14330         CODE_FOR_nothing for all elided patterns.
14331         (main): Tweaked to support this.
14332         * genflags.c (gen_proto): Emit a static inline generator
14333         function here for all elided patterns, which simply returns
14334         NULL_RTX.
14335         (gen_insn): Do not define HAVE_xxx for elided patterns.
14336         (main): Tweaked to support this.  No need to forward-declare
14337         struct rtx_def.
14338         * genrecog.c: Do not bother emitting the C test if it's known
14339         to be true at compile time.
14340
14341 2002-07-29  Mike Stump  <mrs@apple.com>
14342
14343         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14344         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14345
14346 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14347
14348         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14349         remove clobber of LR.
14350         (sibcall_insn, sibcall_value_insn): Update accordingly.
14351         (sibcall_epilogue): Remove debugging comment from assembler stream.
14352
14353 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14354
14355         * pretty-print.h: Define more macros.
14356         * diagnostic.h (output_formatted_integer): Moved from...
14357         * diagnostic.c: ... here.
14358
14359 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14360
14361         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14362
14363 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14364
14365         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14366         arguments.  Always use ".-symbol" as expression argument.
14367         * doc/tm.texi: Update to match.  Document requirement for
14368         ".size symbol, .-symbol" to be acceptable to assembler.
14369
14370         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14371         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14372         config/i386/freebsd-aout.h, config/i386/sco5.h,
14373         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14374         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14375
14376 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14377
14378         * Makefile.in (gengtype-lex.c): Fix error in last change.
14379
14380         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14381         backslash.
14382
14383         * Makefile.in (vmsdbgout.o): Depend on function.h.
14384
14385         * vmsdbgout.c: Include function.h.
14386
14387 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14388
14389         * prefix.c (update_path): Don't strip single `.' path components
14390         unless stripping a later `..' component.  Exit loop as soon as
14391         a valid path is found.
14392
14393 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14394
14395         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14396         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14397         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14398         floating point unordered comparisons (e.g. __builtin_isgreater)
14399         as const, and leave the remaining GCC_BUILTINs unchanged.
14400
14401         * c-decl.c (builtin_function): No need to explicitly mark
14402         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14403
14404 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14405
14406         * Makefile.in: rtlanal.o now depends upon real.h.
14407
14408         * flags.h [flag_signaling_nans]: New flag.
14409         [HONOR_SNANS]: New macro.
14410
14411         * toplev.c [flag_signaling_nans]: Initialize to false.
14412         (f_options): Add processing for "-fsignaling-nans".
14413         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14414         (process_options): flag_signaling_nans implies flag_trapping_math.
14415
14416         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14417         when -fsignaling-nans.  First step to implementing WG14's N965.
14418
14419         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14420         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14421         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14422
14423         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14424         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14425
14426         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14427         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14428         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14429         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14430         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14431
14432         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14433
14434 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14435
14436         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14437         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14438         (YY_DECL): Define.
14439
14440 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14441
14442         * doc/invoke.texi: Document that both -fno-builtin-foo and
14443         -fno-builtin are supported by the g++ front-end.
14444
14445 2002-07-27  Stan Shebs  <shebs@apple.com>
14446
14447         * configure.in: Rename config_gtfiles to target_gtfiles.
14448         * configure: Regenerate.
14449         * doc/gty.texi: Update reference.
14450         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14451         instead of appending to it.
14452
14453 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14454
14455         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14456         vectors are split into two registers.
14457         (function_arg): Same.
14458
14459 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14460
14461         * pa.md (extv): Check predicates before emitting extv_32.
14462
14463 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14464
14465         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14466         (rs6000_traceback): New var.
14467         (rs6000_override_options): Set rs6000_traceback.
14468         (rs6000_output_function_epilogue): Implement traceback options.
14469         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14470         (rs6000_traceback_name): Declare.
14471
14472         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14473         label reference when NO_PROFILE_COUNTERS.
14474
14475 2002-07-26  Jason Merrill  <jason@redhat.com>
14476
14477         * function.c (assign_parms): Handle frontend-directed pass by
14478         invisible reference.
14479
14480 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14481
14482         * doc/cppopts.texi: Update.
14483
14484 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14485
14486         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14487         warnings on assertions.
14488
14489 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14490
14491         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14492         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14493         RID_COMPL): Remove.
14494         * c-parse.in (rid_to_yy): Similarly.
14495
14496 2002-07-26  Jason Merrill  <jason@redhat.com>
14497
14498         * c-dump.c: Resurrect.
14499         * tree-dump.c: Move C-specific stuff to c-dump.c.
14500         * c-common.h: Declare c_dump_tree.
14501         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14502         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14503         (c-dump.o): New rule.
14504
14505 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14506
14507         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14508         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14509         predicate will do.  Formatting fixes.
14510         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14511         as for extzvsi_internal1.
14512
14513 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14514
14515         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14516         DERIV_END_LABEL_FMT): Remove.
14517         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14518
14519 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14520
14521         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14522         Remove.
14523
14524 2002-07-25  Stan Shebs  <shebs@apple.com>
14525
14526         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14527         local var dwarfp.
14528         (output_compiler_stub): Remove unused locals.
14529         (output_call): Always initialize line number.
14530
14531 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14532
14533         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14534         * sh.md (truncdiqi2, movqi_media): Likewise.
14535
14536 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14537
14538         * gcse.c (obstack_chunk_alloc): Remove.
14539         (gcse_alloc): Fix to count allocated bytes.
14540         * collect2.c (SYMBOL__MAIN): Remove.
14541
14542 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14543
14544         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14545         HAVE_TARGET_EXECUTABLE_SUFFIX.
14546
14547 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14548
14549         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14550         SIZE, EXPR and OFFSET.
14551
14552 2002-07-25  Richard Henderson  <rth@redhat.com>
14553
14554         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14555         in ARRAY_REF of DECL_P case.
14556
14557 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14558
14559         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14560         description.  Document -mips32, -mips64, and the associated -march
14561         values.  Describe the "mipsN" arguments to -march.  Say that the
14562         -mipsN options are equivalent to -march.  Reword the description
14563         of default type sizes.
14564         * toplev.h (target_flags_explicit): Declare.
14565         * toplev.c (target_flags_explicit): New var.
14566         (set_target_switch): Update target_flags_explicit.
14567         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14568         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14569         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14570         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14571         * config/mips/mips.h (mips_cpu_info): New struct.
14572         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14573         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14574         (MIPS_CPP_SET_PROCESSOR): New macro.
14575         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14576         Define _MIPS_ARCH and _MIPS_TUNE.
14577         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14578         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14579         MIPS_ISA_DEFAULT were already defined.
14580         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14581         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14582         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14583         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14584         (ABI_GAS_ASM_SPEC): Remove.
14585         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14586         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14587         Invoke %(asm_abi_default_spec) if no ABI was specified.
14588         (CC1_SPEC): Remove ISA -> register-size rules.
14589         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14590         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14591         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14592         (mips_cpu_info_table): New array.
14593         (mips_set_architecture, mips_set_tune): New fns.
14594         (override_options): Rework to make -mipsN equivalent to -march.
14595         Detect more erroneous cases, including those removed from CC1_SPEC.
14596         Don't change the ABI based on architecture, or vice versa.
14597         Unify logic with GAS.
14598         (mips_asm_file_start): Get architecture name from mips_arch_info.
14599         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14600         (mips_parse_cpu): Take the name of the option as argument.  Handle
14601         'from-abi'.  Raise an error if the option is wrong.
14602         (mips_cpu_info_from_isa): New fn.
14603
14604 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14605
14606         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14607         (tablejump_mips162): Likewise.
14608
14609 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14610
14611         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14612         int_mode_for_mode.
14613
14614 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14615
14616         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14617         complaining.
14618         * c-common.h (c_sizeof): Adjust definition.
14619         (c_alignof): Likewise.
14620         * c-tree.h (c_sizeof_nowarn): Now macro.
14621         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14622
14623 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14624
14625         * c-decl.c (c_decode_option): No need to handle switches
14626         cpplib handles.
14627
14628 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14629
14630         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14631         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14632         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14633         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14634
14635         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14636         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14637         config/cris/aout.h, config/i386/freebsd-aout.h,
14638         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14639         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14640         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14641         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14642         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14643         config/xtensa/elf.h, config/xtensa/linux.h:
14644         Use the new macros.
14645         Where possible, remove redundant definitions of SIZE_ASM_OP,
14646         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14647
14648 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14649
14650         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14651         TARGET_ISEL, and TARGET_FPRS.
14652
14653         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14654         -mabi=spe, -mabi=no-spe, and -misel=.
14655
14656         * config/rs6000/rs6000-protos.h: Add output_isel.
14657         Move vrsave_operation prototype here.
14658
14659         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14660         (smaxsi3): Same.
14661         (uminsi3): Same.
14662         (umaxsi3): Same.
14663         (abssi2_nopower): Disallow when TARGET_ISEL.
14664         (*ne0): Same.
14665         (negsf2): Change to expand and rename old pattern to *negsf2.
14666         (abssf2): Change to expand and rename old pattern to *abssf2.
14667
14668         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14669         fixunssfsi2.
14670
14671         Change patterns that check for TARGET_HARD_FLOAT or
14672         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14673
14674         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14675         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14676         (rs6000_override_options): Add 8540 case to
14677         processor_target_table.
14678         Set rs6000_isel for the 8540.
14679         Call rs6000_parse_isel_option.
14680         (enable_mask_for_builtins): New.
14681         (rs6000_parse_isel_option): New.
14682         (rs6000_parse_abi_options): Add spe and no-spe.
14683         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14684         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14685         for TARGET_HARD_FLOAT.
14686         Add case for SPE_VECTOR_MODE.
14687         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14688         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14689         vector modes.
14690         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14691         (rs6000_emit_move): Check for TARGET_FPRS.
14692         Add cases for SPE vector modes.
14693         (function_arg_boundary): Return 64 for SPE vector modes.
14694         (function_arg_advance): Check for TARGET_FPRS and
14695         Handle SPE vectors.
14696         (function_arg): Same.
14697         (setup_incoming_varargs): Check for TARGET_FPRS.
14698         (rs6000_va_arg): Same.
14699         (struct builtin_description): Un-constify mask field.  Move up in
14700         file.
14701         (bdesc_2arg): Un-constify and add SPE builtins.
14702         (bdesc_1arg): Same.
14703         (bdesc_spe_predicates): New.
14704         (bdesc_spe_evsel): New.
14705         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14706         (rs6000_expand_binop_builtin): Same.
14707         (bdesc_2arg_spe): New.
14708         (spe_expand_builtin): New.
14709         (spe_expand_predicate_builtin): New.
14710         (spe_expand_evsel_builtin): New.
14711         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14712         (rs6000_init_builtins): Initialize SPE builtins.  Call
14713         rs6000_common_init_builtins.
14714         (altivec_init_builtins): Move all non-altivec builtin code to...
14715         (rs6000_common_init_builtins): ...here.  New function.
14716         (branch_positive_comparison_operator): Allow NE code for SPE.
14717         (ccr_bit): Return correct ccr bit for SPE fp.
14718         (print_operand): Emit crnor in 'D' case for SPE.
14719         New case 't'.
14720         Add SPE code for 'y' case.
14721         (rs6000_generate_compare): Generate rtl for SPE fp.
14722         (output_cbranch): Handle SPE hard floats.
14723         (rs6000_emit_cmove): Handle isel.
14724         (rs6000_emit_int_cmove): New.
14725         (output_isel): New.
14726         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14727         64-bits for SPE.
14728         (debug_stack_info): Add SPE info.
14729         (gen_frame_mem_offset): New.
14730         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14731         Change mode of frame pointer, when saving it, to Pmode.
14732         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14733         Misc cleanups and use gen_frame_mem_offset when appropriate.
14734
14735         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14736         (TARGET_SPE_ABI): New.
14737         (TARGET_SPE): New.
14738         (TARGET_ISEL): New.
14739         (TARGET_FPRS): New.
14740         (FIXED_SCRATCH): New.
14741         (RTX_COSTS): Add PROCESSOR_PPC8540.
14742         (ASM_CPU_SPEC): Add case for 8540.
14743         (TARGET_OPTIONS): Add isel= case.
14744         (rs6000_spe_abi): New.
14745         (rs6000_isel): New.
14746         (rs6000_fprs): New.
14747         (rs6000_isel_string): New.
14748         (UNITS_PER_SPE_WORD): New.
14749         (LOCAL_ALIGNMENT): Adjust for SPE.
14750         (HARD_REGNO_MODE_OK): Same.
14751         (DATA_ALIGNMENT): Same.
14752         (MEMBER_TYPE_FORCES_BLK): New.
14753         (FIRST_PSEUDO_REGISTER): Set to 113.
14754         (FIXED_REGISTERS): Add SPE registers.
14755         (reg_class): Same.
14756         (REG_CLASS_NAMES): Same.
14757         (REG_CLASS_CONTENTS): Same.
14758         (REGNO_REG_CLASS): Same.
14759         (REGISTER_NAMES): Same.
14760         (DEBUG_REGISTER_NAMES): Same.
14761         (ADDITIONAL_REGISTER_NAMES): Same.
14762         (CALL_USED_REGISTERS): Same.
14763         (CALL_REALLY_USED_REGISTERS): Same.
14764         (SPE_ACC_REGNO): New.
14765         (SPEFSCR_REGNO): New.
14766         (SPE_SIMD_REGNO_P): New.
14767         (HARD_REGNO_NREGS): Adjust for SPE.
14768         (VECTOR_MODE_SUPPORTED_P): Same.
14769         (REGNO_REG_CLASS): Same.
14770         (FUNCTION_VALUE): Same.
14771         (LIBCALL_VALUE): Same.
14772         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14773         (SPE_VECTOR_MODE): New.
14774         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14775         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14776         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14777         spe_gp_save_offset.
14778         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14779         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14780         (SPE_CONST_OFFSET_OK): New.
14781         (rs6000_builtins): Add SPE builtins.
14782
14783         * testsuite/gcc.dg/ppc-spe.c: New.
14784
14785         * config/rs6000/eabispe.h: New.
14786
14787         * config/rs6000/spe.h: New.
14788
14789         * config/rs600/spe.md: New.
14790
14791         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14792         __SIMD__ for TARGET_SPE.
14793
14794         * config.gcc: Add powerpc-*-eabispe* case.
14795         Add spe.h to user headers for powerpc.
14796
14797 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14798
14799         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14800         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14801         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14802
14803 2002-07-24  Richard Henderson  <rth@redhat.com>
14804
14805         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14806         form when not optimizing.
14807
14808 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14809
14810         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14811         thread_pointer_rtx as unchanging.
14812
14813 2002-07-24  Michael Matz  <matz@suse.de>
14814
14815         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14816         (free_reg): Use it.
14817
14818 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14819
14820         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14821         pattern.
14822         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14823         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14824
14825 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14826
14827         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14828         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14829         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14830
14831 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14832
14833         * toplev.c (rest_of_compilation): Dump loops before clobbering
14834         the structure.
14835
14836 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14837
14838         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14839
14840 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14841
14842         PR optimization/7291
14843         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14844         problem on x86_64.
14845
14846 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14847
14848         * pretty-print.h: Add macros from cp/error.c
14849
14850 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14851
14852         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14853         (mask64_2_operand): Declare.
14854         (build_mask64_2_operands): Declare.
14855         (and64_2_operand): Declare.
14856         (extract_MB): Declare.
14857         (extract_ME): Declare.
14858         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14859         CONST_DOUBLE code.
14860         (mask_operand_wrap): New insn predicate.
14861         (mask64_2_operand): Likewise.
14862         (and64_2_operand): Likewise.
14863         (build_mask64_2_operands): New function.
14864         (extract_MB): New function.
14865         (extract_ME): New function.
14866         (print_operand <case m,M>): Use extract_MB and extract_ME.
14867         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14868         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14869         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14870         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14871         * config/rs6000/rs6000.md (andsi3_internal3): New
14872         (andsi3_internal3+1): Enable split for powerpc64.
14873         (andsi3_internal3+2): New split.
14874         (andsi3_internal4): Renamed old andsi3_internal3.
14875         (andsi3_internal5): New.
14876         (andsi3_internal5+1): Enable split for powerpc64.
14877         (andsi3_internal5+2): New split.
14878         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14879         (anddi3): Handle 't' constraint.
14880         (anddi3+1): New split.
14881         (anddi3_internal2): Handle 't' constraint.
14882         (anddi3_internal2+1): New split.
14883         (anddi3_internal3): Handle 't' constraint.
14884         (anddi3_internal3+1): New split.
14885
14886 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14887
14888         * config/rs6000/rs6000.md: Remove scratch reg on insns using
14889         addze and similar (plus (comparison r1 r2) r3) insns.  Add
14890         missing scratch reg in one case.  Formatting fixes.
14891
14892 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
14893
14894         * cppexp.c (parse_defined): Mark macro used.
14895         * cpphash.h (struct cpp_macro): New member "used".
14896         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14897         (struct cpp_reader): New member.
14898         * cppinit.c (cpp_finish_options): Set first_unused_line.
14899         (cpp_finish): Warn of unused macros if requested.
14900         (OPT_TABLE): New switches.
14901         (cpp_handle_option): Handle them.
14902         * cpplib.c (do_undef): Warn if macro unused.
14903         (do_ifdef, do_ifndef): Mark macro used.
14904         * cpplib.h (struct cpp_options): New member.
14905         * cppmacro.c (_cpp_warn_if_unused_macro): New.
14906         (enter_macro_context): Mark macro used.
14907         (_cpp_create_definition): Mark macro unused; warn if unused
14908         when redefined.
14909         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14910         Mark macros used.
14911         * doc/cppopts.texi: Update.
14912
14913 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14914
14915         * dwarf2out.c (SECTION_ASM_OP,
14916         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14917         * system.h (SECTION_ASM_OP): Poison.
14918         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14919         * config/alpha/alpha-interix.h, config/mips/linux.h
14920         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14921         * config/mmix/mmix-protos.h, config/mmix/mmix.c
14922         (mmix_asm_output_define_label_difference_symbol): Remove.
14923         * config/mmix/mmix.h
14924         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14925         * doc/tm.texi: Remove documentation.
14926
14927 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
14928
14929         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14930         (constrain_operands): Likewise.
14931         * regclass.c (record_reg_classes): Likewise.
14932         * reload.c (find_reloads): Likewise.
14933         * doc/md.texi: Likewise.
14934
14935         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14936         * simplify-rtx.c (simplify_subreg): When converting to a non-int
14937         mode, try to convert to an integer mode of matching size first.
14938
14939         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14940         from individual subregs, check that each subreg has been generated
14941         sucessfully.
14942
14943 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14944
14945         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14946         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14947         FOR_EACH_BB_IN_SBITMAP): Remove.
14948         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14949         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14950         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14951         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14952         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14953         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14954
14955 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14956
14957         * pretty-print.h: New file.
14958
14959 2002-07-23      Paul Koning     <pkoning@equallogic.com>
14960
14961         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14962         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14963         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14964         (TARGET_G_FLOAT): Default to 0 if not defined.
14965         (ieeetoe): New, common routine to convert target format floats
14966         to internal form.
14967         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14968         vs. others.
14969         (e113toe): Change to use ieeetoe.
14970
14971 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14972
14973         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14974         IBM.
14975         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
14976         (e64toe): Remove special cases for DEC and IBM. Remove support for
14977         ARM_EXTENDED_IEEE_FORMAT.
14978         (e24toe): Remove special cases for DEC.
14979         (significand_size): Simplify. Indent.
14980         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
14981         (etoieee, toieee): New.
14982         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
14983         etoieee and toieee for IEEE arithmetic.
14984
14985 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14986
14987         * doc/extend.texi: Say ISO C90, not ISO C89.
14988         * doc/invoke.texi: Likewise.
14989         * doc/standards.texi: Likewise.
14990
14991 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
14992
14993         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
14994         Fix permutation of conversion and plus/mult.
14995         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
14996         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
14997         (expand_builtin_strncpy) Ditto.
14998         (expand_builtin_memset) Ditto.
14999
15000 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
15001
15002         Fix PR/7363:
15003         * c-common.c (c_sizeof_or_alignof_type): New function.
15004         (c_alignof): Remove definition.
15005         * c-common.h (c_sizeof, c_alignof): Define as macros.
15006         (c_sizeof_or_alignof_type): Declare.
15007         (my_friendly_assert): Moved from cp/cp-tree.h
15008         * c-typeck.c (c_sizeof): Remove definition.
15009
15010 2002-07-23  Jan Hubicka  <jh@suse.cz>
15011
15012         * gcse.c (try_replace_reg): Use num_changes_pending.
15013         * recog.c (num_changes_pending): New function.
15014         (validate_replace_src): Use validate_repalce_src_group.
15015         (validate_replace_src_group): New.
15016         * recog.h (validate_repalce_src_group): New.
15017         (num_changes_pending): Likewise.
15018
15019 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15020
15021         * calls.c (emit_library_call_value_1): If
15022         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
15023         libcall, const call nor pure call.
15024
15025 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15026
15027         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
15028
15029 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15030
15031         * vmsdbgout.c (SECTION_ASM_OP): Remove.
15032
15033 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15034
15035         * config/i386/i386.c (AT_BP): Remove.
15036
15037 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
15038
15039         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
15040         Default definition.
15041         * gcse.c: Don't define obstack_chunk_free.
15042         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
15043         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
15044         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
15045         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
15046         Don't define obstack macros.
15047
15048 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15049
15050         PR target/6744
15051         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
15052         ASM_OPERANDS instructions.
15053
15054 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
15055
15056         PR target/7361
15057         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
15058         constant addresses only on 68HC12.
15059
15060 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15061
15062         * cppfiles.c (stack_include_file): Correct test of whether
15063         a dependency should be output.
15064
15065 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
15066
15067         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
15068
15069 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
15070
15071         * arm.md (movqi): If optimizing and we can create pseudos, use
15072         a ZERO_EXTEND to load from memory, then copy the result into the
15073         target.
15074         (movhi): Likewise, but only for ARMv4.
15075
15076 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
15077
15078         * ssa-ccp.c (PHI_PARMS): Remove.
15079
15080 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
15081
15082         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
15083         on big-endian targets.
15084
15085 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15086
15087         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
15088         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
15089         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
15090         New formatting macros.
15091
15092         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
15093
15094 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15095
15096         * rtlanal.c (subreg_regno_offset): Return correct offset for
15097         big endian paradoxical subregs.
15098
15099         * optabs.c (expand_vector_unop): Don't expand using sub_optab
15100         if we got the wrong mode.
15101
15102         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
15103         * genrecog.c (write_switch, write_cond): Use it.
15104         * genemit.c (gen_exp): Likewise.
15105
15106 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15107
15108         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
15109
15110 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
15111
15112         * c-decl.c (build_compound_literal): Defer compound literal decls
15113         until until file end to emit them only if they are actually used.
15114
15115 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15116
15117         * ra-build.c (check_conflict_numbers): Hide unused function.
15118         (livethrough_conflicts_bb): Avoid automatic aggregate
15119         initialization.
15120         (parts_to_webs_1): Avoid `U' integer constant modifier.
15121         (conflicts_between_webs): Wrap a variable in the macro controlling
15122         its usage.
15123         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
15124         (dump_igraph, dump_graph_cost): Avoid string concatenation
15125         (dump_static_insn_cost): Avoid automatic aggregate
15126         initialization.
15127         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
15128         initialization.
15129         (dump_cost): Avoid string concatenation
15130
15131 2002-07-21  Richard Henderson  <rth@redhat.com>
15132
15133         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
15134         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
15135
15136 2002-07-21  Richard Henderson  <rth@redhat.com>
15137
15138         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
15139         that are not unrolled completely.
15140
15141 2002-07-21  Richard Henderson  <rth@redhat.com>
15142
15143         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
15144         * loop.c (strength_reduce): Update.
15145         * toplev.c (rest_of_compilation): Do unrolling in the first
15146         loop pass, not the second.
15147
15148 2002-07-21  Richard Henderson  <rth@redhat.com>
15149
15150         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
15151         when flag_argument_noalias == 2.
15152         * alias.c (nonoverlapping_memrefs_p): Handle that.
15153         * print-rtl.c (print_mem_expr): Likewise.
15154
15155 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
15156
15157         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
15158         instead of __negdi2 directly.
15159
15160 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15161
15162         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
15163         * function.c (SYMBOL__MAIN): Remove definition.
15164         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
15165         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
15166         * profile.c (GCOV_INDEX_TO_BB): Remove.
15167         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
15168         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15169
15170 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15171
15172         * c-lex.c (GET_ENVIRONMENT): Remove.
15173         * collect2.c (GET_ENV_PATH_LIST): Remove.
15174         (prefix_from_env): Use GET_ENVIRONMENT.
15175         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15176         (init_standard_includes): Use GET_ENVIRONMENT.
15177         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15178         * gcc.c (GET_ENV_PATH_LIST): Remove.
15179         (make_relative_prefix, process_command): Update.
15180         * protoize.c (GET_ENV_PATH_LIST): Remove.
15181         (do_processing): Update.
15182
15183 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15184
15185         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15186         (grokdeclarator): Likewise.
15187         * c-format.c (C_STD_NAME): Likewise.
15188         * c-lex.c (interpret_integer): Likewise.
15189         * c-typeck.c (build_array_ref): Likewise.
15190         * cpplex.c (_cpp_lex_direct): Likewise.
15191         * toplev.c (documented_lang_options): Likewise.
15192
15193 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15194
15195         * c-format.c (T99_I, T99_UI): Remove.
15196
15197 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15198
15199         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15200
15201 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15202
15203         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15204         do_local_cprop.
15205
15206 2002-07-21  Andreas Jaeger  <aj@suse.de>
15207
15208         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15209
15210 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15211
15212         Improvements for the ifcvt pass from Michael Meissner, with patches
15213         by Richard Sandiford <rsandifo@redhat.com>
15214         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15215         * ifcvt.c (cond_exec_changed_p): New static variable.
15216         (last_active_insn): New function, renamed from last_active_insn_p
15217         and changed to return the last active insn in a basic block. All
15218         callers updated.
15219         (block_fallthru): New function.
15220         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15221         IFCVT_MODIFY_INSN.  All callers updated.
15222         Return false if START or END are NULL.
15223         Handle case where we're processing an insn that is already
15224         conditional.
15225
15226         (noce_process_if_block): CE_INFO argument rather than
15227         multiple args containing the involved basic blocks.  All callers
15228         changed.
15229         (process_if_block, merge_if_block, find_if_block,
15230         cond_exec_process_if_block): Likewise.
15231
15232         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15233         changed.
15234         Use new function last_active_insn to simplify some code.
15235         New code to handle multiple tests.
15236         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15237         cond_exec_changed_p to TRUE.
15238
15239         (process_if_block): New code to handle multiple tests.
15240         (merge_if_block): Likewise.
15241         (find_if_header): New arg PASS.  Changed to return the currently
15242         processed basic block or NULL instead of true/false. All callers
15243         changed.
15244         Call IFCVT_INIT_EXTRA_FIELDS.
15245         (block_jumps_and_fallthru_p): New function.
15246         (find_if_block): Discover opportunities to convert multiple tests.
15247         Add additional debugging output.
15248         Update the ce_info structure before returning.
15249
15250         (if_convert): Run multiple passes of if-conversion.
15251         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15252         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15253         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15254         these macros.
15255
15256 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15257
15258         * gcse.c: Include cselib.h
15259         (constptop_register): Break out from ...
15260         (cprop_insn): ... here; kill basic_block argument.
15261         (do_local_cprop, local_cprop_pass): New functions.
15262         (one_cprop_pass): Call local_cprop_pass.
15263
15264 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15265
15266         * simplify-rtx.c (simplify_relational_operation): Optimize
15267         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15268
15269 2002-07-20  Michae Matz  <matz@suse.de>
15270
15271         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15272
15273 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15274
15275         * cppexp.c (struct op): Add token pointer.
15276         (check_promotion, CHECK_PROMOTION): New.
15277         (optab): Update.
15278         (_cpp_parse_expr): Update, use token pointer of struct op.
15279         (reduce): Warn about change of sign owing to promotion.
15280         * cppinit.c (cpp_handle_option): New warning if -Wall.
15281         * cpplib.h (struct cpp_options): New member.
15282
15283 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15284
15285         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15286         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15287         Power4 fpcompare.
15288         (fix_truncdfsi2_internal): Restore FPR preference.
15289         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15290         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15291
15292 2002-07-19  Momchil Velikov <velco@fadata.bg>
15293
15294         * reload1.c (reload_as_needed): Duplicate oldpat.
15295
15296 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15297
15298         PR optimization/7130
15299         * loop.h (struct loop_info): Add "preconditioned".
15300         * unroll.c (unroll_loop): Set it.
15301         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15302
15303 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15304
15305         * rtl.def (CODE_LABEL): Remove slot 8.
15306         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15307         (LABEL_ALTERNATE_NAME): Delete.
15308         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15309         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15310
15311         * final.c (output_alternate_entry_point): New.
15312         (final_scan_insn): Use it instead of
15313         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15314         of a case label being an alternate entry point.
15315
15316         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15317         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15318         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15319         (field deleted).
15320         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15321
15322         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15323         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15324         * doc/tm.texi: Delete documentation of
15325         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15326
15327 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15328
15329         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15330         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15331         (LINK_SPEC): Define.
15332         (STARTFILE_SPEC): Define.
15333         (ENDFILE_SPEC): Define.
15334
15335         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15336         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15337
15338         * config/mips/iris6-o32-gas.h: New file.
15339         * config.gcc (mips-sgi-irix6*o32): Use it.
15340
15341         * config/mips/t-iris5-gas: New file.
15342         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15343
15344 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15345
15346         * cppexp.c (ALWAYS_EVAL): Remove.
15347         (optab, reduce): Always evaluate.
15348         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15349         only if not skipping evaluation.
15350
15351 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15352
15353         * config/avr/avr.c (debug_hard_reg_set): Remove.
15354
15355 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15356
15357         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15358
15359 2002-07-19  Richard Henderson  <rth@redhat.com>
15360
15361         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15362
15363 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15364
15365         * prefix.c (update_path): Don't zap single `.' path components
15366         unless followed by another `.' and fix typo last patch.
15367
15368 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15369
15370         * cppexp.c (cpp_num_mul): Remove unused parameter.
15371         (UNARY, BINARY, OTHER, binary_handler): Remove.
15372         (ALWAYS_EVAL): New.
15373         (optab): Update.
15374         (reduce): Refactor to a large switch, don't use a function
15375         pointer.
15376
15377 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15378
15379         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15380
15381 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15382
15383         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15384         (sh_expand_binop_v2sf): Likewise.
15385         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15386         (int_gpr_dest, trunc_hi_operand): New functions.
15387         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15388         trunc_hi_operand.
15389         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15390         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15391         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15392         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15393         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15394         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15395         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15396         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15397         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15398         (movsf_ie+1): Likewise.
15399         (loaddi_trunc): Use int_gpr_dest predicate.
15400         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15401         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15402         (casesi_worker_0+[12], casesi_worker): Likewise.
15403         (shcompact_preserve_incoming_args): Likewise.
15404         (mov_nop): Use any_register_operand predicate.
15405         (mperm_w0): Use trunc_hi_operand predicate.
15406
15407 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15408
15409         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15410         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15411         numbering.
15412
15413 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15414
15415         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15416
15417 2002-07-18  Richard Henderson  <rth@redhat.com>
15418
15419         PR optimization/7147
15420         * ifcvt.c (noce_get_condition): Make certain that the condition
15421         is valid at JUMP.
15422
15423 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15424
15425         * sh.c (barrier_align, push): Shut up compiler warnings.
15426         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15427         (reg_no_subreg_operand): Delete.
15428
15429 2002-07-17  Bo Thorsen  <bo@suse.de>
15430
15431         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15432         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15433         (STARTFILE_SPEC): Remove hardcoded library paths.
15434         (ENDFILE_SPEC): Likewise.
15435
15436 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15437
15438         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15439
15440         * gcse.c (try_replace_reg): Do not return false positives.
15441
15442 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15443
15444         * prefix.c: (update_path): Strip ".." components when prior dir
15445         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15446
15447         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15448         (ASM_OUTPUT_REG_POP): Likewise.
15449
15450 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15451
15452         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15453         adjustments to first_reg for profiling case.
15454         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15455         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15456         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15457         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15458         (ASM_OUTPUT_REG_POP): Define.
15459         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15460         (ASM_OUTPUT_REG_POP): Undef.
15461
15462 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15463
15464         * cpplib.c (do_sccs): Handle #sccs on all systems.
15465         * system.h (SCCS_DIRECTIVE): Poison.
15466         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15467         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15468         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15469         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15470         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15471         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15472         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15473         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15474         Remove all references to SCCS_DIRECTIVE.
15475         * doc/cpp.texi, doc/tm.texi: Update.
15476
15477 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15478
15479         * regrename.c (maybe_mode_change): New function.
15480         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15481
15482 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15483
15484         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15485         suppress addition when either ct or cf are zero.
15486
15487 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15488             Glen Nakamura <glen@imodulo.com>
15489
15490         PR optimization/6713
15491         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15492         sets a non-replaceable giv after issuing the new one.
15493
15494 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15495
15496         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15497         eval_token): Clarify and correct use of "bool" variables.
15498         * cpplib.h (struct cpp_options): Similarly.
15499         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15500         * cpptrad.c (recursive_macro): Similarly.
15501
15502 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15503
15504         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15505         SHmedia code.
15506
15507         * sh.md (cmpgtudi_media): Remove spurious @.
15508
15509         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15510         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15511
15512         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15513         * sh-protos.h (sh_initialize_trampoline): Declare.
15514         * sh.c (sh_initialize_trampoline): New function.
15515         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15516         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15517         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15518         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15519         * sh.md (initialize_trampoline, double_shori): New patterns.
15520         (initialize_trampoline_compact): Likewise.
15521         (shmedia32_initialize_trampoline_big): Remove.
15522         (shmedia32_initialize_trampoline_little): Likewise.
15523
15524         * sh-protos.h (binary_float_operator): Remove declaration.
15525         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15526         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15527         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15528         (sh_expand_binop_v2sf): Likewise.
15529         (zero_vec_operand): Delete.
15530         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15531         all non-shared ones.
15532         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15533         Enable nsb and byterev.
15534         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15535         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15536         in general regs.
15537         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15538         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15539         immediate operands.
15540         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15541         Add DF_HI_REGS.
15542         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15543         lowpart fp regs - only for big endian for now.
15544         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15545         when FPU is in use.
15546         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15547         (LOAD_EXTEND_OP): NIL for SImode.
15548         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15549         general and fp registers is 4.
15550         PREDICATE_CODES: Amend binary_float_operator entry.
15551         Remove zero_vec_operand.  Add unary_float_operator.
15552         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15553         subreg SET_DEST.
15554         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15555         (truncdiqi2): Do sign extension.
15556         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15557         (movdf_media, movsf_media): Likewise.
15558         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15559         Collapse to one define_insn_and_split.  Allow immediate sources.
15560         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15561         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15562         (movv4sf): Allow immediate sources.
15563         (movsf_media_nofpu+1): Don't split moves to FP registers.
15564         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15565         (movv8qi_i+3): Check against CONST0_RTX.
15566         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15567         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15568         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15569         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15570         (mshf0_w, fipr, ftrv): Likewise.
15571         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15572
15573 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15574
15575         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15576         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15577         * arm.c: Similarly.
15578
15579 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15580
15581         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15582         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15583         (TARGET_SWITCHES): Remove debugh.
15584         (ISA_HAS_TRUNC_W): New macro.
15585         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15586         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15587         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15588         any SImode move_operand.
15589         (se_nonimmediate_operand): Remove.
15590         (mips_sign_extend): New.
15591         (mips_move_2words): Use it for sign-extended source operands.
15592         (override_options): Allow integers to be put into single FPRs.
15593         (mips_secondary_reload_class): Handle integers in float registers.
15594         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15595         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15596         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15597         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15598         (fix_truncdfdi2): Provide only a single alternative, in which the
15599         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15600         than TARGET_64BIT.
15601         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15602         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15603         (movdi_internal2): Don't allow the source operand to be sign-extended.
15604         Add alternatives for float registers.
15605         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15606         allows sign-extension.
15607         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15608         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15609         float registers.  Remove TARGET_DEBUG_H_MODE test.
15610         (movhi_internal1): Rename to movhi_internal.  Don't check
15611         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15612         (movqi_internal1): Rename to movqi_internal and remove
15613         TARGET_DEBUG_H_MODE dependency.
15614         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15615
15616 2002-07-16  Jim Wilson  <wilson@redhat.com>
15617
15618         * toplev.c (lang_dependent_init): Create function context for
15619         init_expr_once.
15620
15621 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15622
15623         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15624         --gc-sections if -r.
15625         * config/cris/cris.h: Ditto.
15626
15627 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15628
15629         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15630         the comparison directly gives a mask suppress addition when cf is
15631         zero by complementing the mask.
15632
15633 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15634
15635         * Makefile.in: Delete references to enquire.
15636         * enquire.c: Move to contrib.
15637
15638 2002-07-16  Stan Shebs  <shebs@apple.com>
15639
15640         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15641         config/rs6000/darwin.h.
15642         (ASM_OUTPUT_SKIP): Ditto.
15643         (TEXT_SECTION_ASM_OP): Ditto.
15644         (DATA_SECTION_ASM_OP): Ditto.
15645         (ASM_APP_ON): Define.
15646         (ASM_APP_OFF): Define.
15647         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15648         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15649
15650         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15651         (machopic_function_base_name): Declare result to be const.
15652         (machopic_non_lazy_ptr_name): Ditto.
15653         (machopic_stub_name): Ditto.
15654         * config/darwin-protos.h: Ditto for the prototypes.
15655
15656 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15657
15658         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15659
15660 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15661
15662         * i386.md (prefetch): Fix for 64bit mode.
15663         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15664
15665 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15666
15667         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15668         * i386.c (x86_machine_dependent_reorg): New function.
15669         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15670
15671 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15672
15673         * builtins.c (std_expand_builtin_va_start): Remove unused
15674         first argument.
15675         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15676         std_expand_builtin_va_start with just two arguments.
15677         * expr.h: Update prototypes.
15678
15679         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15680         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15681         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15682         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15683         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15684         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15685         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15686         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15687         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15688         argument from all implementations of EXPAND_BUILTIN_VA_START
15689         and all uses of std_expand_builtin_va_start.
15690
15691 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15692
15693         * regrename.c (copy_value): Don't record high part copies.
15694
15695 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15696
15697         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15698         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15699         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15700
15701 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15702
15703         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15704
15705         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15706         into addsi3 using register class "x" and "y".
15707
15708         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15709         "earlyclobber" constraint modifier for some alternative.
15710
15711         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15712         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15713         unordered.
15714         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15715
15716         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15717         (TARGET_SWITCHES): Add -mieee-compare option.
15718         (OVERRIDE_OPTIONS): 32332 is a subset of
15719         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15720         (TARGET_SWITCHES): Fix description of bitfield option.
15721         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15722         -mieee-compare option. Remove 32332 flag.
15723
15724 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15725
15726         * explow.c (convert_memory_address): Remove special handling
15727         when POINTERS_EXTEND_UNSIGNED < 0.
15728         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15729         (movedi_symbolic): Fix typo.
15730         (load_fptr): Remove mode restriction so it works for SI and DI.
15731         (load_fptr_internal1): Ditto.
15732         (load_gprel): Ditto.
15733         (load_symptr_internal1): Ditto.
15734         (call_pic): Ditto.
15735         * config/ia64.c (call_operand): Modify mode check.
15736         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15737         (ia64_expand_move): Ditto.
15738         (ia64_assemble_integer): Handle SImode function pointers.
15739         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15740         (ia64_expand_op_and_fetch): Ditto.
15741         (ia64_expand_compare_and_swap): Ditto.
15742         (ia64_expand_lock_test_and_set): Ditto.
15743         (ia64_expand_lock_release): Ditto.
15744
15745 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15746
15747         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15748
15749 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15750             Richard Earnshaw  <rearnsha@arm.com>
15751
15752         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15753         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15754
15755 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15756
15757         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15758         understands to be a memory clobber.
15759         * arm.c (arm_expand_prologue): Use it.
15760
15761 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15762
15763         * ra-rewrite.c: #include reload.h, insn-config.h
15764         * ra-build.c: #include reload.h
15765         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15766         depend on reload.h, insn-config.h.
15767
15768 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15769
15770         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15771         the same size as a word.
15772
15773         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15774         BYTES_BIG_ENDIAN into account.
15775
15776 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15777
15778         * i386.md (prefetch): Fix for 64bit mode.
15779         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15780
15781         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15782
15783 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15784
15785         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15786
15787 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15788
15789         * ginclude/varargs.h: Replace with stub which issues #error.
15790         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15791         __builtin_va_start.
15792
15793         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15794         (BUILT_IN_VA_START): New.
15795         * builtins.c (expand_builtin_va_start): Eliminate first
15796         argument and code to implement pre-ISO varargs.
15797         (std_expand_builtin_va_start): Ignore first argument; it is
15798         always 1.
15799         (expand_builtin): Handle BUILT_IN_VA_START and
15800         BUILT_IN_STDARG_START identically.  Delete
15801         BUILT_IN_VARARGS_START case.
15802
15803         * function.c (assign_parms): Delete hide_last_arg and all
15804         its uses.
15805         (mark_varargs): Delete function.
15806         * function.h (struct function): Delete 'varargs' bit.
15807         (current_function_varargs): Delete macro.
15808         * tree.h: Don't declare mark_varargs.
15809
15810         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15811         (c_expand_body): Don't call mark_varargs.
15812         * c-objc-common.c: Handle BUILT_IN_VA_START and
15813         BUILT_IN_STDARG_START identically.  Delete
15814         BUILT_IN_VARARGS_START case.
15815         * c-tree.h: Don't declare c_mark_varargs.
15816         * c-parse.in: Remove grammar rules for '&...' (which has been
15817         commented out since before 2.7.2) and for '...' in K+R
15818         argument declarations.
15819
15820         * builtins.c, function.c, integrate.c, sibcall.c,
15821         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15822         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15823         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15824         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15825         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15826         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15827         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15828         config/stormy16/stormy16.c: Delete all references to
15829         current_function_varargs, and code predicated on that flag.
15830
15831         * config/alpha/alpha.c (alpha_va_start),
15832         config/arc/arc.c (arc_va_start),
15833         config/i386/i386.c (ix86_va_start),
15834         config/mips/mips.c (mips_va_start),
15835         config/mn10300/mn10300.c (mn10300_va_start),
15836         config/rs6000/rs6000.c (rs6000_va_start),
15837         config/s390/s390.c (s390_va_start),
15838         config/sh/sh.c (sh_va_start),
15839         Ignore first argument; it is always 1.
15840
15841         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15842         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15843         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15844         Delete m68hc11_va_start.
15845         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15846         No need to define EXPAND_BUILTIN_VA_START.
15847
15848         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15849         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15850
15851 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15852
15853         PR optimization/7153
15854         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15855         dies in more than one insn.
15856
15857 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15858
15859         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15860
15861 2002-07-15  Michael Matz  <matz@suse.de>,
15862             Daniel Berlin  <dberlin@dberlin.org>,
15863             Denis Chertykov  <denisc@overta.ru>
15864
15865         Add a new register allocator.
15866
15867         * ra.c: New file.
15868         * ra.h: New file.
15869         * ra-build.c: New file.
15870         * ra-colorize.c: New file.
15871         * ra-debug.c: New file.
15872         * ra-rewrite.c: New file.
15873
15874         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15875         (ra-rewrite.o): New .o files for libbackend.a.
15876         (GTFILES): Add basic-block.h.
15877
15878         * toplev.c (flag_new_regalloc): New.
15879         (f_options): New option "new-ra".
15880         (rest_of_compilation): Call initialize_uninitialized_subregs()
15881         only for the old allocator.  If flag_new_regalloc is set, call
15882         new allocator, instead of local_alloc(), global_alloc() and
15883         friends.
15884
15885         * doc/invoke.texi: Document -fnew-ra.
15886         * basic-block.h (FOR_ALL_BB): New.
15887         * config/rs6000/rs6000.c (print_operand): Write small constants
15888         as @l+80.
15889
15890         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15891         (df_reg_table_realloc): Make size at least as large as max_reg_num().
15892         (df_insn_table_realloc): Size argument now is absolute, not relative.
15893         Changed all callers.
15894
15895         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15896         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15897
15898         2002-06-20  Michael Matz  <matz@suse.de>
15899
15900         * df.h (struct ref.id): Make unsigned.
15901         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15902
15903         2002-06-13  Michael Matz  <matz@suse.de>
15904
15905         * df.h (DF_REF_MODE_CHANGE): New flag.
15906         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15907         involving subregs with invalid mode changes, when
15908         CLASS_CANNOT_CHANGE_MODE is defined.
15909
15910         2002-05-07  Michael Matz  <matz@suse.de>
15911
15912         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15913
15914         2002-05-03  Michael Matz  <matz@suse.de>
15915
15916         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15917
15918         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
15919
15920         * regclass.c (regclass): Work with all regs which have sets or
15921         refs.
15922         (reg_scan_mark_refs): Count regs inside (clobber ...).
15923
15924         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
15925
15926         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15927         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15928         add new refs.
15929         (df_bb_refs_update): Don't clear insns_modified here, ...
15930         (df_analyse): ... but here.
15931
15932         * sbitmap.c (dump_sbitmap_file): New.
15933         (debug_sbitmap): Use it.
15934
15935         * sbitmap.h (dump_sbitmap_file): Add prototype.
15936
15937         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
15938
15939         * df.c (df_insn_modify): Grow the UID table if necessary, rather
15940         than assume all emits go through df_insns_modify.
15941
15942         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15943
15944         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15945         increase REG_N_REFS (like flow does), so that regclass doesn't
15946         think a reg is useless, and thus, not calculate a class, when it
15947         really should have.
15948
15949         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
15950
15951         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15952         dataflow analysis.
15953
15954 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
15955
15956         PR middle-end/7245
15957         * config/i386/i386.c (const_int_1_31_operand): New.
15958         * config/i386/i386.h (PREDICATE_CODES): Add it.
15959         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15960         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15961         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15962
15963 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
15964
15965         PR target/7282
15966         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15967         (floatunssidf2): Likewise.
15968         (floatsidf_ppc64): New insn_and_split.
15969         (floatunssidf_ppc64): Likewise.
15970
15971 2002-07-14  Andreas Jaeger  <aj@suse.de>
15972
15973         * config.gcc (sh64): Remove unused
15974         target_requires_64bit_host_wide_int.
15975
15976 2002-07-12  Roger Sayle  <roger@eyesopen.com>
15977
15978         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
15979         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
15980         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
15981         whether clear_by_pieces should be used to clear storage.
15982         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
15983
15984         * doc/tm.texi: Document these two new target macros.
15985
15986 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
15987
15988         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
15989         the scratch register.
15990         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
15991         of it, forbid reload to use it.
15992
15993 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15994
15995         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
15996         usage on 64-bit hosts, return value was truncated to 32 bits.
15997
15998 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
15999
16000         * simplify-rtx.c (simplify_subreg): Handle floating point
16001         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
16002         the element mode is requested, compute a subreg with an
16003         integer mode of the same size as the element mode first.
16004
16005 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
16006
16007         * combine.c (try_combine): When converting a paradoxical subreg
16008         to an extension, take LOAD_EXTEND_OP into account.
16009
16010 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16011
16012         * config.gcc (mips-sgi-irix6*o32): New configuration.
16013
16014         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
16015         configurations.
16016         * configure: Regenerate.
16017
16018         * config/mips/iris6-o32-as.h: New file.
16019         * config/mips/iris6-o32.h: New file.
16020
16021         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
16022         (NM_FLAGS): Define.
16023         (HAVE_AS_SHF_MERGE): Undefine.
16024
16025         * config/mips/t-iris5-as: New file.
16026         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
16027
16028         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
16029         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
16030         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
16031         dp-bit.c, fp-bit.c): Move ...
16032         * config/mips/t-iris5-6: ... here.
16033         New file, shared by IRIX 5 and IRIX 6.
16034         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
16035         mips-sgi-irix5*): Use it.
16036
16037         * config/mips/iris6.h: Remove duplicate comment.
16038
16039         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
16040         !TARGET_IRIX6]: Define.
16041         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
16042
16043         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
16044
16045 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16046
16047         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
16048         and delete code to force constant to register.
16049         * pa-protos.h (adddi3_operand): Add prototype.
16050         * pa.c (adddi3_operand): New function.
16051
16052 2002-07-11  Roger Sayle  <roger@eyesopen.com>
16053
16054         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
16055         non-ANSI builtin functions.
16056
16057 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
16058
16059         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
16060         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
16061         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
16062         (gen_const_vector_0): Use it.
16063
16064 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16065
16066         * pa.md (adddi3): For 32-bit targets, force constants to a register
16067         if they don't fit in an 11-bit immediate.  Change insn predicate to
16068         arith11_operand.  Remove comment.
16069         * pa.c (cint_ok_for_move): Fix comment.
16070         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
16071         targets.
16072
16073 2002-07-11  Tim Josling  <tej@melbpc.org.au>
16074
16075         Remove front end hard coding from gengtype.c.
16076
16077         * Makefile.in
16078         (STAGESTUFF): add gtyp-gen.h
16079         (GTFILES): Remove front end specific files.
16080         (GTFILES_FILES_LANGS): New, from configure..
16081         (GTFILES_FILES_FILES): Likewise.
16082         (GTFILES_LANG_DIR_NAMES): Likewise.
16083         (GTFILES_SRCDIR): Likewise.
16084         (gtyp-gen.h): Build from configure information.
16085         (s-gtype): Remove command line parameters from gengtype.
16086         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
16087         (mostlyclean): Delete files generated by and for gengtype.
16088
16089         * c-config-lang.in: New file.
16090
16091         * configure.in (all_gtfiles_files_langs): New. Accumulate files
16092         for each language.
16093         (all_gtfiles_files_files): New. Accumulate language for each file
16094         accumulated.
16095         (gtfiles): Pick up value for C.
16096         (srcdir): AC-SUBST this variable.
16097         (all_gtfiles_files_langs): AC-SUBST this variable.
16098         (all_gtfiles_files_files): AC-SUBST this variable.
16099
16100         * configure: Regenerate.
16101
16102         * gengtype-lex.l (parse_file): Make parameter const.
16103
16104         * gengtype.c (toplevel): include gtyp-gen.h.
16105         (BASE_FILE_<language> unnamed enum): Delete.
16106         (lang_names): Delete (replaced by gtyp-gen.h)
16107         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
16108         all references.
16109         (NUM_GT_FILES): New.
16110         (NUM_LANG_FILES): New.
16111         (srcdir_len): New.
16112         (NUM_BASE_FILES): Change calculation.
16113         (open_base_files): Change prototype to avoid warning.
16114         (startswith): Delete.
16115         (get_file_basename): Iterate through generated language list not
16116         hard coded list.
16117         (get_base_file_bitmap): Use generated list of files and languages.
16118         (close_output_files): Add prototype to rmove warning.
16119         (main): Iterate through list of generated files from gtyp-gen.h
16120         rather than command line paramaters.  Ignore duplicated file
16121         names.
16122
16123         * gengtype.h (parse_file): Amend prototype for const parameter.
16124
16125         * doc/sourcebuild.texi: Document gtfiles variable.
16126
16127         * doc/gty.texi: Document changes to gtfiles variable for front
16128         ends.
16129
16130         * objc/config-lang.in (gtfiles): Add files needed for objc front
16131         end.
16132
16133 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16134
16135         PR c/2454
16136         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
16137         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
16138
16139 2002-07-10  Roger Sayle  <roger@eyesopen.com>
16140             Zack Weinberg <zack@codesourcery.com>
16141
16142         * builtins.def: Make the argument types of abort and exit
16143         independent of the front-end.
16144
16145 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
16146
16147         * config/rs6000/linux64.h (ASM_SPEC): Define.
16148
16149 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
16150
16151         * config/rs6000/rs6000.c (emit_frame_save): New.
16152         (rs6000_frame_related): Replace reg2 before reg.
16153         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
16154         and eh_return registers.
16155
16156 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
16157
16158         Revert all patches for optimization of Complex .op. Real.
16159         * complex_part_zero_p: Remove
16160         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
16161         with x.
16162         * expand_cmplxdiv_wide: Ditto.
16163         * expand_binop: Ditto.
16164
16165 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16166
16167         * config/avr/avr.md: Fix two 0x80000000 constants to make them
16168         negative also on 64-bit hosts.
16169
16170         Default to -fno-reorder-blocks when optimizing for size.
16171         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16172         * config/avr/avr.c (avr_optimization_options): New function.
16173         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16174
16175         Optimize returning from simple functions.
16176         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16177         * config/avr/avr.c (avr_simple_epilogue): New function.
16178         * config/avr/avr.md (return): New insn.
16179
16180 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16181
16182         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16183         HAS_INIT_SECTION to protection.
16184
16185 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16186
16187         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16188         deprecated.
16189
16190 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16191
16192         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16193         Supply non-VOID mode to simplify_gen_subreg.
16194
16195 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16196
16197         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16198
16199 2002-07-10  Jeffrey A Law  <law@redhat.com>
16200
16201         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16202         as appropriate.
16203
16204         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16205         register to use.
16206
16207 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16208
16209         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16210         Get mode from dest.
16211         If simplify_gen_subreg fails, try next equivalent.
16212
16213 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16214
16215         * diagnostic.h: #include location.h
16216         (location_t): Move definition to..
16217         * location.h: ... here.  New file.
16218         * tree.h: #include location.h
16219         (DECL_SOURCE_LOCATION): New macro.
16220         (DECL_SOURCE_FILE): Use.
16221         (DECL_SOURCE_LINE): Likewise.
16222         (struct tree_decl): REplace filename and linenum with locus.
16223         * Makefile.in (TREE_H): add location.h
16224         (diagnostic.o): Depends on gt-location.h
16225         (gt-location.h): Depends on s-gtype
16226
16227 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16228
16229         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16230         TARGET_OS_CPP_BUILTINS.
16231         * config/rs6000/aix31.h: Likewise.
16232         * config/rs6000/aix41.h: Likewise.
16233         * config/rs6000/aix43.h: Likewise.
16234         * config/rs6000/aix51.h: Likewise.
16235         * config/rs6000/beos.h: Likewise.
16236         * config/rs6000/darwin.h: Likewise.
16237         * config/rs6000/eabi.h: Likewise.
16238         * config/rs6000/eabisim.h: Likewise.
16239         * config/rs6000/linux.h: Likewise.
16240         * config/rs6000/linux64.h: Likewise.
16241         * config/rs6000/lynx.h: Likewise.
16242         * config/rs6000/mach.h: Likewise.
16243         * config/rs6000/rtems.h: Likewise.
16244         * config/rs6000/sysv4.h: Likewise.
16245         * config/rs6000/vxppc.h: Likewise.
16246
16247 2002-07-09 Devang Patel <dpatel@apple.com>
16248         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16249         Do not allow ObjC objects as a parameter type for Objective-C methods.
16250         My previous patch restricted  'struct' also.
16251
16252 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16253
16254         * cpperror.c (cpp_error): Default to directive_line within
16255         directives here.
16256         * cppexp.c (cpp_interpret_integer): Only use traditional
16257         number semantics in directives.
16258         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16259         (do_include_common): Similarly.
16260         * cpptrad.c (scan_out_logical_line): Implement accurate
16261         quoting of <> in #include.
16262         * doc/cpp.texi: Update.
16263
16264 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16265                           J"orn Rennecke <joern.rennecke@superh.com>
16266
16267         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16268         * sh.md (attribute issues): Replace with:
16269         (attribute pipe_model).  All users changed.
16270         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16271         All users changed.
16272         (function units sh5issue, sh5fds): New.
16273         (attribute is_mac_media): New.
16274         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16275         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16276         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16277         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16278         (call_media, call_value_media, sibcall_media): Likewise.
16279         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16280         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16281         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16282         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16283         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16284         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16285         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16286         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16287         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16288         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16289         (truncdfsf2_media): Likewise.
16290         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16291         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16292
16293 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16294
16295         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16296         * sh.c (general_extend_operand, inqhi_operand): New functions.
16297         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16298         alternatives using 'N' modifier.  Add type.
16299         (adddi3z_media): Likewise.  Enable generator function generation.
16300         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16301         exact predicates / constraints.  Add type.
16302         (subsi3): Allow 0 for SHMEDIA.
16303         (udivsi3_i4_media): Use match_operand for input values
16304         rather than hard registers.
16305         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16306         unnecessarily through hard registers.  Keep copies of pseudo
16307         registers outside of the libcall sequence.
16308         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16309         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16310         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16311         (extendhidi2, extendqidi2): Likewise.
16312         (andsi3_compact): Name.
16313         (andcdi3): Enable generator function generation.
16314         (zero_extendhisi2, zero_extendqisi2): Rename to
16315         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16316         (extendhisi2, extendqisi2): Rename to
16317         (extendhisi2_compact, extendqisi2_compact).
16318         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16319         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16320         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16321         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16322         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16323         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16324         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16325         (shmedia32_initialize_trampoline_big): Likewise.
16326         (shmedia32_initialize_trampoline_little): Likewise.
16327         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16328         (negdi2): Remove spurious T clobber.
16329         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16330         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16331         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16332         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16333         (ic_invalidate_line_media): Write back data cache before invalidating
16334         instruction cache.  Add type.
16335         (movsf_media): Sign-extend when the destination is a general
16336         purpose register.  Add type.
16337         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16338         (casesi_worker_0+1): Only increment ref count for proper label.
16339         (casesi_worker_0+2): Likewise.
16340
16341 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16342
16343         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16344
16345 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16346
16347         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16348         from Pmode to ptr_mode.
16349         (get_exception_pointer): Ditto.
16350         (connect_post_landing_pads): Ditto.
16351         (dw2_build_landing_pads): Ditto.
16352
16353 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16354         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16355         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16356         (handle_pragma_redefine_extname): Change to use new function.
16357
16358 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16359
16360         * combine.c (combine_simplify_rtx): Add an explicit cast
16361         to avoid signed/unsigned comparison warning.
16362         (simplify_if_then_else): Likewise.
16363         (extended_count): Likewise.
16364         (simplify_shift_const): Likewise.
16365         (simplify_comparison): Likewise.
16366
16367 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16368
16369         * config/mips/mips.md: Add imadd type.  Update scheduler description
16370         to use imadd as well as imul.
16371         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16372         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16373         (*mul_sub_si): Likewise for first alternative.  Change second
16374         alternative from imul to multi.
16375
16376 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16377
16378         * c-common.c (c_common_post_options): Update prototype;
16379         don't init backends if preprocessing only.
16380         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16381         * langhooks.h (struct lang_hooks): Update post_options to
16382         return a boolean.
16383         * toplev.c (parse_options_and_default_flags, do_compile,
16384         lang_independent_init): Update prototypes.  Allow the
16385         front end to specify that there is no need to initialize
16386         the back end.
16387         (general_init): Move call to hex_init here...
16388         (toplev_main): ...from here.  Pass flag for back end init
16389         suppression.
16390
16391 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16392
16393         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16394         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16395         greater_comparison_operator and less_comparison_operator.
16396         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16397         more operators.
16398         (equality_comparison_operator): New function.
16399         (greater_comparison_operator, less_comparison_operator): Likewise.
16400         * sh.md (beq_media_i): Disable generator function generation.
16401         Use match_operator to handle a whole class of comparisons.  Add
16402         modifier in output template to provide branch prediction.  Add type.
16403         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16404         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16405         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16406         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16407
16408 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16409
16410         Emit MMIX function prologue and epilogue as rtl.
16411         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16412         not unprototyped get_hard_reg_initial_val.
16413         ("call_value", "nonlocal_goto_receiver"): Ditto.
16414         ("return"): Make define_expand.  Move real insn to...
16415         ("*expanded_return"): New pattern.
16416         ("prologue", "epilogue"): New define_expands.
16417         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16418         (struct machine_function): New member in_prologue.
16419         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16420         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16421         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16422         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16423         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16424         (LOCAL_REGNO): Define.  Adjust comment.
16425         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16426         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16427         leaf_function_p.
16428         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16429         the prologue.
16430         (mmix_target_asm_function_prologue): Make static.  Just mark that
16431         the prologue is being emitted.  Move guts to...
16432         (mmix_expand_prologue): New function.  Adjust for emitting
16433         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16434         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16435         \n.  Move guts to...
16436         (mmix_expand_epilogue): New function.  Adjust for emitting
16437         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16438         (mmix_target_asm_function_end_prologue): Mark that the prologue
16439         has ended.
16440         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16441         (mmix_conditional_register_usage): Improve comments.
16442         (mmix_local_regno): New function.
16443         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16444         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16445         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16446         (mmix_get_hard_reg_initial_val): Ditto.
16447
16448 2002-07-06  Andreas Jaeger  <aj@suse.de>
16449
16450         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16451         definitions.
16452         * gengtype.c (open_base_files): Likewise.
16453         (close_output_files): Likewise.
16454         * tracer.c (find_best_predecessor): Likewise.
16455         (find_best_successor): Likewise.
16456         (ignore_bb_p): Likewise.
16457
16458 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16459
16460         PR c++/7099
16461         * builtin-attrs.def: Define new attribute lists for use in
16462         builtins.def.
16463         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16464         ATTRS argument, an enumerated value defined in builtin-attrs.def
16465         that represents the attribute list for the builtins.  Modify
16466         all builtin functions to pass an appropriate attribute list.
16467         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16468         their required noreturn attributes.
16469         * tree.h (enum_builtin_function): Ignore the additional parameter
16470         to DEF_BUILTIN.
16471         * builtins.c (built_in_names): Likewise.
16472         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16473         argument with a tree representing the functions attribute list.
16474         Pass this "attrs" argument to builtin_function.  No longer handle
16475         the noreturn_p processing manually.
16476         (built_in_attributes): Move the definitions from builtin-attrs.def
16477         before c_common_nodes_and_builtins.
16478         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16479         DEF_BUILTIN, passing it to both builtin_function and the changed
16480         builtin_function_2.
16481
16482         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16483         __builtin__exit and __builtin__Exit.
16484
16485 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16486
16487         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16488         QI mode registers in soft registers.
16489         ("zero_extendqihi2"): Do not take into account soft registers
16490         for register allocation (use '*' constraint).
16491
16492 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16493
16494         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16495         it is dead.
16496         ("*ashrsi3"): Likewise.
16497         ("*lshrsi3"): Likewise.
16498
16499 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16500
16501         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16502         into account.
16503
16504 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16505
16506         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16507         address computation and memory moves.
16508
16509 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16510
16511         PR c++/6706
16512         * dwarfout.c (output_reg_number): Fix warning message.
16513         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16514         before using it.
16515
16516 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16517
16518         * gcc/gcc.c (asm_debug): Move initialization ...
16519         (init_spec): ... here.
16520
16521 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16522
16523         * c-parse.in (extdef): Append ';'.
16524         (old_style_parm_decls): Append ';'.
16525
16526 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16527
16528         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16529         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16530         to gcc_cv_as_gstabs_flag.
16531         * configure: Rebuilt.
16532
16533 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16534
16535         * ggc.h (ggc_add_root): Document as obsolete.
16536
16537 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16538
16539         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16540         (mshflo_w): Likewise.
16541
16542 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16543
16544         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16545         vector mode subregs of constants to finding integer mode
16546         subregs of constants.
16547         * cse.c (cse_insn): Use simplify_gen_subreg.
16548         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16549         From a vector mode expression of different size than the
16550         target mode.
16551
16552 2002-07-03  Eric Christopher  <echristo@redhat.com>
16553
16554         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16555         * config/mips/mips.h: Remove deprecated -m<processor> options
16556         and cc1_cpu_spec associated.
16557         (CONSTANT_ADDRESS_P): Fix last patch.
16558         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16559         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16560         sunge_sf): Remove.
16561
16562 2002-07-03  Stan Shebs  <shebs@apple.com>
16563
16564         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16565         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16566         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16567
16568 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16569
16570         * combine.c (struct_undo): Change types of recorded substitutions
16571         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16572         (do_SUBST_INT): Change types of the substitution from unsigned int
16573         to int, to avoid compilation warning from SUBST_INT's only caller.
16574
16575         (make_extraction): Add cast to avoid compilation warning.
16576         (force_to_mode): Remove cast to avoid compilation warning.
16577
16578 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16579             Jeff Law  <law@redhat.com>
16580
16581         * i386.md (length_immediate attribute): Fix typo.
16582         (length_address attribute): Likewise.
16583         (modrm attribute): Set it to 0 for immediate call instructions.
16584         (jcc_1 pattern): Set modrm attribute to 0.
16585         (jcc_2 pattern ): Likewise.
16586         (jump pattern): Likewise.
16587         (doloop_end_internal pattern): Explicitly set length.
16588         (leave pattern): Fix typo.
16589         (leave_rex64 pattern): Likewise.
16590
16591 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16592
16593         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16594         in FPR as preference.
16595         (fctiwz): Same.
16596         (floatdidf2, fix_truncdfdi2): Same.
16597         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16598         (floatditf2): Same.
16599         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16600         (ctrdi): Remove FPR alternative and splitter.
16601
16602 2002-07-03  Will Cohen  <wcohen@redhat.com>
16603
16604         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16605
16606 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16607
16608         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16609         than UNITS_PER_WORD, unless this is little endian and the first unit
16610         in this word.  Let extract_bit_field decide how to load an element.
16611         Force arguments to matching mode.
16612         (expand_vector_unop): Likewise.
16613
16614         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16615         consist of word_mode elements.
16616         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16617         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16618         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16619         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16620         CONST_VECTOR.
16621         * optabs.c (expand_vector_binop): Try to perform operation in
16622         smaller vector modes with same inner size.  Add handling of AND, IOR
16623         and XOR.  Reject expansion to inner-mode sized scalars when using
16624         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16625         (expand_vector_unop): Try to perform operation in smaller vector
16626         modes with same inner size.  Add handling of one's complement.
16627         When there is no vector negate operation, try a vector subtract
16628         operation.  Use simplify_gen_subreg on constants.
16629         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16630         constants into smaller vectors with same inner mode, and to
16631         integer CONST_DOUBLEs.
16632
16633 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16634
16635         * c-parse.in (parsing_iso_function_signature): New variable.
16636         (extdef_1): New, copied from...
16637         (extdef): ... here.  Reset parsing_iso_function_signature.
16638         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16639         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16640         Warn about ISO C style function definitions.
16641         (nested_function, notype_nested_function): Reset
16642         parsing_iso_function_signature.
16643         (parmlist_2): Set parsing_iso_function_signature.
16644
16645         * doc/invoke.texi (-Wtraditional): Document new behavior.
16646
16647 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16648
16649         * config.gcc (mips*el-*-*): Use tm_defines to set
16650         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16651         * config/mips/little.h: Remove.
16652
16653 2002-07-02 Devang Patel <dpatel@apple.com>
16654
16655         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16656         object as parameter. Prevent something like 'NSObject' to be
16657         used as the type for a method argument.
16658
16659 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16660
16661         * cpptrad.c: Update comment.
16662
16663 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16664
16665         * doc/cpp.texi: Update for traditional preprocessing changes.
16666         * goc/cppopts.texi: Similarly.
16667
16668 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16669
16670         * c-parse.in (designator): Enable designated initializers if ObjC.
16671         (objcmessageexpr): Remove references to objc_receiver_context.
16672         * objc/objc-act.h (objc_receiver_context): Remove decl.
16673         * objc/objc-act.c (objc_receiver_context): Remove.
16674         (lookup_objc_ivar): Test objc_method_context instead of
16675         objc_receiver_context.
16676
16677 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16678
16679         * sh.c (print_operand, case 'N'): Allow zero vector.
16680         (arith_reg_or_0_operand): Likewise.
16681         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16682         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16683         IOR, XOR, PLUS and SET and take their respective constant
16684         ranges into account.
16685         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16686         * sh.md (subdi3, subdi3_media): Allow zero operand.
16687         (movv8qi_i+3): Only vector that is not split is the zero vector.
16688         Fix operand 3 to simplify_subreg.
16689         (movv2si_i): Split alternative 1.
16690         (mshfhi_l_di_rev+1): New splitter.
16691
16692 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16693
16694         PR preprocessor/7029
16695         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16696         implicit "-w" for "-M" and "-MM".
16697         * doc/cppopts.texi: Update.
16698
16699 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16700
16701         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16702         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16703         builtin_function.
16704
16705 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16706
16707         * README.Portability: Fix typos.
16708
16709 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16710
16711         PR target/7177
16712         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16713         of indirections for register inside sign-extended mem part.
16714
16715 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16716
16717         * tree.h:  Modify builtin_function interface to take an extra
16718         argument ATTRS, which is a tree representing an attribute list.
16719
16720         * c-decl.c (builtin_function): Accept additional parameter.
16721         * objc/objc-act.c (builtin_function): Likewise.
16722         * f/com.c (builtin_function): Likewise.
16723         * java/decl.c (builtin_function): Likewise.
16724         * ada/utils.c (builtin_function): Likewise.
16725         * cp/decl.c (builtin_function): Likewise.
16726         (builtin_function_1): Likewise.
16727
16728         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16729         NULL_TREE argument to builtin_function.  (builtin_function_2):
16730         Likewise.
16731         * cp/call.c (build_java_interface_fn_ref): Likewise.
16732         * objc/objc-act.c (synth_module_prologue): Likewise.
16733         * java/decl.c (java_init_decl_processing): Likewise.
16734         * f/com.c (ffe_com_init_0): Likewise.
16735
16736         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16737         NULL_TREE argument to builtin_function.
16738         * config/arm/arm.c (def_builtin): Likewise.
16739         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16740         * config/i386/i386.c (def_builtin): Likewise.
16741         * config/ia64/ia64.c (def_builtin): Likewise.
16742         * config/rs6000/rs6000.c (def_builtin): Likewise.
16743
16744 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16745
16746         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16747         * config/mips/t-isa3264: Likewise.
16748         * config/mmix/t-mmix: Likewise.
16749
16750 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16751
16752         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16753
16754 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16755
16756         PR opt/4046
16757         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16758         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16759         B are truth values.
16760
16761 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16762
16763         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16764
16765 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16766
16767         * README.Portability (Function prototypes): Give an example of
16768         declaring and defining a function with no arguments.
16769
16770         * README.Portability (Function prototypes): Document new
16771         variable-argument function macros.
16772
16773 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16774
16775         * sh.c (langhooks.h): Include.
16776         (sh_init_builtins, sh_media_init_builtins): New functions.
16777         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16778         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16779         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16780         (builtin_description): New struct tag.
16781         (signature_args, bdesc): New arrays.
16782         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16783         (print_operand): Add 'N' modifier.
16784         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16785         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16786         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16787         (CONST_COSTS): Add special case for SHmedia AND.
16788         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16789         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16790         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16791         target_operand can also be const or unspec.
16792         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16793         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16794         (attribute type): Add new types.
16795         (anddi3): Add splitter.
16796         (movdi_const_16bit+1): Add code to handle vector constants and
16797         bitmasks efficiently.
16798         (shori_media): Have generator function made.
16799         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16800         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16801         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16802         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16803         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16804         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16805         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16806         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16807         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16808         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16809         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16810         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16811         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16812         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16813         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16814         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16815         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16816         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16817         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16818         (ftrv): Likewise.
16819
16820         (fpu_switch+1, fpu_switch+2): Remove constraint.
16821
16822 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16823
16824         * tree.c (build_function_type_list): Update function comment.
16825         Rename first argument to return_type.
16826
16827 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16828
16829         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16830         tradcif.y and related files.
16831
16832 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16833
16834         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16835
16836 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16837
16838         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16839
16840 See ChangeLog.7 for earlier changes.