OSDN Git Service

* i386.c (x86_function_profiler): Fix format specifier.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2
3         * i386.c (x86_function_profiler): Fix format specifier.
4
5 2003-01-17  Richard Henderson  <rth@redhat.com>
6
7         * gengtype.c (walk_type): Allow paramN_is.
8
9 2003-01-17  Nick Clifton  <nickc@redhat.com>
10
11         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
12
13 2003-01-16  Richard Henderson  <rth@redhat.com>
14
15         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
16
17 2003-01-16  Richard Henderson  <rth@redhat.com>
18
19         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
20         (alpha_next_sequence_number): Likewise.
21         (alpha_this_literal_sequence_number): Likewise.
22         (alpha_this_gpdisp_sequence_number): Likewise.
23         (struct alpha_funcs, alpha_funcs_num): Likewise.
24         (struct alpha_links): Fix branch merge error.
25         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
26
27 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
28
29         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
30         R. Ghazi.
31
32 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
33
34         * ifcvt.c: Fix comment typos.
35         * lcm.c: Likewise.
36         * libgcc2.c: Likewise.
37         * local-alloc.c: Likewise.
38         * loop.c: Likewise.
39         * predict.c: Likewise.
40         * ra-build.c: Likewise.
41         * ra.c: Likewise.
42         * ra-colorize.c: Likewise.
43         * ra.h: Likewise.
44         * ra-rewrite.c: Likewise.
45         * regmove.c: Likewise.
46         * reload.h: Likewise.
47         * rtlanal.c: Likewise.
48         * toplev.c: Likewise.
49         * tree.h: Likewise.
50         * unwind-dw2-fde-glibc.c: Likewise.
51         * vmsdbgout.c: Likewise.
52
53 2003-01-16  Richard Henderson  <rth@redhat.com>
54
55         * dwarf2out.c (struct file_table): Remove.
56         (FILE_TABLE_INCREMENT): Remove.
57         (file_table): Make a varray; mark for GC.  Update all users.
58         (file_table_last_lookup_index): Extract from struct file_table.
59         (output_file_names): Fix unsigned compare warnings.
60         (add_name_attribute): Remove inline marker.
61         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
62         (lookup_filename): Don't manage size of file_table.
63         (init_file_table): Allocate file_table with GC.
64         (dwarf2out_init): Don't record main_input_filename here.
65         (dwarf2out_finish): Do it here instead.
66
67 2003-01-16  Bruce Korb  <bkorb@gnu.org>
68
69         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
70
71 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
72
73         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
74         instead of rotldi3_mextr.
75
76 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
77
78         * haifa-sched.c (move_insn): Restore moving all schedule group.
79         (set_priorities): Restore taking SCHED_GROUP_P into account.
80
81         * sched-deps.c (add_dependence): Restore processing the last group
82         insn.
83         (remove_dependence, group_leader): Restore the functions.
84         (set_sched_group_p): Restore adding dependencies from previous insn
85         in the group.
86         (compute_forward_dependences): Restore usage of group_leader.
87
88         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
89         account.
90
91         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
92         account.
93         (can_schedule_ready_p): Ditto.
94         (add_branch_dependences): Restore skipping over the group insns.
95         
96 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
97
98         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
99         68HC12 pre/post inc/dec side effects.
100
101 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
102
103         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
104
105 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
106
107         * sh.md (mshflo_w_x): Fix description of operation.
108
109 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
110
111         * config/rs6000/rs6000.h: Mention Altivec registers in
112         commentary.  Fix typo.
113
114 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
115
116         * config/rs6000/rs6000.md (movti_string): Remove clobber.
117         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
118         generate PARALLEL with clobber for TARGET_POWER.
119
120 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
121
122         * ra-colorize.c (colorize_one_web): Initialize variable.
123         * regmove.c (fixup_match_1): Likewise.
124         * reload1.c (reload_as_needed): Likewise.
125         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
126
127 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
128
129         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
130
131 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
132
133         * dbxout.c (lastfile, cwd): Fix `unused' warning.
134         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
135         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
136         is_main_source, file_table, decl_die_table_in_use,
137         abbrev_die_table_in_use, line_info_table_in_use,
138         separate_line_info_table_in_use, pubname_table_in_use,
139         arange_table_in_use, ranges_table_in_use,
140         current_function_has_inlines): Likewise.
141         * flow.c (life_analysis): Likewise.
142         * genemit.c (gen_insn): Likewise.
143         * protoize.c (cplus_suffix): Likewise.
144
145         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
146         * arm.h (ROUND_UP_WORD): Likewise.
147
148         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
149         warning.
150         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
151         init_emit_once): Likewise.
152         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
153         Likewise.
154         * function.c (assign_stack_temp_for_type): Likewise.
155         * loop.c (loop_invariant_p): Likewise.
156         * recog.c (push_operand): Likewise.
157         * regclass.c (init_reg_sets_1): Likewise.
158         * reload.c (update_auto_inc_notes): Likewise.
159         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
160         * stmt.c (expand_asm_operands): Likewise.
161         * stor-layout.c (start_record_layout): Likewise.
162
163 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
164
165         * config/c4x/c4x.md (epilogue): Correct last patch.
166
167 2003-01-15  Richard Henderson  <rth@redhat.com>
168
169         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
170         also check that GP is being used.
171         (alpha_find_lo_sum_using_gp): New.
172         (alpha_does_function_need_gp): Use get_attr_usegp.
173         * config/alpha/alpha-protos.h: Update.
174         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
175         as needed.
176
177 2003-01-15  Roger Sayle  <roger@eyesopen.com>
178
179         * gcse.c (one_cprop_pass): Change function arguments to take both
180         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
181         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
182         (bypass_jumps): New function to perform separate jump bypassing pass.
183         * rtl.h (bypass_jumps): Add function prototype.
184         * timevar.def (TV_BYPASS): New timing variable.
185         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
186         (dump_file): New entry for the bypass RTL dump file.
187         (rest_of_compilation): Insert new jump bypassing optimization
188         pass after loop.
189         * doc/passes.texi: Document new pass.
190
191 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
192
193         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
194         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
195         * pa.h (TARGET_SOM_SDEF): Define.
196         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
197
198 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
199
200         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
201         allocate 4-bytes of locals on 68HC11.
202         (expand_epilogue): Likewise.
203         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
204
205 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
206
207         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
208         and -mshort-double to the assembler to specify the ABI.
209         (LINK_SPEC): Likewise.
210         (CPP_SPEC): Pass HCS12 specific define.
211         (MASK_M68S12): New define.
212         (TARGET_M68S12): Likewise.
213         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
214         (TARGET_VERSION): Update.
215         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
216         (LINK_SPEC): Update.
217         (ASM_SPEC): Update.
218         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
219         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
220
221 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
222
223         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
224         the return code.
225
226 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
227
228         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
229         flag before setting it.
230
231 2003-01-15  Roger Sayle  <roger@eyesopen.com>
232
233         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
234         when loop condition is known true, i.e.  "while (1) { ... }".
235         (genrtl_for_stmt): Similarly for "for" statements.
236
237 2003-01-15  Roger Sayle  <roger@eyesopen.com>
238
239         * real.c (real_sqrt): Return a bool result indicating whether
240         a floating point exception or trap should be raised.
241         * real.h (real_sqrt): Update function prototype.
242         * builtins.c (fold_builtin): Only fold non-trapping square
243         roots unless we're ignoring errno and trapping math.
244
245 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
246
247         * expr.h (emit_conditional_add): Add PARAMS to declaration.
248         * gengtype-lex.l (malloc, realloc): Move defines after include of
249         system.h.  Remove duplicate include of system.h.
250
251 2003-01-15  Roger Sayle  <roger@eyesopen.com>
252
253         PR middle-end/9009
254         * optabs.c (expand_unop):  When manipulating the FP sign bit
255         using integer operations, account for targets with different
256         integer and FP word orders.
257         (expand_abs): Likewise.
258
259 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
260
261         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
262         file extension in section name.
263
264 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
265
266         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
267         constant offset.
268
269 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
270
271         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
272         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
273         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
274         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
275
276 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
277
278         PR f/9258
279         * global.c (struct allocno): Add no_stack_reg.
280         (global_conflicts): Set no_stack_reg.
281         (find_reg): Use it.
282
283         * convert.c (convert_to_real): Fold - and abs only when profitable.
284         * fold-const.c (fold): Fold truncates in - and abs.
285
286 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
287
288         Segher Boessenkool  <segher@koffie.nl>
289
290         * predict.c (real_inv_br_prob_base): New variable.
291         (propagate_freq): Use multiply by reciprocal instead of
292         division.  Don't divide by 1.0 at all.
293         (estimate_bb_frequencies): Similar.
294
295 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
296
297         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
298         * configure: Rebuilt.
299
300 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
301
302         * config/s390/s390.c (s390_safe_attr_type): New function.
303         (s390_use_dfa_pipeline_interface): New function, return true for z900.
304         (s390_issue_rate): New function.
305         (s390_agen_dep_p): New function.
306         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
307         (s390_adjust_cost): Return 'cost' if new DFA is used.
308         (s390_adjust_priority): Delete function.
309         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
310         * config/s390/s390.md (atype attribute): Attribute 'atype' default
311         determined by 'op_type'.
312         (type attribute): Added more type attributes.
313         * config/s390/2064.md: New DFA description for z900 pipeline.
314
315 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
316
317         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
318         forced to memory.  Fixes PR bootstrap/9036.
319
320         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
321         to set $gp before the call.
322
323 2003-01-14  Richard Henderson  <rth@redhat.com>
324
325         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
326         for force_const_mem.
327
328 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
329
330         * genattr.c (main): Rearrange output to avoid prototype warning.
331         * genautomata.c (transform_3): Fix ambiguous-else warning.
332         * local-alloc.c (requires_inout): Add parentheses around
333         assignment used as truth-value.
334         * timevar.c: Move system includes above local includes.  Include
335         toplev.h
336         * Makefile.in (timevar.o): Depend on toplev.h.
337
338 2003-01-14  Denis Chertykov  <denisc@overta.ru>
339
340         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
341         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
342
343         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
344         attributes.
345         (TARGET_ATTRIBUTE_TABLE): New macro.
346         (valid_machine_type_attribute): Remove.
347         (valid_machine_decl_attribute): Remove.
348         (ip2k_handle_progmem_attribute): New function.
349         (ip2k_handle_fndecl_attribute): New function.
350
351 2003-01-10  Andrew Haley  <aph@redhat.com>
352
353         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
354         registers to be in correct order.  Add rip.
355
356 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
357
358         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
359         (*iorsi3_and_lshiftrt_9_sb): Likewise.
360
361 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
362
363         * convert.c (strip_float_extensions):  Look for narrowest type handling
364         FP constants.
365
366         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
367         float1 CMP float2.
368         * convert.c (strip_float_extensions): Make global.
369         * tree.h (strip_float_extensions): Declare.
370
371 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
372
373         * timevar.def: define TV_NAME_LOOKUP.
374         * timevar.c (timevar_pop): Be verbose when aborting.
375
376 2003-01-13  Andreas Schwab  <schwab@suse.de>
377
378         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
379         $(parsedir), just move the temporary file at the end.
380         ($(parsedir)/gengtype-yacc.c): Likewise.
381
382 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
383
384         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
385         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
386         splitting.
387         * configure: Rebuilt.
388
389 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
390
391         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
392         internal_mcount): Don't use PARAMS.
393         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
394         ISO C style.
395         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
396
397 2003-01-13  Andreas Schwab  <schwab@suse.de>
398
399         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
400         directive.
401
402 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
403
404         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
405         (*iorsi3_and_lshiftrt_n_sb): Likewise.
406
407 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
408
409         PR c++/9264
410         * c-lex.c (c_lex): Set the token value to error_mark_node for
411         invalid numeric constants.
412
413 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
414
415         * c-pch.c (asm_file_startpos): Change to `long'.
416         (pch_init): Use ftell, not ftello.
417         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
418         Use `long' instead of `off_t'.
419         (c_common_read_pch): Likewise.
420         * ggc-common.c (gt_pch_save): Use long/ftell instead of
421         off_t/ftello.
422
423 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
424
425         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
426
427 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
428
429         * arm-protos.h (struct cpp_reader): Add declaration.
430
431 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
432
433         PR target/9068
434         * i386.c (output_fp_compare): Fix typo.
435
436 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
437
438         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
439
440 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
441
442         * Makefile.in (parsedir): New variable.
443         (docobjdir): New variable.
444         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
445         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
446         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
447         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
448         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
449         Use docobjdir.
450         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
451         objc.maintainer-clean): Use parsedir.
452
453         * varasm.c (struct constant_descriptor_rtx): Remove unused
454         `label' field.
455
456         * toplev.c (documented_lang_options): Document -Winvalid-pch.
457
458 2003-01-10  Richard Henderson  <rth@redhat.com>
459
460         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
461         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
462
463 2003-01-10  Richard Henderson  <rth@redhat.com>
464
465         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
466         not INTEGRAL_MODE_P when widening extensions.
467
468 2003-01-10  Richard Henderson  <rth@redhat.com>
469
470         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
471
472 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
473
474         * ggc-page.c (ggc_collect): Avoid overflow computing
475         min_expand.
476
477         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
478         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
479         Remove calls.
480         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
481
482 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
483
484         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
485         with weird operands.
486
487 2003-01-10  Dale Johannesen <dalej@apple.com>
488
489         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
490         parameters.  Call check_sibcall_argument_overlap if indicated.
491         (check_sibcall_argument_overlap):  Add mark_stored_args_map
492         parameter.  Don't mark parameter area as clobbered if not set.
493         (expand_call):  Adjust calls to above.
494
495 2003-01-10 Kelley Cook <kelleycook@comcast.net>
496
497         * configure.in (linker read-only and read-write section mixing):
498         Squelch some assembler warnings.
499         * configure: Likewise.
500
501 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
502
503         * doc/invoke.texi: Document -mtune, delete -mcpu
504         option for S/390 and zSeries.
505         * config/s390/s390.c (s390_tune_string) New variable.
506         (s390_cpu_string) Delete variable.
507         (override_options): Use s390_tune_string instead of
508         s390_cpu_string.
509         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
510
511 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
512
513         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
514
515 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
516
517         * jump.c (next_nonnote_insn_in_loop): New function.
518         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
519         next_nonnote_insn.
520         (duplicate_loop_exit_test). Likewise.
521
522 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
523
524         Merge from pch-branch:
525
526         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
527
528         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
529         load.
530
531         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
532
533         * cpplib.c (count_registered_pragmas): New function.
534         (save_registered_pragmas): New function.
535         (_cpp_save_pragma_names): New function.
536         (restore_registered_pragmas): New function.
537         (_cpp_restore_pragma_names): New function.
538         * cpphash.h (_cpp_save_pragma_names): Prototype.
539         (_cpp_restore_pragma_names): Likewise.
540         * cpppch.c (struct save_macro_item): Split from save_macro_data.
541         (struct save_macro_data): New field 'saved_pragmas'.
542         (save_macros): Update for changes to struct save_macro_data.
543         (cpp_prepare_state): Call _cpp_save_pragma_names, update
544         for changes to struct save_macro_data.
545         (cpp_read_state): Call _cpp_restore_pragma_names, update
546         for changes to struct save_macro_data.
547
548         * cpppch.c (cpp_read_state): Restore the hashtable references
549         in the cpp_reader.
550
551         * tree.h (built_in_decls): Mark for PCH.
552
553         * dbxout.c (lastfile): Don't mark for PCH.
554
555         * ggc.h: Document PCH calls into memory managers.
556
557         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
558
559         * doc/invoke.texi (Precompiled Headers): Document the
560         directory form of PCH.
561         * cppfiles.c (validate_pch): New function.
562         (open_file_pch): Search suitably-named directories for PCH files.
563
564         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
565
566         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
567         reorder options.
568         (Type Information): Mention that the information is also
569         used to implement PCH.
570         * doc/passes.texi (Passes): Improve documentation of
571         language-specific files.
572
573         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
574
575         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
576         (struct walk_type_data): Add reorder_fn field.
577         (walk_type): Process 'reorder' option.
578         (write_types_process_field): Reorder parameters to gt_pch_note_object,
579         call reorder_note_routine.
580         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
581         (ggc_wtd): Update for change to struct write_types_data.
582         (pch_wtd): Likewise.
583         * ggc.h (gt_pch_note_object): Reorder parameters.
584         (gt_handle_reorder): New definition.
585         (gt_pch_note_reorder): New prototype.
586         * ggc-common.c (struct ptr_data): Add reorder_fn.
587         (gt_pch_note_object): Reorder parameters.
588         (gt_pch_note_reorder): New.
589         (gt_pch_save): Call reorder_fn.
590         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
591
592         * dbxout.c (cwd): Don't mark for PCH.
593
594         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
595
596         * gengtype.c (finish_root_table): Fix some warnings.
597         (write_root): Handle TYPE_STRING.
598         * ggc.h (gt_ggc_m_S): Add prototype.
599         * stringpool.c (gt_ggc_m_S): New function.
600
601         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
602
603         * dwarf2out.c (dw2_string_counter): New.
604         (AT_string_form): Use it.
605         (same_dw_val_p): Update for removal of hashtable.h hash tables.
606
607         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
608
609         * dbxout.c: Include gt-dbxout.h.
610         (lastfile): Mark for PCH/GGC.
611         (cwd): Likewise.
612         (struct typeinfo): Likewise.
613         (typevec): Likewise.
614         (typevec_len): Likewise.
615         (next_type_number): Likewise.
616         (struct dbx_file): Likewise.
617         (current_file): Likewise.
618         (next_file_number): Likewise.
619         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
620         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
621         (dbxout_end_source_file): Don't free struct dbx_file.
622         (dbxout_type): Use GGC to allocate typevec.
623         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
624         (GTFILES): Add dbxout.c.
625         (gt-dbxout.h): New rule.
626
627         * Makefile.in (c-pch.o): Add debug.h as dependency.
628         * c-pch.c: Include debug.h.
629         (pch_init): Call start_source_file to keep nesting right.
630         (c_common_read_pch): Add orig_name parameter.  Call
631         start_source_file debug hook.  Call end_source_file debug hook.
632         * c-common.h (c_common_read_pch): Update prototype.
633         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
634         callback.
635         * cppfiles.c (struct include_file): Add new field `header_name'.
636         (find_or_create_entry): Default it to `name'.
637         (open_file_pch): Set it to the original header file searched for.
638         (stack_include_file): Don't stack an empty buffer, just handle
639         PCH files immediately.  Pass header_name field to read_pch callback.
640
641         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
642
643         * function.c (funcdef_no): Mark to be saved in a PCH.
644
645         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
646
647         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
648
649         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
650
651         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
652
653         * optabs.h (code_to_optab): Add GTY marker.
654
655         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
656
657         * Makefile.in (GTFILES): Add cpplib.h.
658         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
659         * c-decl.c (build_compound_literal): Don't use var_labelno.
660         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
661         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
662         * varasm.c (const_labelno): Use gengtype to mark.
663         (var_labelno): Likewise.
664         (in_section): Likewise.
665         (in_named_name): Likewise.
666         (struct in_named_entry): Likewise.
667         (in_named_htab): Likewise.
668         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
669         (init_varasm_once): Use GGC to allocate in_named_htab.
670         * config/darwin.c (current_pic_label_num): Mark for PCH.
671
672         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
673
674         * ggc-simple.c (init_ggc_pch): New stub procedure.
675         (ggc_pch_count_object): Likewise.
676         (ggc_pch_total_size): Likewise.
677         (ggc_pch_this_base): Likewise.
678         (ggc_pch_alloc_object): Likewise.
679         (ggc_pch_prepare_write): Likewise.
680         (ggc_pch_write_object): Likewise
681         (ggc_pch_finish): Likewise.
682         (ggc_pch_read): Likewise.
683
684         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
685
686         * c-pch.c (c_common_write_pch): Write the macro definitions after
687         the GCed data.
688         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
689         definitions after the GCed data.
690         * cpplib.c (save_macros): New.
691         (reset_ht): New.
692         (cpp_write_pch_deps): Split out of cpp_write_pch.
693         (cpp_write_pch_state): Split out of cpp_write_pch.
694         (cpp_write_pch): Delete.
695         (struct save_macro_data): Delete.
696         (cpp_prepare_state): New.
697         (cpp_read_state): Erase and restore initial macro definitions.
698         * cpplib.h (struct save_macro_data): Forward-declare.
699         (cpp_write_pch_deps): Prototype.
700         (cpp_write_pch_state): Prototype.
701         (cpp_write_pch): Delete prototype.
702         (cpp_prepare_state): Prototype.
703         (cpp_read_state): Add fourth argument.
704
705         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
706
707         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
708         (write_array): Remove warning.
709
710         * gengtype.c (contains_scalar_p): New.
711         (finish_root_table): Add the table to all languages, even if it's
712         empty.
713         (write_roots): Output gt_pch_scalar_rtab.
714         * ggc-common.c (gt_pch_save): Write out scalars.
715         (gt_pch_restore): Read scalars back.
716
717         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
718         (struct page_entry): Delete pch_page field.
719         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
720         (clear_marks): Likewise.
721         (sweep_pages): Likewise.
722         (poison_pages): Likewise.
723         (ggc_print_statistics): Likewise.
724         (ggc_pch_read): Don't free objects read from a PCH.
725         Properly set up in_use_p and page_tails.
726
727         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
728
729         * gengtype.c (struct write_types_data): New.
730         (struct walk_type_data): Make `cookie' const; add extra
731         prev_val item; add `orig_s' field.
732         (walk_type): Update prev_val[3].
733         (write_types_process_field): New.
734         (write_func_for_structure): Take write_types_data structure.
735         (write_types): New.
736         (ggc_wtd): New.
737         (pch_wtd): New.
738         (write_types_local_process_field): New.
739         (gc_mark_process_field): Delete.
740         (write_local_func_for_structure): New.
741         (gc_mark_func_name): Delete.
742         (write_gc_types): Delete.
743         (write_local): New.
744         (finish_root_table): Don't include 'ggc_' in PFX.
745         (write_root): Rename from write_root.  Fill pchw field of structures.
746         (write_array): New.
747         (write_roots): Rename from write_gc_roots.  Split out to write_array.
748         Update to changes to other routines.  Write gt_pch_cache_rtab table.
749         (main): Write PCH walking routines.
750         * ggc-common.c: Include toplev.h, sys/mman.h.
751         (ggc_mark_roots): For cache hashtables, also mark the hash table
752         and the array of entries.
753         (saving_htab): New.
754         (struct ptr_data): New.
755         (POINTER_HASH): New.
756         (gt_pch_note_object): New.
757         (saving_htab_hash): New.
758         (saving_htab_eq): New.
759         (struct traversal_state): New.
760         (call_count): New.
761         (call_alloc): New.
762         (compare_ptr_data): New.
763         (relocate_ptrs): New.
764         (write_pch_globals): New.
765         (struct mmap_info): New.
766         (gt_pch_save): New.
767         (gt_pch_restore): New.
768         * ggc-page.c (ROUND_UP_VALUE): New.
769         (ROUND_UP): New.
770         (struct page_entry): Add field `pch_page'.
771         (init_ggc): Use ROUND_UP.
772         (struct ggc_pch_data): Declare.
773         (init_ggc_pch): New.
774         (ggc_pch_count_object): New.
775         (ggc_pch_total_size): New.
776         (ggc_pch_this_base): New.
777         (ggc_pch_alloc_object): New.
778         (ggc_pch_prepare_write): New.
779         (ggc_pch_write_object): New.
780         (ggc_pch_finish): New.
781         (ggc_pch_read): New.
782         * ggc.h (gt_pointer_operator): New.
783         (gt_note_pointers): New.
784         (gt_pch_note_object): New prototype.
785         (gt_pointer_walker): New.
786         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
787         (LAST_GGC_ROOT_TAB): Update.
788         (gt_pch_cache_rtab): Declare.
789         (gt_pch_scalar_rtab): Declare.
790         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
791         (LAST_GGC_CACHE_TAB): Update.
792         (gt_pch_save_stringpool): Declare.
793         (gt_pch_restore_stringpool): Declare.
794         (gt_pch_p_S): Declare.
795         (gt_pch_n_S): Declare.
796         (struct ggc_pch_data): Forward-declare.
797         (init_ggc_pch): Declare.
798         (ggc_pch_count_object): Declare.
799         (ggc_pch_total_size): Declare.
800         (ggc_pch_this_base): Declare.
801         (ggc_pch_alloc_object): Declare.
802         (ggc_pch_prepare_write): Declare.
803         (ggc_pch_write_object): Declare.
804         (ggc_pch_finish): Declare.
805         (ggc_pch_read): Declare.
806         (gt_pch_save): Declare.
807         (gt_pch_restore): Declare.
808         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
809         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
810         const_double_htab, mem_attrs_htab using GGC.
811         * c-pch.c: Include ggc.h.
812         (pch_init): Allow reading PCH file back.
813         (c_common_write_pch): Call gt_pch_save.
814         (c_common_read_pch): Call gt_pch_restore.
815         * c-parse.in (init_reswords): Delete now-untrue comment.
816         Allocate ridpointers using GGC.
817         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
818         calling expand_deferred_fns.
819         * c-common.h (ridpointers): Mark for GTY machinery.
820         * Makefile.in (stringpool.o): Update dependencies.
821         (c-pch.o): Update dependencies.
822         (ggc-common.o): Update dependencies.
823         * stringpool.c: Include gt-stringpool.h.
824         (gt_pch_p_S): New.
825         (gt_pch_n_S): New.
826         (struct string_pool_data): New.
827         (spd): New.
828         (gt_pch_save_stringpool): New.
829         (gt_pch_restore_stringpool): New.
830         * tree.c (init_ttree): Make type_hash_table allocated using GC.
831
832         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
833
834         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
835         (output_mangled_typename): Don't pass size_t to printf.
836
837         * tree.h (union tree_type_symtab): Add tag to `address' field.
838         (union tree_decl_u2): Add tag to 'i' field.
839         * varasm.c (union rtx_const_un): Add tags to all fields.
840         * gengtype.c (struct walk_type_data): New.
841         (output_escaped_param): Take struct walk_type_data parameter.
842         (write_gc_structure_fields): Delete.
843         (walk_type): New.
844         (write_gc_marker_routine_for_structure): Delete.
845         (write_func_for_structure): New.
846         (gc_mark_process_field): New.
847         (gc_mark_func_name): New.
848         (gc_counter): Delete.
849         (write_gc_types): Use write_func_for_structure.
850         (write_gc_roots): Use walk_type.
851
852         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
853
854         * ggc-common.c (ggc_mark_roots): Delete 'x'.
855         (ggc_splay_dont_free): Fix warning about unused 'x'.
856         (ggc_print_common_statistics): Remove warnings.
857
858         2002-10-01  Mike Stump  <mrs@apple.com>
859
860         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
861         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
862
863         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
864             Catherine Moore  <clm@redhat.com>
865
866         * Makefile (c-pch.o): Update dependencies.
867         (LIBCPP_OBJS): Add cpppch.o.
868         (cpppch.o): New.
869         * c-common.c (c_common_init): Don't call pch_init here.
870         * c-common.h (c_common_read_pch): Update prototype.
871         * c-lex.c (c_common_parse_file): Call pch_init here.
872         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
873         (c_common_decode_option): Handle them.
874         * c-pch.c: Include c-pragma.h.
875         (save_asm_offset): Delete.
876         (pch_init): Move contents of save_asm_offset into here, call
877         cpp_save_state.
878         (c_common_write_pch): Call cpp_write_pch.
879         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
880         cpp_valid_state.
881         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
882         * cppfiles.c (stack_include_file): Update for change to
883         parameters of cb.read_pch.
884         * cpphash.h (struct cpp_reader): Add `savedstate' field.
885         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
886         `restore_pch_deps' fields.
887         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
888         (cpp_save_state): Prototype.
889         (cpp_write_pch): Prototype.
890         (cpp_valid_state): Prototype.
891         (cpp_read_state): Prototype.
892         * cpppch.c: New file.
893         * flags.h (version_flag): Remove prototype.
894         * mkdeps.c (deps_save): New.
895         (deps_restore): New.
896         * mkdeps.h (deps_save): Prototype.
897         (deps_restore): Prototype.
898         * toplev.c (late_init_hook): Delete.
899         (version_flag): Make static again.
900         (compile_file): Don't call late_init_hook.
901         * toplev.h (late_init_hook): Delete.
902         * doc/cppopts.texi: Document -fpch-deps.
903         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
904
905         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
906
907         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
908         callers.
909         (c_common_valid_pch): Rename from c_valid_pch, change callers.
910         (c_common_read_pch): Rename from c_read_pch, change callers.
911
912         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
913         a space between it and its argument.
914
915         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
916
917         * c-pch.c: New file.
918         * toplev.h (late_init_hook): Declare.
919         * toplev.c (late_init_hook): Define.
920         (version_flag): Make globally visible.
921         (compile_file): Call late_init_hook.
922         (init_asm_output): Make output file seekable.
923         * gcc.c (default_compilers): Update c-header rule.
924         * flags.h (version_flag): Declare.
925         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
926         fields.
927         * cppfiles.c (struct include_file): Add 'pch' field.
928         (INCLUDE_PCH_P): New.
929         (open_file_pch): New.
930         (stack_include_file): Handle PCH files specially.
931         (find_include_file): Call open_file_pch instead of open_file.
932         (_cpp_read_file): Explain why open_file is used instead of
933         open_file_pch.
934         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
935         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
936         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
937         in cpplib callbacks.
938         * c-common.c (pch_file): Correct comment.
939         (allow_pch): Define.
940         (c_common_init): Call pch_init.
941         * c-common.h (allow_pch): Declare.
942         (pch_init): Declare.
943         (c_valid_pch): Declare.
944         (c_read_pch): Declare.
945         (c_write_pch): Declare.
946         * Makefile.in (c-pch.o): New.
947         (C_AND_OBJC_OBJS): Add c-pch.o.
948         * doc/invoke.texi (Precompiled Headers): Add index entries,
949         complete truncated paragraph.
950
951         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
952
953         * c-common.c: (pch_file): Define.
954         * c-common.h (pch_file): Declare.
955         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
956         (missing_arg): Require --output-pch= to have an argument.
957         (c_common_decode_option): Handle --output-pch=.
958         * gcc.c: Document new %V.
959         (default_compilers): Handle compiling C header files.
960         (do_spec_1): Implement %V.
961         (main): Handle "gcc foo.h" without trying to run linker.
962         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
963         (Overall Options): Document what the driver does with header files,
964         document new -x option possibilities.
965         (Invoking G++): More documentation for PCH.
966         (Precompiled Headers): New.
967
968         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
969
970         * ggc.h: Don't include varray.h.  Rearrange functions to be more
971         organized.
972         (ggc_add_root): Delete.
973         (ggc_mark_rtx): Delete.
974         (ggc_mark_tree): Delete.
975         (struct ggc_statistics): Remove contents.
976         * ggc-common.c: Remove unneeded includes.
977         (struct ggc_root): Delete.
978         (roots): Delete.
979         (ggc_add_root): Delete.
980         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
981         (ggc_print_common_statistics): Remove most of the contents.
982         * Makefile.in (GGC_H): No longer uses varray.h.
983         (ggc-common.o): Update dependencies.
984         (c-parse.o): Add varray.h to dependencies.
985         (c-common.o): Add varray.h.
986         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
987         (mark_ident_hash): Rename to ggc_mark_stringpool.
988         (init_stringpool): Don't use ggc_add_root.
989         * c-parse.in: Include varray.h.
990         * c-common.c: Include varray.h.
991         * objc/Make-lang.in (objc-act.o): Add varray.h.
992         * objc/objc-act.c: Include varray.h.
993
994         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
995
996         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
997         (dw_cfi_oprnd1_desc): Likewise.
998
999         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
1000
1001         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
1002         move out of ifdef.
1003         (alpha_links): Use gengtype to mark; move out of ifdef.
1004         (mark_alpha_links_node): Delete.
1005         (mark_alpha_links): Delete.
1006         (alpha_need_linkage): Use GGC to allocate splay tree, struct
1007         alpha_links, strings.  Don't use ggc_add_root.
1008         * ggc-common.c (ggc_splay_alloc): New.
1009         (ggc_splay_dont_free): New.
1010         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
1011         (ggc_mark_tree): Likewise.
1012         (splay_tree_new_ggc): New.
1013         (ggc_splay_alloc): Declare.
1014         (ggc_splay_dont_free): Declare.
1015         * dwarf2asm.c: Include gt-dwarf2asm.h.
1016         (mark_indirect_pool_entry): Delete.
1017         (mark_indirect_pool): Delete.
1018         (indirect_pool): Use gengtype to mark.
1019         (dw2_force_const_mem): Don't use ggc_add_root.
1020         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
1021         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
1022         (gt-dwarf2asm.h): Depend on s-gtype.
1023
1024         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
1025
1026         * tree.h (union tree_type_symtab): Mark `die' field.
1027         * Makefile.in (dwarf2out.o): Update dependencies.
1028         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
1029         hash tables.
1030         (dw_cfi_oprnd1_desc): New function.
1031         (dw_cfi_oprnd2_desc): New function.
1032         (indirect_string_alloc): Delete.
1033         (debug_str_do_hash): New function.
1034         (debug_str_eq): New function.
1035         (mark_limbo_die_list): Delete.
1036         (dwarf2out_init): Don't call ggc_add_root.
1037
1038 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
1039
1040         The following changes are merged from itanium-sched-branch:
1041
1042         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1043
1044         * doc/md.texi: Clarify assignment of units to automata description.
1045
1046         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
1047
1048         * genautomata.c (unit_decl): Remove members
1049         `the_same_automaton_unit' and
1050         `the_same_automaton_message_reported_p'.
1051         (process_unit_to_form_the_same_automaton_unit_lists,
1052         form_the_same_automaton_unit_lists_from_regexp,
1053         form_the_same_automaton_unit_lists, the_same_automaton_lists):
1054         Remove them.
1055         (annotation_message_reported_p): New global variable.
1056         (check_unit_distribution_in_reserv,
1057         check_regexp_units_distribution): New functions.
1058         (check_unit_distributions_to_automata): Rewrite it.
1059
1060         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
1061
1062         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
1063         Use continue instead of break if cycle is too big.
1064
1065         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
1066
1067         * genautomata.c (check_unit_distributions_to_automata): Output at
1068         most one message for a unit.
1069         (process_unit_to_form_the_same_automaton_unit_lists): Check
1070         automaton of units instead of units themself.
1071
1072         * doc/md.texi: Describe the constraint about assigning unit to
1073         automata.
1074
1075         2002-12-20  Jan Hubicka  <jH@suse.cz>
1076                     Vladimir Makarov  <vmakarov@redhat.com>
1077
1078         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1079         and `in_set_p'.
1080         (gen_cpu_unit): Initialize the new members.
1081         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1082         up `min_occ_cycle_num'.
1083         (evaluate_max_reserv_cycles): Change the function call.
1084         (CLEAR_BIT): New macro.
1085         (states_union, state_shift): Use the mask.
1086         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1087         (form_reservs_matter): New function.
1088         (make_automaton): Call the function and use the mask.
1089         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1090         account.
1091
1092         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1093
1094         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1095
1096         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1097
1098         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1099         for Itanium.
1100
1101         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1102
1103         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1104         default cpu.
1105
1106         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1107                 2002-10-31  Dale Johannesen <dalej@apple.com>
1108
1109         * haifa-sched.c (find_set_reg_weight): New function.
1110         (find_insn_reg_weight): Use the new function.
1111         (schedule_block): Do sorting ready queue always
1112         after insn issue.
1113
1114         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1115
1116         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1117
1118         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1119
1120         * haifa-sched.c (choice_entry): New structure.
1121         (choice_stack, cycle_issued_insns): New variables.
1122         (max_issue): Rewrite it.
1123         (choose_ready): Set up ready_try for unknown insns too.
1124         (schedule_block): Allocate and free choice_stack.  Set up
1125         and modify cycle_issued_insns.
1126
1127         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1128         with and without filling the bundle.
1129         (bundling): Combine calls of issue_nops_and_insn.
1130
1131         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1132
1133         * config/ia64/itanium1.md: New file.
1134
1135         * config/ia64/itanium2.md: New file.
1136
1137         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1138         Remove the old pipeline description.
1139
1140         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1141         itanium processor names.
1142
1143         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1144
1145         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1146         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1147
1148         * config/ia64/ia64.md: Add descriptions for Itanium2.
1149
1150         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1151
1152         * config/ia64/ia64.h (processor_type): New enumeration.
1153         (ia64_tune, ia64_tune_string): New external declarations.
1154         (TARGET_OPTIONS): Add option `tune='.
1155
1156         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1157         variables.
1158         (ia64_override_options): Set up `ia64_tune'.
1159         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1160         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1161         (bundling): Add nops for MM-insns only for Itanium.
1162         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1163         Itanium.
1164
1165         * config/ia64/ia64.md (cpu): New attribute.
1166         (DFA description): Enable it only for Itanium.
1167
1168         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1169                     Richard Henderson  <rth@redhat.com>
1170
1171         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1172         MASK_EARLY_STOP_BITS.
1173         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1174         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1175         `early-stop-bits'.
1176
1177         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1178         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1179         instead of TARGET_TUNE_STOP_BITS.
1180
1181         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1182         `-mearly-stop-bits'.
1183
1184         * config/ia64/ia64.c (automata_option "v"): Comment it.
1185
1186         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1187
1188         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1189         New macros.
1190         (TARGET_SWITCHES): Add entries for the new option.
1191
1192         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1193         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1194         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1195         global variables.
1196         (ia64_sched_reorder2): Set up `clocks'.
1197         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1198         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1199         queue when TARGET_TUNE_STOP_BITS.
1200         (bundling): Insert additional nops for MM-insns.
1201         (final_emit_insn_group_barriers): Add insertion of stop bits
1202         according `stops_p'.
1203         (ia64_reorg): Initiate the new varibales.
1204
1205         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1206
1207         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1208
1209         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1210         insns at the end of block insn scheduling.
1211
1212         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1213
1214         * sched-deps.c (remove_dependence, group_leader): Remove it.
1215         (add_dependence): Add dependence to group leader to.
1216         (set_sched_group_p): Add dependence to the first insn of the
1217         schedule group too.
1218         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1219         Change true dependence by anti-dependence when
1220         `reg_pending_barrier'.
1221
1222         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1223         add_branch_dependences): Ignore schedule groups.
1224
1225         * sched-ebb.c (init_ready_list): Ditto.
1226
1227         * (move_insn, set_priorities): Ditto.
1228
1229         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1230         flag is clear after reload.
1231         (adjust_cost): Change cost only for output dependencies.
1232
1233         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1234
1235         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1236
1237         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1238
1239         * target.h (gcc_target): Add member
1240         `dependencies_evaluation_hook'.
1241
1242         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1243         macro.
1244         (TARGET_SCHED): Add initiatialization of the new member.
1245
1246         * sched-ebb.c: Include `target.h'.
1247         (schedule_ebb): Call `dependencies_evaluation_hook'.
1248
1249         * sched-rgn.c (schedule_region): Call
1250         `dependencies_evaluation_hook'.
1251
1252         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1253         New macro.
1254         (ia64_dependencies_evaluation_hook): New function.
1255
1256         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1257         Describe the new hook.
1258
1259         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1260
1261         * target.h (gcc_target): Add members
1262         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1263
1264         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1265         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1266         macros.
1267         (TARGET_SCHED): Add initiatialization of the new members.
1268
1269         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1270         insn scheduling too.
1271         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1272         initialize `ready_try'.
1273         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1274         `dfa_new_cycle' says not to do it.
1275
1276         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1277         bundling.
1278
1279         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1280
1281         * config/ia64/ia64.c: Include `hashtab.h'.
1282         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1283         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1284         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1285         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1286         bundle_state_eq_p, insert_bundle_state,
1287         initiate_bundle_state_table, finish_bundle_state_table,
1288         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1289         get_template, get_next_important_insn, bundling): New functions.
1290         (ia64_internal_sched_reorder): Remove it.
1291         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1292         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1293         (ia64_safe_itanium_requires_unit0): Remove it.
1294         (group_barrier_needed_p): Place group barrier right before a real
1295         insn.
1296         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1297         Remove them.
1298         (bundle_name): New variable.
1299         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1300         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1301         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1302         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1303         temp_dfa_state, prev_cycle_state): New global variables.
1304         (insn_matches_slot, maybe_rotate, finish_last_head,
1305         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1306         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1307         find_best_packet, itanium_reorder, dump_current_packet,
1308         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1309         (sched_data, sched_ready, sched_types): Remove them.
1310         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1311         `init_insn_group_barriers'.
1312         (ia64_sched_reorder, ia64_sched_reorder2): Call
1313         ia64_dfa_sched_reorder.
1314         (ia64_variable_issue): Rewrite it.
1315         (bundle_state): New structure.
1316         (index_to_bundle_states, bundle_states_num,
1317         allocated_bundle_states_chain, free_bundle_state_chain): New
1318         global variables.
1319         (ia64_sched_finish): Add stop bits and call `bundling' after the
1320         2nd insn scheduling.
1321         (ia64_use_dfa_pipeline_interface): Return zero always.
1322         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1323         insn scheduling.
1324         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1325         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1326         (ia64_reorg): Add bundling insns.
1327
1328         * doc/tm.texi
1329         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1330         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1331
1332         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1333
1334         * config/ia64/ia64.md: Add Itanium1 DFA description.
1335         (itanium_class): Add `nop' and `pre_cycle'.  Add
1336         define_function_unit for `nop'.
1337         (nop): Change attribute `itanium_class'.
1338         (pre_cycle): New define_insn.
1339
1340         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1341         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1342         ia64_produce_address_p): New function prototypes.
1343
1344         * config/ia64/ia64.c (bundling_p): New global variable.
1345         (ia64_use_dfa_pipeline_interface,
1346         ia64_first_cycle_multipass_dfa_lookahead,
1347         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1348         functions.
1349         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1350         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1351         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1352         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1353         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1354         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1355         (dfa_pre_cycle_insn): New variable.
1356
1357         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1358
1359         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1360         constructions.
1361
1362         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1363         New function prototypes.
1364
1365         * genattrtab.c (main): Process the new constructions.
1366
1367         * genautomata.c (gen_presence_absence_set,
1368         process_presence_absence_names, process_presence_absence_patterns,
1369         add_presence_absence, check_absence_pattern_sets): Add parameter
1370         `final_p'.
1371         (unit_decl): Add new members `final_presence_list' and
1372         `final_absence_list'.
1373         (unit_pattern_rel_decl): Add new member `final_p'.
1374         (gen_final_presence_set, gen_final_absence_set): New functions.
1375         (process_decls): Use member `final_p'.
1376         (temp_reserv): New global variable.
1377         (reserv_sets_are_intersected): Add processing `final_presence_set'
1378         and `final_absence_set'.
1379         (initiate_states): Allocate `temp_reserv'.
1380         (unit_final_presence_set_table, unit_final_absence_set_table): New
1381         gloabal variables.
1382         (initiate_presence_absence_pattern_sets): Initiate them.
1383         (NDFA_to_DFA): Fix typo.
1384         (output_description): Output `final_presence_set' and
1385         `final_absence_set'.
1386
1387         * doc/md.texi (final_presence_set, final_absence_set): Describe
1388         them.
1389
1390         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1391
1392         * genautomata.c (transform_3): Process a missing case (nothing on
1393         unit place).
1394
1395         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1396
1397         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1398         comments about queried units and the minimization.
1399
1400         * doc/md.texi: Ditto.
1401
1402         * genautomata.c (create_composed_state): Return nonzero if the new
1403         state has been created.
1404         (first_cycle_unit_presence): New function.
1405         (state_is_differed): Add new parameter.  Use the new function.
1406         Take queried units into account.
1407         (partition_equiv_class): Pass additional parameter to
1408         `state_is_differed'.
1409         (merge_states): Process composed states too.
1410         (build_automaton, create_automata, output_min_issue_delay_table,
1411         output_tables, output_statistics): Output more information.
1412         (output_reserved_units_table): Use function
1413         `first_cycle_unit_presence'.
1414         (output_tables): Output table of queried units even if the
1415         minimization is switched on.
1416         (write_automata): Output code for querying units even if the
1417         minimization is switched on.
1418
1419         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1420
1421         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1422         syntax of the constructions.
1423
1424         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1425         extended syntax of the constructions.
1426
1427         * genautomata.c (unit_rel_decl): Rename it to
1428         `unit_pattern_rel_decl'.
1429         (pattern_set_el, pattern_reserv): New structures.
1430         (pattern_set_el_t, pattern_reserv_t): New types.
1431         (gen_presence_absence_set): New function.
1432         (process_presence_absence): Remove it.
1433         (process_presence_absence_names,
1434         process_presence_absence_patterns): New functions.
1435         (get_presence_absence_set): Remove it.
1436         (initiate_presence_absence_sets): Rename it on
1437         `initiate_presence_absence_pattern_sets'.  Use new function
1438         `form_reserv_sets_list'.
1439         (form_reserv_sets_list, check_presence_pattern_sets,
1440         check_absence_pattern_sets, output_pattern_set_el_list): New
1441         functions.
1442         (unit_decl): Change types of members `presence_list' and
1443         `absence_list'.
1444         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1445         (decl): Change types of members `excl', `presence', and `absence'.
1446         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1447         at the end of the vector.
1448         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1449         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1450         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1451         (gen_presence_set, gen_absence_set): Use new function
1452         `gen_presence_absence_set'.
1453         (add_presence_absence): Process `pattern_list' instead of
1454         `source_list'.
1455         (process_decls): USe new functions
1456         `process_presence_absence_names' and
1457         `process_presence_absence_patterns'.
1458         (reserv_sets_are_intersected): Use new function
1459         `check_presence_pattern_sets'.
1460         (presence_set, absence_set): Remove them.
1461         (unit_presence_set_table, unit_absence_set_table): New global
1462         variables.
1463         (output_description): Use new function
1464         `output_pattern_set_el_list'.
1465         (generate): Use `initiate_presence_absence_pattern_sets'.
1466
1467         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1468
1469         * genattr.c (main): Add output of prototype of new interface
1470         function `dfa_clean_insn_cache'.
1471
1472         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1473         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1474         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1475         the generated code.
1476         (write_automata): Call the new function.
1477
1478 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1479
1480         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1481         correctly.
1482
1483 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1484
1485         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1486
1487 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1488
1489         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1490         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1491         (CONSTRAINT_LEN): Provide default definition.
1492         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1493         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1494         (EXTRA_CONSTRAINT_STR): Likewise.
1495         (REG_CLASS_FROM_CONSTRAINT): Define.
1496         * genoutput.c (check_constraint_len, constraint_len): New functions.
1497         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1498         constraint / modifier.
1499         (gen_insn): Call check_constraint_len.
1500         * local-alloc.c (block_alloc): Update to use new macros / pass
1501         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1502         * ra-build.c (handle_asm_insn): Likewise.
1503         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1504         (constrain_operands, peep2_find_free_register): Likewise.
1505         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1506         * regmove.c (find_matches): Likewise.
1507         * reload.c (push_secondary_reload, find_reloads): Likewise.
1508         (alternative_allows_memconst): Likewise.
1509         * reload1.c (maybe_fix_stack_asms): Likewise.
1510         (reload_cse_simplify_operands): Likewise.
1511         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1512         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1513         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1514         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1515         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1516         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1517
1518         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1519
1520 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1521
1522         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1523         length.
1524         (*extzv_1_r_h8300hs): Likewise.
1525         (*extzv_1_r_inv_h8300): Likewise.
1526         (*extzv_1_r_inv_h8300hs): Likewise.
1527
1528 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1529
1530         * config/h8300/h8300.h (PREDICATE_CODES): New.
1531
1532 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1533
1534         * config/h8300/h8300.md (*addsi3_upper): New.
1535         (*iorsi3_shift): Likewise.
1536         (two splitters): Likewise.
1537         (*addsi3_shift): Likewise.
1538         (two splitters): Likewise.
1539
1540 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1541
1542         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1543         * basic-block.h (control_flow_insn_p): Fuction was exported.
1544         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1545         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1546         notes only when the region is contained in a single basic block.
1547
1548 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1549
1550         PR inline-asm/8832
1551         * tree.h (expand_asm): New prototype.
1552         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1553         to do so.
1554         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1555         down to expand_asm.
1556         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1557         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1558         (volatile_refs_p) [ASM_INPUT]: Likewise.
1559         (side_effects_p) [ASM_INPUT]: Likewise.
1560
1561 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1562
1563         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1564         athlon_decode attributes
1565         (imul/k8 optimization peep2s): New.
1566
1567         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1568         * i386.md (type attribute): Add ssecomi.
1569         (unit, memory, prefix attributes): Handle ssecomi.
1570         (cvt?2? patterns): Fix athlon_decode attribute
1571         (comi patterns): Set attribute to ssecomi.
1572
1573         PR target/8343
1574         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1575
1576 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1577
1578         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1579         that match register_operands.
1580         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1581         register_operand the default case.
1582
1583 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1584
1585         PR c/8032
1586         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1587         an empty element, do not advance the pointer to unfilled
1588         fields if there are pending initializers.
1589
1590 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1591
1592         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1593         (install-gcc-tooldir, install-cpp, installdirs,
1594         install-common, install-driver, install-info, install-man,
1595         install-headers, install-include-dir, install-headers-tar,
1596         install-headers-cpio, install-headers-cp, install-mkheaders,
1597         install-collect2, uninstall): Prepend $(DESTDIR) to
1598         destination paths in all (un)installation commands.
1599         (install-driver): Rewrite $(LN) commands to support DESTDIR
1600         with "ln" as well as with "ln -s".
1601         (installdirs): Simply use mkinstalldirs.
1602         (install-libgcc, install-multilib): Also pass DESTDIR.
1603         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1604         installation destination variable ldir.
1605         * config/alpha/t-osf4, config/arm/t-netbsd,
1606         config/ia64/t-hpux, config/mips/t-iris5-6,
1607         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1608         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1609         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1610         in the definition of SHLIB_INSTALL.
1611         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1612         $(libsubdir) in the installation commands.
1613
1614 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1615
1616         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1617         non-optimizing compile.
1618         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1619         compile.
1620
1621 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1622
1623         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1624         ms_struct and gcc_struct.
1625         (ix86_handle_struct_attribute): New function.
1626         (ix86_ms_bitfield_layout_p): Update to take new attributes
1627         into account.
1628         * doc/extend.texi: Document new attributes.
1629         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1630
1631 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1632
1633         PR optimization/8750
1634         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1635         scheduling pass to move insns across __alloca call.
1636
1637 2003-01-08  Dale Johannesen  <dalej@apple.com>
1638
1639         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1640         with *stmsi[3-8].
1641
1642 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1643
1644         PR target/9210
1645         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1646         Set SYMBOL_REF_FLAG on local data sym_ref.
1647
1648 2003-01-08  Dale Johannesen  <dalej@apple.com>
1649
1650         * function.c (assign_parms):  Don't set pretend_args_size if
1651           REG_PARM_STACK_SPACE.
1652           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1653           pretend_args_size.
1654
1655 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1656
1657         * gcc.hlp: Delete.
1658
1659 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1660
1661         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1662
1663 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1664
1665         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1666         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1667         as hook_bool_tree_hwi_hwi_tree_true.
1668         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1669         (rs6000_emit_epilogue): Same.
1670         (rs6000_output_mi_thunk): Re-implement as RTL.
1671         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1672         xcoffout_declare_function if any debugging enabled.
1673
1674 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1675
1676         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1677         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1678         * config/mips/mips.h (enum processor_type): Rename
1679         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1680         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1681         Add PROCESSOR_M4K.
1682         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1683         (ISA_MIPS32R2): New define.
1684         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1685         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1686         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1687         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1688         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1689         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1690         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1691         compiling MIPS16 code.
1692         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1693         comment.
1694         (ISA_HAS_SEB_SEH): New define.
1695         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1696         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1697         processor_type value renaming.  Add support for MIPS32R2.
1698         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1699         entries.
1700         (override_options): Reimplement -mipsN option handling so that
1701         it will work correctly for -mips32r2.  Avoid branch-likely
1702         instructions on MIPS32R2.
1703         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1704         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1705         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1706         (extendhisi2_hw, extendqisi2_hw): New.
1707         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1708         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1709         MIPS32R2, and MIPS64.
1710         (LINK_SPEC): Pass -mips32r2 to linker.
1711         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1712         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1713         for mips32r2 in the -march description.  Alphabetically sort
1714         CPU names in the -march description.  Add long-missed -mips32
1715         and -mips64 to MIPS option summary.
1716
1717         * config.gcc: Update copyright years to include 2003.
1718         * config/mips/mips.c: Likewise.
1719         * config/mips/mips.h: Likewise.
1720         * config/mips/mips.md: Likewise.
1721         * config/mips/netbsd.h: Likewise.
1722         * doc/invoke.texi: Likewise.
1723
1724 2003-01-08  Andreas Schwab  <schwab@suse.de>
1725
1726         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1727         variable.
1728         * configure: Regenerated.
1729
1730 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1731
1732         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1733         extraction of det with b0, b1, w0, w2, etc.
1734         (compute_logical_op_length): Likewise.
1735         (compute_logical_op_cc): Likewise.
1736
1737 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1738
1739         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1740         HIGH on all variants.
1741
1742 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1743
1744         * Makefile.in (PARTITION_H): New.
1745         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1746         * basic-block.h: Include hard-reg-set.h.
1747
1748 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1749
1750         * arm.h (ENABLE_XF_PATTERNS): Delete.
1751         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1752         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1753         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1754         (cmpxf_trap): Delete.
1755         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1756
1757 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1758
1759         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1760         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1761         (add??cc): New expanders.
1762         * i386.c (expand_int_addcc): New function.
1763         * i386-protos.h (expand_int_addcc): Declare.
1764
1765         * alias.c (memory_modified_1): New static function.
1766         (memory_modified): New static varaible.
1767         (memory_modified_in_insn_p): New global function.
1768         * rtl.h (memory_modified_in_insn_p): Declare.
1769         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1770         references.
1771
1772         * expr.h (emit_conditional_add): Declare.
1773
1774 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1775
1776         PR other/8947
1777         * doc/invoke.texi (-malign-double): Explain that the option breaks
1778         binary compatibility.
1779
1780 2003-01-08  Andreas Schwab  <schwab@suse.de>
1781
1782         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1783         should come from the generic *-*-linux* entry.
1784
1785 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1786
1787         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1788         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1789         we are inside libcall.
1790         * cselib.h (elt_loc_list): Add in_libcall.
1791         * gcse.c (do_local_cprop): Do not copy propagate using insns
1792         in libcalls.
1793
1794 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1795
1796         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1797         not normally affect to issue rate.
1798
1799 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1800
1801         * genopinit.c (optabs): Add addc_optab.
1802         * ifcvt.c (noce_try_store_flag): Rename to ...
1803         (noce_try_addcc): ... this one; handle generic conditional increment.
1804         (noce_process_if_block): Update noce_try_addcc call.
1805         * optabs.c (emit_conditional_add): New.
1806         (init_obtabs): Initialize addc_optab.
1807         * optabs.h (optab_index): Add OTI_addcc.
1808         (addcc_optab): New macro.
1809         * md.texi: Document addMcc
1810
1811         PR target/8322
1812         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1813         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1814         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1815
1816         * reload1.c (delete_output_reload): Avoid repeated attempts
1817         to delete insn.
1818
1819 2003-01-07  Andreas Schwab  <schwab@suse.de>
1820
1821         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1822         Move --enable-initfini-array check ...
1823         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
1824         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1825         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
1826         * configure: Rebuild.
1827
1828 2003-01-07  Richard Henderson  <rth@redhat.com>
1829
1830         * alias.c (find_base_value): Only use new_reg_base_value shortcut
1831         if the register is set once.
1832
1833 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
1834
1835         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
1836         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
1837         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
1838
1839 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1840             Sunil Davasam  <sunil.k.davasam@intel.com>
1841
1842         PR libstdc++/9076
1843         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
1844         DW_CFA_same_value, read next and ignore.
1845
1846 2003-01-07  Richard Henderson  <rth@redhat.com>
1847
1848         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
1849
1850 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1851
1852         * cfg.c: Include alloc-pool.h
1853         (edge_pool): New pool.
1854         (bb_pool): New pool.
1855         (first_deleted_edge): Remove.
1856         (first_deleted_block): Remove.
1857         (init_flow): Alloc/free the pools.
1858         (free_edge): Use pools.
1859         (alloc_block): Ditto.
1860         (expunge_block): Ditto.
1861         (cached_make_edge): Ditto.
1862
1863         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
1864
1865 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1866
1867         * et-forest.c: Include alloc-pool.h.
1868         (struct et_forest): Add node_pool and occur_pool.
1869         (et_forest_create): Create the new pools.
1870         (et_forest_delete): Delete them.
1871         (et_forest_add_node): Allocate and free using pools.
1872         (et_forest_add_edge): Ditto.
1873         (et_forest_remove_node): Ditto.
1874         (et_forest_remove_edge): Ditto.
1875
1876         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
1877
1878 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
1879
1880         * config/h8300/h8300.c (output_logical_op): Simplify and
1881         optimize the handling of SImode.
1882         * config/h8300/h8300.c (compute_logical_op_length): Update
1883         accordingly.
1884         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
1885
1886 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
1887
1888         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
1889         big-endian correction to indirect arguments too.
1890
1891 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1892
1893         Segher Boessenkool  <segher@koffie.nl>
1894
1895         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
1896         (alt_reg_names): Ditto, fix formatting.
1897         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
1898
1899 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1900
1901         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
1902         (output_logical_op): Constify intval and det.
1903         (compute_logical_length): Likewise.
1904         (compute_logical_cc): Likewise.
1905         (output_a_shift): Constify mask.
1906         (h8300_encode_label): Constify len.
1907
1908 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1909
1910         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
1911         (h8300_expand_epilogue): Likewise.
1912
1913 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1914
1915         Segher Boessenkool  <segher@koffie.nl>
1916
1917         * config/rs6000/altivec.md: Remove spaces from assembler
1918         instruction argument lists.
1919
1920 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1921
1922         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
1923         c4x_assembler_function_p.
1924         (c4x_null_epilogue_p): Complement return value, all uses updated.
1925         (c4x_insert_attributes): Add naked.
1926         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
1927         * doc/extend.texi: Update C4x function attributes.
1928
1929 2003-01-06  Richard Henderson  <rth@redhat.com>
1930
1931         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
1932         properly when changing "local-ness".
1933         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
1934
1935 2003-01-06  Dale Johannesen  <dalej@apple.com>
1936
1937         * config/darwin-protos.h:  Add prototypes for new section functions.
1938
1939 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
1940
1941         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
1942         to EABI.
1943
1944 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
1945
1946         * hwint.h: If the current compiler has no 64-bit type at all,
1947         make HOST_WIDEST_INT 32 bits.
1948
1949 2003-01-06  Eric Christopher  <echristo@redhat.com>
1950
1951         * config/mips/mips.md (movdf_internal2): Fix constraints.
1952
1953 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1954
1955         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
1956
1957 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
1958
1959         * config/mips/mips.md (leadi): Use dla rather than la.
1960
1961 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
1962
1963         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
1964         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
1965
1966 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
1967
1968         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
1969         redefinition.
1970
1971 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1972
1973         * config/h8300/h8300.md (*extzv_8_23): New.
1974
1975 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1976
1977         * pa64-hpux.h (JCR_SECTION_NAME): Define.
1978         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
1979         USE_EH_FRAME_REGISTRY when defining.
1980
1981 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1982
1983         * config/h8300/h8300.c (output_a_shift): Do not output a
1984         variable shift.
1985         * config/h8300/h8300.md (two splitters): New.
1986
1987 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
1988
1989         * config/mips/mips.md: Disable the movstrsi define_split.
1990
1991 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1992
1993         * alloc-pool.c: Don't include "libiberty.h".
1994         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
1995         * convert.c (convert_to_real): Hide unused variable.
1996
1997 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1998
1999         * Makefile.in (gtyp-gen.h): Const-ify.
2000         * gcov-dump.c (tag_table): Likewise.
2001
2002 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2003
2004         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
2005         of *both* the file name and the fix name.
2006
2007 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
2008
2009         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
2010         collect2.
2011         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
2012         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
2013         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
2014         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
2015         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
2016         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
2017         elfos.h.
2018         (EH_FRAME_IN_DATA_SECTION): Delete define.
2019         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
2020         (STARTFILE_SPEC): Use crtbegin.o.
2021         (ENDFILE_SPEC): Use crtend.o.
2022         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
2023         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
2024         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
2025         DTOR_LIST_BEGIN): Define.
2026         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
2027         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
2028         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
2029
2030 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
2031
2032         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
2033         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
2034         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
2035         Cleanup handling of replacement text.
2036         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
2037
2038 2003-01-04  Bruce Korb  <bkorb@gnu.org>
2039
2040         * fixinc/tests/base/math.h: removed obsolete results
2041         * fixinc/tests/base/stdlib.h: ditto
2042         * fixinc/tests/base/sys/param.h: ditto
2043         * fixinc/tests/base/sys/stat.h: ditto
2044         * fixinc/tests/base/time.h: ditto
2045         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
2046         * fixinc/tests/base/sys/byteorder.h: ditto
2047         * fixinc/inclhack.def: Remove superfluous backslashes
2048
2049 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
2050
2051         * config/h8300/h8300-protos.h: Add prototypes for
2052         the new functions defined below.
2053         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
2054         define.
2055         (dosize): Emit RTL instead of assembly code.
2056         (push): Likewise.
2057         (pop): Likewise.
2058         (h8300_output_function_prologue): Remove.
2059         (h8300_expand_prologue): New.
2060         (h8300_expand_epilogue): New.
2061         (h8300_output_function_epilogue): Do only the reset of
2062         pragma_saveall.
2063         * config/h8300/h8300.md (push_h8300): New.
2064         (push_h8300hs): Likewise.
2065         (pop_h8300): Likewise.
2066         (pop_h8300hs): Likewise.
2067         (*stm_h8300s_2): Change the name to stm_h8300s_2.
2068         (*stm_h8300s_3): Change the name to stm_h8300s_3.
2069         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2070         (*ldm_h8300s_2): New.
2071         (*ldm_h8300s_3): Likewise.
2072         (*ldm_h8300s_4): Likewise.
2073         (return): Likewise.
2074         (*return_1): Likewise.
2075         (prologue): Likewise.
2076         (epilogue): Likewise.
2077         (monitor_prologue): Likewise.
2078
2079 2003-01-03  Dale Johannesen  <dalej@apple.com>
2080
2081         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2082           machopic_picsymbol_stub1.
2083           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2084         * rs6000/rs6000.c:  Update copyright.
2085           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2086
2087 2003-01-02  Jason Merrill  <jason@redhat.com>
2088
2089         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2090
2091         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2092         static/external decls.
2093
2094         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2095         outermost scope.
2096         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2097
2098 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2099
2100         * config/h8300/h8300-protos.h: Add a prototype for
2101         h8300_current_function_interrupt_function_p.
2102         * config/h8300/h8300.c (interrupt_handler): Remove.
2103         (os_task): Likewise.
2104         (monitor): Likewise.
2105         (pragma_interrupt): New.
2106         (WORD_REG_USED): Use
2107         h8300_current_function_interrupt_function_p.
2108         (dosize): Likewise.
2109         (h8300_output_function_prologue): Likewise.
2110         Do not set interrupt_handler, os_task, monitor.
2111         (h8300_output_function_prologue): Use
2112         h8300_current_function_interrupt_function_p.
2113         Do not set interrupt_handler, os_task, monitor.
2114         (h8300_current_function_interrupt_function_p): New.
2115         (h8300_pr_interrupt): Set pragma_interrupt.
2116         (h8300_insert_attributes): Reset pragma_interrupt.
2117
2118 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2119
2120         * doc/install.texi (Configuration): Fix markup for reference to
2121         gcc/config.gcc.
2122
2123 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2124
2125         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2126         (*iorhi3_two_qi): Likewise.
2127         (*iorsi3_zexthi): Likewise.
2128         (*xorhi3_zextqi): Likewise.
2129         (*xorsi3_zexthi): Likewise.
2130         (*xorsi3_zextqi): Likewise.
2131
2132 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2133
2134         * config/h8300/h8300.c (stack_pointer_operand): New.
2135         (const_int_gt_2_operand): Likewise.
2136         (const_int_ge_8_operand): Likewise.
2137         * config/h8300/h8300.md (a splitter): Likewise.
2138         (a peephole2): Likewise.
2139         * config/h8300/h8300-protos.h: Add prototypes for the new
2140         functions above.
2141
2142 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2143
2144         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2145         objc/objc-act.h: Fix copyright years.
2146
2147 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2148
2149         * doc/passes.texi: Fix documentation for -fssa-ccp
2150
2151 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2152
2153         * gccbug.in: Update for new categories.
2154
2155 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2156
2157         * config/h8300/h8300.md: Reorder some patterns.
2158
2159 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2160
2161         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2162
2163 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2164
2165         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2166         config/cris/cris-protos.h, config/i370/i370-protos.h,
2167         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2168         config/v850/v850-protos.h: Use struct, and don't conditionally
2169         compile on GCC_C_PRAGMA_H.
2170
2171 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2172
2173         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2174         * config/h8300/h8300-protos.h: Likewise.
2175         * config/sh/sh-protos.h: Likewise.
2176
2177 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2178
2179         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2180         cpp_reader.
2181         * config/h8300/h8300-protos.h: Likewise.
2182         * config/sh/sh-protos.h: Likewise.
2183
2184 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2185
2186         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2187         arm_pr_long_calls_off): Use struct.
2188         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2189         : Similarly.
2190         Don't include cpplib.h.
2191         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2192         sh_pr_nosave_low_regs): Similarly.
2193
2194 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2195
2196         * config/h8300/h8300.c: Include cpplib.h.
2197
2198 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2199
2200         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2201           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2202           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2203           "GCC" in the copyright header.
2204
2205 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2206
2207         * c-pragma.c (c_register_pragma): New.
2208         (init_pragma): Use it.
2209         * c-pragma.h (cpp_register_pragma): Don't declare.
2210         (c_register_pragma): New.
2211         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2212         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2213         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2214         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2215         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2216         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2217         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2218         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2219         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2220         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2221         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2222         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2223
2224 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2225
2226         * config/h8300/h8300-protos.h: Update the prototypes.
2227         * config/h8300/h8300.c (const_le_2_operand): Change to
2228         const_int_le_2_operand.
2229         (const_int_le_6_operand): Change to const_int_le_6_operand.
2230         * config/h8300/h8300.md (two peepholes): Update the function
2231         names.
2232
2233 2002-12-31  Tom Tromey  <tromey@redhat.com>
2234
2235         * doc/install.texi (Testing): Fixed typo.
2236
2237 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2238
2239         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2240         (TRAMPOLINE_SIZE): Support the normal mode.
2241         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2242
2243 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2244
2245         * c-common.h (pending_lang_change): Declare.
2246
2247 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2248
2249         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2250         descriptions.
2251
2252 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2253
2254         * gcc/doc/invoke.texi (Optimization Options): List the options
2255         enabled by each -O flag.
2256
2257 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2258
2259         * doc/install.texi (Configuration): Explicitly refer
2260         gcc/config.gcc for a list of cpu models.
2261
2262 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2263
2264         * config/h8300/h8300.h: Fix comment typos.
2265
2266 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2267
2268         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2269
2270 2002-12-30  Tom Tromey  <tromey@redhat.com>
2271
2272         * doc/install.texi (Testing): Mention Jacks.
2273
2274 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2275
2276         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2277
2278 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2279
2280         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2281         cases.
2282         (compute_logical_op_length): Update to reflect the change in
2283         output_logical_op.
2284         (compute_logical_op_cc): Likewise.
2285
2286 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2287
2288         * doc/service.texi: Uncomment and update FAQ link.
2289
2290 2002-12-30  Andreas Jaeger  <aj@suse.de>
2291
2292         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2293
2294 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2295
2296         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2297
2298 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2299
2300         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2301         are clearing the most significant byte.
2302         (compute_logical_op_length): Update to reflect the change in
2303         output_logical_op.
2304         (compute_logical_op_cc): Likewise.
2305
2306 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2307
2308         * config/h8300/h8300.md: Give internal names to anonymous
2309         insns.
2310
2311 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2312
2313         * config/h8300/h8300.md: Reorder some insns.
2314
2315 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2316
2317         * config/h8300/h8300-protos.h: Add prototypes for
2318         const_int_qi_operand and const_int_hi_operand.
2319         * config/h8300/h8300.c (const_int_qi_operand): New.
2320         (const_int_hi_operand): Likewise.
2321         * config/h8300/h8300.md (three peepholes): New.
2322
2323 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2324
2325         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2326         Use @copying.
2327
2328 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2329
2330         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2331         * configure: Regenerate.
2332         * doc/install.texi: Update Texinfo version requirement.
2333
2334 2002-12-28  Andreas Jaeger  <aj@suse.de>
2335
2336         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2337         possibly unused.
2338
2339         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2340         correct format.
2341
2342 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2343
2344         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2345         *iorhi_ashift_8.
2346         (*iorhi_lshiftrt_8): New.
2347
2348 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2349
2350         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2351
2352 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2353
2354         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2355
2356 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2357
2358         * config/h8300/h8300-protos.h: Fix comment typos.
2359         Update copyright.
2360         * config/h8300/h8300.c: Fix comment typos.
2361
2362 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2363
2364         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2365
2366 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2367
2368         * config/i386/athlon.md: Fix comment typos.
2369         * config/i386/crtdll.h: Likewise.
2370         * config/i386/djgpp.h: Likewise.
2371         * config/i386/i386-interix.h: Likewise.
2372         * config/i386/i386.c: Likewise.
2373         * config/i386/i386.h: Likewise.
2374         * config/i386/i386.md: Likewise.
2375         * config/i386/k6.md: Likewise.
2376         * config/i386/mingw32.h: Likewise.
2377         * config/i386/pentium.md: Likewise.
2378         * config/i386/sco5.h: Likewise.
2379         * config/i386/winnt.c: Likewise.
2380         * config/i386/xmmintrin.h: Likewise.
2381
2382 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2383
2384         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2385         INSN_P before checking to see if it is dead.
2386         (mark_all_insn_unnecessary): Similarly.
2387         (ssa_eliminate_dead_code): Similarly.
2388         * rtl.h (struct rtx_def): Update comments for in_struct usage
2389         in dead code elimination pass.
2390         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2391
2392 2002-12-26  Andreas Schwab  <schwab@suse.de>
2393
2394         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2395
2396 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2397
2398         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2399         tartet_flags_explicit.
2400         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2401         Compact target_flags bits.
2402         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2403         (TARGET_SWITCHES): Delete references to *_SET flags.
2404
2405 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2406
2407         * i386.md (memory attribute): Fix setcc attribute.
2408
2409 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2410
2411         * output.h: Fix comment typos.
2412         * predict.c: Likewise.
2413         * print-tree.c: Likewise.
2414         * profile.c: Likewise.
2415         * ra-build.c: Likewise.
2416         * ra-colorize.c: Likewise.
2417         * ra-debug.c: Likewise.
2418         * ra-rewrite.c: Likewise.
2419         * ra.c: Likewise.
2420         * ra.h: Likewise.
2421         * real.c: Likewise.
2422         * recog.c: Likewise.
2423         * reg-stack.c: Likewise.
2424         * regclass.c: Likewise.
2425
2426 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2427
2428         * config/h8300/h8300.c (print_operand_address): Do not negate
2429         a negative number when printing one.
2430
2431 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2432
2433         * config/h8300/h8300-protos.h: Add prototypes for
2434         output_plussi, compute_plussi_length, and compute_plussi_cc.
2435         * config/h8300/h8300.c (output_plussi): New.
2436         (compute_plussi_length): Likewise.
2437         (compute_plussi_cc): Likewise.
2438         * config/h8300/h8300.md (addsi_h8300h): Call
2439         output_plussi, compute_plussi_length, and compute_plussi_cc.
2440
2441 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2442
2443         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2444         of match_operand in the new patterns.
2445
2446 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2447
2448         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2449
2450 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2451
2452         * configure.in (enable-coverage): Add SELF_COVERAGE.
2453         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2454
2455 2002-12-24  Jim Wilson  <wilson@redhat.com>
2456
2457         * alias.c (record_set): Handle multi-reg hard registers.
2458
2459 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2460
2461         * regmove.c: Fix comment typos.
2462         * reload.c: Likewise.
2463         * reload1.c: Likewise.
2464         * resource.c: Likewise.
2465         * rtl.def: Likewise.
2466         * rtl.h: Likewise.
2467         * rtlanal.c: Likewise.
2468         * sched-deps.c: Likewise.
2469         * sched-rgn.c: Likewise.
2470         * sibcall.c: Likewise.
2471         * simplify-rtx.c: Likewise.
2472         * ssa-ccp.c: Likewise.
2473         * ssa.c: Likewise.
2474         * stmt.c: Likewise.
2475         * stor-layout.c: Likewise.
2476         * system.h: Likewise.
2477         * tlink.c: Likewise.
2478         * toplev.c: Likewise.
2479         * tracer.c: Likewise.
2480         * tree-inline.c: Likewise.
2481         * tree.c: Likewise.
2482         * tree.h: Likewise.
2483         * unroll.c: Likewise.
2484         * varasm.c: Likewise.
2485
2486 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2487
2488         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2489         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2490         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2491         DG/UX entries.
2492         * doc/md.texi: Remove AMD 29K entries.
2493         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2494         1.38.1, NewsOS, RT PC, WE32K entries.
2495
2496 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2497
2498         PR/8763
2499         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2500         (altivec_vspltisw_v4sf): Name pattern.
2501         (altivec_vslw_v4sf): New pattern.
2502
2503 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2504
2505         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2506
2507 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2508
2509         * stor-layout.c (update_alignment_for_field): Correct handling of
2510         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2511         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2512         bitfield does not affect alignment.
2513
2514 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2515
2516         * expr.c (expand_assignment): Apply special treatment to
2517         ARRAY_TYPE.
2518
2519 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2520
2521         * config/h8300/h8300-protos.h: Update the prototype of
2522         expand_a_shift.
2523         * config/h8300/h8300.c (expand_a_shift): Change the return
2524         type to void.
2525         * config/h8300/h8300.md: Update all the uses of
2526         expand_a_shift.
2527
2528 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2529
2530         * tree.c (save_expr): Allow either side of a dyadic operand to be
2531         constant.
2532
2533         * doc/portability.texi (portability): Update portability goals.
2534
2535 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2536
2537         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2538
2539 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2540
2541         * stor-layout.c (update_alignment_for_field): Guard use of
2542         ADJUST_FIELD_ALIGN with #ifdef.
2543
2544         * stor-layout.c (update_alignment_for_field): Use
2545         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2546         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2547
2548 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2549
2550         * genautomata.c: Fix comment typos.
2551
2552 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2553
2554         * params.def (tracer-min-branch-probability-feedback): Fix default.
2555         * final.c (compute_alignments): Use profile to avoid code bloat.
2556
2557 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2558
2559         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2560         sequences end with a valid cc0 whenever possible.
2561
2562 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2563
2564         * config/h8300/h8300.md (negsf2): New.
2565         (*negsf2_h8300): Likewise.
2566         (*negsf2_h8300hs): Likewise.
2567
2568 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2569
2570         * integrate.c (output_inline_function): Don't hold private
2571         pointers to 'struct function' over GC calls.
2572
2573 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2574
2575         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2576         NO_FPSCR_VALUES.
2577         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2578
2579 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2580
2581         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2582         length.
2583
2584 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2585
2586         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2587         second alternative "#".
2588         (*zero_extendqihi2_h8300hs): Likewise.
2589         (a define_split): New.
2590
2591 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2592
2593         * config/h8300/h8300-protos.h: Update the prototype for
2594         split_adds_subs.
2595         Add prototypes for const_le_2_operand and const_le_6_operand.
2596         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2597         specify whether inc/dec should be used when possible.
2598         (const_le_2_operand): New.
2599         (const_le_6_operand): Likewise.
2600         * config/h8300/h8300.md (two peepholes): New.
2601
2602 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2603
2604         * config/fr30/fr30.md: Fix a comment typo.
2605         * config/i386/i386.c: Likewise.
2606         * config/ip2k/ip2k.h: Likewise.
2607
2608 2002-12-20  Jim Wilson  <wilson@redhat.com>
2609
2610         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2611         (__ev_subw, __ev_subiw): New.
2612         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2613         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2614
2615 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2616
2617         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2618         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2619         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2620         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2621
2622 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2623
2624         * config/h8300/h8300-protos.h: Add prototypes for
2625         incdec_operand and eqne_operator.
2626         * config/h8300/h8300.c (incdec_operand): New.
2627         (eqne_operator): Likewise.
2628         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2629         (CONST_OK_FOR_O): Likewise.
2630         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2631         CONST_OK_FOR_O.
2632         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2633         (addhi3_incdec): New.
2634         (addsi3_incdec): Likewise.
2635         (two peepholes): Likewise.
2636
2637 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2638
2639         * config/h8300/h8300.c (dosize): Remove warnings.
2640         (print_operand): Likewise.
2641
2642 2002-12-20  Richard Henderson  <rth@redhat.com>
2643
2644         * config/alpha/alpha.c (decl_has_samegp): New.
2645         (samegp_function_operand): Use it.  Rename from
2646         current_file_function_operand.
2647         (direct_call_operand): Handle -msmall-text via symbol->jump.
2648         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2649         (tls_symbolic_operand_type): Likewise.
2650         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2651         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2652         (alpha_end_function): Set symbol->jump for functions defined in
2653         the text section.
2654         * config/alpha/alpha-protos.h: Update.
2655         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2656         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2657         (PREDICATE_CODES): Update.
2658         * config/alpha/alpha.md (call patterns): Update for
2659         samegp_function_operand rename; use !samegp reloc if
2660         TARGET_EXPLICIT_RELOCS.
2661         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2662
2663 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2664
2665         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2666         all registers capable of holding a double float.
2667         (*rcond): change name of "reverse branch" insns to
2668         something more meaningful.
2669         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2670         comparisons properly.
2671         (*ffs): Change operand 0 from write to read-modify-write.
2672         (*ffsssi2): Drop constraints from define_expand.
2673
2674         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2675         MOVE_RATIO as default for store operations.
2676
2677         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2678         LONG_REGS class.
2679         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2680         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2681         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2682
2683         * config/ns32k/STATUS: New File
2684         * config/ns32k/NOTES: New file.
2685
2686 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2687
2688         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2689         option for S/390 and zSeries.
2690         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2691         s390_arch_string): New variables.
2692         (override_options): Checking for options and setting of
2693         appropriate target_flags, cpu and arch flags.
2694         * config/s390/s390.h: (processor_type): New enum.
2695         (TARGET_SWITCHES): New switches -mesa/zarch.
2696         * config/s390/s390.md: New attribute 'cpu'.
2697
2698 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2699
2700         * c-pretty-print.h: Fix comment typos.
2701         * integrate.c: Likewise.
2702         * varasm.c: Likewise.
2703         * config/c4x/c4x.h: Likewise.
2704         * config/c4x/c4x.md: Likewise.
2705         * config/fr30/fr30.md: Likewise.
2706         * config/frv/frv.c: Likewise.
2707         * config/h8300/h8300.c: Likewise.
2708         * config/i386/i386.c: Likewise.
2709         * config/i386/i386.h: Likewise.
2710         * config/ia64/ia64.c: Likewise.
2711         * config/ia64/ia64.h: Likewise.
2712         * config/ip2k/ip2k.md: Likewise.
2713         * config/m68hc11/m68hc11-crt0.S: Likewise.
2714         * config/m68hc11/m68hc11.h: Likewise.
2715         * config/m68hc11/m68hc11.md: Likewise.
2716         * config/m68hc11/m68hc12.h: Likewise.
2717         * config/mcore/mcore.md: Likewise.
2718         * config/mips/mips.c: Likewise.
2719         * config/mips/mips.md: Likewise.
2720         * config/mmix/mmix-modes.def: Likewise.
2721         * config/pa/pa.c: Likewise.
2722         * config/rs6000/rs6000.c: Likewise.
2723         * config/rs6000/rs6000.h: Likewise.
2724         * config/rs6000/rs6000.md: Likewise.
2725
2726 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2727
2728         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2729         output shifts using rotation.
2730
2731 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2732
2733         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2734
2735 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2736
2737         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2738         pointer.
2739         (pushqi_h8300hs): Likewise.
2740         (pushhi_h8300): Likewise.
2741         (pushhi_h8300hs): Likewise.
2742
2743 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2744
2745         * sched-rgn.c (init_regions): Update comment.
2746
2747 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2748
2749         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2750         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2751         attributes.
2752         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2753         (get_vrsave_internal,set_vrsave_internal): Same.
2754         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2755         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2756         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2757
2758 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2759             Danny Smith  <dannysmith@users.sourceforge.net>
2760             Eric Kohl  <ekohl@rz-online.de>
2761
2762         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2763         attributes incompatible with fastcall attribute.
2764         (ix86_handle_regparm_attribute): Likewise.
2765
2766         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2767         fastcall types.
2768
2769         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2770         attributes.
2771         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2772         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2773         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2774         i386_pe_output_labelref rather than here.
2775         (gen_fastcall_suffix): New function. Decorates a label name with the
2776         fastcall prefix (@) and the stdcall suffix.
2777         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2778         has a fastcall attribute.
2779         (i386_pe_output_labelref): New function. Outputs a label reference.
2780         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2781         valid attribute.
2782         (ix86_return_pops_args): Fastcall functions pop the stack.
2783         (init_cumulative_args): Reserve registers ECX and EDX if function has
2784         fastcall attribute.
2785         (function_arg): Use registers ECX and EDX if function has fastcall
2786         attribute.
2787         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2788         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2789         (FASTCALL_PREFIX): Define as '@'.
2790         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2791         attributes.
2792         * doc/extend.texi: Add documentation of fastcall attribute.
2793
2794 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2795
2796         * configure.in: FORBUILD when build!=host changed from
2797         ../$build-alias to ../build-$build_alias to match change made
2798         in top directory.
2799         * configure: Regenerated.
2800
2801 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2802
2803         PR optimization/8988
2804         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2805         the biv when eliminating.
2806
2807 2002-12-19  Devang Patel  <dpatel@apple.com>
2808         * gcc.c (struct default_compiler): Recognizes input file name with
2809         .CPP extension as C++ source files
2810         * cp/lang-spec.h: Same
2811         * doc/invoke.texi:  Add documentation for .CPP support.
2812
2813 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
2814
2815         PR 8553
2816         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2817         registers.
2818         ("absv16qi2"): Same.
2819         ("absv4si2"): Same.
2820         ("absv4sf2"): Same.
2821         ("altivec_abss_v16qi"): Same.
2822         ("altivec_abss_v8hi"): Same.
2823         ("altivec_abss_v4si"): Same.
2824
2825 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
2826
2827         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2828         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2829
2830 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2831
2832         PR target/8340
2833         * stmt.c (expand_asm_operands): Produce an error when
2834         the PIC register is clobbered.
2835
2836 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
2837
2838         * Makefile.in (OBJS): Add alloc-pool.o
2839         (alloc-pool.o): New object.
2840
2841         * alloc-pool.c: New file.
2842         * alloc-pool.h: New file.
2843
2844 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
2845
2846         * gcc.c (validate_switches): Robustify against skipping past '\0'.
2847
2848 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2849
2850         * config.gcc: Set extra_objs in the generic Darwin rule,
2851         not in the machine-specific rules.
2852
2853 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2854
2855         * ChangeLog: Follow spelling conventions.
2856         * ChangeLog.2: Likewise.
2857         * ChangeLog.4: Likewise.
2858         * ChangeLog.5: Likewise.
2859         * cppexp.c: Likewise.
2860         * df.c: Likewise.
2861         * gcov.c: Likewise.
2862         * gengtype.c: Likewise.
2863         * reload1.c: Likewise.
2864         * sched-rgn.c: Likewise.
2865         * stmt.c: Likewise.
2866         * stor-layout.c: Likewise.
2867         * timevar.c: Likewise.
2868         * toplev.c: Likewise.
2869         * tree.h: Likewise.
2870         * varasm.c: Likewise.
2871         * config/fr30/fr30.md: Likewise.
2872         * config/i386/i386.c: Likewise.
2873         * config/ia64/ia64.c: Likewise.
2874         * config/pa/pa.c: Likewise.
2875
2876 2002-12-18  Roger Sayle  <roger@eyesopen.com>
2877
2878         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
2879
2880 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
2881
2882         PR 8551
2883         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
2884         macro.
2885         (vec_cmplt C++ functions): Reverse arguments.
2886
2887 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2888
2889         * config/rs6000/t-rs6000: Move contents to t-fprules,
2890         add rules for dependencies of rs6000.o and to build rs6000-c.o
2891         * config/rs6000/t-fprules: New file from t-rs6000.
2892         * config/rs6000/t-beos: Remove soft-fp rules.
2893         * config/rs6000/t-ppccomm: Likewise.
2894         * config/rs6000/t-newas: Likewise.
2895         * config/rs6000/t-rs6000-c-rule: Delete.
2896         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
2897         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
2898         Create generic Darwin rules.
2899
2900         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
2901
2902 2002-12-18  Doug Evans  <dje@sebabeach.org>
2903
2904         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
2905         and LIT_NAME_P.
2906         (move_src_operand): Remove compile-time warning.
2907         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
2908
2909 2002-12-18  Jason Merrill  <jason@redhat.com>
2910
2911         * unwind-dw2-fde.c (frame_downheap): Split out from...
2912         (frame_heapsort): Here.
2913
2914 2002-12-17  Jason Merrill  <jason@redhat.com>
2915
2916         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
2917         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
2918
2919         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
2920
2921         * calls.c (expand_call): Don't try to be clever about expanding
2922         the return slot address.
2923
2924 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
2925
2926         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
2927         Define.
2928
2929 2002-12-17  Jason Merrill  <jason@redhat.com>
2930
2931         * genmultilib: Use 'cd ./foo'.
2932
2933 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2934
2935         * doc/c-tree.texi: Restore deliberate spelling mistakes.
2936
2937 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2938
2939         * doc/c-tree.texi: Fix typos and follow spelling conventions.
2940         * doc/cpp.texi: Likewise.
2941         * doc/extend.texi: Likewise.
2942         * doc/gty.texi: Likewise.
2943         * doc/install.texi: Likewise.
2944         * doc/invoke.texi: Likewise.
2945         * doc/md.texi: Likewise.
2946         * doc/passes.texi: Likewise.
2947         * doc/rtl.texi: Likewise.
2948         * doc/sourcebuild.texi: Likewise.
2949         * doc/tm.texi: Likewise.
2950
2951 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
2952
2953         * doc/invoke.texi: Minor spelling and grammar fixes.
2954
2955 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
2956
2957         * config/s390/s390.c (s390_output_constant_pool): Replace
2958         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
2959
2960 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
2961
2962         * convert.c (convert_to_real): Disable function transformation for
2963         now.
2964
2965 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2966
2967         * gcc.c (handle_braces): Allow '@' as a switch name.
2968
2969 2002-12-16  Jason Merrill  <jason@redhat.com>
2970
2971         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
2972         with special struct-return ABIs.
2973
2974         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
2975         doesn't match the begin SCOPE_STMT in partialness.
2976
2977 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2978
2979         * genmultilib: Create temporary files in unique subdirectory.
2980
2981         * gcc.c (validate_switches): Allow '@' as a switch name.
2982
2983 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
2984
2985         * Makefile.in (gcov-iov.h): Improve portability.
2986
2987 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2988
2989         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
2990         gas
2991         * mips.md (tablejump insn): Likewise.
2992
2993 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
2994
2995         * doc/include/gcc-common.texi: Change version number to 3.4.
2996
2997 2002-12-16  Bruce Korb  <bkorb@gnu.org>
2998
2999         * fixinc/fixlib.h: add: #include <signal.h>
3000         * fixinc/fixincl.c: remove: #include <signal.h>
3001
3002 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
3003
3004         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
3005         (EXTRA_CONSTRAINT): Use it.
3006         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
3007
3008 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
3009
3010         * config.gcc (need_64bit_hwint): New variable.
3011         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
3012         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
3013         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
3014         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
3015         Set it.
3016         (powerpc*-*-darwin*): Unset it.
3017         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
3018         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
3019         deleted/nonexistent xm-*.h headers.
3020         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
3021         target set need_64bit_hwint in config.gcc.
3022         * configure, config.in: Regenerate.
3023
3024         * hwint.h: Overhaul.  Don't bother trying int for
3025         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
3026         decision to force 64-bit HOST_WIDE_INT on
3027         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
3028         not visible at this point.  Don't allow prior definition of
3029         any macro defined by this file.
3030
3031         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
3032         HOST_BITS_PER_WIDE_INT.
3033         * config/c4x/c4x.h: Adjust redefinition of
3034         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
3035         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
3036         config/i386/xm-i386-interix.h: Delete file.
3037
3038 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
3039             John David Anglin  <dave@hiauly1.hia.nrc.ca>
3040
3041         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
3042         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
3043
3044 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3045
3046         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
3047
3048 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
3049
3050         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
3051         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
3052         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
3053         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
3054         config/v850/t-v850:  Correct dependencies and normalize
3055         compilation commands for files that include coretypes.h and tm.h.
3056
3057         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
3058         not config.h and system.h.
3059
3060 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
3061
3062         * i386.c (flags_reg_operand):  New function.
3063         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
3064         * i386.md (cmov splitter, movqicc): Use new predicate.
3065
3066 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
3067
3068         * i386.md (movqicc splitter): Fix template.
3069
3070 2002-12-13  Jason Merrill  <jason@redhat.com>
3071
3072         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3073         * calls.c (expand_call): Handle it.
3074         * tree-inline.c (struct inline_data): Remove target_exprs field.
3075         (optimize_inline_calls): Don't initialize it.
3076         (expand_call_inline): Don't modify it.  Handle
3077         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3078         (declare_return_variable): Take return slot addr.
3079         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3080         to return_slot_addr.
3081         * langhooks-def.h, langhooks.c: Adjust.
3082         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3083         a decl with no DECL_INITIAL.
3084
3085         * expr.c (expand_expr): Don't discard the target of a call which
3086         returns in memory.
3087
3088 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3089
3090         * cppinit.c (path_include): Take an environment variable name.
3091         Tidy up.
3092         (init_standard_includes): Simplify environment handling, and
3093         move to ...
3094         (cpp_read_main_file): ...here as -nostdinc should not affect
3095         environment variable paths.
3096
3097 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3098
3099         * pa.c (output_millicode_call): Correct typo.
3100         (output_call): Likewise.
3101
3102 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3103
3104         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3105         operand's range.  Print value directly, without aid from
3106         output_address.
3107         <case U>: New.
3108         <case S>: Make sure argument to fprintf has the right type.
3109         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3110         (EXTRA_CONSTRAINT): Adjust.
3111         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3112         bclr.  Use %U for immediate operands of bset and bclr.
3113         (iorqi3): New expand, with insns for AM33 and mn10300.
3114
3115 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3116
3117         * sh.c (sh_register_operand): New function.
3118         (prepare_move_operands): Use it.
3119         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3120         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3121         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3122         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3123         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3124         (movv2si_i): Likewise.
3125
3126 2002-12-13  Jim Wilson  <wilson@redhat.com>
3127
3128         * doc/extend.texi (Complex Numbers): Update info on debug info.
3129
3130 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3131
3132         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3133         alternative.
3134
3135 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3136
3137         * hooks.h (hook_tree_tree_bool_false): Declare
3138         hook_bool_tree_tree_false instead.
3139
3140 2002-12-12  Devang Patel  <dpatel@apple.com>
3141
3142         * doc/invoke.texi: Document Darwin linker options, -bundle
3143         -bind_at_load, -all_load and -arch_errors_fatal
3144
3145 2002-12-12  Jim Wilson  <wilson@redhat.com>
3146
3147         * dbxout.c (dbxout_fptype_value): New.
3148         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3149
3150 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3151
3152         * c-decl.c: Fix a comment typo.
3153         * cfg.c: Likewise.
3154         * cfgcleanup.c: Likewise.
3155         * cfglayout.c: Likewise.
3156         * cfgrtl.c: Likewise.
3157         * c-typeck.c: Likewise.
3158         * dominance.c: Likewise.
3159         * dwarf2asm.c: Likewise.
3160         * dwarfout.c: Likewise.
3161         * expmed.c: Likewise.
3162         * expr.c: Likewise.
3163         * final.c: Likewise.
3164         * flow.c: Likewise.
3165         * function.c: Likewise.
3166         * gcc.c: Likewise.
3167         * genautomata.c: Likewise.
3168         * integrate.c: Likewise.
3169         * loop.c: Likewise.
3170         * loop.h: Likewise.
3171         * output.h: Likewise.
3172         * profile.c: Likewise.
3173         * ra.h: Likewise.
3174         * reload1.c: Likewise.
3175         * reload.c: Likewise.
3176         * sched-rgn.c: Likewise.
3177         * stmt.c: Likewise.
3178         * tree.h: Likewise.
3179         * vmsdbgout.c: Likewise.
3180
3181 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3182
3183         * config/h8300/h8300.md: Add a new peephole2.
3184
3185 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3186
3187         * config/h8300/h8300.md (a peephole2): Accept a constant
3188         that's accepted by CONST_OK_FOR_J.
3189
3190 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3191
3192         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3193         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3194         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3195         (*addhi_h8300hs): Likewise.
3196
3197 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3198
3199         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3200         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3201         Increase cost for moves involving multiple general purpose registers.
3202         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3203         TARGET_FMOVD.
3204         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3205         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3206         (enum reg_class reg_class_from_letter): No longer const.
3207         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3208         REGCLASS_HAS_GENERAL_REG.
3209         Handle SImode moves from/to fp registers.
3210         ! TARGET_SHMEDIA && TARGET_FMOVD.
3211         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3212         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3213
3214 2002-12-12  Andreas Schwab  <schwab@suse.de>
3215
3216         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3217         change and some warnings.
3218
3219 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3220
3221         * doc/md.texi (pushm): Fix a typo.
3222
3223 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3224
3225         * config/mips/mips.c (mips_output_conditional_branch): Support
3226         PIC-safe out-of-range branch and branch-likely.
3227         * config/mips/mips.md (attr length): PIC-safe out-of-range
3228         branches are longer.
3229         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3230         unused code to support indirect jumps.
3231
3232 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3233
3234         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3235         $(tm_file_list).
3236
3237 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3238
3239         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3240
3241 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3242
3243         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3244
3245 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3246
3247         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3248         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3249         BIGGEST_ALIGNMENT.
3250         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3251         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3252
3253 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3254
3255         * doc/invoke.texi: Correct dump file names.
3256
3257 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3258
3259         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3260         name to globalize_label or assemble_name.
3261
3262 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3263
3264         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3265         if not TARGET_SHMEDIA.
3266
3267 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3268
3269         * sh.h (REG_CLASS_HAS_FP_REG): New.
3270         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3271         move it into:
3272         * sh.c (sh_register_move_cost).
3273         * sh-protos.h (sh_register_move_cost): Declare.
3274
3275         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3276         (sh_adjust_cost): Always return a value.
3277
3278 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3279
3280         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3281         (REGISTER_MOVE_COST): Use it.
3282
3283 2002-12-11  Richard Henderson  <rth@redhat.com>
3284
3285         * tree.h (MODULE_LOCAL_P): Kill.
3286         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3287
3288 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3289
3290         * config/h8300/h8300.md (two define_peephole2): New.
3291
3292 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3293
3294         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3295         (CONST_OK_FOR_K): Likewise.
3296         (CONST_OK_FOR_M): Likewise.
3297         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3298
3299 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3300
3301         * c-common.c (builtin_define_type_max): Handle unsigned
3302         types too.
3303
3304 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3305
3306         * haifa-sched.c (rank_for_schedule): Correct style.
3307
3308 2002-12-10  Per Bothner  <pbothner@apple.com>
3309
3310         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3311         directive_index into an unsigned field and a new is_directive field.
3312         * cppinit.c (mark_named_operators):  Update to set new fields.
3313         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3314         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3315         No longer need to subtract 1 from directive_index.
3316         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3317         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3318
3319 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3320
3321         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3322         check for evaluating sqrt of a constant at compile time.
3323         * simplify-rtx.c (simplify_unary_operation): Likewise.
3324
3325 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3326
3327         PR other/8882
3328         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3329
3330 2002-12-10  Devang Patel  <dpatel@appple.com>
3331
3332         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3333         * doc/invoke.texi: Add new "Darwin Options" section.
3334
3335 2002-12-10  Jim Wilson  <wilson@redhat.com>
3336
3337         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3338         memory.
3339
3340 2002-12-10  Andrew Haley  <aph@redhat.com>
3341
3342         * cse.c (cse_insn): Don't cse past a basic block boundary.
3343
3344 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3345
3346         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3347         -shared.
3348         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3349         * config/alpha/linux.h (LIB_SPEC): Likewise.
3350         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3351         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3352         * config/sparc/linux.h (LIB_SPEC): Likewise.
3353         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3354
3355 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3356
3357         * doc/invoke.texi: Document UltraSparc III option.
3358
3359 2002-12-09  Richard Henderson  <rth@redhat.com>
3360
3361         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3362         __tune_pentium2__ and __tune_pentium3__ as necessary.
3363
3364 2002-12-09  Richard Henderson  <rth@redhat.com>
3365
3366         * target.h (gcc_target): Add cannot_force_const_mem.
3367         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3368         (TARGET_INITIALIZER): Add it.
3369         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3370         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3371         * reload1.c (reload): Likewise.
3372         * hooks.c (hook_bool_rtx_false): New.
3373         * hooks.h: Declare it.
3374
3375         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3376         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3377         (ix86_expand_move): Remove de-const-pooling hack.
3378
3379 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3380
3381         * toplev.c (dump_file): Fix order to match reality.
3382
3383 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3384
3385         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3386         (store_multiple): Likewise.
3387
3388 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3389
3390         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3391         function pointers in page 0.
3392
3393 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3394
3395         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3396         definition
3397         (MEMBER_TYPE_FORCES_BLK): Move.
3398         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3399         aggregate arguments.
3400         (ia64_function_value): Use PARALLEL to return aggregate values.
3401
3402 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3403
3404         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3405         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3406         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3407         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3408         * stmt.c (expand_return): Ditto.
3409         * expr.c (move_block_from_reg): Ditto.
3410         (copy_blkmode_from_reg): Ditto.
3411         * expmed.c (store_bit_field): Ditto.
3412
3413 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3414
3415         * config.gcc: Added tic4x-* target as an alias to c4x-*
3416
3417 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3418
3419         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3420         constructing insn directly.
3421
3422 2002-12-06  Per Bothner  <pbothner@apple.com>
3423
3424         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3425         char to an int bit-field, for hosts where char is unsigned.
3426
3427 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3428             Richard Henderson <rth@redhat.com>
3429
3430         * real.c (ieee_extended_motorola_format,
3431         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3432         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3433         Provide appropriate values for new signbit field.
3434
3435 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3436
3437         * real.h (real_format): Add signbit field.
3438         * real.c (ieee_single_format, ieee_double_format,
3439         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3440         ieee_extended_intel_128_format, ibm_extended_format,
3441         ieee_quad_format, vax_f_format, vax_d_format,
3442         vax_g_format, i370_single_format, i370_double_format,
3443         c4x_single_format, c4x_extended_format, real_internal_format):
3444         Provide suitable signbit value, or -1 to avoid bit twiddling.
3445
3446         * optabs.c (expand_unop): Try implementing negation of
3447         floating point modes by flipping the sign bit.
3448         (expand_abs): Try implementing abs of floating point modes
3449         by clearing the sign bit.
3450
3451 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3452
3453         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3454         of constructing insn directly.
3455
3456 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3457
3458         * config/h8300/h8300.md (*iorhi_shift_8): New.
3459
3460 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3461
3462         * doc/invoke.texi: Document FRV port options.
3463         * doc/md.texi: Document FRV register classes.
3464
3465 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3466
3467         * doc/install.texi (Configuration): Improve description of cases
3468         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3469
3470 2002-12-06  Per Bothner  <pbothner@apple.com>
3471
3472         * cpplib.h (NODE_MACRO_ARG):  New flag.
3473         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3474         Remove value.operator field.  Move arg_index field to value union.
3475         (directive_index):  Make signed, since also used for C++ operators.
3476         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3477         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3478         Save node->value, and set node->value.arg_index.
3479         (_cpp_create_definition):  For each paramater, restore node->value.
3480         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3481         * cpptrad.c (scan_out_logical_line): Likewise.
3482         (scan_out_logical_line): Check for directive > 0.
3483         * cpplib.c (cpp_handle_directive):  Likewise.
3484         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3485         by negative of directive_index.
3486         * cppinit.c (mark_named_operators):  Likewise.
3487
3488         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3489
3490 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3491
3492         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3493         FPU.
3494         (push): Generate push_fpscr.
3495         (pop): Generate pop_fpscr.
3496         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3497         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3498
3499 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3500
3501         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3502         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3503
3504 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3505
3506         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3507
3508 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3509         Merged from basic improvements branch (excerpt):
3510
3511         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3512         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3513
3514 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3515
3516         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3517
3518 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3519
3520         * i386.md (dimode peep2s): Re-add "&& 1".
3521
3522 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3523
3524         * i386.c (ix86_expand_prologue):  Add comment, do not use
3525         fast prologues for cold and normal functions.
3526
3527 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3528
3529         * i386.c (x86_rep_movl_optimal): New variable.
3530         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3531         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3532
3533         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3534         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3535         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3536         generate unnecesary subregs.
3537
3538 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3539
3540         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3541         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3542
3543 2002-12-05  Dale Johannesen  <dalej@apple.com>
3544
3545         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3546
3547 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3548
3549         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3550         PROFILE_HOOK.
3551         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3552
3553 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3554
3555         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3556         (__ev_mwlufia): Remove.
3557         (__ev_mwlumfaaw): Remove.
3558         (__ev_mwlusfaaw): Remove.
3559         (__ev_mwlumfanw): Remove.
3560         (__ev_mwlusfanw): Remove.
3561
3562 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3563
3564         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3565
3566 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3567
3568         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3569         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3570         (get_shift_alg): Return optimal assembly instructions for the
3571         shifts mentioned above.
3572
3573 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3574
3575         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3576         condtiional moves.
3577
3578 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3579
3580         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3581         implement ashiftrt:HI by 13 bits on H8S.
3582
3583 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3584
3585         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3586         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3587         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3588         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3589         CTOR_LIST_BEGIN): New defines.
3590         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3591         (fptr.c): Add make rules.
3592
3593 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3594
3595         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3596         * doc/md.texi (Insn Canonicalizations): Document new
3597         canonicalizations for multiply/add combinations.
3598         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3599         patterns to ensure they're used whenever they can be.
3600
3601 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3602
3603         * config/h8300/h8300.c: Update the comments related to shifts.
3604
3605 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3606
3607         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3608
3609 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3610
3611         * config/h8300/h8300.md (*extzv_8_8): New.
3612         (*extzv_8_16): Likewise.
3613
3614 2002-12-04  Jason Merrill  <jason@redhat.com>
3615
3616         PR c++/8461, c++/8625
3617         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3618         references.
3619         * tree-inline.c (initialize_inlined_parameters): Likewise.
3620
3621         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3622
3623 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3624
3625         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3626         macro instruction in a branch delay slot, to avoid assembler
3627         warnings.
3628
3629 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3630
3631         PR c/7622
3632         * c-semantics (genrtl_scope_stmt): Do not output inlined
3633         nested functions that contain no code.
3634
3635 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3636
3637         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3638         to be forced into nonfallthru.
3639
3640 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3641
3642         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3643
3644 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3645
3646         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3647
3648 2002-12-03  Richard Henderson  <rth@redhat.com>
3649
3650         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3651
3652 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3653
3654         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3655         Initialize tmp.using_obstack to 0.
3656
3657 2002-12-03  Andreas Schwab  <schwab@suse.de>
3658
3659         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3660         (EH_RETURN_STACKADJ_RTX): Define.
3661         (EH_RETURN_HANDLER_RTX): Define.
3662         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3663         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3664         registers and don't save fixed registers.
3665         (m68k_output_function_prologue): Use it.
3666         (use_return_insn): Likewise.
3667         (m68k_output_function_epilogue): Likewise.
3668
3669 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3670
3671         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3672         (single_zero_operand): Likewise.
3673
3674 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3675
3676         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3677         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3678         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3679         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3680         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3681         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3682         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3683         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3684         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3685
3686 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3687
3688         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3689         (ffsdi): Likewise.
3690         (cntlzw2, cntlzd2): New patterns.
3691
3692 2002-12-02  H.J. Lu <hjl@gnu.org>
3693
3694         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3695         (mips*-*-linux*): Remove mips/t-linux.
3696
3697 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3698
3699         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3700
3701 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3702
3703         * config/h8300/h8300.c (dosize): Replace argument op with
3704         sign.
3705         (h8300_output_function_prologue): Update the call to dosize.
3706         (h8300_output_function_epilogue): Likewise.
3707
3708 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3709
3710         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3711
3712 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3713
3714         * configure.in: Use "missing" script to generate warning if
3715         flex or bison programs not found, instead of invoking "false".
3716         * configure: Rebuilt.
3717
3718 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3719
3720         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3721
3722 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3723
3724         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3725
3726 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3727
3728         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3729         (push): Likewise.
3730         (pop): Likewise.
3731         (h8300_output_function_prologue): Likewise.
3732         (h8300_output_function_epilogue): Likewise.
3733
3734 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3735
3736         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3737         corresponding mode of non-integer mode, unless it is VOIDmode.
3738
3739 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3740
3741         * config/h8300/h8300.md (stm_h8300s_2): New.
3742         (stm_h8300s_3): Likewise.
3743         (stm_h8300s_4): Likewise.
3744         (five define_peephole2): Likewise.
3745
3746 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3747
3748         * ra-build.c: Fix a comment typo.
3749
3750 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3751
3752         * i386.c (ix86_expand_int_movcc): fix
3753         reversed BRANCH_COST test; be curefull about infinite recursion.
3754
3755 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3756
3757         * config/h8300/h8300.c (h8300_output_function_prologue):
3758         Remove variable idx.
3759         (h8300_output_function_epilogue): Likewise.
3760
3761 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3762
3763         * config/frv/xm-frv.h: Delete, unnecessary.
3764
3765 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3766
3767         * config/h8300/h8300.md: Add comments for define_peephole2.
3768
3769 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3770
3771         * builtin-types.def (BT_SIZE): Use size_type_node.
3772         * builtins.c (fold_builtin): Make the builtin strlen returns a
3773         size_t, not a sizetype.
3774         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3775         c_size_type_node.
3776         (c_alignof_expr): Likewise.
3777         (c_common_nodes_and_builtins): Likewise.
3778         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3779         (c_size_type_node): Likewise.
3780         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3781         * tree.h (TI_SIZE_TYPE): New enumeral.
3782         (size_type_node): Likewise.
3783
3784 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3785
3786         * configure.in: Don't put ${tm_file} into host_xm_file,
3787         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3788         Take location of tm-preds.h into account when calculating
3789         tm_p_file_list.
3790         * configure: Regenerate.
3791         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3792         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3793         Remove special case code for tm_p.h and *config.h; add new
3794         special case code for tm.h and tconfig.h. Clean up a bit.
3795
3796         * Makefile.in (tm_file, tm_file_list): New variables set from
3797         @-substitutions.
3798         (GCONFIG_H): Deleted.
3799         (GTM_H, TM_H): New.
3800         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3801         (TM_P_H): Move up with the other mkconfig.sh-generated
3802         headers; don't mention tm-preds.h explicitly.
3803         (tm.h, cs-tm.h): New rule.
3804         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3805         invocations of mkconfig.sh for changes to that program.
3806         (mostlyclean): Delete print-rtl1.c.
3807         (clean): Delete tm.h.
3808         Update dependencies for the files listed below.
3809
3810         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3811
3812         * coretypes.h: New file.
3813         * system.h: #define malloc to xmalloc and realloc to xrealloc
3814         when FLEX_SCANNER or YYBISON is defined, independent of the
3815         value of GCC_VERSION.
3816         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3817         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3818         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3819         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3820         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3821         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3822         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3823         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3824         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3825         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3826         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3827         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3828         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3829         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3830         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
3831         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
3832         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
3833         genconstants.c, genemit.c, genextract.c, genflags.c,
3834         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
3835         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
3836         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
3837         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
3838         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
3839         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
3840         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
3841         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
3842         print-tree.c, profile.c, protoize.c, ra-build.c,
3843         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
3844         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
3845         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
3846         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
3847         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
3848         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
3849         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
3850         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
3851         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
3852         xcoffout.c, config/darwin-c.c, config/darwin.c,
3853         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
3854         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
3855         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
3856         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
3857         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
3858         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
3859         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
3860         config/i960/i960-c.c, config/i960/i960.c,
3861         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
3862         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
3863         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
3864         config/mips/irix6-libc-compat.c, config/mips/mips.c,
3865         config/mmix/mmix.c, config/mn10200/mn10200.c,
3866         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
3867         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
3868         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
3869         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
3870         config/sparc/sparc.c, config/stormy16/stormy16.c,
3871         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
3872         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
3873         Include coretypes.h and tm.h.
3874
3875         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
3876         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
3877         genrecog.c: Include coretypes.h and tm.h from the file
3878         generated by this program.
3879
3880         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
3881         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
3882         coretypes.h and tm.h, and tsystem.h when not already included.
3883         No need to include stddef.h nor stdlib.h.
3884
3885         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
3886         include auto-host.h or ansidecl.h/
3887         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
3888         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
3889         include auto-host.h, ansidecl.h, or system.h.
3890         * fixinc/server.c: Likewise.  Also, do not include signal.h,
3891         and do not redefine volatile.
3892
3893 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3894
3895         * i386.md (movdf_integer):  Always enable in 64bit.
3896         (movdf_nointeger): Always disable in 64bit.
3897
3898 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3899
3900         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
3901         pseudo register number plus 1.
3902
3903 Fri Nov 29 20:10:56 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-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
3909
3910         * cpplib.c (_cpp_test_assertion): Default *value to 0.
3911
3912         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
3913
3914 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
3915
3916         * config/s390/t-crtstuff: New target makefile fragment.
3917         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
3918
3919 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3920
3921         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
3922         alternatives to correct the length when the memory operand is
3923         either pre_dec or post_inc.
3924
3925 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3926
3927         * config/h8300/h8300.md (an anonymous pattern): Give an
3928         internal name *tst_extzv_bitqi_1_n.
3929         Accept bit_operand instead of bit_memory_operand.
3930         Do not accept bit tests with the MSB.
3931         (*tst_extzv_memqi_1_n): New.
3932
3933 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3934
3935         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
3936         sharing when operand is SUBREG.
3937
3938 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
3939
3940         * athlon.md (athlon-decodev): New reservation unit.
3941         (athlon-direct0): New reservation.
3942         (athlon-vector): New use athlon-decodev.
3943         (athlon-double, athlon-direct): Better model.
3944         (athlon_imul_k8): Use athlon-direct0.
3945         (athlon_movlpd_load): New insn reservation.
3946
3947 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3948
3949         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3950         Fix a comment typo.
3951         (h8300_tiny_constant_address_p): Likewise.
3952
3953 2002-11-28  Michael Matz  <matz@suse.de>
3954
3955         * doc/passes.texi: Mention the other register allocator.
3956
3957 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3958
3959         * config/h8300/h8300.md (6 new peephole2 patterns): New.
3960
3961 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
3962
3963         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
3964         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
3965         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
3966
3967 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3968
3969         * config/h8300/h8300.c (h8300_and_costs): New.
3970         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
3971         * config/h8300/h8300-protos.h: Add a prototype for
3972         h8300_and_costs.
3973
3974 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
3975
3976         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
3977         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
3978         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
3979         * i386.md (truncdfsf patterns and splitters): Use
3980         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
3981
3982 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
3983
3984         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
3985         pointer argument in the prototypes of the following builtins
3986         be (const TYPE *) rather than (TYPE *):
3987          + __builtin_altivec_ld_internal_4sf
3988          + __builtin_altivec_ld_internal_4si
3989          + __builtin_altivec_ld_internal_8hi
3990          + __builtin_altivec_ld_internal_16qi
3991          + __builtin_altivec_lvsl
3992          + __builtin_altivec_lvsr
3993          + __builtin_altivec_lvebx
3994          + __builtin_altivec_lvehx
3995          + __builtin_altivec_lvewx
3996          + __builtin_altivec_lvxl
3997          + __builtin_altivec_lvx
3998          + __builtin_altivec_dst
3999          + __builtin_altivec_dstt
4000          + __builtin_altivec_dstst
4001          + __builtin_altivec_dststt
4002
4003 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4004
4005         * except.c (default_exception_section): Move variable into the
4006         scope where it is used.
4007
4008 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
4009
4010         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
4011         correct version.
4012
4013 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4014
4015         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
4016
4017 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
4018
4019         * config/h8300/h8300.c (h8300_shift_costs): New.
4020         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
4021         * config/h8300/h8300-protos.h: Add a prototype for
4022         h8300_shift_costs.
4023
4024 2002-11-27  Jim Wilson  <wilson@redhat.com>
4025
4026         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
4027         in output template.
4028
4029 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4030
4031         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
4032         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
4033         DLL_IMPORT_EXPORT_PREFIX, not '@'.
4034         (i386_pe_dllimport_name_p): Likewise.
4035         (i386_pe_mark_dllexport): Likewise.
4036         (i386_pe_mark_dllimport): Likewise.
4037         (i386_pe_encode_section_info): Likewise.
4038         (i386_pe_strip_name_encoding): Likewise.
4039
4040 2002-11-27  Richard Henderson  <rth@redhat.com>
4041
4042         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
4043         (nm && NF == 3): Set sawsymbol true.
4044         (END): Exit if no symbols seen.
4045         (output): Fix map syntax error if no globals for the version.
4046
4047 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
4048
4049         * builtins.def (DEF_C99_BUILTIN): Fix.
4050
4051 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
4052
4053         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
4054         (all): Add .size and .type information.
4055
4056 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
4057
4058         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
4059         partial_reg_stall target.
4060
4061 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
4062
4063         * i386.md (movhicc): Allow general operand.
4064         (movqicc): New expander.
4065         (movqicc_noc): New pattern.
4066         * i386.c (ix86_expand_carry_flag_compare): New function.
4067         (ix86_expand_int_movcc): Optimize harder using sbb; support more
4068         HImode conversion; support QImode conditional moves
4069
4070 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4071
4072         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4073         (ix86_expand_prologue): Multiply the count by amount of registers to be
4074         pushed.
4075
4076 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4077
4078         * i386.c (override_options): Error about wrong -mcpu on x86-64
4079         compilation.
4080
4081 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4082
4083         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4084
4085 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4086
4087         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4088         x86_extended_reg_mentioned_p): Declare.
4089         * i386.c (extended_reg_mentioned_1): New static function.
4090         (x86_extended_QIreg_mentioned_p,
4091         x86_extended_reg_mentioned_p): New global functions.
4092         * i386.h (REX_SSE_REGNO_P): New macro.
4093         * i386.md (prefix_rex): New attribute.
4094         (length attribute): Add rex.
4095
4096 2002-11-26  Andrew Haley  <aph@redhat.com>
4097
4098         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4099         from_Unwind_Find_Enclosing_Function.
4100         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4101         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4102         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4103         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4104         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4105
4106 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4107
4108         * config/s390/s390.c (390_output_constant_pool): Set alignment
4109         before label in 64 bit mode, behind otherwise.
4110
4111 2002-11-26  Richard Henderson  <rth@redhat.com>
4112
4113         * c-common.c (handle_visibility_attribute): Accept "default".
4114         * tree.h (enum symbol_visibility): New.
4115         (decl_visibility): Declare.
4116         * target.h (gcc_target.visibility): Take visibility arg as integer.
4117         * varasm.c (default_assemble_visibility): Likewise.
4118         (decl_visibility): New.
4119         (maybe_assemble_visibility): Use it.
4120         * output.h (default_assemble_visibility): Update prototype.
4121         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4122         visibility arg as integer.
4123         * doc/extend.texi: Document default visibility.
4124
4125 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4126
4127         * config/h8300/h8300.c: Adjust spacing.
4128         * config/h8300/h8300.h: Likewise.
4129
4130 2002-11-26  Richard Henderson  <rth@redhat.com>
4131
4132         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4133         hook_void_FILEptr_constcharptr): Rename so that the return
4134         type is first.
4135         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4136         hook_bool_tree_false): New.
4137         * hooks.h: Update.
4138         * langhooks-def.h: Update for renames.
4139         * target-def.h: Likewise.
4140         * tree.c (default_comp_type_attributes,
4141         default_set_default_type_attributes, default_insert_attributes,
4142         default_function_attribute_inlinable_p,
4143         default_ms_bitfield_layout_p): Remove.
4144         * tree.h: Update.
4145
4146 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4147
4148         * pa-protos.h (function_value): New prototype.
4149         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4150         TARGET_64BIT.
4151         * pa.h (FUNCTION_VALUE): Use function_value.
4152         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4153         call_value_internal_reg, sibcall_value_internal_symref,
4154         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4155         value.
4156
4157 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4158
4159         * expr.c (gen_group_rtx, emit_group_move): New functions.
4160         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4161         * function.c (expand_function_start): Use gen_group_rtx to create a
4162         PARALLEL rtx to hold the return value when the real return rtx is a
4163         PARALLEL.
4164         (expand_function_end): Use emit_group_move to move the return value
4165         from a PARALLEL to the real return registers.
4166         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4167         in PARALLELs.
4168
4169 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4170
4171         * config/t-libc-ok: Fix typo.
4172
4173 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4174
4175         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
4176         before AC_PROG_CC.
4177         * configure: Rebuilt.
4178
4179 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
4180
4181         * c-decl.c: (start_struct): Commonize flag setting.
4182
4183 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4184
4185         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
4186         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
4187         RS6000_CPU_CPP_ENDIAN_BUILTINS.
4188         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
4189
4190 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4191
4192         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
4193         insns.
4194         * config/s390/s390.c (struct machine_function): Introduction of
4195         struct machine_function.
4196         (s390_output_symbolic_const): Use of cfun.
4197         (s390_optimize_prolog): Likewise.
4198         (s390_fixup_clobbered_return_reg): Likewise.
4199         (s390_frame_info): Likewise.
4200         (s390_emit_prologue, s390_emit_epilogue): Likewise.
4201         (s390_init_machine_status): New function.
4202         (override_options): call s390_init_machine_status.
4203         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
4204         prototype.
4205
4206 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4207
4208         * varasm.c (output_constant_pool): For pool constants in mergeable
4209         section ensure each constant is padded to multiple of entity size.
4210
4211 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
4212
4213         * varasm.c (default_exception_section): Move to...
4214         * except.c (default_exception_section): ... here. Make
4215         .gcc_except_table read-only if it is not expected to have any
4216         dynamic relocations and linker handles it.
4217         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
4218         if it is not expected to have any dynamic relocations and linker
4219         handles it.
4220         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
4221         when linking read-only and read-write sections together.
4222         * configure, config.in: Rebuilt.
4223         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
4224         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
4225
4226 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
4227
4228         * i386.md (pushsf_rex64): Fix typo.
4229
4230 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4231
4232         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
4233         new function.
4234         (__ev_create_ufix32_fs): Same.
4235         (__ev_get_sfix32_fs_internal): New.
4236         (__ev_get_sfix32_fs): Define to use function.
4237         (__ev_get_ufix32_fs_internal): New.
4238         (__ev_get_ufix32_fs): Define to use function.
4239         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
4240         (__ev_get_lower_ufix32_fs): Same.
4241         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
4242         (__ev_get_lower_sfix32_fs): Same.
4243         (__ev_set_sfix32_fs_internal): New.
4244         (__ev_set_ufix32_fs_internal): New.
4245         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
4246         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
4247         (__ev_set_upper_sfix32_fs): Call function.
4248         (__ev_set_lower_sfix32_fs): Same.
4249         (__ev_set_upper_ufix32_fs): Same.
4250         (__ev_set_lower_ufix32_fs): Same.
4251
4252 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
4253
4254         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
4255
4256 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4257
4258         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
4259         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4260         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4261         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
4262         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
4263         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4264         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
4265         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
4266         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
4267         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4268         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
4269         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
4270         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
4271         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
4272         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
4273         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
4274         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
4275         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
4276         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
4277         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
4278         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
4279         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
4280         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
4281         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
4282         defining.
4283         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
4284         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
4285
4286 2002-11-25  Dave Pitts  <dpitts@cozx.com>
4287
4288         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
4289
4290 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4291
4292         * config/h8300/h8300.md (an anonymous pattern): New.
4293
4294 2002-11-25  Richard Henderson  <rth@redhat.com>
4295
4296         * alias.c (find_base_value): Use new_reg_base_value if it's live.
4297         (copying_arguments): Make boolean.
4298
4299 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4300
4301         * gcc.c (static_spec_functions): Add if-exists-else spec
4302         function.
4303         (if_exists_else_spec_function): New function.
4304         * doc/invoke.texi: Document the if-exists-else spec function.
4305
4306         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
4307         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
4308
4309 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
4310
4311         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
4312         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
4313         "${tmake_file} rs6000/t-netbsd".
4314         * config/rs6000/netbsd.h: Rewrite.
4315         * config/rs6000/t-netbsd: New file.
4316
4317 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
4318
4319         * config/h8300/h8300.md (an anonymous pattern): Relax the
4320         condition for the pattern.
4321
4322 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
4323
4324         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
4325         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
4326         evmwlssfanw, evmwlsmfanw.
4327
4328         * config/rs6000/rs6000.c (bdesc_2arg): Same.
4329
4330         * config/rs6000/spe.md: Same for patterns.
4331
4332 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4333
4334         PR c/8639
4335         * fold-const.c (extract_muldiv): Don't propagate division unless
4336         both arguments are multiples of C.
4337
4338 2002-11-25  Andrew Haley  <aph@redhat.com>
4339
4340         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
4341         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
4342         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
4343         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
4344
4345 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
4346
4347         * i386.c (x86_use_ffreep): New global variable.
4348         * i386.h (x86_use_frfeep): Declare
4349         (TARGET_USE_FFREEP): New macro
4350         * i386.md  (movs?f*): Use freep when asked for.
4351         (push?f): Remove dead code.
4352
4353 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
4354
4355         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
4356         target help message.
4357
4358 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4359
4360         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
4361         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
4362         crtbeginT.o".
4363         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
4364         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
4365         to "" for a.out configurations.
4366         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
4367
4368 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4369
4370         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
4371         NETBSD_CPP_SPEC directly.
4372         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
4373         netbsd_endfile_spec.
4374         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
4375
4376 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
4377
4378         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
4379         NETBSD_STARTFILE_SPEC.
4380         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
4381         (ENDFILE_SPEC): Likewise.
4382         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
4383
4384 2002-11-24  Andreas Schwab  <schwab@suse.de>
4385
4386         * Makefile.in (install-driver): Remove versioned link before
4387         trying to create it.
4388
4389         * config/m68k/m68k.c: Fix typo in last change defining
4390         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
4391
4392 2002-11-23  H.J. Lu <hjl@gnu.org>
4393
4394         * aclocal.m4: Include ../config/accross.m4.
4395         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
4396         (gcc_AC_C_COMPILE_ENDIAN): Removed.
4397         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
4398         instead of $ac_cv_c_compile_endian.
4399
4400         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
4401         AC_COMPILE_CHECK_SIZEOF.
4402         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
4403         * configure: Rebuild.
4404
4405 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
4406
4407         * config/h8300/h8300.c (print_operand): Update the use of
4408         h8300_tiny_constant_address_p.
4409         (h8300_adjust_insn_length): Likewise.
4410         (h8300_tiny_constant_address_p): Check if the given rtx is a
4411         variable declared with __attribute__ ((tiny_data)).
4412
4413 2002-11-22  Dale Johannesen  <dalej@apple.com>
4414
4415         * toplev.c (rest_of_compilation):  Fix comments.
4416
4417 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4418
4419         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
4420         allow mmap from /dev/zero.  Don't make decisions for the host
4421         based on presence or absence of /dev/zero on the build machine.
4422         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
4423         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
4424         * configure: Regenerate.
4425
4426 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4427
4428         * gcc.c (make_relative_prefix, split_directories)
4429         (free_split_directories): Removed.
4430
4431 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
4432
4433         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
4434         * configure: Regenerated.
4435
4436 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
4437
4438         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
4439         length computation when xor.l is output.
4440
4441 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
4442
4443         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
4444         (call_vms_1, call_value_vms_1): Cleanup syntax.
4445
4446 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4447
4448         * athlon.md (define_atuomaton): Add athlon_load.
4449         (athlon-double): New reservation.
4450         (athlon-ieu0): New CPU unit.
4451         (athlon-load?): Use athlon_load automaton.
4452         (*_k8 reservations): New.
4453         (other insn revervations): Activate for K8.
4454
4455 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
4456
4457         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
4458
4459 2002-11-21  Jim Wilson  <wilson@redhat.com>
4460
4461         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
4462         vectors to SI.
4463
4464 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
4465
4466         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
4467         * config/xtensa/xtensa.c (struct machine_function): Add
4468         incoming_a7_copied flag.
4469         (xtensa_copy_incoming_a7): Define.
4470         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
4471         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
4472
4473 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
4474
4475         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
4476         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
4477         x86_64_nonmemory_operand, x86_64_movabs_operand,
4478         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
4479         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
4480         (local_symbolic_operand): Do not care the 64bit limits.
4481         (x86_64_sign_extended_value): Remove allow_rip support.
4482         (legitimate_pic_address_disp_p): Handle all cases allowed
4483         with RIP addressing.
4484         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
4485         (legitimize_pic_address): Reorganize.
4486         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
4487
4488 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4489
4490         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
4491         * config/arm/netbsd-elf.h: New file.
4492
4493 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4494
4495         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
4496         subtarget_asm_float_spec.
4497         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
4498         defaults from...
4499         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
4500
4501 2002-11-21  Nick Clifton  <nickc@redhat.com>
4502
4503         * config/fr30/fr30.md (movsf_constant_store): Move code to
4504         detect 0.0 into fr30.c.
4505         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
4506         Prototype.
4507         * config/fr30/fr30.c (fr30_const_double_is_zero): New
4508         function.  Return true if the rtx is 0.0.
4509
4510 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
4511
4512         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
4513         if -mlittle-endian is specified.
4514
4515 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4516
4517         PR optimization/2903
4518         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
4519         (anddi_notsesidi_di): Likewise.
4520
4521 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
4522
4523         * config/h8300/h8300.c (print_operand): Use
4524         h8300_eightbit_constant_address_p and
4525         h8300_tiny_constant_address_p.
4526         (h8300_adjust_insn_length): Likewise.
4527         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
4528         (TINY_CONSTANT_ADDRESS_P): Likewise.
4529         (OK_FOR_U): Use eightbit_constant_address_p.
4530
4531 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
4532
4533         * config/s390/libgcc-libc.ver: Add multilib support.
4534         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
4535         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4536         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
4537         EXTRA_MULTILIB_PARTS): Define.
4538
4539 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
4540
4541         * arm.c (arm_get_frame_size): A leaf function does not need its
4542         stack padding to an aligned boundary if it has no frame.
4543         (thumb_get_frame_size): Likewise.
4544
4545 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4546
4547         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
4548         (override_options): Likewise.
4549
4550 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
4551
4552         * config.gcc: Add k8 target alias support
4553         * i386.c (_cost): Declare costs for various variants of divides and
4554         multiplies.
4555         (k8_cost): New.
4556         (m_K8, m_ATHLON_K8): New macros.
4557         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
4558         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
4559         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
4560         x86_integer_DFmode_moves, x86_partial_reg_dependency,
4561         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
4562         x86_prologue_using_move, x86_epilogue_using_move,
4563         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
4564         x86_sse_typeless_stores): Set for K8
4565         (override_options): Add k8 support; fix athlon alignment;
4566         complain about non-x86-64 capable CPU being used in x86-64 compilation.
4567         (ix86_issue_rate): Set for K8.
4568         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
4569         x86_machine_dependent_reorg): Handle K8 like
4570         * i386.h
4571         (x86_costs):  Change mult_init and divide into array.
4572         (TARGET_K8, TARGET_ATHLON): New macros.
4573         (MODE_INDEX): New macro.
4574         (RTX_COST): Use new costs.
4575         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
4576         (TARGET_CPU_DEFAULT_NAMES): Add k8
4577         (TARGET_CPU_DEFAULT_k8): New constant
4578         (enum processor_type): Add PROCESSOR_K8.
4579         * i386.md (cpu attribute): Add k8.
4580
4581         * invoke.texi: Document -march=k8.
4582
4583         * i386.md (type attribute): Add leave
4584         (mode attribute): Remove unknownfp.
4585         (length_immediate, modrm, memory attributes): Handle leave correctly.
4586         (fp comparison patterns): Determine FP mode.
4587         (leave, leave_rex64): Remove special cases.
4588         * ppro.md (ppro_uops, ppro_p2): Add leave
4589         * pentiun.md (pent_pop): Handle leave too.
4590         * k6.md (k6_load): Handle leave.
4591         * athlon.md (athlon_leave, athlon_pop): Fix.
4592         (athlon_decode): Handle leave.
4593
4594 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
4595
4596         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
4597         to component type using GET_MODE_INNER.
4598         * expr.c (emit_move_insn_1): Ditto.
4599         * optabs.c (expand_binop): Ditto.
4600         (expand_unop): Ditto.
4601         (expand_complex_abs): Ditto.
4602
4603 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
4604
4605         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
4606
4607 2002-11-20  DJ Delorie  <dj@redhat.com>
4608
4609         * config/stormy16/stormy16.c (s16builtins,
4610         xstormy16_init_builtins, xstormy16_expand_builtin): New.
4611         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
4612
4613 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
4614
4615         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
4616         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
4617         (executing gencheck, genconfigs, genconditions, genflags,
4618         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
4619         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
4620         gengtype, genprotos): Prepend $(RUN_GEN).
4621         * configure.in: Move host compiler tests before --enable-checking
4622         tests.
4623         (--enable-checking=valgrind): New.
4624         * config.in, configure: Regenerate.
4625         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4626         Define as empty.
4627         (read_include_file): When doing the mmap+1 trick,
4628         valgrind-annotate the byte after the mmap:ed area as readable.
4629         (purge_cache): Remove above annotation.
4630         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
4631         VALGRIND_PATH -q to each command.
4632
4633         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4634         Define as empty.
4635         (ggc_realloc): Update valgrind annotations.
4636         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
4637         Define as empty.
4638         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
4639         valgrind-annotate memory.
4640
4641 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
4642
4643         * recog.c (constrain_operands): Prefer exact match over reloadable
4644         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
4645
4646         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
4647         operands in Pmode.
4648
4649 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4650
4651         PR c/8518
4652         * c-decl.c (duplicate_decls): Outline the second definition
4653         of an extern inline function in all cases.
4654
4655 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4656
4657         * stor-layout.c (place_field): Update rli->offset as well as
4658         rli->bitpos.
4659
4660 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4661
4662         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
4663
4664 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4665
4666         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
4667         into a libcall block.
4668         (divsi3): Likewise divsi3_i4_media.
4669
4670 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
4671
4672         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
4673         out another register.
4674
4675 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
4676
4677         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
4678         (not just mask) are set in C.
4679
4680 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
4681
4682         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
4683
4684 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4685
4686         * profile.c (index_counts_file): Fix obvious mistake.
4687
4688 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4689
4690         * Makefile.in (profile.o): Add hashtab.h dependency.
4691         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
4692         * profile.c: Include hashtab.h.
4693         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
4694         cleanup_counts_index, index_counts_file, struct section_reference,
4695         struct da_index_entry, counts_file_name, counts_file_index): New.
4696         (get_exec_counts, init_branch_prob): Modified.
4697
4698 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4699
4700         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
4701         to tmake_file. Remove setting gas and gnu_ld here.
4702         * config/sh/libgcc-glibc.ver: New file.
4703         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
4704         (SHLIB_MAPFILES): New.
4705         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
4706         (MD_STARTFILE_PREFIX): Likewise.
4707         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
4708         (DWARF2_UNWIND_INFO): Redefine.
4709         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4710         (LINK_EH_SPEC): Redefine.
4711         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
4712         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
4713         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
4714         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
4715         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
4716         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
4717         SH_DWARF_FRAME_FPSCR): Likewise.
4718         * config/sh/sh-protos.h (sh_set_return_address): Declare.
4719         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
4720         registers if the current function calls EH return.
4721         (sh_expand_epilogue): Handle EH stack adjustments.
4722         (sh_set_return_address): New function.
4723         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
4724         Don't abort even if the number is mapped to -1.
4725         (EH_RETURN_DATA_REGNO): Define.
4726         (EH_RETURN_STACKADJ_RTX): Define.
4727         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
4728         (eh_return): New pattern.
4729         (eh_set_ra_di, eh_set_ra_si): Likewise.
4730         Add splitter to perform EH return after reload.
4731
4732 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
4733
4734         * stor-layout.c (excess_unit_span): New function.
4735         (place_field): Use it.
4736
4737 2002-11-19  Andreas Schwab  <schwab@suse.de>
4738
4739         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
4740         not valid in C++.
4741
4742 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4743
4744         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
4745         * configure: Regenerate.
4746
4747 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4748
4749         * convert.c (strip_float_extensions): New function.
4750         (convert_to_real): Optimize some cases.
4751
4752 2002-11-19  Andreas Jaeger  <aj@suse.de>
4753
4754         * loop.c (record_giv): Initialize not_replaceable.
4755         (check_final_value): Likewise.
4756
4757 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4758
4759         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
4760         MASK_H8300S.
4761
4762 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
4763
4764         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
4765         only if -mh or -ms present.
4766         (h8300_eightbit_constant_address_p): Support the normal mode.
4767         (h8300_tiny_constant_address_p): Likewise.
4768         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
4769         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
4770         (Pmode): Evaluate to HImode for the normal mode.
4771         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
4772         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
4773         (ASM_WORD_OP): Evaluate to word for the normal mode.
4774         * config/h8300/h8300.md (tablejump_normal_mode): New.
4775         (indirect_jump_normal_mode): New.
4776         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
4777         directory.
4778         (MULTILIB_DIRNAMES): Create target dependent directory
4779         'normal'.
4780         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
4781         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
4782
4783 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
4784
4785         * i386.md (length_immediate): Do not refer to insn address.
4786         (jcc*, jmp patterns):  Compute length explicitly.
4787
4788 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
4789
4790         PR c/8588
4791         * optabs.c (expand_binop): Convert CONST_INTs in shift
4792         operations too.
4793
4794 2002-11-19  Roger Sayle  <roger@eyesopen.com>
4795
4796         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
4797
4798 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4799
4800         * config/h8300/h8300.md (an anonymous pattern): Relax the
4801         condition to accept the same operands and/or subregs.
4802
4803 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
4804
4805         * config/sh/sh.c (gen_shl_and): Revert previous patch.
4806         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
4807         reload_completed.
4808
4809 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4810
4811         * config/h8300/h8300.c (print_operand): Update the use of
4812         EIGHTBIT_CONSTANT_ADDRESS_P.
4813         (h8300_adjust_insn_length): Likewise.
4814         (h8300_eightbit_constant_address_p): Check if the given rtx is
4815         a variable with __attribute__((eightbit_data)).
4816         * config/h8300/h8300.h (OK_FOR_U): Update the use of
4817         EIGHTBIT_CONSTANT_ADDRESS_P.
4818
4819 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4820
4821         * doc/contrib.texi (Contributors): Add self as second contact in
4822         addition to Jeff Law.
4823
4824 2002-11-19  Andreas Jaeger  <aj@suse.de>
4825
4826         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
4827         find_alloca_call to right place.
4828
4829 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
4830
4831         * cppfiles.c: Fix formatting.
4832
4833 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
4834
4835         * gcc.c (The Specs Language): Document spec functions.
4836         (static_spec_functions, lookup_spec_function)
4837         (eval_spec_function, handle_spec_function)
4838         (if_exists_spec_function, alloc_args): New.
4839         (execute): Abort if processing_spec_function is true.
4840         (do_spec_1): Hand off spec to handle_spec_function if %:
4841         is encountered.  If processing_spec_function is true,
4842         end any pending argument when the end of the string is reached.
4843         (main): Use alloc_args to allocate the initial argument vector.
4844         * gcc.h (struct spec_function): New.
4845         (lang_specific_spec_functions): New extern.
4846
4847         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
4848         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
4849         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
4850
4851         * doc/invoke.texi: Document spec functions.
4852
4853         * cppspec.c (lang_specific_spec_functions): New.
4854         * gccspec.c: Likewise.
4855
4856 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
4857
4858         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
4859         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
4860         (fixunstfsi_libfunc): Change.
4861         (fixunstfdi_libfunc): Change.
4862         (sdiv_optab): Don't zero out SImode handler.
4863         (udiv_optab): Don't zero out SImode handler.
4864         (smod_optab): Don't zero out SImode handler.
4865         (umod_optab): Don't zero out SImode handler.
4866
4867 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
4868
4869         PR preprocessor/8524
4870         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
4871         Add a new one in its place, which hopefully works.
4872         (skip_rest_of_line): Change test for bottom-of-context-stack.
4873
4874 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
4875
4876         * i386.md (addqi_1_slp): Fix output template.
4877         (subqi_1_slp): Fix type.
4878
4879 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
4880
4881         * calls.c (alloca_call_p): New global function.
4882         * tree.h (alloca_call_p): New.
4883         * tree-inline.c (inlinable_function_p):  Do not inline when
4884         function calls alloca.
4885         (find_alloca_call, find_alloca_call_1): New functions.
4886
4887 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
4888
4889         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
4890         bst.  Update the insn length.
4891         (*andorhi3): Likewise.
4892         (*andorsi3): Likewise.
4893
4894 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4895
4896         * config/sh/sh-protos.h (sh_mark_label): Declare.
4897         * config/sh/sh.c (sh_mark_label): New function, taken from
4898         movdi_const, but fixing the case when the address has an addend.
4899         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
4900
4901 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4902
4903         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
4904         (add_constant): Set it.
4905         (dump_table): Don't reorder a constant if part_of_sequence_p.
4906         (machine_dependent_reorg): Assume that float constants will
4907         stay in their original order if used as a sequence.
4908
4909 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4910
4911         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
4912         in compact code.
4913
4914 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
4915
4916         * config/sh/sh.md (initialize_trampoline): Do not force the
4917         trampoline address into R0_REGS here.
4918
4919 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
4920
4921         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
4922         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
4923         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
4924         generate unnecesary subregs.
4925
4926 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4927
4928         * df.c: Fix formatting.
4929
4930 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4931
4932         * config/h8300/h8300.md (two anonymous patterns): Fix insn
4933         lengths.
4934
4935 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
4936
4937         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
4938         is not an arith_reg_operand.
4939
4940 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
4941
4942         * real.c (real_to_decimal): Fix buffer overrun when buffer size
4943         is smaller than representation.
4944
4945 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
4946
4947         * builtins.c: Fix formatting.
4948
4949 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
4950
4951         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
4952         floats?dff2_i387):
4953         Work around regclass stupidity.
4954         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
4955
4956 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
4957
4958         * i386.md (fop_df_6): New pattern.
4959         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
4960         (fop_xf_6): Rewrite
4961         (fop_xf_7): Delete.
4962         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
4963         (fop_tf_6): Rewrite
4964         (fop_tf_7): Delete.
4965
4966 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4967
4968         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
4969
4970 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4971
4972         * config/h8300/h8300.md: Fix formatting.
4973
4974 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4975
4976         * config/h8300/h8300.md: Replace spaces with tabs.
4977         * config/h8300/t-h8300: Remove a trailing empty line.
4978
4979 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4980
4981         * tlink.c: Fix formatting.
4982
4983 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
4984
4985         PR 8362
4986         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
4987         * config/rs6000/rs6000.md (movti_string): Remove output modifier
4988         when scratch register never needed.
4989         (ldmsi[3-8]): New patterns.
4990
4991 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
4992
4993         * hard-reg-set.h: Follow spelling conventions.
4994         * real.c: Likewise.
4995         * target.h: Likewise.
4996
4997 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
4998
4999         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
5000
5001 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
5002
5003         * optabs.c: Fix formatting.
5004
5005 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
5006
5007         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
5008         * i386.md (attribute type): Add type shift1 and rotate1.
5009         (*_slp): Rewrite to have just two operands to avoid reload problems.
5010
5011 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
5012
5013         * config/h8300/h8300.md (4 anonymous patterns): New.
5014
5015 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5016
5017         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
5018         * doc/invoke.texi: Correct description of what needs to be done to
5019         force collection at every ggc_collect call.
5020
5021 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5022
5023         * config/s390/s390.c (optimization_options): Set
5024         flag_asynchronous_unwind_tables to 1 by default.
5025
5026 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
5027
5028         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5029
5030 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5031
5032         * i386-protos.h (x86_function_profiler): New function
5033         * i386.h (MCOUNT_NAME): New.
5034         (PROFILE_COUNT_REGISTER): New.
5035         (FUNCTION_PROFILER): Move offline to ...
5036         * i386.c (x86_function_profiler) ... here; fix 64bit support
5037         * beos-elf.h (FUNCTION_PROFILER): Kill.
5038         (MCOUNT_NAME): New.
5039         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
5040         (MCOUNT_NAME): New.
5041         (PROFILE_COUNT_REGISTER): New.
5042         * linux.h (FUNCTION_PROFILER): Kill.
5043         (MCOUNT_NAME): New.
5044         * x86-64.h (FUNCTION_PROFILER): Kill.
5045         (MCOUNT_NAME): New.
5046         * freebsd.h (FUNCTION_PROFILER): Kill.
5047         (MCOUNT_NAME): New.
5048
5049 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
5050
5051         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
5052         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
5053         * config/arm/arm.c (arm_va_arg,
5054         arm_function_arg_pass_by_reference): New.
5055         * config/arm/arm-protos.h: Add prototypes.
5056
5057 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5058
5059         * gthr-single.h: Fix formatting.
5060
5061 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
5062
5063         * tree.c (tree_vec_elt_check_failed): New function.
5064         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
5065         (TREE_VEC_ELT): Use it.
5066
5067         * tree-inline.c (optimize_inline_calls): Don't copy a
5068         zero-length vector.
5069
5070 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5071
5072         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
5073
5074 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
5075
5076         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
5077         both operands contain local relocations.
5078         (categorize_decl_for_section): Don't use mergeable sections if
5079         initializer has any relocations.
5080
5081 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
5082
5083         * gthr-vxworks.h: Fix formatting.
5084
5085 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
5086
5087         * doc/install.texi (Testing): Document extra Java testing.
5088         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
5089
5090 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5091
5092         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
5093         beginning of the spec.
5094         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
5095         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
5096         regarding problems with global constructors when using GNU ld.
5097
5098 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5099
5100         * gthr-solaris.h: Fix formatting.
5101
5102 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
5103
5104         * gthr-posix.h: Fix formatting.
5105
5106 2002-11-12  Devang Patel <dpatel@apple.com>
5107         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
5108         (process_command): Same.
5109         * doc/invoke.texi: Info about these two new options.
5110
5111 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5112
5113         * config/h8300/h8300.md (*andorsi3): New.
5114
5115 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5116
5117         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
5118
5119 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5120
5121         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
5122         expressions appropriately.
5123
5124 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5125
5126         * gthr-win32.h: Fix formatting.
5127
5128 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
5129
5130         * config/h8300/h8300.c (single_one_operand): Correctly compute
5131         mask when mode is SImode.
5132         (single_zero_operand): Likewise.
5133         * config/h8300/h8300.md (two new anonymous insns): New.
5134
5135 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5136
5137         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
5138         to that entire project.
5139
5140 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5141
5142         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
5143         directories.
5144
5145 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
5146
5147         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
5148         * doc/invoke.texi: Document them.
5149
5150         * ggc-page.c: Include params.h.  Remove definitions of
5151         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
5152         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
5153         (init_gcc): Don't set G.allocated_last_gc here.
5154         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
5155         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
5156         perform collection.
5157         * ggc-simple.c: Similarly.
5158         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
5159         dependencies.
5160
5161 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
5162
5163         * gthr-dce.h: Fix formatting.
5164
5165 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5166
5167         PR c/8467
5168         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
5169         mode of DECL_RTL case.
5170
5171 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
5172
5173         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
5174
5175 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
5176
5177         * i386.c (construct_container): Fix handling of SSE_CLASS.
5178
5179 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
5180
5181         * config/m68k/t-crtstuff (crti.o): Use this...
5182         ($(T)crti.o): ... instead.
5183         (crtn.o): Use this...
5184         ($(T)crtn.o): ... instead.
5185
5186 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5187
5188         PR c/8439
5189         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
5190         if there is something new to be simplified.
5191
5192 2002-11-10  H.J. Lu <hjl@gnu.org>
5193
5194         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
5195         * expr.c (PUSH_ARGS_REVERSED): Likewise.
5196
5197         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
5198
5199 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
5200
5201         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
5202         * config/rs6000/linux.h, config/rs6000/linux64.h,
5203         config/rs6000/windiss.h: ... not here.
5204
5205 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
5206
5207         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
5208         __ABICALLS__ if TARGET_ABICALLS.
5209
5210 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
5211
5212         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
5213
5214 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
5215
5216         * c-decl.c (grokdeclarator): Make error for duplicate type
5217         qualifiers into a pedwarn, disabled for C99.
5218
5219 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
5220
5221         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
5222         as FUNCTION_ARG_PASS_BY_REFERENCE.
5223
5224 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
5225
5226         * doc/install.texi: Add *-*-vxworks* specific installation
5227         instructions.
5228
5229         * config/vxlib.c: Rewrite using generation numbers to identify
5230         valid TSD keys.
5231
5232 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5233
5234         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
5235
5236 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5237
5238         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
5239
5240         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
5241         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
5242         * pa.c (output_millicode_call): Use symbol difference rather than
5243         $PIC_pcrel$0 when using HP assembler.
5244         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
5245         not elfos.h (i.e., gas) is being used.
5246         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
5247         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
5248         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
5249         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
5250         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
5251         using elfos.h.
5252         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
5253         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
5254         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
5255         using elfos.h.
5256         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5257         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
5258         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
5259         Don't define when not using elfos.h.
5260         (ASM_DECLARE_RESULT): Don't define.
5261         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
5262         doesn't work on hppa64-hp-hpux11.
5263         (hppa*-hp-hpux11): Update.
5264
5265 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
5266
5267         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
5268         to the assembler if -mno-abicalls was specified.
5269
5270 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5271
5272         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
5273         ASM_OUTPUT_DEF): Delete.
5274
5275 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
5276
5277         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
5278
5279 2002-11-08  Roger Sayle  <roger@eyesopen.com>
5280
5281         * real.c (real_sqrt): Update comment with bibliographic reference.
5282
5283 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
5284
5285         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
5286
5287 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5288
5289         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
5290
5291 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
5292
5293         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
5294         (expand_builtin): Likewise.
5295         * builtins.def: Add
5296         __builtin_floor, __builtin_floorf, __builtin_floorl
5297         __builtin_ceil, __builtin_ceilf, __builtin_ceill
5298         __builtin_round, __builtin_roundf, __builtin_roundl
5299         __builtin_trunc, __builtin_truncf, __builtin_truncl
5300         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
5301         * genopinit.c (optabs): Initialize the new optabs.
5302         * optab.c (init_optabs): Likewise.
5303         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
5304         OTI_round, OTI_nearbyint.
5305         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
5306         * doc/md.texi: Document new named patterns.
5307         * doc/extend.texi (builtin functions)  Document
5308         floor, floorf, floorl, ceil, ceilf,
5309         ceill, round, roundf, roundl, trunc,
5310         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
5311
5312 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
5313
5314         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
5315
5316 2002-11-08  Dale Johannesen  <dalej@apple.com>
5317
5318         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
5319
5320 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5321
5322         PR preprocessor/8497
5323         PR preprocessor/8501
5324         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
5325         start a directive.  In assembler, #NUM is not a line directive.
5326
5327 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
5328
5329         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
5330         buffers.
5331
5332 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
5333
5334         * config/h8300/h8300.md (two anonymous test insns): New.
5335
5336 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5337
5338         * jump.c (mark_jump_label): Handle subregs of label_refs.
5339
5340 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
5341
5342         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
5343         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
5344
5345 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
5346
5347         * config/ia64/crtend.asm: Include "auto-host.h".
5348         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
5349         * config/ia64/crtbegin.asm: Similarly.
5350         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
5351         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
5352
5353         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
5354         * configure.in: Use it if --enable-initfini-array not specified.
5355         * doc/install.texi (Configuration): Document --enable-initfini-array.
5356         * configure, config.in: Rebuild.
5357
5358 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
5359
5360         * config/arm/arm-protos.h (arm_get_frame_size)
5361         (thumb_get_frame_size): New prototypes.
5362         * config/arm/arm.c (arm_get_frame_size)
5363         (thumb_get_frame_size): New functions.
5364         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
5365         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
5366         arm_get_frame_size.
5367         (thumb_expand_prologue, thumb_expand_epilogue): Use
5368         thumb_get_frame_size.
5369         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
5370         (machine_function): Add frame_size member.
5371         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
5372
5373 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5374
5375         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
5376         Adjust code to use portable unsigned bit manipulation.
5377         (insn_flags, tune_flags): Change type to unsigned.
5378         (struct processors): Make flags unsigned long.
5379         (arm_override_options): Change type of count and current_bit_count
5380         to unsigned.
5381
5382 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
5383
5384         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
5385
5386 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
5387
5388         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
5389
5390 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
5391
5392         * reg-stack.c (compensate_edge): Fix sanity check.
5393
5394 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
5395
5396         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
5397         crt2.o.  Rearrange t-darwin makefiles.
5398         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
5399         * unwind-dw2-fde-darwin.c: New.
5400         * unwind-dw2-fde-glibc.c: Correct comment.
5401         * unwind-dw2-fde.c (__register_frame_info_bases)
5402         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
5403         (classify_object_over_fdes): Use last_fde.
5404         (add_fdes): Likewise.
5405         (linear_search_fdes): Likewise.
5406         * unwind-dw2-fde.h (struct object)
5407         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
5408         (last_fde): New.
5409         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
5410         (ENDFILE_SPEC): No crtend.o.
5411         * config/t-darwin: New.
5412         * config/i386/t-darwin: Delete.
5413         * config/darwin-crt2.c: New.
5414         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
5415         or config/t-darwin.
5416
5417 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
5418
5419         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
5420         MASK_MS_BITFIELD_LAYOUT
5421         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
5422         MS bitfields for Objective-C.
5423         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
5424         defines.
5425
5426         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
5427         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
5428         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
5429
5430         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
5431         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
5432         (TARGET_SWITCHES): Add above mask.
5433
5434         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
5435         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
5436         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
5437         flags for interix.
5438
5439 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
5440
5441         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
5442         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
5443         assembler.
5444         * config/mips/mips.md (tablejump_internal3): Output .cpadd
5445         before jump on ABI_N32 too.
5446         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
5447         length to match.
5448
5449 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
5450
5451         * i386.md (negsf splitter): Accept memory operand in second register.
5452         (abssf/absdf splitters): Simplify
5453         (sse_loadss, sse_loadsd): Turn into expander.
5454
5455 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
5456
5457         PR target/8480
5458         * config/rs6000/rs6000.md (movdi_internal64): Discourage
5459         FPR to FPR moves.
5460
5461 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
5462
5463         * doc/contrib.texi: Merge in the list from the Java web pages.
5464
5465 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
5466
5467         * config/sparc/freebsd: Fix typo.
5468
5469 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5470
5471         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
5472
5473 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
5474
5475         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
5476         non-SImode addresses.
5477
5478 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
5479
5480         * i386.md (float_truncate SSE splitter): Ensure that operand is not
5481         stack register.
5482         (float SSE splitters): Reorder conditional.
5483
5484 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
5485
5486         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
5487
5488 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
5489
5490         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
5491         (STARTFILE_SPEC): Remove p and pg options.
5492
5493 2002-11-05  Andrew Haley  <aph@redhat.com>
5494
5495         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
5496         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
5497
5498 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
5499
5500         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
5501         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
5502
5503 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
5504
5505         * gthr-vxworks.h: Rewritten from scratch.
5506         * config/vxlib.c: New file.
5507         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
5508         * config/rs6000/t-vxworks: Add config/vxlib.c to
5509         LIB2FUNCS_EXTRA here too, because of clash with
5510         config/rs6000/t-ppccomm.
5511
5512 2002-11-04  Dale Johannesen  <dalej@apple.com>
5513
5514         * doloop.c (doloop_modify_runtime):  Fix loop count computation
5515         for unrolled loops.
5516         * loop.c (loop_invariant_p):  Support calling from unroller.
5517
5518 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
5519
5520         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
5521         for comparison.
5522
5523 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
5524
5525         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
5526
5527         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
5528         (CLASS_CANNOT_CHANGE_MODE): Remove.
5529         (CANNOT_CHANGE_MODE_CLASS): New.
5530
5531         * config/alpha/alpha.h: Same.
5532
5533         * config/ia64/ia64.h: Same.
5534
5535         * config/mips/mips.h: Same.
5536
5537         * config/s390/s390.h: Same.
5538
5539         * config/sh/sh.h: Same.
5540
5541         * config/pa/pa64-regs.h: Same.
5542
5543         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
5544
5545         * config/sh/sh.c (sh_cannot_change_mode_class): New.
5546
5547         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
5548         prototype.
5549
5550         * config/mips/mips.c (mips_cannot_change_mode_class): New.
5551
5552         * doc/tm.texi (Register Classes): Remove
5553         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
5554         Document CANNOT_CHANGE_MODE_CLASS.
5555
5556         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
5557         (push_reload): Same.
5558
5559         * simplify-rtx.c (simplify_subreg): Same.
5560
5561         * reload1.c (choose_reload_regs): Same.
5562
5563         * recog.c (register_operand): Same.
5564
5565         * regrename.c (mode_change_ok): Change to use new
5566         CANNOT_CHANGE_MODE_CLASS infrastructure.
5567
5568         * regclass.c (cannot_change_mode_set_regs): New.
5569         Declare subregs_of_mode.
5570         (regclass): Use subregs_of_mode.
5571         Remove references to reg_changes_mode.
5572         (init_reg_sets_1): Remove class_can_change_mode and
5573         reg_changes_mode code.
5574         (invalid_mode_change_p): New.
5575         (dump_regclass): Use invalid_mode_change_p instead of
5576         class_can_change_mode.
5577         (regclass): Same.
5578         (record_operand_costs): Do not set reg_changes_mode.
5579
5580         * local-alloc.c (struct qty): Remove changes_mode field.
5581         (alloc_qty): Remove changes_mode initialization.
5582         (update_qty_class): Remove set of changes_mode.
5583         (find_free_reg): Use subregs_of_mode.
5584
5585         * global.c (find_reg): Use subregs_of_mode info.
5586
5587         * rtl.h (cannot_change_mode_set_regs): New prototype.
5588         (invalid_mode_change_p): Same.
5589         (REG_CANNOT_CHANGE_MODE_P): New macro.
5590
5591         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
5592         REG_CHANGES_MODE.
5593         (life_analysis): Clear subregs_of_mode.
5594
5595         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
5596         Remove use of CLASS_CANNOT_CHANGE_MODE.
5597         (simplify_set): Same.
5598         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
5599         REG_CHANGES_MODE.
5600
5601         * regs.h: Add extern for subregs_of_mode;
5602         Include hard-reg-set and basic-block.
5603         (REG_CHANGES_MODE): Delete.
5604
5605 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5606
5607         * real.c (real_sqrt): New function to calculate square roots.
5608         * real.h (real_sqrt): Add function prototype.
5609         * builtins.c (fold_builtin): Fold sqrt of constant argument.
5610         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
5611         of constant argument.
5612
5613 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5614
5615         * jump.c (never_reached_warning): Don't set contains_insn until the
5616         first line note is seen.
5617
5618 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
5619
5620         * config/rs6000/rs6000.md (movti_string): Use string instructions.
5621
5622 2002-11-03  Roger Sayle  <roger@eyesopen.com>
5623
5624         PR c/7128
5625         * c-typeck.c (c_expand_asm_operands): Defend against
5626         error_mark_nodes in the output argument to avoid ICE.
5627
5628 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5629
5630         PR middle-end/8408
5631         * genrecog.c (preds): Handle ADDRESSOF.
5632         (validate_pattern): Mark it as an lvalue.
5633
5634 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
5635
5636         * config/rs6000/rs6000.c (rs6000_override_options): Use string
5637         instructions when optimizing for size.
5638
5639 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
5640
5641         * config/h8300/h8300.h: Fix comment typos.
5642         * config/h8300/h8300.md: Likewise.
5643         * config/h8300/lib1funcs.asm: Likewise.
5644
5645 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5646
5647         Revert this change:
5648
5649         *doc/install.texi (Installing GCC: Configuration): Clarify
5650         the only supported ways to configure gcc.
5651
5652 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5653
5654         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
5655         instead of 'O' for the constraint for the second operand.
5656
5657 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
5658
5659         PR c++/8391
5660         * toplev.c (rest_of_compilation): Do not refuse to output code for
5661         an inline function in a local class.
5662
5663 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
5664
5665         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
5666         (TRANSFER_FROM_TRAMPOLINE): Reformat.
5667         Add comment.
5668
5669 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
5670
5671         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
5672
5673 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
5674
5675         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
5676
5677 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
5678
5679         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
5680         (MASK_INLINE_DIV_THR): Remove.
5681         (TARGET_INLINE_DIV_LAT): Remove.
5682         (TARGET_INLINE_DIV_THR): Remove.
5683         (TARGET_INLINE_DIV): Remove.
5684         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
5685         (MASK_INLINE_FLOAT_DIV_THR): New macro.
5686         (MASK_INLINE_INT_DIV_LAT): New macro.
5687         (MASK_INLINE_INT_DIV_THR): New macro.
5688         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
5689         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
5690         (TARGET_INLINE_INT_DIV_LAT): New macro.
5691         (TARGET_INLINE_INT_DIV_THR): New macro.
5692         (TARGET_INLINE_FLOAT_DIV): New macro.
5693         (TARGET_INLINE_INT_DIV): New macro.
5694         * config/ia64/ia64.md (divsi3): Change to use new macros.
5695         (modsi3): Ditto.
5696         (udivsi3): Ditto.
5697         (umodsi3): Ditto.
5698         (divsi3_internal): Ditto.
5699         (divdi3): Ditto.
5700         (moddi3): Ditto.
5701         (udivdi3): Ditto.
5702         (umoddi3): Ditto.
5703         (divdi3_internal_lat): Ditto.
5704         (divdi3_internal_thr): Ditto.
5705         (divsf3): Ditto.
5706         (divsf3_internal_lat): Ditto.
5707         (divsf3_internal_thr): Ditto.
5708         (divdf3): Ditto.
5709         (divdf3_internal_lat): Ditto.
5710         (divdf3_internal_thr): Ditto.
5711         (divtf3): Ditto.
5712         (divtf3_internal_lat): Ditto.
5713         (divtf3_internal_thr): Ditto.
5714         * config/ia64/ia64.c (ia64_override_options): Change
5715         to check new macros for conflicts in settings.
5716         * doc/invoke.texi (-minline-divide-min-latency): Remove.
5717         (-minline-divide-max-throughput): Remove.
5718         (-minline-float-divide-min-latency): New.
5719         (-minline-float-divide-max-throughput): New.
5720         (-minline-int-divide-min-latency): New.
5721         (-minline-int-divide-max-throughput): New.
5722
5723 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
5724
5725         PR target/7856
5726         * arm.c (use_return_insn): Don't use a return insn if there are
5727         saved integer regs, but LR is not one of them.
5728
5729 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5730
5731         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
5732         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
5733
5734 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
5735
5736         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
5737         (movps, movpd splitters): Use canonical form.
5738         (movv2di): Fix merge problem.
5739
5740 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
5741
5742         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5743
5744 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
5745
5746         PR optimization/6162
5747         * doc/md.texi: Document restriction on commutative operand
5748         specification.
5749
5750 2002-10-31  Eric Christopher  <echristo@redhat.com>
5751
5752         * explow.c (convert_memory_address): Use shallow_copy_rtx.
5753
5754 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5755
5756         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
5757
5758 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
5759
5760         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
5761
5762 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5763
5764         * config/rs6000/darwin.h:  Correct formatting in previous.
5765
5766 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
5767
5768         * config/rs6000/darwin.h:  Enable -falign-xxx options.
5769
5770 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
5771
5772         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
5773         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
5774         * i386.c (optimization_options): Set flag_omit_frame_pointer,
5775         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
5776         Do not clear -momit-leaf-frame-pointer when profiling.
5777         (ix86_frame_pointer_required): Frame pointer is always required when
5778         profiling.
5779
5780 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5781
5782         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
5783
5784 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
5785
5786         * sh.h (binary_logical_operator): Declare.
5787         * sh.c (binary_logical_operator): New function.
5788         * sh.md (xordi3+1): New combiner splitter pattern.
5789
5790 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
5791
5792         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
5793         __enable_execute_stack function.
5794
5795 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
5796
5797         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
5798         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
5799         * unwind-sjlj.c (fc_key_dtor): Delete.
5800         (fc_key_init): Adjust __gthread_key_create call to match.
5801
5802 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
5803
5804         * c-common.c: Add GTY to vector_type_node_list.
5805
5806 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
5807
5808         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
5809         * pa-protos.h (attr_length_millicode_call, attr_length_call,
5810         pa_init_machine_status): Declare new global functions.
5811         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
5812         implement new functions.
5813         (attr_length_millicode_call, attr_length_call): Implement.
5814         (total_code_bytes): Change type to long.
5815         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
5816         Reset counter if flag_function_sections.
5817         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
5818         (output_cbranch): Move call to gen_label_rtx.
5819         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
5820         delay slot in all variants, shorten pc-relative calls.
5821         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
5822         slot usage and exposure, various new call variants, and shortened
5823         sequences for some variants on TARGET_PA_20.
5824         Miscellaneous format changes.
5825         * pa.h (total_code_bytes): Change type to long.
5826         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
5827         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
5828         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
5829         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
5830         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
5831         stores on TARGET_ELF32.
5832         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
5833         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
5834         canonicalize_funcptr_for_compare expanders): Calculate attribute length
5835         attr_length_millicode_call().
5836         (call_internal_symref, call_value_internal_symref): Clobber register 1.
5837         Calculate attribute length using attr_length_call().
5838         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
5839         to delay slot.
5840         (sibcall, sibcall_value): Rewrite.
5841         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
5842         register 1.  Use attr_length_call().
5843         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
5844         New patterns.
5845         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
5846         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
5847         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
5848         * doc/invoke.texi (mlong-calls): Document.
5849
5850 2002-10-30  Roger Sayle  <roger@eyesopen.com>
5851
5852         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
5853         handling of cases where one or both branches of the conditional
5854         have void type, i.e. throw an exception or don't return.
5855         (fold): Only apply (and undo) type conversion to the non-void
5856         branches of a COND_EXPR.
5857
5858 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
5859
5860         PR c++/8333
5861         * varasm.c (asm_output_aligned_bss): Do not call
5862         ASM_GLOBALIZE_LABEL.
5863
5864 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
5865             Torbjorn Granlund  <tege@swox.com>
5866
5867         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
5868         for addressibility.
5869         (load_toc_v4_PIC_1b): Same.
5870
5871 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
5872
5873         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
5874         Truncate the addresses for H8/300 using HImode.
5875
5876 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
5877
5878         * i386.md (negdf splitter): Fix construction of the constant.
5879
5880 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
5881
5882         * i386.md (negsf, negdf): Reorganize to use vector modes
5883         for SSE variants.
5884         (abssf, absdf): Use force_reg.
5885         (movv4sf, movv2df): New splitters.
5886         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
5887         * i386.c (zero_extended_scalar_load_operand
5888
5889         * i386-protos.h (ix86_expand_call): Update prototype.
5890         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
5891         (ix86_expand_call): Use r11 for indirect sibcalls.
5892         * i386.md (call, call_value, untyped_call, call_value_pop):
5893         update x86_expand_call call.
5894         (sibcall, sibcall_value): new patterns
5895         (call_rex64, call_value_rex64): Do not accept sibcalls.
5896         (sibcall_rex64, sibcall_value_rex64,
5897         sibcall_rex64_v, sibcall_value_rex64_v): New.
5898
5899 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5900
5901         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5902         before final pass.
5903
5904 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
5905
5906         * toplev.c (rest_of_type_compilation): Return early in case of
5907         errors.
5908         (check_global_declarations): Don't call debug_hooks->global_decl
5909         in case of errors.
5910
5911 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
5912
5913         * doc/c-tree.texi (Tree overview): Fix typos.
5914
5915 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
5916
5917         * Makefile.in (gnucompare*):  Only record bad comparisons
5918         if there really was a bad comparison.
5919
5920 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
5921
5922         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
5923         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
5924         * md.texi (machine dependent constraints): Document 'C'
5925
5926         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
5927
5928         * i386.c (ix86_expand_vector_move): Fix.
5929
5930         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
5931         * i386.md (sse2_maskmovdqu_rex64): New pattern
5932
5933         PR target/8322
5934         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
5935         (ix86_init_mmx_sse_builtins): Fix type.
5936
5937 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
5938
5939         * gthr-posix.h: Include <unistd.h> for feature tests.
5940         (sched_get_priority_max, sched_get_priority_min)
5941         (pthread_getschedparam, pthread_setschedparam): Only use
5942         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
5943         (__gthread_objc_thread_set_priority): Don't treat all nonzero
5944         returns from sched_get_priority_max and sched_get_priority_min
5945         as an error.
5946
5947 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5948
5949         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
5950         MASK_QUICKCALL.
5951
5952 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5953
5954         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
5955         (h8300_tiny_constant_address_p): Likewise.
5956         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
5957         h8300_eightbit_constant_address_p.
5958         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
5959         * config/h8300/h8300-protos.h: Add the prototypes for the two
5960         new functions.
5961
5962 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5963
5964         * reload1.c (update_eliminables): Unconditionally check if
5965         frame_pointer_needed has changed.
5966
5967 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5968
5969         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
5970         before final pass.
5971
5972 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
5973
5974         PR optimization/8334
5975         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
5976         check for zero operands explicitly.
5977
5978 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
5979
5980         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
5981         memory after adjusting to BLKmode.
5982
5983 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
5984
5985         * config/h8300/h8300.h (MASK_*): New.
5986         (TARGET_*): Use MASK_*.
5987
5988 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
5989
5990         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
5991         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
5992         config/rs6000/vxworks.h: New files.
5993         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
5994
5995         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
5996         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
5997         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
5998         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
5999         sparc-*-vxsim*): Delete stanzas.
6000         * gthr-vxworks.h: Rip out all substantive code and just
6001         include gthr-single.h.
6002
6003         * config/alpha/vxworks.h, config/arm/vxarm.h,
6004         config/i386/vxi386.h, config/i960/t-vxworks960,
6005         config/i960/vx960-coff.h, config/i960/vx960.h,
6006         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
6007         config/mips/vxworks.h, config/rs6000/vxppc.h,
6008         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
6009         config/sparc/vxsim.h, config/sparc/vxsparc.h,
6010         config/sparc/vxsparc64.h: Delete files.
6011
6012 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
6013
6014         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
6015         tm_defines if pthreads are enabled.
6016         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
6017         if NETBSD_ENABLE_PTHREADS is defined.
6018
6019 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
6020
6021         * ChangeLog.1: Fix typos.
6022         * cse.c: Fix a comment typo.
6023         * reload1.c: Likewise.
6024
6025 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
6026
6027         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
6028         * fixinc/tests/base/_G_config.h: New file.
6029
6030 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6031
6032         * combine.c: Fix comment formatting.
6033         * loop.c: Likewise.
6034         * real.c: Likewise.
6035         * regclass.c: Likewise.
6036         * regmove.c: Likewise.
6037         * regrename.c: Likewise.
6038         * reg-stack.c: Likewise.
6039         * reload1.c: Likewise.
6040         * reload.c: Likewise.
6041         * reload.h: Likewise.
6042         * unroll.c: Likewise.
6043
6044 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
6045
6046         * reload1.c (reload): Fix a comment typo.
6047
6048 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6049
6050         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
6051
6052 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6053
6054         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
6055         * dwarf2out.c: Include hashtab.h.
6056         (is_main_source): New static variable.
6057         (attr_checksum, die_checksum): Modified to handle die references.
6058         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
6059         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
6060         record_comdat_symbol_number): New static functions.
6061         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
6062         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
6063         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
6064         declarations added.
6065
6066 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
6067
6068         * config/h8300/h8300.c (initial_offset): Change to
6069         h8300_initial_elimination_offset.
6070         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
6071         h8300_initial_elimination_offset.
6072         * config/h8300/h8300-protos.h: Update the prototype.
6073
6074 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
6075
6076         * config/mmix/mmix.h (LIBCALL_VALUE): Use
6077         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
6078         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
6079         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
6080         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
6081         and RTX_CODE.
6082         (mmix_function_value_regno_p): Declare.
6083
6084         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
6085         invalid for floating point mode result, with fix.
6086
6087 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
6088
6089         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
6090         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
6091         (stage1_build): Likewise.
6092
6093 2002-10-25  Mike Stump  <mrs@apple.com>
6094
6095         Fixes gcc.dg/warn-1.c.
6096         * c-typeck.c (warn_for_assignment): Don't print argument number,
6097         if zero.
6098
6099 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
6100
6101         * toplev.c (dump_file_index): Add DFI_ce3.
6102         (dump_file_info): Likewise.
6103         (rest_of_compilation): Run first ifcvt pass before tracer.
6104
6105 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
6106
6107         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
6108
6109 2002-10-25  Richard Henderson  <rth@redhat.com>
6110
6111         * real.c (real_to_decimal): If the >1 tens reduction loop results
6112         in a negative exponent, fall into the <1 pten computation.
6113
6114 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
6115
6116         PR middle-end/6994
6117         * c-objc-common.c (inline_forbidden_p): Can not inline
6118         functions containing structures or unions containing VLAs.
6119         * tree-inline.c (walk_tree): For all class 't' nodes, walk
6120         TYPE_SIZE and TYPE_SIZE_UNIT.
6121         (copy_tree_r): Copy types if they are variably modified.
6122
6123 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6124
6125         * config/s390/s390.md: Remove old-style peepholes.
6126
6127 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
6128
6129         * config/s390/s390.c (s390_decompose_address): Do not range check the
6130         displacement if base or index is the argument pointer register.
6131
6132 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
6133
6134         PR other/3337
6135         PR bootstrap/6763
6136         PR bootstrap/8122
6137         * fixinc/inclhack.def (libc1_G_va_list): New fix.
6138         * fixinc/fixincl.x: Regenerate.
6139         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
6140         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
6141         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
6142         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
6143         * config.in, configure: Regenerate.
6144
6145 2002-10-24  Igor Shevlyakov <igor@microunity.com>
6146
6147         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
6148
6149 2002-10-24  Richard Henderson  <rth@redhat.com>
6150
6151         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
6152
6153 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6154
6155         * config/h8300/h8300.c (initial_offset): Simplify by using
6156         round_frame_size.
6157
6158 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
6159
6160         * doc/install.texi (avr): Update required binutils version.
6161
6162 2002-10-24  Theodore A. Roth  <troth@openavr.org>
6163
6164         * doc/install.texi: Point avr users at more up-to-date information.
6165
6166 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6167
6168         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
6169         to pull operands out of the literal pool where possible.
6170
6171 2002-10-24  Denis Chertykov  <denisc@overta.ru>
6172
6173         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
6174
6175 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
6176
6177         * expr.c (convert_move): If unsignedp is less then zero there
6178         is no equivalent code.
6179
6180 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
6181
6182         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
6183
6184 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
6185
6186         * config/s390/s390.h: Rework comments; re-sort target macro definitions
6187         according to the sequence they are defined in the manual.
6188         (POINTER_BOUNDARY): Remove.
6189
6190 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6191
6192         * config/h8300/h8300.c (round_frame_size): Replace 8 with
6193         BITS_PER_UNIT.
6194
6195 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
6196
6197         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
6198         64-bit safe.
6199         (TINY_CONSTANT_ADDRESS_P): Likewise.
6200
6201 2002-10-24  Richard Henderson  <rth@redhat.com>
6202
6203         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6204         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
6205         vcall offset.
6206
6207 2002-10-24  Richard Henderson  <rth@redhat.com>
6208
6209         PR opt/7944
6210         * reload.c (find_reloads_toplev): Mode of X is not important
6211         when simplifying subregs of constants.
6212
6213 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6214
6215         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
6216         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
6217         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
6218         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
6219         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
6220
6221 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
6222
6223         * optabs.c (expand_binop): Don't reuse the shift target in the
6224         middle of shift sequences.
6225
6226 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
6227
6228         * i386.md (abs splitters): Do not produce nested subregs.
6229
6230 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
6231
6232         * i386.md (movti_rex64): Fix constraints.
6233
6234 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
6235
6236         * i386.md (abssf,absdf): Use vector operands for SSE
6237         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
6238         vector operand.
6239
6240 2002-10-23  Ziemowit Laski <zlaski@apple.com>
6241
6242         * objc/objc-act.c (get_static_reference): Remove unneeded
6243         TYPE_BINFO initialization.
6244         (get_object-reference): Likewise.
6245         (build_constructor): Tighten precondition check.
6246         (finish_message_expr): Likewise.
6247
6248 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
6249
6250         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
6251         after CONST test.
6252
6253 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
6254
6255         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
6256         in HFAs.
6257
6258 2002-10-23  Richard Henderson  <rth@redhat.com>
6259
6260         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
6261         (alpha_output_mi_thunk_osf): Handle vcall_offset.
6262
6263 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
6264
6265         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
6266         var_mod_type_p.
6267         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
6268         hook_tree_bool_false.
6269
6270         * tree.c (variably_modified_type_p): Moved here from
6271         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
6272         language-specific cases.  Due to this, must weaken some 'if
6273         and only if' checks to merely 'if'.
6274         * tree.h: Prototype variably_modified_type_p.
6275
6276         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
6277
6278 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6279
6280         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
6281         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
6282
6283         * config/s390/s390-protos.h (fp_operand): Remove.
6284         * config/s390/s390.c (fp_operand): Remove.
6285         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
6286         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
6287         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
6288         (movdi_31, movdf_31 splitters): Likewise.
6289
6290         * config/s390/s390.h (IEEE_FLOAT): Remove.
6291         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
6292         (INT_REGNO_P): Rename to ...
6293         (GENERAL_REGNO_P): ... this.
6294         (FLOAT_REGNO_P): Rename to ...
6295         (FP_REGNO_P): ... this.
6296         (ADDR_REGNO_P): New macro.
6297         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
6298         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
6299         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
6300         (HARD_REGNO_NREGS): Adapt to macro renaming.
6301         (HARD_REGNO_MODE_OK): Likewise.
6302
6303 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
6304             Geoff Keating  <geoffk@apple.com>
6305
6306         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
6307         (rs6000_memory_move_cost): New function.
6308         * config/rs6000/rs6000-protos.h: Declare them.
6309         * config/rs6000/rs6000.h: Use them.
6310
6311 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
6312
6313         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
6314         inlining it into other libgcc2 routines.
6315         (__udivmoddi4): Likewise.
6316
6317 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
6318
6319         * doc/sourcebuild.texi (Test Suites): Improve.
6320
6321 2002-10-22  Stan Shebs  <shebs@apple.com>
6322
6323         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
6324         case for Darwin.
6325
6326 2002-10-22  Jim Wilson  <wilson@redhat.com>
6327
6328         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
6329
6330 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
6331
6332         PR other/8289
6333         * xmmintrin.h: Add const to the argument of loads.
6334
6335         * i386.md (pushv2di): New pattern.
6336         PR target/6890
6337         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
6338
6339 2002-10-22  Richard Henderson  <rth@redhat.com>
6340
6341         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
6342         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
6343         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
6344         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6345         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6346         (TARGET_ASM_OUT): Update.
6347         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
6348         (hook_bool_tree_hwi_hwi_tree_true): New.
6349         (default_can_output_mi_thunk_no_vcall): New.
6350         * hooks.h: Declare them.
6351         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
6352
6353         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6354         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
6355         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
6356         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
6357         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
6358         config/stormy16/stormy16.c: Similarly.
6359
6360         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
6361         Handle 64-bit properly.  Streamline.
6362         (x86_output_mi_vcall_thunk): Remove.
6363         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
6364         (x86_can_output_mi_thunk): New.
6365         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
6366         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6367         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
6368
6369         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
6370         output_mi_thunk; make static; always use function_section.
6371         (TARGET_ASM_OUTPUT_MI_THUNK): New.
6372         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6373         (rs6000_ra_ever_killed): Test no_new_pseudos not
6374         targetm.asm_out.output_mi_thunk in conjunction with thunks.
6375         * config/rs6000/rs6000-protos.h: Update.
6376         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6377         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
6378         xcoffout_declare_function when using rs6000_output_mi_thunk.
6379
6380         * config/s390/s390.c (s390_output_mi_thunk): Rename from
6381         s390_output_mi_vcall_thunk.
6382         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6383         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6384
6385         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
6386         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
6387         * config/vax/vax-protos.h: Update.
6388         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
6389
6390 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
6391
6392         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
6393         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
6394         * i386.md (movti_internal): Use 'C'
6395
6396         * xmmintrin.h (_mm_cmplt_epi*): New.
6397
6398 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6399
6400         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
6401         ("*movdf_64"): Likewise.
6402         ("*lshrdi3_64"): Likewise.
6403         ("blockage"): Add length attribute.
6404         ("lit"): Likewise.
6405
6406 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
6407
6408         * i386.md: FIx typo.
6409         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
6410         (sse2_umulv2siv2di3): Fix predicate.
6411         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
6412         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
6413         * xmmintrin.h (_mm_mul_epu16): Rename to...
6414         (_mm_mul_epu32): This one.
6415         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
6416
6417         (contains_128bit_aligned_vector_p): Undo accidental checkin.
6418
6419 2002-10-22  Eric Christopher  <echristo@redhat.com>
6420
6421         * config/sparc/sparc.h: Add #error.
6422
6423 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
6424
6425         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
6426         [s390x-*-linux*]: Likewise.
6427         * config/s390/t-linux: Remove.
6428         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
6429
6430 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6431
6432         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
6433         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
6434         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
6435         * i386.md (mmx_punpck?dq): Simplify.
6436         (sse2_pubpcklqdq): Fix.
6437         (sse2_pubpckhqdq): New.
6438         * xmmintrin.h (_mm_unpackhi_epi32): New.
6439
6440         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
6441         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
6442
6443 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
6444
6445         PR c++/7209
6446         * fold_const.c (fold_binary_op_with_conditional_arg): Always
6447         build compound_expr if we used save_expr.
6448
6449 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
6450
6451         * output.h (SECTION_NOTYPE): Define.
6452         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
6453         init array sections.
6454         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
6455         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
6456         merge TLS support.
6457
6458 2002-10-21  Richard Henderson  <rth@redhat.com>
6459
6460         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
6461         the function type, not the return type.
6462
6463 2002-10-21  Richard Henderson  <rth@redhat.com>
6464
6465         * real.c (sticky_rshift_significand): Return inexact, don't
6466         or it in immediately.
6467         (sub_significands): Accept incomming carry.
6468         (div_significands, rtd_divmod): Update for sub_significands change.
6469         (round_for_format): Update for sticky_rshift_significand change.
6470         (do_add): Don't involve the inexact bit in addition, do give the
6471         inexact bit as the subtraction carry-in.
6472         (encode_internal, decode_internal, real_internal_format): New.
6473         * real.h (real_internal_format): Declare.
6474
6475 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6476
6477         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
6478         don't define sdiv_qrnnd.
6479
6480 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6481
6482         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
6483         using IN_RANGE.
6484         (TINY_CONSTANT_ADDRESS_P): Likewise.
6485
6486 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
6487
6488         * i386.c (builtin_description): Add punpcklqdq and movdq2q
6489         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
6490         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
6491         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
6492         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
6493         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
6494         __builtin_ia32_setzero128.
6495         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
6496         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
6497         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
6498         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
6499         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
6500         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
6501         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
6502         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
6503         sse2_movq): New patterns.
6504         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
6505         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
6506         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
6507         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
6508         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
6509         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
6510         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
6511         (_mm_insert_epi16): Fix.
6512
6513 2002-10-21  Dale Johannesen  <dalej@apple.com>
6514
6515         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
6516             unsafe math reversals correctly for RTL generation.
6517           (output_cbranch):  Replace rs6000_reverse_condition call
6518             by its former definition.
6519
6520 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
6521
6522         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
6523         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
6524         from constant pool or LABEL_REFs as sign extended if allow_rip.
6525         Change all +-1GB limits to +-16MB.
6526         (x86_64_general_operand, x86_64_szext_general_operand,
6527         x86_64_nonmemory_operand, x86_64_movabs_operand,
6528         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6529         legitimate_address_p, ix86_expand_int_movcc): Update callers.
6530         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
6531         in CM_SMALL_PIC model.
6532         (legitimate_pic_address_disp_p): Don't check offsets before
6533         calling local_symbolic_operand.
6534         (legitimize_pic_address): Force offsets bigger than +-16MB into
6535         register.
6536         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
6537         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
6538         prototype.
6539
6540         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
6541         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
6542         * configure: Rebuilt.
6543         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
6544         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
6545         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
6546         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
6547         -fpic.
6548         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
6549         non-pic code if TARGET_64BIT.
6550         (legitimize_address): Generate 64-bit TLS sequences.
6551         (output_pic_addr_const): Support x86-64 TLS operators.
6552         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
6553         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
6554         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
6555         (output_addr_const_extra): Support x86-64 TLS operators.
6556         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
6557         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
6558         unconditionally.
6559         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
6560         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
6561         (*tls_global_dynamic_sun): Renamed to...
6562         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
6563         (tls_global_dynamic): Renamed to...
6564         (tls_global_dynamic_32): ... this.
6565         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
6566         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
6567         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
6568         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
6569         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
6570         (tls_local_dynamic_base_dynamic): Renamed to...
6571         (tls_local_dynamic_base_dynamic_32): ... this.
6572         (tls_local_dynamic_base_dynamic_64,
6573         *tls_local_dynamic_base_dynamic_64): New.
6574         (*tls_local_dynamic_once): Renamed to...
6575         (*tls_local_dynamic_32_once): ... this.
6576
6577 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6578
6579         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
6580         __divdi3, __umoddi3, or __moddi3.
6581
6582 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6583
6584         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
6585         instead of just opt_index as switch expression.
6586
6587         * calls.c (store_one_arg): Change type of 'excess_align'
6588         to unsigned int.
6589
6590         * profile.c (output_gcov_string): Change type of 'temp'
6591         to size_t.
6592
6593 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6594
6595         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
6596         (__fixunssfdi, __fixsfdi): Likewise.
6597         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
6598         (s390_single_qi): Likewise.
6599         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
6600         unsigned comparison warning.
6601         (s390_return_addr_rtx): New function.
6602         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
6603         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
6604         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
6605
6606 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
6607
6608         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
6609         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
6610         (s390_output_mi_thunk): Remove.
6611         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
6612
6613 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
6614
6615         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
6616
6617 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
6618
6619         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
6620         inverted test in the conditional determining the possibility
6621         of sibcalls in PIC mode.
6622
6623 2002-10-20  Richard Henderson  <rth@redhat.com>
6624
6625         * target.h (struct gcc_target): Line wrap.
6626
6627         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
6628         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
6629         * config/alpha/alpha.h: ... not here.
6630         * config/alpha/alpha-protos.h: Update.
6631
6632         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
6633         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
6634         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6635         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
6636         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
6637         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
6638         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
6639         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6640         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
6641         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
6642         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
6643         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
6644         config/sparc/sparc.c, config/sparc/sparc.h,
6645         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
6646         config/stormy16/stormy16.h: Similarly.
6647
6648         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
6649         selection logic from call patterns.
6650
6651 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
6652
6653         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
6654
6655 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6656
6657         PR other/8202
6658         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
6659         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
6660         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
6661         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
6662
6663 2002-10-20  Roger Sayle  <roger@eyesopen.com>
6664
6665         PR c/761
6666         * toplev.c (flag_unsafe_profile_arcs): Remove.
6667         (flag_bounded_pointers): Remove.
6668         (flag_bounds_check): Correct comments.
6669         (lang_independent_options): Remove -funsafe-profile-arcs and
6670         -fbounded-pointers.  Correct -fbounds-check comments.
6671
6672         * flags.h: Correct flag_schedule_interblock comments.
6673         (flag_bounded_pointers): Remove prototype.
6674         (flag_bounds_check): Correct comments.
6675
6676         * c-opts.c (c_common_init_options): No need to mark
6677         flag_bounds_check as unspecified.
6678         (c_common_post_options): And no need to set it from
6679         flag_bounded_pointers if its still unspecified.
6680
6681         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
6682         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
6683         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
6684         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
6685
6686 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
6687         Angela Marie Thomas  <angela@releasedominatrix.com>
6688         Brendan Kehoe  <brendan@zen.org>
6689         Nick Clifton  <nickc@redhat.com>
6690         Andrew Haley  <aph@redhat.com>
6691
6692         * configure.in (--with-sysroot): New.  Don't inhibit libc if
6693         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
6694         and CROSS_SYSTEM_HEADER_DIR.
6695         * configure: Rebuilt.
6696         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
6697         (TARGET_SYSTEM_ROOT): New.
6698         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
6699         CROSS_SYSTEM_HEADER_DIR.
6700         (install-gcc-tooldir): New target.
6701         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
6702         if SYSTEM_HEADER_DIR does not exist and it's not the default
6703         sys-include directory.
6704         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
6705         (install-mkheaders): Likewise.
6706         * gcc.c (target_system_root): New variable.
6707         (add_sysrooted_prefix): New function.
6708         (process_command): Recompute run-time target_system_root from
6709         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
6710         does not exist.
6711         (do_spec_1): Process 'R' spec.
6712         (main): Add md_exec_prefix to exec_prefixes regardless of
6713         startfile_prefix_spec.  Use add_sysrooted_prefix for
6714         startfile_prefixes, and don't skip the default ones when cross
6715         compiling with sysroot enabled.  Removed unused case of
6716         non-absolute standard_startfile_prefix.
6717         * config/interix.h: Remove the only potential, yet disabled,
6718         occurrence of non-absolute (empty) standard_startfile_prefix.
6719         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
6720         linking.
6721         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
6722         * doc/install.texi (--with-sysroot): Document.
6723         (--with-headers, --with-libs): Deprecate.
6724
6725 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6726             Mark Mitchell  <mark@codesourcery.com>
6727
6728         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
6729         match target.h.
6730         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
6731         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
6732         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
6733         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
6734         x86_output_mi_thunk): Likewise.
6735         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
6736         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
6737         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
6738         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
6739         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
6740         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
6741         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
6742         Likewise.
6743         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
6744
6745         * target.h (gcc_target): Update output_mi_thunk and
6746         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
6747         vcall_index.
6748
6749         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
6750         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6751         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
6752         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
6753         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
6754         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
6755         signature.
6756         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
6757         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6758         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6759         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
6760         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
6761         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
6762         TARGET_ASM_OUTPUT_MI_THUNK in comments.
6763         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
6764         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
6765
6766         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
6767         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
6768
6769 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
6770
6771         * real.c (do_add): Fix 0+0 sign corner case.
6772         (do_divide): Fix Inf/0 corner case.
6773
6774 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
6775
6776         * i386.c (classify_argument): Pass MMX arguments in memory
6777         (ix86_expand_builtin): Expand proper address mode for cflush.
6778         * i386.md (movdqa): Fix typo.
6779         (sse2_cflush): Accept DImode addresses.
6780
6781         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
6782         (_mm_max_sd): Fix pasto.
6783         (_mm_storeh_pd, _mm_storel_pd): Fix.
6784
6785         * i386.c (bdesc_comi): Fix to match specification.
6786         (ix86_expand_sse_comi): Emit the comparison properly.
6787         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
6788         Do not use comparison operator.
6789         (vnmaskcmp): Fix template.
6790
6791         * xmmintrin.h (_mm_cvtps_pi16): Fix.
6792
6793 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
6794
6795         * dependence.c : Removed.
6796         * Makefile.in : Remove dependence.o.
6797
6798 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
6799
6800         * mmintrin.h (__m64): typedef it to v2si.
6801         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
6802         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
6803         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
6804         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
6805         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
6806         * xmmintrin.h (_mm_setzero_si64): Likewise.
6807
6808         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
6809         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
6810
6811         PR target/7693
6812         Patch by Shawn Wagner
6813         * mmintrin.h: Replace pi64 by si64.
6814
6815 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
6816
6817         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
6818         Use length of 4 not *.
6819         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
6820         (movdf_softfloat64): Likewise.
6821         (movdi_internal32): Use length of 4 not *.
6822         (movti_power): Same.
6823         (ctrsi, ctrdi): Same.
6824
6825 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
6826
6827         * c-decl.c (start_decl): Point users of the old initialized-
6828         typedef extension at __typeof__.
6829
6830 2002-10-18  Richard Henderson  <rth@redhat.com>
6831
6832         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
6833         (real_to_decimal): Re-implement using the logic from the
6834         gcc 3.2 etoasc.  Comment heavily.
6835         (div_significands): Simplify loop startup and comparison logic.
6836
6837 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
6838
6839         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
6840         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
6841         (TARGET_ASM_OUT): Add them.
6842         * target.h (asm_out): Add output_mi_thunk and
6843         output_mi_vcall_thunk.
6844         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6845         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6846         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
6847         * config/arm/arm.c (arm_output_mi_thunk): Define.
6848         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6849         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6850         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6851         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6852         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6853         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6854         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
6855         prototype.
6856         (x86_output_mi_vcall_thunk): Declare.
6857         * config/i386/i386.c (override_options): Clear
6858         output_mi_vcall_thunk in 64-bit mode.
6859         (ix86_fntype_regparm): New function.
6860         (ix86_return_pops_args): Use it.
6861         (ia32_this_parameter): New function.
6862         (x86_output_mi_vcall_thunk): New function.
6863         (x86_output_mi_thunk): Use it
6864         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
6865         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
6866         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
6867         * config/i960/i960.c (i960_output_mi_thunk): New function.
6868         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
6869         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
6870         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
6871         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6872         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6873         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
6874         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6875         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6876         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6877         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6878         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6879         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6880         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6881         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6882         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6883         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6884         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
6885         * config/s390/s390.c (s390_output_mi_thunk): Define.
6886         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6887         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6888         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6889         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6890         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6891         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6892         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
6893         * config/vax/vax.c (vax_output_mi_thunk): Define.
6894         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
6895         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
6896         * doc/tm.texi: Adjust documentation.
6897
6898 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6899
6900         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
6901         __enable_execute_stack function.
6902         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
6903         as NETBSD_ENABLE_EXECUTE_STACK.
6904         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6905         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6906         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6907         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6908         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
6909
6910 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
6911
6912         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
6913         to __enable_execute_stack with the address of the trampoline
6914         if TRANSFER_FROM_TRAMPOLINE is defined.
6915         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
6916         constant if building libgcc2.
6917
6918 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
6919
6920         * i386.c (pentium4_cost): Fix according to Intel recommendations.
6921         (ix86_memory_move_cost): Fix for 64bit compilation.
6922
6923 2002-10-17  Roger Sayle  <roger@eyesopen.com>
6924
6925         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
6926
6927 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
6928
6929         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
6930         in CTR/LR/MQ.
6931         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
6932         to/from CTR/LR/MQ.
6933         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
6934         (movsf_softfloat): Likewise.
6935
6936 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
6937
6938         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
6939
6940 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
6941
6942         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
6943         tramp, not addr, to pass the trampoline address to
6944         __enable_execute_stack.
6945
6946 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
6947
6948         * mmintrin.h: Guard by __MMX__
6949         * xmmintrin.h: Guard by __SSE__
6950
6951         PR other/8062
6952         * xmmintrin.h (_MM_SHUFFLE2): New macro.
6953         (_mm_load*_?d): New functions.
6954         (_mm_set*_?d): New functions.
6955         (_mm_store*_?d): New functions.
6956
6957 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
6958
6959         Really commit patch announced at Oct 14
6960         PR c/7344
6961         * predict.c (can_predict_insn_p): New function.
6962         (estimate_probability): Avoid unnecesary work.
6963         (process_note_prediction): Likewise.
6964         * toplev.c (rest_of_compilation): Account early branch prediction pass
6965         as TV_BRANCH_PROB.
6966
6967         PR other/8048
6968         Found by Ian Ollmann
6969         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
6970         (_mm_load?_pd): Likewise.
6971         (_mm_store?_pd): Likewise.
6972
6973         PR target/7386
6974         * i386.c (builtin_description):Drop cmpg[te]s[sd].
6975         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
6976         swapped alternative.
6977
6978         PR opt/7630
6979         * reload1.c (reload_inner_reg_of_subreg): New argument output;
6980         (push_reload): Update call.
6981
6982 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
6983
6984         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
6985         if using mips/elf.h or mips/elf64.h.
6986         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
6987         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
6988
6989 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
6990
6991         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
6992         SI.
6993
6994 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
6995
6996         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
6997         (LPREFIX): Likewise.
6998         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
6999         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
7000         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
7001         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
7002         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
7003
7004         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
7005         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
7006         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7007         BSS_SECTION_ASM_OP): Move from linux.h.
7008         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7009         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7010
7011         * config/s390/s390.c (s390_function_profiler): Use
7012         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
7013
7014 2002-10-15  Eric Christopher  <echristo@redhat.com>
7015
7016         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
7017         * java/parse.y (obtain_incomplete_type): Make pointer
7018         ptr_mode.
7019
7020 2002-10-15  Richard Henderson  <rth@redhat.com>
7021
7022         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
7023         as arguments.  Bound DIGITS by the available buffer size.
7024         (real_to_hexadecimal): Likewise.
7025         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
7026         (REAL_VALUE_TO_DECIMAL): Remove.
7027         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
7028         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
7029         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
7030         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7031         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
7032         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
7033         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
7034         use real_to_decimal directly, and with the proper arguments.
7035         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
7036
7037 2002-10-15  Jim Wilson  <wilson@redhat.com>
7038
7039         * reload1.c (merge_assigned_reloads): After converting overlapping
7040         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
7041
7042         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
7043
7044 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
7045
7046         * expr.c (do_tablejump): Fix typo in my previous commit.
7047
7048 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
7049
7050         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
7051
7052 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7053
7054         * config/s390/s390.c (s390_split_branches): Add return
7055         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
7056
7057         (find_base_register_in_addr): New function.
7058         (find_base_register_ref): New function.
7059         (replace_base_register_ref): New function.
7060
7061         (struct constant_pool): Add members pool_insn, insns, and anchor.
7062         Remove member last_insn.
7063         (s390_start_pool): Initialize them.
7064         (s390_end_pool): Emit pool placeholder insn.
7065         (s390_add_pool_insn): New function.
7066         (s390_find_pool): Use insns bitmap instead of addresses.
7067         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
7068         Replace unspec 104 by local-pool-relative references.
7069         (s390_output_constant_pool): Output anchor label if required.
7070         (s390_output_symbolic_const): Handle unspec 104 and 105.
7071         (s390_add_pool): Remove, replace by ...
7072         (s390_add_constant, s390_find_constant): ... these new functions.
7073         (s390_add_anchor): New function.
7074
7075         (s390_chunkify_pool): Delete, replace by ...
7076         (s390_chunkify_start, s390_chunkify_finish,
7077         s390_chunkify_cancel): ... these new functions.
7078         (s390_optimize_prolog): Add parameter TEMP_REGNO.
7079         Recompute register live data for special registers.
7080         (s390_fixup_clobbered_return_reg): New function.
7081         (s390_machine_dependent_reorg): Rewrite to use new
7082         s390_chunkify_... routines.
7083
7084         config/s390/s390.md ("reload_base"): Rename to ...
7085         ("reload_base_31"): ... this.
7086         ("reload_base_64"): New insn.
7087         ("reload_base2"): Remove.
7088         ("reload_anchor"): New insn.
7089         ("pool"): New insn.
7090
7091         s390.c (s390_pool_overflow): Remove.
7092         s390.h (s390_pool_overflow): Likewise.
7093         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
7094
7095 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7096
7097         * sh.md (movv8qi_i+2): Don't split if source is -1.
7098
7099 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
7100
7101         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
7102
7103 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
7104
7105         PR opt/7409
7106         * loop.c (loop_regs_scan): Mark registers used for function
7107         argument passing as MAY_NOT_OPTIMIZE.
7108
7109 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7110
7111         * gcov-io.h (gcov_info): Fix type.
7112         * profile.c (create_profiler): Fix type mismatch.
7113
7114 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
7115
7116         * i386.md (movv2di_internal): New pattern.
7117         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
7118         (movv2di): New expander.
7119         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
7120
7121         * i386.c (ix86_expand_timode_binop_builtin): Delete.
7122         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
7123         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
7124         (ix86_expand_builtin): Likewise.
7125         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7126         sse_andti3,
7127         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
7128         sse_andnti3,
7129         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
7130         sse_orti3,
7131         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
7132         sse_xorti3): Kill.
7133         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
7134          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
7135         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
7136          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7137         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
7138          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
7139
7140         * xmmintrin.h (__m128i): Define as __v2di.
7141
7142         PR c++/6419
7143         (expand_expr): Use DECL_RTL_SET_P.
7144
7145 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7146
7147         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
7148
7149 2002-10-14  Roger Sayle  <roger@eyesopen.com>
7150             Zack Weinberg <zack@codesourcery.com>
7151
7152         * config/i386/i386.c (k6_cost): Correct typo.
7153
7154 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
7155
7156         PR optimization/6631
7157         * alias.c (objects_must_conflict_p): Check honor_readonly when
7158         examining TYPE_READONLY.
7159         * function.c (assign_stack_temp_for_type): Likewise.
7160
7161 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7162
7163         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
7164         Swap zero extension arguments.
7165         (umaxhi3): Fix instruction class.
7166         PR target/7211
7167         (prefetch): Fix prefetch instructions.
7168         PR target/7238
7169         (pkwb): Fix output constraint.
7170
7171 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
7172
7173         * config/mips/mips.c (print_operand): Increase buffer size for
7174         real numbers.
7175
7176 2002-10-14  Richard Henderson  <rth@redhat.com>
7177
7178         PR opt/8165
7179         * gcse.c (adjust_libcall_notes): Revert last change.
7180         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
7181
7182 2002-10-14  Andrew Haley  <aph@redhat.com>
7183
7184         * tree-inline.c (remap_block): All local class initialization
7185         flags go in the outermost scope.
7186         (expand_call_inline): Call java_inlining_map_static_initializers.
7187         (expand_call_inline): Call java_inlining_merge_static_initializers.
7188         * java/lang.c (merge_init_test_initialization): New.
7189         (java_inlining_merge_static_initializers): New.
7190         (inline_init_test_initialization): New.
7191         (java_inlining_map_static_initializers): New.
7192
7193         * tree-inline.c (expand_call_inline): Convert retvar to expected
7194         type.
7195
7196 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
7197
7198         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
7199
7200 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
7201
7202         * stmt.c: Fix typo in comment.
7203
7204 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7205
7206         * c-common.c (c_common_type_for_mode): Add V2HImode case.
7207         * tree.c (build_common_tree_nodes_2): Initialize
7208         unsigned_V2HI_type_node and V2HI_type_node.
7209         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
7210         (unsigned_V2HI_type_node, V2HI_type_node): Define.
7211
7212 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
7213
7214         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
7215         Handle TARGET_64BIT.
7216
7217 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7218
7219         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
7220         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
7221         (MULTILIB_DIRNAMES): Remove long32.
7222         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
7223         (MULTILIB_REDUNDANT_DIRS): Remove.
7224
7225 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
7226
7227         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
7228         * gcc.c (driver_self_specs): New variable.
7229         (do_self_spec): New function.
7230         (main): Use it to process driver_self_specs.
7231
7232 2002-10-13  Richard Henderson  <rth@redhat.com>
7233
7234         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
7235         indirect sibcalls when regparm >= 3.
7236
7237         * config/i386/i386.c (sibcall_insn_operand): New.
7238         * config/i386/i386.h (PREDICATE_CODES): Update.
7239         * config/i386/i386-protos.h: Update.
7240         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
7241
7242         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
7243
7244 2002-10-12  Roger Sayle  <roger@eyesopen.com>
7245
7246         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
7247         arithmetic right shifts of ~0 during RTL simplifications.
7248
7249 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
7250
7251         PR preprocessor/7862
7252         PR preprocessor/8190
7253         * gcc.c (cpp_unique_options): Don't delete .d files.
7254         Remove stray whitespace.
7255
7256 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
7257
7258         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
7259         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7260         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
7261         (pdp11_output_function_epilogue, output_ascii): Likewise.
7262         (output_addr_const_pdp11): Likewise.
7263         * pdp11.md (movdi): Use offsetable memory for floating store.
7264         (lshrsi3, negsi2): Delete irrelevant comment.
7265
7266 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
7267
7268         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
7269         indirect calls to be sibcall optimized.
7270         * config/i386/i386.md (sibcall_1): New.
7271         (call_1): Add no-sibcalls condition.
7272         (sibcall_value_1): New.
7273         (call_value_1): Add no-sibcalls condition.
7274
7275 2002-10-11  Eric Christopher  <echristo@redhat.com>
7276
7277        * output.h (default_valid_pointer_mode): Declare.
7278        * varasm.c (default_valid_pointer_mode): Define.
7279        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
7280        * target.h: Ditto.
7281        * tree.c (build_pointer_type_for_mode): New function.
7282        (build_pointer_type): Use.
7283        (build_reference_type_for_mode): New function.
7284        (build_reference_type): Use.
7285        * tree.h: Declare new functions.
7286        * c-common.c (handle_mode_attribute): Use new functions, check
7287        for type.
7288        * stor-layout.c (layout_type): Depend on machine mode for
7289        REFERENCE_TYPE and POINTER_TYPE.
7290        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
7291        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
7292        and REFERENCE_TYPE.
7293        * config/mips/mips.c (mips_valid_pointer_mode): New function.
7294        (TARGET_VALID_POINTER_MODE): Use and define.
7295        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
7296
7297 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
7298
7299         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
7300         not the address of the REG.
7301         (struct cse_reg_info): Make subreg_ticked unsigned.
7302
7303 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
7304
7305         * doc/compat.texi: Add info about C++ libraries.
7306
7307 2002-10-11  Richard Henderson  <rth@redhat.com>
7308
7309         PR opt/8165
7310         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
7311
7312 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7313
7314         * cfganal.c (dfs_enumerate_from): Use PARAMS.
7315         * genautomata.c (output_insn_code_cases): Likewise.
7316         * real.c (real_format): Likewise.
7317         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
7318         ensure value is promoted before doing subtraction.
7319
7320 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
7321
7322         * calls.c (expand_call): Simplify noreturn call.
7323
7324         PR c/7344
7325         * cfgbuild.c (make_edges): Create edge cache when we do have
7326         large jumptable.
7327         * expr.c (do_tablejump): Note size of maximal jumptable.
7328         * function.c (prepare_function_start): Zero out size.
7329         * function.h (function): Add max_jumptable_ents.
7330
7331         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7332
7333 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
7334
7335         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
7336         register for mperm_w operation.
7337
7338 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
7339
7340         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
7341         an integer, use simplify_gen_subreg.
7342
7343 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
7344
7345         * calls.c (flags_from_decl_or_type): Make extern.
7346         (ECF_*): Move ...
7347         * rtl.h (ECF_*): ... here.
7348         (flags_from_decl_or_type): Declare.
7349
7350 2002-10-10  Roger Sayle  <roger@eyesopen.com>
7351             Nathan Sidwell <nathan@codesourcery.com>
7352
7353         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
7354         shifts of the form -1 >> x.
7355
7356 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
7357
7358         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
7359
7360 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
7361
7362         * extend.texi (Vector Extensions): Remove comment about single
7363         element vectors.
7364
7365 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7366
7367         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
7368         * function.c (insns_for_mem_hash): Likewise.
7369         * varasm.c (STRHASH): Likewise.
7370
7371 2002-10-10  Stuart Hastings  <stuart@apple.com>
7372
7373         * cse.c (struct cse_reg_info): Add subreg_ticked.
7374         (SUBREG_TICKED): New.
7375         (get_cse_reg_info): Initialize SUBREG_TICKED.
7376         (mention_regs): Use it.
7377         (invalidate): Set SUBREG_TICKED.
7378         (invalidate_for_call): Likewise.
7379         (addr_affects_sp_p): Likewise.
7380
7381 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
7382
7383         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
7384         into proper operand.
7385
7386 2002-10-10  Denis Chertykov  <denisc@overta.ru>
7387
7388         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
7389         deallocation.
7390         * config/ip2k/libgcc.S: Combine routines used by function
7391         epilogue.
7392
7393 2002-10-10  Jim Wilson  <wilson@redhat.com>
7394
7395         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
7396         UDIV.
7397
7398 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
7399
7400         * config/rs6000/aix52.h: New file.
7401         * config/rs6000/t-aix52: New File.
7402         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
7403         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
7404
7405 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
7406
7407         PR target/5610
7408         * invoke.texi (-msse-math): Kill
7409         (-msse): Add note to mfpmath=sse.
7410
7411 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
7412
7413         PR target/7723
7414         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
7415
7416 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
7417
7418         PR preprocessor/8179
7419         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
7420         as cc1_options.
7421         (default_compilers): Pass debug options when preprocessing
7422         stdin.
7423
7424 2002-10-06  Richard Henderson  <rth@redhat.com>
7425
7426         * toplev.c (rest_of_compilation): Revert opt/2960 change.
7427
7428 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
7429
7430         * i386.c (*_cost): Add branch costs.
7431         (override_options): set ix86_branch_cost.
7432         (ix86_expand_int_movcc): Use BRANCH_COST.
7433         * i386.h (costs): Add branch_cost.
7434
7435 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
7436
7437         PR c/7353
7438         * c-decl.c (start_decl): Unconditionally issue error for
7439         'typedef foo = bar'.
7440         (finish_decl): Remove special case for TYPE_DECL with initializer.
7441
7442         * doc/extend.texi: Delete "Naming Types" section.  Change all
7443         cross-references to that section to refer to "Typeof" instead.
7444         Add the useful safe-max()-macro example from "Naming Types" to
7445         "Typeof", rewritten using that extension.  Add some compatibility
7446         notes to "Typeof."
7447
7448 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7449
7450         * loop.c: Revert 2002-08-15 change.
7451         (LOOP_REGNO_NREGS): Ensure type is int.
7452
7453 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7454
7455         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
7456         which copies first FPR and clears second.
7457         (extendsftf2): Same.
7458         (floatditf2): Fix typo.
7459         (floatsitf2): Same.
7460         (fix_trunctfdi2): Same.
7461         (fix_trunctfsi2): Same.
7462
7463 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7464
7465         * conflict.c (arc_hash): Change return type to hashval_t.
7466         * cselib.c (get_value_hash): Likewise.
7467         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
7468         state_hash, automata_list_hash): Likewise.
7469         * read-rtl.c (def_hash): Likewise.
7470         * tree.c (type_hash_hash): Likewise.
7471
7472 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
7473
7474         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
7475         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
7476
7477 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7478
7479         * sh.md (ffssi2): Fix emitted code.
7480
7481 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
7482
7483         * cse.c (insn_live_p): Pass insn pattern, not full insn
7484         to may_trap_p.
7485
7486 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
7487
7488         * cppmacro.c (paste_tokens): Only allow / to paste with =.
7489
7490 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
7491
7492         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
7493         64-bit hosts.
7494         (movtf_internal): Reference correct displacement for second value
7495         in memory.
7496         (movtf splitter): Correct generation of constants in 64-bit mode.
7497
7498 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
7499
7500         * libgcc2.c (__floatdisf): Properly cure double rounding.
7501
7502 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7503
7504         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
7505         * doc/cpp.texi (Common Predefined Macros): Document.
7506
7507 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7508
7509         PR doc/7484
7510         * doc/invoke.texi (Option Summary): List
7511         -Wmissing-declarations as a C only option.
7512
7513 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7514
7515         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
7516         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
7517         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
7518
7519 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
7520
7521         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7522         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
7523         variables.
7524         (safe_vector_operand): Update sse_clrv4sf call.
7525         (ix86_expand_buildin): Likewise
7526         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
7527         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
7528         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
7529         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
7530         macros.
7531         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
7532         movv4si):  Obey the new flags.
7533         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
7534         reformating penalty.
7535         (anddf, cmov patterns): Avoid reformating by first converting.
7536         (sse_cvtsd2ss): Fix predicate.
7537         (sse2_clrti): Fix mode,
7538         (sse_clrv4sf): Avoid unspec.
7539
7540 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
7541
7542         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
7543         mno-app-regs|mcmodel=medany.
7544         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
7545         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
7546         (CRTSTUFF_T_CFLAGS): Define.
7547
7548 2002-10-08  Roger Sayle  <roger@eyesopen.com>
7549
7550         PR target/8087
7551         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
7552         pool references that are constructed using LO_SUM.
7553
7554 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
7555
7556         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
7557         -Wall.
7558         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
7559         message.
7560         * flags.h (warn_strict_aliasing): Declare.
7561         * toplev.c (warn_strict_aliasing): Define.
7562         (lang_independent_options): Add it.
7563         * doc/invoke.texi (-Wstrict-aliasing): Document it.
7564
7565 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
7566
7567         * system.h (GCCBUGURL): Delete.
7568         * version.c (bug_report_url): New.  Add commentary about
7569         modifying both these strings in modified distributions.
7570         * version.h: Declare bug_report_url.
7571
7572         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
7573         bug_report_url.
7574
7575 2002-10-08  Nick Clifton  <nickc@redhat.com>
7576
7577         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
7578         convert uint64_t into __ev64_opaque__.
7579         (__ev_set_acc_s64): Likewise, but using signed types.
7580
7581 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
7582
7583         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
7584         ("*doloop_di_long"): Likewise.
7585
7586 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
7587
7588         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
7589
7590 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
7591
7592         * config/mips/mips.md (define_attr cpu): Add r4111.
7593
7594 2002-10-08  Anthony Green  <green@redhat.com>
7595
7596         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
7597
7598 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7599
7600         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
7601         for REAL_VALUE_TO_DECIMAL output.
7602
7603 2002-10-07  Richard Henderson  <rth@redhat.com>
7604
7605         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
7606         function; cleanup PLUS case by using recursion.  Update all users.
7607         (NONZERO_BASE_PLUS_P): Remove.
7608         (find_comparison_args): Use rtx_addr_can_trap_p instead.
7609         (fold_rtx): Use nonzero_address_p.
7610         * rtl.h (nonzero_address_p): Declare.
7611         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
7612         (rtx_addr_can_trap_p): Likewise.
7613         (nonzero_address_p): New.
7614         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
7615         (simplify_relational_operation): Use nonzero_address_p.
7616
7617 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
7618
7619         * config/rs6000/rs6000.c (rs6000_override_options): Set
7620         real_format_for_mode for IBM extended format, if enabled.
7621         (easy_fp_constant): Add TFmode.
7622         (rs6000_legitimize_address): Add TFmode.
7623         (rs6000_legitimate_address): Same.
7624         (function_arg_advance): TFmode uses two FPRs.
7625         (rs6000_emit_prologue): Fix warning.
7626         (rs6000_output_function_epilogue): Add TFmode.
7627         (output_toc): Add TFmode.
7628         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
7629         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
7630         * rs6000.md (movtf splitter): Load TFmode constant.
7631
7632 2002-10-07  Dale Johannesen  <dalej@apple.com>
7633
7634         * rtl.h:  Add NOTE_PRECONDITIONED.
7635         * unroll.c:  Set it.
7636         * loop.c:  Set loop_info->preconditioned from it.
7637         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
7638
7639 2002-10-07  Richard Henderson  <rth@redhat.com>
7640
7641         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
7642         new rtx for comparing the argument pointer against zero.
7643         (i960_va_start): Similarly.
7644
7645 2002-10-07  Richard Henderson  <rth@redhat.com>
7646
7647         * config/i960/i960.md (*): Use TFmode, not XFmode.
7648         * config/i960/i960.c (*): Likewise.
7649         (i960_arg_size_and_align): Remove XFmode alignment hack.
7650         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
7651         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
7652         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
7653         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
7654
7655 2002-10-07  Richard Henderson  <rth@redhat.com>
7656
7657         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
7658         entry points; use void return value and argument list.
7659
7660 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
7661
7662         * calls.c (expand_call): Fix function-is-volatile check.
7663
7664 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
7665
7666         * t-pdp11: Add MULTILIB support for msoft-float.
7667         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
7668
7669         * t-pdp11: Add LIB2FUNCS_EXTRA.
7670         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
7671         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
7672         'fldd' to 'ldd', rename 'fstd' to 'std'.
7673         (pdp11_output_function_epilogue): Likewise.
7674         (output_move_quad): Make the comment gas compatible.
7675         (output_ascii): Add preceding 0 to the octal constant.
7676         (print_operand_address): Add pre_modify, post_modify.
7677         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
7678         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
7679         with the indication of Paul Koning.
7680         (PRINT_OPERAND): Fix floating constant.
7681         * pdp11.md (movdi): Restrict matching pattern.
7682         (movqi): Generalize the matching pattern.
7683         (movdf): Restrict matching pattern.
7684         (zero_extendqihi2): Change constant representation.
7685         (floatsidf2): Fix wrong operands.
7686         (addqi3): Fix wrong instruction name.
7687         (subqi3): Fix wrong instruction name.
7688         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
7689         (xorsi3): Fix wrong insn.
7690         (one_cmplqi2): Add two operand pattern.
7691         (lsrsi3): New.
7692         (negsi2): New.
7693         (call): Add register indirect case.
7694         (mod): Fix wrong subreg.
7695
7696 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
7697             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7698
7699         PR c/7411
7700         * expr.c (expand_expr) [PLUS]: Simplify after the operands
7701         have been expanded in EXPAND_NORMAL mode.
7702
7703 2002-10-06  Richard Henderson  <rth@redhat.com>
7704
7705         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
7706
7707 2002-10-06  Richard Henderson  <rth@redhat.com>
7708
7709         PR optimization/2960
7710         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
7711         optimize_size.
7712
7713 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
7714
7715         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
7716         previously definitions.
7717
7718 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
7719
7720         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
7721         * c-opts.c (find_opt): Similarly.
7722
7723 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
7724
7725         * athlon.md: rewrite to DFA.
7726         * i386 (ix86_adjust_cost): Drop memory latency code.
7727         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
7728
7729 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
7730
7731         * gcc.c (set_multilib_dir): Don't access *end.
7732         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
7733         (print_multilib_info): Don't show paths starting with ".:".
7734         * genmultilib: Add new option, "yes" if multilibs are enabled.
7735         Update comments.  If multilibs not enabled, print .:${osdirout}
7736         for each directory.  If multilibs are enabled, always print
7737         ${dirout}:${osdirout}, even if the two are the same.
7738         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
7739         Pass all MULTILIB_* variables to genmultilib even if
7740         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
7741
7742 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
7743
7744         * gcc.c (process_command): Set .validated for -pipe.  Correct
7745         grammar in comment.
7746
7747 2002-10-04  Bruce Korb  <bkorb@gnu.org>
7748
7749         * fixinc/inclhack.def(hpux11_abs):  use format fix
7750         * fixinc/fixincl.x: regenerate
7751         * fixinc/tests/base/stdlib.h: accommodate new fix test
7752
7753 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
7754
7755         * c-common.c (cb_register_builtins):  Use really_no_inline.
7756
7757 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
7758
7759         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
7760         copied instruction if the note is not loop invariant.
7761
7762 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
7763
7764         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
7765
7766 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7767
7768         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
7769         and -mhp-ld options to list of options.  Add -mgnu-ld
7770         and -mhp-ld option descriptions.
7771
7772 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
7773
7774         * fixinc/inclhack.def (hpux11_abs):  New.
7775         (stdio_va_list): change __va_list__ to __gnuc_va_list.
7776         * fixinc/fixincl.x: Rebuild.
7777
7778 2002-10-04  Roger Sayle  <roger@eyesopen.com>
7779
7780         * config/i386/i386.h (processor_costs): Add new fields fadd,
7781         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
7782         (RTX_COSTS): Use these fields to determine the RTX costs
7783         of floating point addition/subtraction, multiplication,
7784         division, fabs, negation and square root respectively.
7785         * config/i386/i386.c (size_cost): Provide instruction sizes
7786         for these new fields.
7787         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
7788         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
7789         counts for these new fields for all x86 processor variants.
7790
7791 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7792
7793         * mips.c (mips_const_double_ok): Delete unused variable.
7794
7795         * gengtype.c (rtx_next): Change type to int.
7796
7797 2002-10-04  Andreas Jaeger  <aj@suse.de>
7798
7799         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
7800
7801 2002-10-04  Richard Henderson  <rth@redhat.com>
7802
7803         * real.h (SIGNIFICAND_BITS): Add one more word.
7804         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
7805         * real.c (times_pten): New.
7806         (real_to_decimal, real_from_string): Use it.
7807         (sticky_rshift_significand): Use & to find modulus.
7808         (rshift_significand, lshift_significand): Likewise.
7809         (do_divide): Apply sticky bit after normalization.
7810         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
7811
7812 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
7813
7814         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
7815         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
7816
7817 2002-10-03  Andreas Jaeger  <aj@suse.de>
7818
7819         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
7820         to unsigned long, adjust printf format string.
7821         (output_mangled_typename): Likewise.
7822
7823 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
7824
7825         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
7826         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
7827         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
7828         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
7829         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
7830         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
7831         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
7832         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
7833
7834 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
7835
7836         * doc/invoke.texi (-Wabi): Document mangling bug.
7837
7838 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
7839
7840         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
7841         name for the tbtab label that depends on the function asm name.
7842         Don't output tbtab label unless optional_tbtab.
7843         (output_mi_thunk): Formatting.
7844
7845 2002-10-03  Richard Henderson  <rth@redhat.com>
7846
7847         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
7848         * config/m68k/m68k.c (override_options): ... here.
7849         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
7850         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
7851         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7852         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7853
7854 2002-10-03  Richard Henderson  <rth@redhat.com>
7855
7856         * real.h (struct real_value): Use ENUM_BITFIELD.
7857
7858 2002-10-03  Richard Henderson  <rth@redhat.com>
7859
7860         * config/i960/i960.md (call, call_value): Use emit_call_insn.
7861
7862 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7863
7864         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
7865
7866 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
7867
7868         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
7869         * config/pa/pa.h (MASK_GNU_LD): New.
7870         (TARGET_GNU_LD): New.
7871         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
7872         on gnu-ld and MASK_GNU_LD.
7873         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
7874
7875 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
7876
7877         * i386.c (athlon_cost): Fix the move costs.
7878
7879 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
7880
7881         * final.c (final): Use symbol name as function name for profiling.
7882         * profile.c (get_exec_counts): Likewise.
7883         (branch_prob): Likewise.
7884
7885 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7886
7887         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
7888
7889 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
7890
7891         * gcc.c (print_multi_os_directory): New variable.
7892         (option_map): Support --print-multi-os-directory.
7893         (struct prefix_list): Add os_multilib field.
7894         (multilib_os_dir): New variable.
7895         (static_specs): Add multilib_options.
7896         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
7897         subdirs if nonzero.
7898         (read_specs, execute): Update callers.
7899         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
7900         pass 1 as multilib option.
7901         (display_help): Include --print-multi-os-directory.
7902         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
7903         (process_command): Update callers.  Handle --print-multi-os-directory.
7904         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
7905         set.
7906         (main): Update find_a_file and add_prefix callers.
7907         Handle print_multi_os_directory.
7908         (struct mdswitchstr): New.
7909         (mdswitches, n_mdswitches): New variables.
7910         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
7911         present on the command line nor their mutually incompatible
7912         switches.
7913         (default_arg): Optimize.
7914         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
7915         array.
7916         (print_multilib_info): Only print GCC multilib dir name, not OS
7917         multilib dirname.
7918         * genmultilib: Add osdirnames parameter.  Output multilib_options
7919         variable.  If osdirnames is specified, output dirnames as
7920         dirname:osdirname.
7921         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
7922         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
7923         to compute libgcc_s soname and install path.
7924         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
7925         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
7926         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
7927         argument.
7928
7929         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7930         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7931         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
7932         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
7933         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
7934         and -m64.
7935         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
7936         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7937         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
7938         (STARTFILE_ARCH_SPEC): Remove.
7939         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
7940         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7941         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
7942         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
7943         (SHLIB_SLIBDIR_SUFFIXES): Remove.
7944
7945 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
7946
7947         * predict.c (choose_function_section): Avoid choice for linkonce functions.
7948
7949 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
7950
7951         * i386.md (lea to mul peep2): Fix condition.
7952
7953 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7954
7955         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
7956         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
7957
7958 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
7959
7960         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
7961         attribute "unused".
7962
7963         * config/t-libunwind: Mention unwind-sjlj.c.
7964         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
7965         to #ifndef __USING_SJLJ_EXCEPTIONS__.
7966
7967         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
7968         before inclusion of config.gcc, but after configuring the compiler etc.
7969         Determine default value for --enable-libunwind-exceptions based on
7970         whether the host has a libunwind library (not guaranteed to be correct,
7971         but it's a reasonable first guess and can always be overridden with an
7972         explicit --enable/disable-libunwind-exceptions.
7973         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
7974         tmake_file when $use_libunwind_exceptions is enabled.
7975         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
7976         ia64 (e.g., config/t-linux also updates it).
7977         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
7978         along with the shared version of libgcc since the latter requires
7979         the former.
7980         * unwind-libunwind.c: New file.
7981         * config/t-libunwind: Ditto.
7982
7983 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7984
7985         * config.gcc: Remove support for vax-*-vms*.
7986         * config/vax/vms.h: Remove.
7987         * config/vax/xm-vms.h: Remove.
7988         * config/vax/vax-protos.h: Remove VMS-specific code.
7989         * config/vax/vax.c: Remove VMS-specific code.
7990
7991 2002-10-02  Richard Henderson  <rth@redhat.com>
7992
7993         PR opt/7124
7994         * config/i386/i386.c (ix86_register_move_cost): Increase cost
7995         for secondary_memory_needed pairs.
7996
7997 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7998
7999         * doc/vms.texi: Blow away false include file section.
8000
8001 2002-10-02  Roger Sayle  <roger@eyesopen.com>
8002
8003         PR optimization/6627
8004         * toplev.c (force_align_functions_log): New global variable.
8005         * flags.h (force_align_functions_log): Add extern prototype.
8006         * varasm.c (assemble_start_function): Use it to force minimum
8007         function alignment.
8008         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
8009         minimum function alignment to one byte.
8010         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
8011         the least significant bit of vtable member function pointers.
8012         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
8013         here from cp/cp-tree.h.
8014
8015 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8016
8017         * i386.c (print_operand_address): Use RIP addressing for offsetted
8018         label refs too.
8019
8020 2002-09-30  David S. Miller  <davem@redhat.com>
8021
8022         PR middle-end/7151
8023         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
8024         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8025
8026 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
8027
8028         * calls.c (expand_call): Remove the `no indirect check'
8029         for sibcall optimization; use function_ok_for_sibcall
8030         target hook; refine check for `function is volatile'.
8031         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
8032         * hooks.c (hook_tree_tree_bool_false): New.
8033         * hooks.h (hook_tree_tree_bool_false): Declare.
8034         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
8035         (TARGET_INITIALIZER): Add it.
8036         * target.h (struct gcc_target): Add function_ok_for_sibcall.
8037         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
8038         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8039         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8040         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
8041         Remove function declaration.
8042         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
8043         function static and accept another argument of type `tree'.
8044         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8045         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8046         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8047         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
8048         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8049         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8050         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8051         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
8052         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
8053         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8054         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8055         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
8056         Remove function declaration.
8057         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
8058         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
8059         rename first argument to `decl'; accept another argument
8060         of type `tree'; make static.
8061         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8062         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8063         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
8064         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8065         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8066         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
8067         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
8068         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8069         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
8070
8071 2002-10-01  Roger Sayle  <roger@eyesopen.com>
8072
8073         * unroll.c (loop_iterations): Revert 2002-09-08 change.
8074
8075 2002-10-01  Richard Henderson  <rth@redhat.com>
8076
8077         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
8078         (real_to_hexadecimal): Likewise.
8079         * print-rtl.c (print_rtx): If we are linked with real.c, don't
8080         dump the XWINT fields of a floating point CONST_DOUBLE.
8081
8082 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
8083
8084         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
8085
8086 2002-10-01  Richard Henderson  <rth@redhat.com>
8087
8088         * calls.c (precompute_register_parameters): Force non-legitimate
8089         constants into pseudos.
8090
8091 2002-10-01  Nick Clifton  <nickc@redhat.com>
8092
8093         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
8094         to assembler template.
8095
8096 2002-10-01  Richard Henderson  <rth@redhat.com>
8097
8098         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
8099         for TLS debug info to !DECL_EXTERNAL.
8100
8101 2002-10-01  Matt Thomas  <matt@3am-software.com>
8102             Jason Thorpe  <thorpej@wasabisystems.com>
8103
8104         * config.gcc (vax-*-netbsdelf*): Enable configuration.
8105         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
8106         if not already defined.
8107         * config/vax/elf.h: New file.
8108         * config/vax/netbsd-elf.h: New file.
8109         * config/vax/vax.c: Include "debug.h".
8110         (vax_output_function_prologue): Add dwarf2 support.  Use
8111         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
8112         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
8113         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
8114         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
8115         (VAX_ISTREAM_SYNC): Remove.
8116         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
8117         (JUMP_TABLES_IN_TEXT_SECTION): Define.
8118         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
8119         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
8120         and assemble_name.
8121         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8122         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
8123         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
8124         (INCOMING_RETURN_ADDR_RTX): Define.
8125         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
8126         (VUNSPEC_SYNC_ISTREAM): Define.
8127         (blockage): Use VUNSPEC_BLOCKAGE.
8128         (sync_istream): New insn.
8129
8130 2002-10-01  Richard Henderson  <rth@redhat.com>
8131
8132         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
8133         (*call_value_pop, call, call_value): Add dwarf2 EH support.
8134         (*call): New insn.
8135
8136 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8137
8138         PR c/8083
8139         * c-typeck.c (build_c_cast): Warn about type punning which breaks
8140         type based aliasing.
8141
8142 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
8143
8144         * stor-layout.c (update_alignment_for_field): New function.
8145         (place_union_field): Use it.
8146         (place_field): Likewise.
8147
8148 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
8149
8150         PR other/8077
8151         * gcc.c (cc1_options): Add space on -auxbase-strip.
8152
8153 2002-10-01  Jim Wilson  <wilson@redhat.com>
8154
8155         * config/v850/v850.h (EPILOGUE_USES): Define.
8156
8157 2002-09-30  Andrew Haley  <aph@redhat.com>
8158
8159         * flow.c (insn_dead_p): When using non-call-exceptions, don't
8160         eliminate insns that may trap.
8161         * cse.c (insn_live_p): Likewise.
8162
8163 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8164
8165         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8166         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8167         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8168         * config/mips/mips.md: Apply same renaming here.
8169
8170 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8171
8172         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8173         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8174         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8175         * config/mips/mips.md (define_attr cpu): Remove r4320.
8176         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8177
8178 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8179
8180         * config/mips/mips.c (mips16_strings): New variable.
8181         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8182         symbol in mips16_strings.  Free the list.
8183         (mips_encode_section_info): Keep track of local strings.
8184
8185 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8186
8187         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8188         (sordered_df, sordered_sf): Remove.
8189         * config/mips/mips.c (get_float_compare_codes): New fn.
8190         (gen_int_relational, gen_conditional_move): Use it.
8191
8192 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8193
8194         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8195         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8196         * config/mips/mips.c (fcc_register_operand): New function.
8197         (mips_emit_fcc_reload): New function, extracted from reload_incc.
8198         (override_options): Allow TFmode values in float registers
8199         if ISA_HAS_8CC.
8200         * cnfig/mips/mips.md (reload_incc): Change destination prediate
8201         to fcc_register_operand.  Remove misleading source constraint.
8202         Use mips_emit_fcc_reload.
8203         (reload_outcc): Duplicate reload_incc.
8204
8205 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
8206
8207         * gcc.c (validate_switches): Handle all new forms of spec
8208         syntax introduced recently.  Now returns a char *.
8209         (validate_all_switches): Repetitive logic broken out to...
8210         (validate_switches_from_spec): ...here.
8211         * mklibgcc.in: Don't @-flag commands to generate .oS files.
8212
8213 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8214
8215         * longlong.h: Partially synchronize with GMP-4.1 version:
8216         Use i370 definitions also for s390.
8217         Add generic definition of umul_ppmm in terms of smul_ppmm.
8218         [s390] (umul_ppmm): Remove.
8219         [s390] (smul_ppmm): Fix incorrect assembler constraints.
8220         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
8221
8222 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
8223
8224         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8225         Add new RL_REGS register class.
8226         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
8227         Call xtensa_preferred_reload_class for both input and output reloads.
8228         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
8229         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
8230         instead of either AR_REGS or GR_REGS classes.
8231         (xtensa_secondary_reload_class): Use new RL_REGS class.
8232         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
8233
8234 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8235
8236         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
8237         (pa_strip_name_encoding): Strip '@' and '*', in that order.
8238         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
8239         there is a '*' prefix in NAME.
8240
8241 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
8242
8243         * reload.c (push_reload): Handle subregs and secondary memory.
8244         * reload1.c (gen_reload): Likewise.
8245
8246         * jump.c (reg_or_subregno): New function.
8247         * rtl.h (reg_or_subregno): Declare
8248         * unroll.c (find_splittable_givs): Handle subregs.
8249
8250 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
8251
8252         * store-layout.c (finish_record_layout): Add free_p parameter.
8253         (layout_type): Pass it.
8254         * tree.h (finish_record_layout): Update prototype.
8255
8256 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
8257
8258         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
8259
8260         * gcse.c (cprop_jump): Check that the register has not
8261         been modified
8262         (cprop_jump): Likewise.
8263
8264 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
8265
8266         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
8267         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
8268         that we have a SImode access, and only then if reload hasn't completed;
8269         for all other cases, use LO_REGS.
8270
8271 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8272
8273         * openbsd.h: Fix typo in last change.
8274
8275 2002-09-29  Richard Henderson  <rth@redhat.com>
8276
8277         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
8278
8279 2002-09-29  Richard Henderson  <rth@redhat.com>
8280
8281         PR c/8002
8282         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
8283         for CONST_INT.
8284
8285 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
8286
8287         * real.h (ibm_extended_format): Declare.
8288         * real.c (encode_ibm_extended, decode_ibm_extended): New
8289         functions.
8290
8291 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8292
8293         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
8294
8295         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
8296
8297 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8298
8299         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
8300
8301 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
8302
8303         * builtins.def: Fix comment formatting.
8304         * c-common.def: Likewise.
8305         * cfgcleanup.c: Likewise.
8306         * combine.c: Likewise.
8307         * gengtype.c: Likewise.
8308         * params.def: Likewise.
8309         * predict.def: Likewise.
8310         * rtl.def: Likewise.
8311         * stab.def: Likewise.
8312         * stor-layout.c: Likewise.
8313         * tree.def: Likewise.
8314         * config/darwin.c: Likewise.
8315         * config/darwin.h: Likewise.
8316         * config/dbxcoff.h: Likewise.
8317         * config/elfos.h: Likewise.
8318         * config/fp-bit.c: Likewise.
8319         * config/freebsd-spec.h: Likewise.
8320         * config/interix.h: Likewise.
8321         * config/libgloss.h: Likewise.
8322         * config/linux-aout.h: Likewise.
8323         * config/linux.h: Likewise.
8324         * config/lynx-ng.h: Likewise.
8325         * config/lynx.h: Likewise.
8326         * config/netbsd-aout.h: Likewise.
8327         * config/netbsd.h: Likewise.
8328         * config/netware.h: Likewise.
8329         * config/psos.h: Likewise.
8330         * config/ptx4.h: Likewise.
8331
8332 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
8333
8334         * ChangeLog.4: Fix typos.
8335         * ChangeLog.6: Likewise.
8336         * FSFChangeLog.10: Likewise.
8337         * genattrtab.c: Fix comment typos.
8338         * haifa-sched.c: Likewise.
8339         * real.c: Likewise.
8340         * tree.h: Likewise.
8341         * config/arm/arm.c: Likewise.
8342         * config/arm/crti.asm: Likewise.
8343         * config/arm/crtn.asm: Likewise.
8344         * config/frv/frv.c: Likewise.
8345         * config/frv/frv.md: Likewise.
8346         * config/h8300/h8300.md: Likewise.
8347         * config/i386/rtemself.h: Likewise.
8348         * config/ia64/unwind-ia64.c: Likewise.
8349         * config/ip2k/ip2k.h: Likewise.
8350         * config/m88k/m88k.c: Likewise.
8351         * config/m88k/m88k.md: Likewise.
8352         * config/mips/sr71k.md: Likewise.
8353         * config/mmix/mmix.c: Likewise.
8354         * config/rs6000/rs6000.c: Likewise.
8355         * config/sh/sh.md: Likewise.
8356
8357 2002-09-26  Theodore A. Roth  <troth@verinet.com>
8358
8359         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
8360         * config/avr/avr.md: Ditto.
8361
8362 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
8363
8364         PR preprocessor/8055
8365         * cppmacro.c (stringify_arg): Do not overflow the buffer
8366         with the terminating NUL when the argument to be stringified
8367         has no tokens.
8368
8369 2002-09-27  Richard Henderson  <rth@redhat.com>
8370
8371         * unroll.c (simplify_cmp_and_jump_insns): New.
8372         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
8373         instead of expand_simple_foo.
8374
8375 2002-09-27  Richard Henderson  <rth@redhat.com>
8376
8377         PR optimization/7520
8378         * cfganal.c (flow_active_insn_p): New.
8379         (forwarder_block_p): Use it.
8380
8381 2002-09-27  Richard Henderson  <rth@redhat.com>
8382
8383         * emit-rtl.c (active_insn_p): Revert last change.
8384
8385 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
8386
8387         * doc/extend.texi (tls_model): Document.
8388         * varasm.c (decl_tls_model): New.
8389         * c-common.c (handle_tls_model_attribute): New.
8390         (c_common_attribute_table): Add tls_model.
8391         * config/alpha/alpha.c (alpha_encode_section_info): Use
8392         decl_tls_model.
8393         * flags.h (enum tls_model, flag_tls_default): Move...
8394         * tree.h (enum tls_model, flag_tls_default): ...here.
8395         (decl_tls_model): New prototype.
8396         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
8397         * config/i386/i386.c (ix86_encode_section_info): Likewise.
8398         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
8399         Allow !flag_pic.
8400
8401 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8402
8403         * LANGUAGES: Follow spelling conventions.
8404         * rtl.def: Likewise.
8405         * sbitmap.c: Likewise.
8406         * sched-int.h: Likewise.
8407         * sched-rgn.c: Likewise.
8408         * sibcall.c: Likewise.
8409         * simplify-rtx.c: Likewise.
8410         * ssa.c: Likewise.
8411         * stab.def: Likewise.
8412         * stmt.c: Likewise.
8413         * stor-layout.c: Likewise.
8414         * target.h: Likewise.
8415         * timevar.c: Likewise.
8416         * toplev.c: Likewise.
8417         * tree-dump.c: Likewise.
8418         * tree-inline.c: Likewise.
8419         * tree.c: Likewise.
8420         * tree.def: Likewise.
8421         * tree.h: Likewise.
8422         * unroll.c: Likewise.
8423         * varasm.c: Likewise.
8424         * vmsdbgout.c: Likewise.
8425         * treelang/treelang.texi: Likewise.
8426         * treelang/treetree.c: Likewise.
8427
8428 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
8429
8430         * config/h8300/h8300.c (compute_saved_regs): Use a macro
8431         instead of a hard register number.
8432         (get_shift_alg): Use an enumerated type instead of numbers.
8433         (h8300_shift_needs_scratch_p): Likewise.
8434
8435 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8436
8437         * varasm.c (force_data_section): Remove.
8438         (assemble_constant_align): Likewise.
8439         * output.h: Remove corresponding prototypes.
8440
8441 2002-09-26  Roger Sayle  <roger@eyesopen.com>
8442
8443         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
8444         jump, if the loop to exit is the top of the current nesting stack.
8445
8446 2002-09-26  Torbjorn Granlund  <tege@swox.com>
8447
8448         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
8449         arithmetic.
8450
8451 2002-09-26  David S. Miller  <davem@redhat.com>
8452
8453         PR optimization/7335
8454         * calls.c (emit_library_call_value_1): Passing args by reference
8455         converts a CONST function into a PURE one.
8456
8457 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8458
8459         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
8460         text_section.
8461         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
8462         text section.
8463         * config/rs6000/rs6000.c (rs6000_override_options): Allow
8464         function-sections and data-sections functionality on AIX.
8465
8466 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
8467             Dale Johannesen  <dalej@apple.com>
8468
8469         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
8470         in RTL for sub-word loads from memory.
8471
8472 2002-09-26  Richard Henderson  <rth@redhat.com>
8473
8474         PR c/7160
8475         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
8476         on call insns.
8477
8478 2002-09-26  Richard Henderson  <rth@redhat.com>
8479
8480         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
8481
8482 2002-09-26  Chris Lattner  <sabre@nondot.org>
8483
8484         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
8485         handling undefined values.
8486
8487 2002-09-26  Richard Henderson  <rth@redhat.com>
8488
8489         PR opt/7520
8490         * emit-rtl.c (active_insn_p): Consider a clobber of the
8491         function return value to be active even after reload.
8492
8493 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
8494
8495         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
8496         by absolute loop increment, not loop increment.
8497
8498 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8499
8500         * c-common.h: Follow spelling conventions.
8501         * cpplex.c: Likewise.
8502         * cpplib.h: Likewise.
8503         * gthr-dce.h: Likewise.
8504         * gthr-posix.h: Likewise.
8505         * optabs.c: Likewise.
8506         * output.h: Likewise.
8507         * profile.c: Likewise.
8508         * protoize.c: Likewise.
8509         * ra-rewrite.c: Likewise.
8510         * real.c: Likewise.
8511         * recog.c: Likewise.
8512         * reg-stack.c: Likewise.
8513         * regclass.c: Likewise.
8514         * regmove.c: Likewise.
8515         * reload.c: Likewise.
8516         * reload.h: Likewise.
8517         * reload1.c: Likewise.
8518         * reorg.c: Likewise.
8519         * resource.c: Likewise.
8520         * rtl.h: Likewise.
8521         * rtlanal.c: Likewise.
8522
8523 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8524
8525         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
8526         for symbol address.
8527
8528 2002-09-24  Eric Christopher  <echristo@redhat.com>
8529
8530         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
8531         * config/mips/elf64.h: Ditto.
8532
8533 2002-09-24  Eric Christopher  <echristo@redhat.com>
8534
8535         * except.c (expand_builtin_extract_return_address): Handle case
8536         where Pmode != ptr_mode.
8537
8538 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8539
8540         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
8541
8542 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
8543
8544         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
8545
8546 2002-09-26  Igor Shevlyakov <igor@microunity.com>
8547
8548         * combine.c (simplify_set): Don't call to force_to_mode if size
8549         of integer type is larger than HOST_BITS_PER_WIDE_INT.
8550
8551 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
8552
8553         * Makefile.in (qmtest-g++): Fix file path.
8554
8555 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8556
8557         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
8558         A + (-const) on RTX level, even for unsigned types.
8559
8560 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
8561
8562         * reload.c (dup_replacements): New function.
8563         (find_reloads): Use it to duplicate replacements at the top level
8564         of match_dup operands.
8565
8566 2002-09-26  Miles Bader  <miles@gnu.org>
8567
8568         * v850.md ("length"): Change default value to 4.
8569
8570 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
8571
8572         * ChangeLog.1: Follow spelling conventions.
8573         * ChangeLog.4: Likewise.
8574         * ChangeLog.6: Likewise.
8575         * FSFChangeLog.11: Likewise.
8576         * doc/cpp.texi: Likewise.
8577         * doc/invoke.texi: Likewise.
8578         * doc/tm.texi: Likewise.
8579
8580 2002-09-26  Nick Clifton  <nickc@redhat.com>
8581
8582         * config.gcc: Add x prefix to v850e case for handling
8583         --with-cpu=v850e.
8584
8585 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
8586
8587         * gcc.c (input_suffix_matches, switch_matches,
8588         mark_matching_switches, process_marked_switches,
8589         process_brace_body): New functions - split from handle_braces.
8590         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
8591         and ignore whitespace in more places.
8592         (specs documentation comment): Document %{S:X;T:Y;:D}.
8593         Clarify other %{...} docs.
8594         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
8595         %{...} docs.
8596
8597         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
8598         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
8599
8600 2002-09-25  David S. Miller  <davem@redhat.com>
8601
8602         PR target/7842
8603         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
8604         extend.
8605
8606 2002-09-25  Richard Henderson  <rth@redhat.com>
8607
8608         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
8609         fp CONST_DOUBLE; use real_identical.
8610
8611 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
8612
8613         * doc/invoke.texi: Add more -Wabi examples.
8614
8615 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
8616
8617         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
8618
8619 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
8620
8621         * profile.c (end_branch_prob): Only look for __gcov_init on
8622         weak-enabled native compilers.
8623
8624 2002-09-24  Denis Chertykov  <denisc@overta.ru>
8625
8626         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
8627         cases of optimizing "add sp,w" to "inc sp".
8628
8629 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8630
8631         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
8632         epilogue for naked functions.
8633
8634 2002-09-24  Adam Nemet  <anemet@lnxw.com>
8635             Nick Clifton  <nickc@redhat.com>
8636
8637         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
8638         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
8639         is defined.
8640
8641 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
8642
8643         * config/s390/s390.c (preferred_la_operand_p): New function.
8644         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
8645         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
8646         ("*la_64_cc", "*la_31_cc", splitters): ... these.
8647         ("*la_31"): Deactivate for TARGET_64BIT.
8648         ("*la_31_and", "*la_31_and_cc"): New.
8649
8650 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8651
8652         * real.h (real_value): Make `exp' explicitly signed.
8653
8654 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
8655
8656         * config/elfos.h: Follow spelling conventions.
8657         * config/alpha/alpha.h: Likewise.
8658         * config/arc/arc.h: Likewise.
8659         * config/arm/arm.md: Likewise.
8660         * config/avr/avr.h: Likewise.
8661         * config/cris/cris.md: Likewise.
8662         * config/d30v/d30v.h: Likewise.
8663         * config/frv/frv.c: Likewise.
8664         * config/frv/frv.h: Likewise.
8665         * config/h8300/h8300.c: Likewise.
8666         * config/h8300/h8300.h: Likewise.
8667         * config/h8300/h8300.md: Likewise.
8668         * config/i386/cygwin.h: Likewise.
8669         * config/i386/i386.h: Likewise.
8670         * config/i386/sysv3.h: Likewise.
8671         * config/i960/i960.h: Likewise.
8672         * config/ia64/ia64.h: Likewise.
8673         * config/ia64/ia64.md: Likewise.
8674         * config/ip2k/ip2k.h: Likewise.
8675         * config/m32r/m32r.h: Likewise.
8676         * config/m68k/m68k.h: Likewise.
8677         * config/m88k/m88k.h: Likewise.
8678         * config/mcore/mcore.c: Likewise.
8679         * config/mcore/mcore.h: Likewise.
8680         * config/mcore/mcore.md: Likewise.
8681         * config/mips/mips.h: Likewise.
8682         * config/mmix/mmix.h: Likewise.
8683         * config/mmix/mmix.md: Likewise.
8684         * config/ns32k/netbsd.h: Likewise.
8685         * config/ns32k/ns32k.h: Likewise.
8686         * config/ns32k/ns32k.md: Likewise.
8687         * config/pa/pa.h: Likewise.
8688         * config/romp/romp.h: Likewise.
8689         * config/rs6000/rs6000.h: Likewise.
8690         * config/rs6000/rs6000.md: Likewise.
8691         * config/sparc/sparc.h: Likewise.
8692         * config/stormy16/stormy-abi: Likewise.
8693         * config/stormy16/stormy16.h: Likewise.
8694         * config/vax/vax.h: Likewise.
8695
8696 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8697
8698         * config/alpha/alpha.h: Remove commented-out macro
8699         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
8700         * config/avr/avr.h: Likewise.
8701         * config/d30v/d30v.h: Likewise.
8702         * config/dsp16xx/dsp16xx.h: Likewise.
8703         * config/i370/i370.h: Likewise.
8704         * config/i386/i386.h: Likewise.
8705         * config/i960/i960.h: Likewise.
8706         * config/m68k/m68k.h: Likewise.
8707         * config/m88k/m88k.h: Likewise.
8708         * config/mips/mips.h: Likewise.
8709         * config/ns32k/ns32k.h: Likewise.
8710         * config/pdp11/pdp11.h: Likewise.
8711         * config/romp/romp.h: Likewise.
8712         * config/rs6000/rs6000.h: Likewise.
8713         * config/s390/s390.h: Likewise.
8714         * config/sh/sh.h: Likewise.
8715         * config/sparc/sparc.h: Likewise.
8716         * config/stormy16/stormy16.h: Likewise.
8717         * config/vax/vax.h: Likewise.
8718
8719 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
8720
8721         * function.c (push_temp_slots_for_block): Remove.
8722         (push_temp_slots_for_target): Likewise.
8723         (get_target_temp_slot_level): Likewise.
8724         (set_target_temp_slot_level): Likewise.
8725         (get_first_block_beg): Likewise.
8726         * function.h: Remove corresponding prototypes.
8727
8728 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
8729
8730         * version.c (version_string): Now const char[].
8731         * version.h: Update to match.
8732
8733 2002-09-23  Richard Henderson  <rth@redhat.com>
8734
8735         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
8736         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
8737         (TARGET_SWITCHES): Don't reference them.
8738         * config/i386/i386.c (override_options): Use target_flags_explicit
8739         to examine bits set by the user.
8740
8741 2002-09-23  Dale Johannesen  <dalej@apple.com>
8742
8743         * dbxout.c (dbxout_parms):  Set current_sym_code for params
8744         passed on stack by invisible reference.
8745
8746 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
8747
8748         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
8749         at least one byte of space.
8750
8751 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8752
8753         * c-common.h (flag_abi_version): Fix typo in comment.
8754         * doc/invoke.texi (flag_abi_version): Document default value.
8755
8756 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
8757
8758         * doc/extend.texi (Extended Asm): Clarify that overlap between
8759         asm-declared register variables used in an asm and the asm clobber
8760         list is not allowed.
8761         * stmt.c (decl_conflicts_with_clobbers_p): New function.
8762         (expand_asm_operands): Keep track of clobbered registers.  Call
8763         decl_conflicts_with_clobbers_p for each input and output operand.
8764         If no conflicts found before, also do conflict sanity check when
8765         emitting clobbers.
8766
8767 2002-09-23  Richard Henderson  <rth@redhat.com>
8768
8769         * c-common.c (cpp_define_data_format): Remove.
8770         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
8771         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
8772         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
8773         * doc/cpp.texi: Don't document them either.
8774         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
8775         __LONG_LONG_MAX__): Document.
8776         (__TARGET_FLOAT_FORMAT__): Remove.
8777
8778 2002-09-23  Richard Henderson  <rth@redhat.com>
8779
8780         * real.c (do_multiply): Normalize U before addition.
8781
8782 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
8783
8784         * c-common.c (flag_abi_version): New variable.
8785         * c-common.h (flag_abi_version): Declare it.
8786         * c-opts.c (missing_arg): Add -fabi-version.
8787         (c_common_decode_option): Process -fabi-version.
8788         * doc/invoke.texi (-fabi-version): Document it.
8789         (-Wabi): Add information about bit-fields in unions.
8790
8791 2002-09-22  Roger Sayle  <roger@eyesopen.com>
8792
8793         * expr.c (STORE_BY_PIECES_P): New target macro.
8794         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
8795         instead of MOVE_BY_PIECES_P.
8796         * doc/tm.texi: Document this new macro.
8797
8798 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8799
8800         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
8801         unless -fno-pic or -fno-PIC is specified.
8802
8803 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8804
8805         * c-common.c (preprocessing_trad_p): Define.
8806         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
8807         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
8808         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8809         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
8810         * pa-linux.h (CPP_PREDEFINES): Delete.
8811         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
8812         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
8813         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
8814         (TARGET_OS_CPP_BUILTINS): Define.
8815         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
8816         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
8817         (SUBTARGET_SWITCHES): Provide default definition.
8818         (TARGET_OPTIONS): Reformat.  Use N_() macro.
8819         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
8820         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
8821         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
8822         (TARGET_CPU_CPP_BUILTINS): Define.
8823         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
8824         * doc/invoke.texi (msio, mwsio): Document new hppa options.
8825         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
8826         preprocessing_trad_p().
8827
8828 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
8829
8830         * doc/install.texi: Document behavior of --with-headers and
8831         --with-libs when arguments are omitted.
8832
8833 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
8834
8835         * dbxout.c: Follow spelling conventions.
8836         * defaults.h: Likewise.
8837         * df.c: Likewise.
8838         * diagnostic.h: Likewise.
8839         * doloop.c: Likewise.
8840         * dwarf2out.c: Likewise.
8841         * dwarfout.c: Likewise.
8842         * emit-rtl.c: Likewise.
8843         * except.c: Likewise.
8844         * explow.c: Likewise.
8845         * expmed.c: Likewise.
8846         * expr.c: Likewise.
8847         * expr.h: Likewise.
8848         * flags.h: Likewise.
8849         * flow.c: Likewise.
8850         * fold-const.c: Likewise.
8851         * function.c: Likewise.
8852         * function.h: Likewise.
8853         * gcc.c: Likewise.
8854         * gcov-io.h: Likewise.
8855         * gcov.c: Likewise.
8856         * gcse.c: Likewise.
8857         * genattrtab.c: Likewise.
8858         * genconfig.c: Likewise.
8859         * genrecog.c: Likewise.
8860         * ggc-page.c: Likewise.
8861         * ggc.h: Likewise.
8862         * global.c: Likewise.
8863         * gthr-win32.h: Likewise.
8864         * integrate.c: Likewise.
8865         * jump.c: Likewise.
8866         * langhooks.c: Likewise.
8867         * langhooks.h: Likewise.
8868         * line-map.h: Likewise.
8869         * local-alloc.c: Likewise.
8870         * longlong.h: Likewise.
8871         * loop.c: Likewise.
8872         * loop.h: Likewise.
8873
8874 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
8875
8876         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
8877
8878 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
8879
8880         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
8881         for -Os/TARGET_64BIT too.
8882
8883 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
8884
8885         * ChangeLog: Follow spelling conventions.
8886         * ChangeLog.0: Likewise.
8887         * ChangeLog.1: Likewise.
8888         * ChangeLog.2: Likewise.
8889         * ChangeLog.3: Likewise.
8890         * ChangeLog.4: Likewise.
8891         * ChangeLog.5: Likewise.
8892         * ChangeLog.6: Likewise.
8893         * FSFChangeLog.10: Likewise.
8894         * FSFChangeLog.11: Likewise.
8895         * alias.c: Likewise.
8896         * basic-block.h: Likewise.
8897         * c-aux-info.c: Likewise.
8898         * c-common.c: Likewise.
8899         * c-common.h: Likewise.
8900         * c-decl.c: Likewise.
8901         * c-format.c: Likewise.
8902         * c-semantics.c: Likewise.
8903         * c-typeck.c: Likewise.
8904         * calls.c: Likewise.
8905         * cfganal.c: Likewise.
8906         * cfgloop.c: Likewise.
8907         * collect2.c: Likewise.
8908         * combine.c: Likewise.
8909         * conflict.c: Likewise.
8910         * cppexp.c: Likewise.
8911         * cppfiles.c: Likewise.
8912         * cpphash.h: Likewise.
8913         * cppinit.c: Likewise.
8914         * cpplex.c: Likewise.
8915         * cpplib.c: Likewise.
8916         * cpplib.h: Likewise.
8917         * cppmacro.c: Likewise.
8918         * cse.c: Likewise.
8919
8920 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8921
8922         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
8923         LINK_SPEC.
8924         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
8925         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
8926         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
8927
8928 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
8929
8930         PR opt/7930
8931         * cse.c (fold_rtx): Calculate old_cost before we fold each
8932         operand.
8933
8934 2002-09-21  Richard Henderson  <rth@redhat.com>
8935
8936         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
8937         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
8938         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
8939         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
8940         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
8941         * doc/cpp.texi: Don't document them.
8942
8943 2002-09-21  Richard Henderson  <rth@redhat.com>
8944
8945         * c-common.c (builtin_define_float_constants): Use real_format
8946         to get the floating-point parameters.
8947
8948 2002-09-21  Richard Henderson  <rth@redhat.com>
8949
8950         * real.c (struct real_format): Move to real.h.
8951         (real_format_for_mode): Rename from fmt_for_mode; update all users;
8952         initialize with ieee defaults.
8953         (real_to_target_fmt, real_from_target_fmt): New.
8954         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8955         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8956         ieee_quad_format, i370_single_format, i370_double_format,
8957         c4x_single_format, c4x_extended_format): Rename from s/_format//.
8958         (ieee_quad_format): Fix emin.
8959         (format_for_size, init_real_once): Remove.
8960         * real.h (struct real_format): Move from real.c.
8961         (real_format_for_mode): Declare.
8962         (real_to_target_fmt, real_from_target_fmt): Declare.
8963         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
8964         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8965         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
8966         i370_single_format, i370_double_format, c4x_single_format,
8967         c4x_extended_format): Declare.
8968         * toplev.c (do_compile): Don't call init_real_once.
8969
8970         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8971         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8972
8973         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
8974         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
8975         * config/alpha/alpha.c (override_options): Set real_format_for_mode
8976         for VAX, if enabled.
8977
8978         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
8979         for C4X.
8980
8981         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
8982         * config/i370/i370.c (override_options): New.
8983         * config/i370/i370-protos.h: Update.
8984
8985         * config/i386/i386.c (override_options): Set real_format_for_mode
8986         for Intel 80-bit extended.
8987         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
8988
8989         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
8990         (OVERRIDE_OPTIONS): Move code...
8991         * config/i960/i960.c (i960_initialize): ... here.  Set
8992         real_format_for_mode for Intel 80-bit extended.
8993
8994         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
8995         for Intel 80-bit extended, if enabled.
8996
8997         * config/m68k/m68k.c (override_options): Set real_format_for_mode
8998         for Motorola 96-bit extended.
8999
9000         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
9001         * config/vax/vax.c (override_options): New.
9002         * config/vax/vax-protos.h: Update.
9003
9004 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
9005
9006         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
9007         #if TARGET_MACHO.
9008
9009         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
9010         insns.  Supply missing clobber of scratch reg.
9011
9012 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
9013
9014         * config/m32r/m32r.c: Follow spelling conventions.
9015         * config/m32r/m32r.h: Likewise.
9016         * config/m32r/m32r.md: Likewise.
9017         * config/m68k/m68k.c: Likewise.
9018         * config/m88k/m88k.c: Likewise.
9019         * config/mcore/mcore.c: Likewise.
9020         * config/mips/mips.c: Likewise.
9021         * config/mips/mips.h: Likewise.
9022         * config/mmix/mmix.c: Likewise.
9023         * config/mn10200/mn10200.c: Likewise.
9024         * config/ns32k/ns32k.h: Likewise.
9025         * config/pa/pa.c: Likewise.
9026         * config/pa/pa64-linux.h: Likewise.
9027         * config/pdp11/pdp11.h: Likewise.
9028         * config/romp/romp.c: Likewise.
9029         * config/romp/romp.h: Likewise.
9030         * config/rs6000/eabi.asm: Likewise.
9031         * config/rs6000/linux64.h: Likewise.
9032         * config/rs6000/rs6000.c: Likewise.
9033         * config/rs6000/rs6000.h: Likewise.
9034         * config/rs6000/rs6000.md: Likewise.
9035         * config/rs6000/sysv4.h: Likewise.
9036         * config/rs6000/xcoff.h: Likewise.
9037
9038 2002-09-20  Jim Wilson  <wilson@redhat.com>
9039
9040         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
9041
9042 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9043
9044         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
9045         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
9046         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
9047         (legitimate_address_p): Likewise.
9048         (legitimize_address): Use @gotntpoff and @indntpoff.
9049         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
9050         (output_addr_const_extra): Likewise.
9051
9052 2002-09-20  Jim Wilson  <wilson@redhat.com>
9053
9054         * combine.c (try_combine): When split an instruction pair, where the
9055         first has a sign_extend src, verify that the src and dest modes match.
9056
9057 2002-09-20  Richard Henderson  <rth@redhat.com>
9058
9059         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
9060         (override_options): Do not initialize them.
9061         (mips_const_double_ok): Allow no fp constants except zero,
9062         and not even that for mips16.
9063         (const_float_1_operand): Use dconst1.
9064         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
9065         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
9066         Don't allow arbitrary constants; fix predicates and C constraint.
9067
9068 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
9069
9070         * cppmacro.c: Don't warn about function-like macros without
9071         '(' during pre-expansion.
9072
9073 2002-09-20  Jim Wilson  <wilson@redhat.com>
9074
9075         * config/v850/v850.c (current_function_anonymous_args): Delete.
9076         (expand_prologue): Use current_function_args_info.anonymous_args.
9077         (expand_epilogue): Delete use of current_function_anonymous_args.
9078         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
9079         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
9080         (current_function_anonymous_args): Delete extern declaration.
9081         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
9082
9083 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
9084
9085         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
9086         to load_macho_picbase.
9087         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
9088         (load_macho_picbase): Take the symbol to use as a parameter.
9089         (macho_correct_pic): New insn.
9090         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
9091
9092         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
9093         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
9094         (CAN_ELIMINATE): Likewise.
9095         (INITIAL_ELIMINATION_OFFSET): Likewise.
9096         (TOC_REGISTER): Likewise.
9097
9098 2002-09-20  Richard Henderson  <rth@redhat.com>
9099
9100         * real.c (real_hash): New.
9101         * real.h: Declare it.
9102         * cse.c (canon_hash): Use it.
9103         * cselib.c (hash_rtx): Likewise.
9104         * emit-rtl.c (const_double_htab_hash): Likewise.
9105         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
9106         * varasm.c (struct rtx_const): Reduce vector size; separate
9107         integer and fp vectors.
9108         (HASHBITS): Remove.
9109         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
9110         take modulus MAX_HASH_TABLE.
9111         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
9112         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
9113         (SYMHASH): Don't use HASHBITS.
9114         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
9115         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
9116         (simplify_subtraction): Fix kind comparison.
9117         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
9118         Use a union to pun integer array.
9119         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
9120         only hash two words of integral CONST_DOUBLE.
9121
9122 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
9123
9124         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
9125         (STARTFILE_PREFIX_SPEC): New.
9126         (LINK_SPEC): Modify.
9127         (LIB_SPEC): Modify.
9128         (LIBGCC_SPEC): New.
9129
9130 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
9131
9132         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
9133         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
9134
9135 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9136
9137         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
9138         Add clobber of the condition code register.
9139
9140 2002-09-20  Richard Henderson  <rth@redhat.com>
9141
9142         * real.c (do_fix_trunc): Static.
9143         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
9144         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
9145         encode_i370_single, encode_i370_double, encode_c4x_single,
9146         encode_c4x_extended): Add default abort case.
9147
9148 2002-09-20  Richard Henderson  <rth@redhat.com>
9149
9150         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
9151         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
9152         (struct realvaluetype): Remove.
9153         (REAL_VALUE_TYPE): Use struct real_value.
9154         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
9155         (test_real_width): New.
9156         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
9157         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
9158         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
9159         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
9160         real_to_integer, real_to_integer2, real_to_decimal,
9161         real_to_hexadecimal, real_from_string, real_from_integer,
9162         real_inf, real_nan, real_2expN, real_convert, real_to_target,
9163         real_from_target): Likewise.
9164         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
9165         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
9166
9167 2002-09-20  Richard Henderson  <rth@redhat.com>
9168
9169         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
9170         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
9171         * defaults.h: ... here.
9172         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
9173         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
9174         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
9175         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
9176
9177 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
9178
9179         * config/mmix/mmix.md ("negdf2"): Rewrite.
9180         ("*expanded_negdf2"): New.
9181
9182 2002-09-19  Jim Wilson  <wilson@redhat.com>
9183
9184         * combine.c (simplify_set): When optimizing a subreg src with a
9185         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
9186
9187 2002-09-19  Dale Johannesen <dalej@apple.com>
9188         * combine.c (make_extraction): Don't create
9189         invalid subreg.
9190
9191 2002-09-19  Roger Sayle  <roger@eyesopen.com>
9192
9193         * tree.c (integer_nonzerop): New predicate for nonzero integers.
9194         * tree.h (integer_nonzerop): Add function prototype.
9195         * stmt.c (expand_end_loop):  Don't rotate the loop when there
9196         are no instructions in the test, i.e. the loop is unconditional.
9197         (expand_exit_loop_if_false):  Optimize RTL generation of loop
9198         tests when the condition is always true or always false.
9199         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
9200         do-loops when the condition is always true.
9201         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
9202         the for-expression is empty.
9203
9204 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
9205
9206         * gcc.c (use_pipes): New flag.
9207         (process_command): Set it.  Adjust check for -pipe conflicting
9208         with -time or -save-temps.
9209         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
9210         %<SWITCH.  Drop %| (without a SUFFIX).
9211         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
9212         (give_switch): Third argument eliminated.
9213         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
9214         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
9215         (specs documentation comment): Update.
9216
9217         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
9218         config/svr4.h, config/i386/freebsd-aout.h,
9219         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
9220         config/m68k/openbsd.h, config/mips/openbsd.h,
9221         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
9222         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
9223         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
9224         * config/cris/cris.h: Update comment.
9225
9226         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
9227         error messages.  Don't use %{^SWITCH}.
9228         * ada/misc.c (gnat_decode_option): Handle -I with a
9229         separate argument.
9230
9231         * f/lang-specs.h: Use %| and %m.
9232         * java/jvspec.c: Use %m and %(invoke_as).  Change all
9233         uses of %{<SWITCH} to %<SWITCH.
9234
9235         * doc/invoke.texi: Update documentation of specs.
9236         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
9237
9238 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
9239
9240         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
9241         and STRICT_LOW_PART within SET_DEST.
9242         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
9243         splitters, replacing pre-reload splitters.
9244         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
9245         "*zero_extendqihi2_31"): New insns.
9246         ("*zero_extendqihi2_64"): Do not clobber CC.
9247
9248 2002-09-18  Devang Patel  <dpatel@apple.com>
9249
9250         * cp/cp-tree.h: New prototype for walk_vtables().
9251         * cp/decl.c (walk_vtables_r): New function.
9252         (struct cp_binding_level): Add new members, namespaces,
9253         names_size and vtables.
9254         (add_decl_to_level): Add decl in namespaces or vtables
9255         chain, if conditions match.
9256         (walk_vtables): New function.
9257         (walk_namespaces_r): Travers separate namespace chain
9258         for namespace decls.
9259         (wrapup_globals_for_namespace): Use names_size instead
9260         of list_length().
9261         * cp/decl2.c (finish_file): Use walk_vtables() instead of
9262         walk_globals() to walk vtable decls.
9263
9264 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
9265
9266         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
9267         (DTORS_SECTION_ASM_OP): Ditto.
9268         (READONLY_DATA_SECTION_ASM_OP): Moved.
9269         (DATA_SECTION_ASM_OP): New.
9270         (SDATA_SECTION_ASM_OP): New.
9271         (BSS_SECTION_ASM_OP): New.
9272         (SBSS_SECTION_ASM_OP): New.
9273         (TEXT_SECTION_ASM_OP): New.
9274
9275 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
9276
9277         * config/fp-bit.c: Follow spelling conventions.
9278         * config/d30v/d30v.c: Likewise.
9279         * config/d30v/d30v.h: Likewise.
9280         * config/fr30/fr30.c: Likewise.
9281         * config/fr30/fr30.h: Likewise.
9282         * config/fr30/fr30.md: Likewise.
9283         * config/frv/frv.c: Likewise.
9284         * config/frv/frv.h: Likewise.
9285         * config/h8300/h8300.c: Likewise.
9286         * config/h8300/lib1funcs.asm: Likewise.
9287         * config/i370/i370.c: Likewise.
9288         * config/i386/i386.h: Likewise.
9289         * config/i386/i386.md: Likewise.
9290         * config/i386/pentium.md: Likewise.
9291         * config/i386/winnt.c: Likewise.
9292         * config/i960/i960.c: Likewise.
9293         * config/ia64/ia64.h: Likewise.
9294         * config/ip2k/ip2k.c: Likewise.
9295         * config/ip2k/ip2k.h: Likewise.
9296         * config/ip2k/ip2k.md: Likewise.
9297         * config/ip2k/libgcc.S: Likewise.
9298
9299 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
9300
9301         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
9302         (GOTOFF_P): Extend to allow gotoff plus constant.
9303
9304 2002-09-18  Richard Henderson  <rth@redhat.com>
9305
9306         * ifcvt.c (noce_process_if_block): Correctly detect X modified
9307         with INSN_B before COND_EARLIEST.  Don't check A and B for
9308         modification in condition range.  Reorder INSN_B for A==B properly.
9309         (if_convert): Iterate until no matches for a block.
9310
9311 2002-09-18  Richard Henderson  <rth@redhat.com>
9312
9313         * calls.c (store_one_arg): Rename default_align to parm_align;
9314         always adjust parm_align for downward padding.
9315
9316 2002-09-18  Richard Henderson  <rth@redhat.com>
9317
9318         * toplev.c (backend_init): Move init_real_once invocation ...
9319         (do_compile): ... here.
9320
9321 2002-09-18  Richard Henderson  <rth@redhat.com>
9322
9323         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
9324         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
9325
9326 2002-09-18  Richard Henderson  <rth@redhat.com>
9327
9328         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
9329
9330 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
9331
9332         * config/rs6000/rs6000.md: (floatdisf2): Rename to
9333         floatdisf2_internal1.
9334         (floatdisf2): New define_expand.
9335         (floatdisf2_internal2): Likewise.
9336
9337 2002-09-18  Richard Henderson  <rth@redhat.com>
9338
9339         * real.c (sticky_rshift_significand): Collect sticky as
9340         unsigned long, not bool.
9341
9342 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
9343
9344         * config/s390/s390.c (s390_address_cost): New function.
9345         config/s390/s390-protos.h (s390_address_cost): Add prototype.
9346         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
9347         (RTX_COST): Use COSTS_N_INSNS.
9348
9349 2002-09-18  Douglas Rupp  <rupp@gnat.com>
9350             Donn Terry  <donnte@microsoft.com>
9351
9352         * stor-layout.c (place_field): Handle alignment of whole
9353         structures when MSVC compatible bitfields are involved.
9354         Change method of computing location of MS bitfields to
9355         be compatible with #pragma pack(n).
9356
9357         * tree.h (record_layout_info): Add new field
9358         remaining_in_alignment.
9359
9360         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
9361         (pragma pack): Add paragraph on MSVC bitfield packing.
9362
9363 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
9364
9365         PR optimization/7967
9366         * arm.md (ne_zeroextractsi): Add clobber of the condition code
9367         register.
9368
9369 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
9370
9371         * config/s390/s390.c: Follow spelling conventions.
9372         * config/sh/lib1funcs.asm: Likewise.
9373         * config/sh/sh.c: Likewise.
9374         * config/sh/sh.h: Likewise.
9375         * config/sparc/sparc.c: Likewise.
9376         * config/sparc/sparc.h: Likewise.
9377         * config/sparc/sparc.md: Likewise.
9378         * config/stormy16/stormy16.c: Likewise.
9379         * config/stormy16/stormy16.h: Likewise.
9380         * config/v850/v850.c: Likewise.
9381         * config/v850/v850.h: Likewise.
9382         * config/vax/vax.c: Likewise.
9383         * config/vax/vax.h: Likewise.
9384
9385 2002-09-18  Nick Clifton  <nickc@redhat.com>
9386
9387         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
9388         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
9389         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
9390
9391 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9392
9393         * function.c (max_parm_reg_num): Remove.
9394         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
9395         drop_through_at_end_p, move_cleanups_up,
9396         expand_end_case_dummy, case_index_expr_type): Likewise.
9397         * stor-layout.c (pos_from_byte): Likewise.
9398         * tree.c (chain_member_value, chain_member_purpose, listify,
9399         tree_int_cst_msb, index_type_equal): Likewise.
9400         * tree.h: Remove prototypes for unused functions.
9401
9402 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
9403
9404         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
9405         statement that the only translation is to en_UK.
9406
9407 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9408
9409         * config/alpha/alpha.c: Follow spelling conventions.
9410         * config/alpha/alpha.h: Likewise.
9411         * config/alpha/alpha.md: Likewise.
9412         * config/arc/arc.h: Likewise.
9413         * config/arm/arm.c: Likewise.
9414         * config/arm/arm.h: Likewise.
9415         * config/arm/arm.md: Likewise.
9416         * config/arm/pe.c: Likewise.
9417         * config/arm/unknown-elf.h: Likewise.
9418         * config/avr/avr.c: Likewise.
9419         * config/avr/avr.h: Likewise.
9420         * config/c4x/c4x.c: Likewise.
9421         * config/cris/cris.c: Likewise.
9422         * config/cris/cris.h: Likewise.
9423
9424 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
9425
9426         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
9427         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
9428         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
9429
9430 2002-09-17  Dale Johannesen  <dalej@apple.com>
9431
9432         * cfgcleanup.c (try_forward_edges):  Do not forward a
9433         branch to just after a loop exit before loop optimization;
9434         this interfered with doloop detection.
9435
9436 2002-09-17  Nick Clifton  <nickc@redhat.com>
9437
9438         * config/arm/arm.c (output_return_instruction): Do not
9439         writeback the stack pointer when it is being loaded.
9440         (arm_output_epilogue): Likewise.
9441
9442 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
9443
9444         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
9445         generate a pseudo reg that receives the result of a libcall.
9446         (prepare_float_lib_cmp): Likewise.
9447
9448 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
9449
9450         * config/ia64/elf.h: Remove CPP_PREDEFINES.
9451
9452 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9453
9454         Fix PR/7014 and related objc bugs:
9455         * c-typeck.c (comp_target_types): Added a reflexive argument.
9456         Pass it to ObjC when/if calling objc_comptypes().  Updated all
9457         callers to provide the appropriate reflexive argument.
9458         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
9459         typechecking for all cases of comparisons and assignments,
9460         particularly the obscure and less common ones involving protocols.
9461
9462 2002-09-17  Nick Clifton  <nickc@redhat.com>
9463
9464         * machmode.def (V1DImode): New mode.  A single element vector.
9465         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
9466         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
9467         * tree.c (build_common_tree_nodes_2): Build
9468         unsigned_V1DI_type_node and V1D1_type_node.
9469         * c-common.c (c_common_type_for_mode): Return
9470         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
9471         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
9472
9473 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
9474
9475         * doc/objc.texi (Constant string objects): Extended documentation
9476         to make clear that the constant string class ivar layout is
9477         completely fixed.
9478
9479 2002-09-17  Roger Sayle  <roger@eyesopen.com>
9480
9481         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
9482         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
9483
9484 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
9485
9486         * config/mips/mips.c (save_restore_insns): Remove unused variable.
9487         * gcc.c (make_relative_prefix): Likewise.
9488         * loop.c (check_final_value): Likewise.
9489         * jump.c (init_label_info): Remove return value.
9490         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
9491
9492 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9493
9494         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
9495         (ASM_PN_FORMAT): Define.
9496
9497 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9498
9499         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
9500         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
9501         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
9502         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
9503         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
9504         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
9505         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
9506         Delete.
9507         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
9508         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
9509         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
9510
9511         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
9512         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
9513
9514 2002-09-16  Richard Henderson  <rth@redhat.com>
9515
9516         * expr.c (emit_block_move): Set memory block size as appropriate
9517         for the copy.
9518
9519 2002-09-16  Richard Henderson  <rth@redhat.com>
9520
9521         PR fortran/3924
9522         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
9523
9524 2002-09-16  Richard Henderson  <rth@redhat.com>
9525
9526         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
9527         as well as OFFSET for BITPOS.
9528
9529 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
9530
9531         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
9532         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
9533         winchip2 and c3.
9534         * doc/invoke.texi: Mention new aliases.
9535
9536 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9537
9538         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
9539         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
9540         downward.
9541         * function.c (pad_below):  Always compile.
9542         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
9543         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
9544         Pad below when the argument is not in a register and the padding
9545         direction is downward.
9546
9547         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
9548         (PAD_VARARGS_DOWN): Define.
9549         * pa.c (function_arg_padding): Revise padding directions to make them
9550         compatible with the 32 and 64-bit runtime architecture documentation.
9551         (hppa_va_arg):  Add code to handle variable and size zero arguments
9552         passed by reference on TARGET_64BIT.  Reformat.
9553         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
9554         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
9555         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
9556         Add comments.
9557         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
9558         (RETURN_IN_MEMORY): Return size zero types in memory.
9559         (FUNCTION_VALUE): Return TFmode in general registers.
9560         (MUST_PASS_IN_STACK): Define.
9561         (FUNCTION_ARG_BOUNDARY): Simplify.
9562         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
9563         by reference.
9564         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
9565
9566 2002-09-16  Richard Henderson  <rth@redhat.com>
9567
9568         * real.c (do_fix_trunc): New.
9569         (real_arithmetic): Call it.
9570         * simplify-rtx.c (simplify_unary_operation): Handle FIX
9571         with a floating-point result mode.
9572
9573 2002-09-16  Richard Henderson  <rth@redhat.com>
9574
9575         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
9576         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
9577         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
9578         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
9579         * builtins.c (fold_builtin_nan): New.
9580         (fold_builtin): Call it.
9581         * real.c (real_nan): Parse a non-empty string.
9582         (round_for_format): Fix NaN significand truncation.
9583         * real.h (real_nan): Return bool.
9584         * doc/extend.texi: Document new builtins.
9585
9586 2002-09-16  Jason Merrill  <jason@redhat.com>
9587             Danny Smith  <dannysmith@users.sourceforge.net>
9588
9589         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
9590         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
9591         (i386_pe_mark_dllimport): Not here.
9592
9593 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
9594
9595         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
9596
9597 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
9598
9599         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
9600         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
9601         < 64.
9602         (rs6000_emit_cmove): Use real_isinf not target_isinf.
9603
9604 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9605
9606         * calls.c (emit_library_call_value_1): Don't refer to
9607         hard_libcall_value.
9608         * optabs.c (prepare_float_lib_cmp): Likewise.
9609
9610 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
9611
9612         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
9613         mangling.
9614
9615         The following changes are merged from pch-branch:
9616
9617         * doc/gty.texi (GTY Options): Document %a.
9618         * gengtype.c (do_scalar_typedef): New function.
9619         (process_gc_options): Handle `length' option.
9620         (set_gc_used_type): A pointer to an array of structures doesn't
9621         qualify as a pointer to a structure.
9622         (output_escaped_param): Add `%a' escape.
9623         (write_gc_structure_fields): Allow 'desc' on array of unions.
9624         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
9625         do_scalar_typedef.
9626
9627         * gengtype.c (enum rtx_code): Make global.
9628         (rtx_format): Make global.
9629         (rtx_next): New.
9630         (gen_rtx_next): New.
9631         (write_rtx_next): New.
9632         (adjust_field_rtx_def): Skip fields marked by chain_next.
9633         (open_base_files): Delete redundant prototype.
9634         (write_enum_defn): New.
9635         (output_mangled_typename): Correct abort call.
9636         (write_gc_marker_routine_for_structure): Handle chain_next and
9637         chain_prev options.
9638         (finish_root_table): Don't output redundant \n.
9639         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
9640         * c-tree.h (union lang_tree_node): Add chain_next option.
9641
9642         * gengtype.h (NUM_PARAM): New definition.
9643         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
9644         * gengtype.c (find_param_structure): New.
9645         (adjust_field_type): Handle param<n>_is option.
9646         (process_gc_options): Detect use_params option.  Update callers.
9647         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
9648         'use_params' option.
9649         (open_base_files): Add splay-tree.h to list of files included.
9650         (output_mangled_typename): New.
9651         (write_gc_structure_fields): Update 'param' parameter to support
9652         multiple parameters.  Change name mangling.  Allow parameterized
9653         fields to have an apparent scalar type.  Handle param<n>_is options,
9654         use_param option.
9655         (write_gc_marker_routine_for_structure): Update for change to name
9656         mangling.  Better guess the output file for parameterized types.
9657         (write_gc_types): Update for change to name mangling.
9658         (write_gc_root): Update for change to name mangling.  Handle (ignore)
9659         param<n>_is options.
9660         * doc/gty.texi (GTY Options): Add description of param<n>_is
9661         options, use_params option.
9662         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9663         * gengtype-lex.l: Produce token for param<n>_is.
9664         * gengtype-yacc.y: Parse param<n>_is.
9665
9666         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
9667
9668         * rtl.c: Update comment describing rtx_format.
9669         * rtl.h (union rtunion): Separate definition and typedef.
9670         (struct rtx_def): Use gengtype to mark.
9671         * Makefile.in (gengtype.o): Also depend on rtl.def.
9672         * ggc.h (ggc_mark_rtx_children): Delete prototype.
9673         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
9674         * ggc-common.c (ggc_mark_rtx_children): Delete.
9675         (ggc_mark_rtx_children_1): Delete.
9676         (gt_ggc_m_rtx_def): Delete.
9677         * gengtype.c (adjust_field_rtx_def): New.
9678         (adjust_field_type): Call adjust_field_rtx_def.
9679         (write_gc_structure_fields): Add 'default' case to switch if none
9680         is specified; remove unused code.
9681
9682         * tree.h (struct tree_exp): Update for change to meaning
9683         of special.
9684         * gengtype.c (adjust_field_tree_exp): New function.
9685         (adjust_field_type): Handle `tree_exp' special here.
9686         (write_gc_structure_fields): Don't handle `tree_exp' special here.
9687         Handle new `dot' option.
9688
9689         * gengtype.h: Make `info' a pointer-to-const.
9690         * gengtype-yacc.y (yacc_ids): Use xasprintf.
9691
9692         * gengtype.c (write_gc_structure_fields): Remove implementation
9693         of `always' option, add `default' option.
9694         * doc/gty.texi (GTY Options): Remove documentation of `always',
9695         add `default'.
9696
9697 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
9698
9699         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
9700
9701 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9702
9703         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
9704
9705         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
9706         instead of the *-protos.h file directly.
9707         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
9708         * darwin.c (machopic_output_stub): Move prototype ...
9709         * darwin-protos.h (machopic_output_stub): ... here.
9710         * rs6000-protos.h (machopic_output_stub): Don't declare.
9711
9712 2002-09-16  Richard Henderson  <rth@redhat.com>
9713
9714         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
9715
9716 2002-09-16  Richard Henderson  <rth@redhat.com>
9717
9718         * real.c, real.h: Rewrite from scratch.
9719
9720         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
9721         (paranoia): New target.
9722         * builtins.c (fold_builtin_inf): Use new real.h interface.
9723         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
9724         * c-lex.c (interpret_float): Likewise.
9725         * emit-rtl.c (gen_lowpart_common): Likewise.
9726         * optabs.c (expand_float): Use real_2expN.
9727         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
9728         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
9729         (FLOAT_WORDS_BIG_ENDIAN): New.
9730         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
9731         directly to REAL_VALUE_NEGATIVE.
9732         * loop.c (canonicalize_condition): Likewise.
9733         * simplify-rtx.c: Include tree.h.
9734         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
9735         with floating-point result modes.
9736         * toplev.c (backend_init): Call init_real_once.
9737
9738         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
9739         * tree.c (build_real): Likewise.
9740         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
9741         float_values, inited_float_values, check_float_value): Remove.
9742         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
9743         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
9744         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
9745         (VAX_HALFWORD_ORDER): Remove.
9746
9747 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
9748
9749         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
9750         (s390_load_address): ... this new function.
9751         (s390_decompose_address): Allow the argument pointer and all
9752         virtual registers as 'pointer' registers.
9753         (s390_expand_plus_operand): Use s390_load_address.
9754         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
9755         ("force_la_31"): New insn pattern.
9756         config/s390/s390-protos.h (legitimize_la_operand): Remove.
9757         (s390_load_address): Add prototype.
9758
9759         * config/s390/s390.c: Include "optabs.h".
9760         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
9761         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
9762         s390_expand_cmpstr): Add prototypes.
9763         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
9764         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
9765         for operands 0 and 1 to "memory_operand".  Add type attribute.
9766         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
9767         for operands 0 and 1 to "memory_operand".  Add type attribute.
9768         ("movstrdi_long", "movstrsi_long"): Remove.
9769         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
9770         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
9771         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
9772         ("clrstrsico"): Remove, replace by ...
9773         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
9774         ("clrstrsi_64"): Rename to "clrstr_long_64".
9775         ("clrstrsi_31"): Rename to "clrstr_long_31".
9776         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
9777         ("cmpstr_const"): Remove, replace by ...
9778         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
9779         ("cmpstr_64"): Rename to "cmpstr_long_64".
9780         ("cmpstr_31"): Rename to "cmpstr_long_31".
9781
9782 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
9783
9784         * ABOUT-NLS: Follow spelling conventions.
9785         * ChangeLog: Likewise.
9786         * ChangeLog.1: Likewise.
9787         * ChangeLog.2: Likewise.
9788         * ChangeLog.3: Likewise.
9789         * ChangeLog.4: Likewise.
9790         * ChangeLog.5: Likewise.
9791         * ChangeLog.6: Likewise.
9792         * FSFChangeLog.10: Likewise.
9793         * FSFChangeLog.11: Likewise.
9794         * c-common.c: Likewise.
9795         * c-lex.c: Likewise.
9796         * c-objc-common.c: Likewise.
9797         * cppexp.c: Likewise.
9798         * cppinit.c: Likewise.
9799         * cpplex.c: Likewise.
9800         * doloop.c: Likewise.
9801         * flow.c: Likewise.
9802         * function.c: Likewise.
9803         * integrate.c: Likewise.
9804         * loop.c: Likewise.
9805         * reg-stack.c: Likewise.
9806         * reload.h: Likewise.
9807         * ssa.c: Likewise.
9808
9809 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9810
9811         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
9812         * vmsdbgout.c: Include "target.h".
9813
9814 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9815
9816         * ChangeLog: Follow spelling conventions.
9817         * ChangeLog.0: Likewise.
9818         * ChangeLog.1: Likewise.
9819         * ChangeLog.2: Likewise.
9820         * ChangeLog.4: Likewise.
9821         * ChangeLog.6: Likewise.
9822         * config.gcc: Likewise.
9823         * dwarfout.c: Likewise.
9824         * reload1.c: Likewise.
9825         * simplify-rtx.c: Likewise.
9826         * unwind-sjlj.c: Likewise.
9827         * config/avr/avr.h: Likewise.
9828         * config/d30v/d30v.h: Likewise.
9829         * config/frv/frv.c: Likewise.
9830         * config/frv/frv.h: Likewise.
9831         * config/ip2k/ip2k.h: Likewise.
9832         * config/m88k/m88k-move.sh: Likewise.
9833         * config/stormy16/stormy16.c: Likewise.
9834         * config/stormy16/stormy16.h: Likewise.
9835         * doc/extend.texi: Likewise.
9836         * doc/interface.texi: Likewise.
9837         * doc/invoke.texi: Likewise.
9838         * doc/md.texi: Likewise.
9839         * doc/rtl.texi: Likewise.
9840         * doc/tm.texi: Likewise.
9841         * doc/trouble.texi: Likewise.
9842         * ginclude/float.h: Likewise.
9843         * treelang/treelang.texi: Likewise.
9844
9845 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9846
9847         * i386-protos.h (i386_pe_dllexport_name_p,
9848         i386_pe_dllimport_name_p, i386_pe_unique_section,
9849         i386_pe_declare_function_type, i386_pe_record_external_function,
9850         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
9851         prototype.
9852         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
9853         * i386/t-interix (winnt.o): Likewise.
9854
9855         * v850-protos.h (v850_output_addr_const_extra): Prototype.
9856
9857 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9858
9859         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
9860         MIPS ABI CPP macros.
9861         (TARGET_CPU_CPP_BUILTINS): Redefine.
9862         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
9863         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
9864
9865 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9866
9867         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9868
9869 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9870
9871         * ChangeLog: Follow spelling conventions.
9872         * ChangeLog.0: Likewise.
9873         * ChangeLog.1: Likewise.
9874         * ChangeLog.2: Likewise.
9875         * ChangeLog.3: Likewise.
9876         * ChangeLog.4: Likewise.
9877         * ChangeLog.5: Likewise.
9878         * ChangeLog.6: Likewise.
9879         * FSFChangeLog.10: Likewise.
9880         * FSFChangeLog.11: Likewise.
9881         * c-common.c: Likewise.
9882         * c-common.h: Likewise.
9883         * c-format.c: Likewise.
9884         * c-opts.c: Likewise.
9885         * cpplib.c: Likewise.
9886         * langhooks.h: Likewise.
9887         * real.c: Likewise.
9888         * reg-stack.c: Likewise.
9889         * toplev.c: Likewise.
9890         * config/arm/arm.c: Likewise.
9891         * config/arm/arm.md: Likewise.
9892         * config/arm/linux-gas.h: Likewise.
9893         * config/arm/netbsd.h: Likewise.
9894         * config/c4x/c4x.c: Likewise.
9895         * config/c4x/c4x.h: Likewise.
9896         * config/c4x/c4x.md: Likewise.
9897         * config/c4x/libgcc.S: Likewise.
9898         * config/fr30/fr30.md: Likewise.
9899         * config/frv/frv.md: Likewise.
9900         * config/ia64/ia64.md: Likewise.
9901         * config/mips/mips.h: Likewise.
9902         * config/mn10300/mn10300.c: Likewise.
9903         * config/stormy16/stormy16.c: Likewise.
9904         * config/v850/v850.md: Likewise.
9905         * doc/extend.texi: Likewise.
9906         * doc/invoke.texi: Likewise.
9907         * doc/md.texi: Likewise.
9908
9909 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9910
9911         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
9912         library if -pthread is specified.
9913
9914 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
9915
9916         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
9917         for --enable-threads=yes and --enable-threads=posix.
9918
9919 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
9920
9921         * config/sparc/cypress.md: Replace Sparc with SPARC.
9922         * config/sparc/freebsd.h: Likewise.
9923         * config/sparc/gmon-sol2.c: Likewise.
9924         * config/sparc/hypersparc.md: Likewise.
9925         * config/sparc/lb1spc.asm: Likewise.
9926         * config/sparc/lb1spl.asm: Likewise.
9927         * config/sparc/linux.h: Likewise.
9928         * config/sparc/linux64.h: Likewise.
9929         * config/sparc/lynx.h: Likewise.
9930         * config/sparc/sol2.h: Likewise.
9931         * config/sparc/sparc-modes.def: Likewise.
9932         * config/sparc/sparc.c: Likewise.
9933         * config/sparc/sparc.h: Likewise.
9934         * config/sparc/sparc.md: Likewise.
9935         * config/sparc/sparclet.md: Likewise.
9936         * config/sparc/supersparc.md: Likewise.
9937         * config/sparc/sysv4.h: Likewise.
9938         * config/sparc/vxsim.h: Likewise.
9939         * config/sparc/vxsparc64.h: Likewise.
9940
9941 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9942
9943         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
9944         * collect2.c (ignore_library, aix_std_libs): Move into the context
9945         where it is used.
9946         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
9947         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
9948         * m88k.c (output_call): Wrap variables with macro controlling use.
9949         * rs6000.md: Likewise.  Const-ify variable.
9950         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
9951         * final.c (only_leaf_regs_used): Likewise.
9952         * regrename.c (maybe_mode_change): Mark parameter with
9953         ATTRIBUTE_UNUSED.
9954         * reload.c (find_valid_class): Likewise.  Likewise for variable.
9955         (find_reloads_address_1): Likewise.
9956         * varasm.c (weak_finish): Wrap variable with macro controlling use.
9957
9958 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9959
9960         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
9961
9962 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9963
9964         * ChangeLog: Follow spelling conventions.
9965         * ChangeLog.0: Likewise.
9966         * ChangeLog.2: Likewise.
9967         * ChangeLog.3: Likewise.
9968         * ChangeLog.4: Likewise.
9969         * ChangeLog.5: Likewise.
9970         * ChangeLog.6: Likewise.
9971         * cppfiles.c: Likewise.
9972         * cppinit.c: Likewise.
9973         * cpplib.h: Likewise.
9974         * cse.c: Likewise.
9975         * debug.h: Likewise.
9976         * df.c: Likewise.
9977         * dominance.c: Likewise.
9978         * hashtable.c: Likewise.
9979         * hashtable.h: Likewise.
9980         * loop.c: Likewise.
9981         * config/arm/README-interworking: Likewise.
9982         * config/arm/arm.c: Likewise.
9983         * config/arm/arm.h: Likewise.
9984         * config/arm/arm.md: Likewise.
9985         * config/dsp16xx/dsp16xx.h: Likewise.
9986         * config/frv/frv.c: Likewise.
9987         * config/frv/frv.h: Likewise.
9988         * config/ip2k/ip2k.h: Likewise.
9989         * config/rs6000/rs6000.c: Likewise.
9990         * config/stormy16/stormy-abi: Likewise.
9991         * config/stormy16/stormy16.h: Likewise.
9992         * config/v850/v850.c: Likewise.
9993
9994 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9995
9996         * loop.c: Fix a comment typo.
9997
9998 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
9999
10000         * config/fr30/fr30.h: Fix comment typos.
10001         * config/frv/frv.c: Likewise.
10002         * config/i386/xmmintrin.h: Likewise.
10003         * config/mips/mips.c: Likewise.
10004         * config/sh/sh.c: Likewise.
10005
10006 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
10007
10008         * haifa-sched.c: Follow spelling conventions.
10009         * regclass.c: Likewise.
10010         * regrename.c: Likewise.
10011         * config/fp-bit.c: Likewise.
10012         * config/frv/frv.h: Likewise.
10013         * config/m88k/m88k.c: Likewise.
10014         * config/mcore/mcore.c: Likewise.
10015         * config/rs6000/darwin.h: Likewise.
10016         * config/rs6000/gnu.h: Likewise.
10017         * config/rs6000/linux.h: Likewise.
10018         * config/rs6000/linux64.h: Likewise.
10019         * config/rs6000/rs6000.c: Likewise.
10020         * config/rs6000/rs6000.h: Likewise.
10021         * config/sh/sh.c: Likewise.
10022         * config/sparc/sparc.c: Likewise.
10023         * config/sparc/ultra1_2.md: Likewise.
10024
10025 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
10026
10027         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
10028         memory operand when source is 0 (K constraint).
10029         ("movsi_internal"): Likewise.
10030         ("movdf_internal"): Likewise.
10031         ("movsf_internal"): Likewise.
10032
10033 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10034
10035         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
10036         targetm.binds_local_p to set SYMBOL_REF_FLAG.
10037         (rs6000_xcoff_encode_section_info): Likewise.
10038         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10039
10040 2002-09-10  Theodore A. Roth  <troth@verinet.com>
10041
10042         * gcc/config/avr/avr.h: Set default options for C++ for avr.
10043
10044 2002-09-13  Roger Sayle  <roger@eyesopen.com>
10045
10046         * stmt.c (struct nexting): Remove unused alt_end_label field.
10047         (expand_start_loop): Delete initialization of alt_end_label.
10048         (expand_start_null_loop): Likewise.
10049         (expand_exit_loop_if_false): Delete updating of alt_end_label.
10050
10051 2002-09-13  Richard Henderson  <rth@redhat.com>
10052
10053         * Makefile.in (toplev.o): Depend on real.h.
10054         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
10055
10056 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
10057
10058         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
10059         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
10060         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
10061
10062 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
10063
10064         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
10065
10066 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10067
10068         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
10069         ia64*-*-linux*): Set extra_parts.
10070         * config/ia64/t-aix (EXTRA_PARTS): Remove.
10071         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
10072
10073 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10074
10075         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
10076         * config/h8300/h8300.c: Likewise.
10077         * config/h8300/h8300.h: Likewise.
10078         * config/h8300/h8300.md: Likewise.
10079         * doc/invoke.texi: Likewise.
10080
10081 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
10082
10083         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
10084
10085 2002-09-13  Richard Henderson  <rth@redhat.com>
10086
10087         * config/alpha/alpha.md (attr type): Add callpal.
10088         (imb, trap, load_tp, set_tp): Use it.
10089         * config/alpha/ev4.md (ev4_callpal): New.
10090         * config/alpha/ev5.md (ev5_callpal): New.
10091         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
10092         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
10093         (alphaev5_insn_pipe): Likewise.
10094
10095 2002-09-13  Andreas Jaeger  <aj@suse.de>
10096
10097         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
10098
10099 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10100
10101         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
10102         LIB2ADDEH): New, set to NULL.
10103         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
10104
10105 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
10106
10107         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
10108         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
10109         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
10110         Add declarations.
10111         (_U_Qfneg): Remove.
10112
10113 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
10114
10115         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
10116         for H8/300, H8S aa:8 mode.
10117         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
10118         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
10119         for H8/300 aa:8 mode.
10120
10121 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
10122
10123         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
10124         insns.
10125
10126 2002-09-12  Richard Henderson  <rth@redhat.com>
10127
10128         * Makefile.in (HOST_PRINT): Use print-rtl1.o
10129         (print-rtl.o): Don't define GENERATOR_FILE.
10130         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
10131         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
10132         unless GENERATOR_FILE.
10133
10134 2002-09-12  Stan Shebs  <shebs@apple.com>
10135
10136         * config/darwin.h (USER_LABEL_PREFIX): Define here...
10137         * config/i386/darwin.h: ... instead of here.
10138
10139         * target.h (struct gcc_target): New field
10140         terminate_dw2_eh_frame_info.
10141         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10142         (TARGET_INITIALIZER): Add it.
10143         * dwarf2out.c (output_call_frame_info): Use target hook.
10144         * dwarf2asm.c (dw2_asm_output_delta): Use macro
10145         ASM_OUTPUT_DWARF_DELTA if defined.
10146         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
10147         (ASM_OUTPUT_DWARF_DELTA): Ditto.
10148         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
10149         (ASM_OUTPUT_DWARF_PCREL): Ditto.
10150         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
10151         (powerpc-*-darwin*): Ditto.
10152         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
10153         to work correctly for Darwin.
10154         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
10155         (STARTFILE_SPEC): Add crtbegin.o.
10156         (ENDFILE_SPEC): Define.
10157         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
10158         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
10159         (ASM_OUTPUT_DWARF_DELTA): Define.
10160         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
10161         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
10162
10163 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
10164
10165         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
10166         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
10167         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
10168
10169 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
10170
10171         * toplev.c: Move default definition of USER_LABEL_PREFIX...
10172         * defaults.h: ... here.
10173
10174 2002-09-12  Richard Henderson  <rth@redhat.com>
10175
10176         * vax.c: Include tree.h earlier.
10177
10178 2002-09-12  Stan Shebs  <shebs@apple.com>
10179
10180         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
10181         (machopic_operand_p): Ditto.
10182
10183 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10184
10185         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10186         Fix a comment typo.
10187
10188 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10189
10190         * toplev.c (do_abort): Fix a comment typo.
10191
10192 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10193
10194         * cselib.c: Fix comment formatting.
10195         * gengtype.c: Likewise.
10196
10197 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
10198
10199         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
10200         (udivmodhi4): Likewise.
10201
10202 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
10203             Roger Sayle  <roger@eyesopen.com>
10204
10205         * i386.c (any_fp_register_operand, fp_register_operand,
10206         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
10207         New predicate functions.
10208         * i386-protos.h:  Add their prototypes.
10209         * i386.h: Add them to PREDICATE_CODES.
10210         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
10211         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
10212         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
10213         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
10214         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
10215         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
10216         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
10217         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
10218         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
10219         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
10220         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
10221         Use these new predicates to simplify and correct the use of
10222         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
10223
10224 2002-09-12  Jason Merrill  <jason@redhat.com>
10225
10226         * diagnostic.c (output_add_identifier): New fn.
10227         * diagnostic.h: Declare it.
10228
10229         * calls.c (store_one_arg): Use size_in_bytes to determine the
10230         amount of space to push.
10231
10232 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
10233
10234         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
10235
10236 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
10237
10238         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
10239         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
10240         (s390_select_ccmode): Likewise.
10241         (s390_branch_condition_mask): Likewise.
10242         (optimization_options): Do not set flag_branch_on_count.
10243         (s390_split_branches): Handle doloop branches.
10244         (s390_chunkify_pool): Likewise.
10245         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
10246         ("doloop_end"): New expander.
10247         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
10248         associated splitters): New.
10249
10250 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10251
10252         * genattrtab.c (simplify_cond): Remove unused variable(s).
10253         * global.c (record_conflicts): Likewise.
10254         * jump.c (rebuild_jump_labels): Likewise.
10255         * loop.c (scan_loop, check_final_value): Likewise.
10256         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
10257         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
10258         * rtlanal.c (reg_set_p): Likewise.
10259         * stmt.c (expand_asm_operands, expand_decl): Likewise.
10260         * genautomata.c (empty_reserv): Remove.
10261         * loop.c (max_luid): Likewise.
10262         * sched-rgn.c (bitlst_table_size): Likewise.
10263
10264 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
10265
10266         Reimplement gcov format.
10267         * gcov-io.h: Replace.
10268         * gcov.c: Reimplement.
10269         * gcov-iov.c: New file.
10270         * gcov-dump.c: New file.
10271         * libgcc2.c (L_bb): Replace with ...
10272         (L_gcov): ... this.
10273         (struct bb_function_info, struct bb): Remove.
10274         (inhibit_libc): Never inhibit.
10275         (gcov_list, gcov_crc): New static variables.
10276         (gcov_version_mismatch): New static function.
10277         (__bb_exit_func): Renamed to ...
10278         (__gcov_exit): ... here. Made static. Reimplement.
10279         (__gcov_init_func): Rename to ...
10280         (__gcov_init): ... here. Check version, update crc.
10281         (__bb_fork_func): Rename to ...
10282         (__gcov_flush): ... here.
10283         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
10284         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
10285         * calls.c (expand_call): Call __gcov_flush.
10286         * profile.c (bb_file, last_bb_file_name): Remove.
10287         (bbg_file_name): New global variable.
10288         (output_gcov_string): Remove.
10289         (get_exec_counts): Reimplement.
10290         (branch_prob): Reimplement gcov file writing.
10291         (init_branch_prob): Create bbg_file_name, don't create
10292         bb_file_name.
10293         (end_branch_prob): Adjust. Don't remove counter file when
10294         instrumenting ourselves.
10295         (create_profiler): Adjust.
10296         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
10297         point to gcov-io.h.
10298         * Makefile.in (LANGUAGES): Add gcov-dump.
10299         (coverageexts): Remove .bb.
10300         (STAGESTUFF): Add gcov-dump.
10301         (LIB2FUNCS_ST): Replace _bb with _gcov.
10302         (profile.o): Depend on gcov-iov.h.
10303         (final.o): Don't depend on profile.h, gcov.h.
10304         (gcov.o): Depend on gcov-iov.h.
10305         (gcov-iov.o): New target.
10306         (gcov-iov): New target.
10307         (gcov-iov.h): New target.
10308         (gcov-dump.o): New target.
10309         (GCOV_DUMP_OBJS): New variable.
10310         (gcov-dump): New target.
10311         (distclean): Remove coverageexts.
10312         (stage1): Remove coverageexts.
10313
10314 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
10315
10316         * fold-const.c (make_range): Only narrow to signed range if
10317         the signed range is smaller than the unsigned range.
10318
10319 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
10320
10321         * emit-rtl.c (set_mem_size): New function.
10322         * expr.h (set_mem_size): Declare.
10323         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
10324         (expand_block_move): Instead, use adjust_address and
10325         replace_equiv_address to generate proper aliasing info.
10326         Move common code out of conditionals.  Localize vars.
10327
10328 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
10329
10330         * optabs.c (expand_binop): Minor cleanup.
10331         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
10332
10333 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
10334
10335         * print-tree.c (print_node): Print the restrict qualifier.
10336
10337 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
10338
10339         * doc/install.texi: Fix typos.
10340
10341 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
10342
10343         * Makefile.in: Remove all references to s-under and underscore.c.
10344         * collect2.c, tlink.c: Change all uses of prepends_underscore
10345         to look directly at USER_LABEL_PREFIX.
10346
10347 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
10348
10349         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
10350         alignment to csect.
10351         (rs6000_xcoff_unique_section): Only set section name for public
10352         data.
10353         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
10354         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
10355         duplicate definition.
10356
10357 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10358
10359         * pa.md (extzv): Check predicates before emitting extzv_32.
10360         (insv): Likewise.
10361
10362 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
10363
10364         * config/s390/s390.h (MOVE_MAX): Define to correct value.
10365         (MAX_MOVE_MAX): Define.
10366         (MOVE_BY_PIECES_P): Define.
10367         (CLEAR_BY_PIECES_P): Define.
10368
10369 2002-09-10  Denis Chertykov  <denisc@overta.ru>
10370
10371         * config/avr/avr.md (movstrhi): Use right operands for conversion.
10372
10373 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
10374
10375         PR c/7873
10376         * arm.md (insv): Use reg_or_int_operand for operand[3].
10377
10378 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
10379
10380         * rs6000.c (rs6000_assemble_visibility): Protect declaration
10381         inside macro.  Correct function definition typo.
10382         (rs6000_xcoff_section_type_flags): New function.
10383         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
10384         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
10385         with appropriate PIC test.
10386         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
10387         determine readonly.
10388         (rs6000_binds_local_p): Combine PIC flags.
10389         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
10390         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
10391
10392 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10393
10394         * h8300.md: Fix signed/unsigned warnings.
10395         * mcore.md: Likewise.
10396         * mn10300.c (mask_ok_for_mem_btst): Likewise.
10397
10398 2002-09-09  Per Bothner  <per@bothner.com>
10399
10400         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
10401         characters, and only print TREE_STRING_LENGTH chars.
10402
10403 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
10404
10405         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
10406         (ASM_FILE_END) New.
10407         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
10408         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
10409         * config/ia64/ia64.c (ia64_asm_output_external): Create list
10410         of external functions if TARGET_HPUX_LD is true.
10411         (ia64_hpux_add_extern_decl): New, routine to put names on
10412         list of external functions.
10413         (ia64_hpux_asm_file_end): Put out declarations for external
10414         functions if and only if they are used.
10415
10416 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10417
10418         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
10419         on TARGET_64BIT before pic register restore.
10420
10421 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
10422
10423         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
10424         (TARGET_HAVE_TLS): New description.
10425
10426 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
10427
10428         * doc/extend.texi (Statement Exprs): Fix broken link.
10429
10430 2002-09-09  Denis Chertykov  <denisc@overta.ru>
10431
10432         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
10433         right conversion of operands[1].
10434
10435 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
10436
10437         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
10438         commutative.  Use "nonimmediate_operand" instead of "register_operand"
10439         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
10440
10441         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
10442         as commutative.
10443
10444         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
10445         mark as commutative.  Use "nonimmediate_operand" instead of
10446         "register_operand" as predicate for operand 1.
10447
10448         ("movstrictsi"): Fix typo in insn name.
10449
10450 2002-09-09  Jan Hubicka  <jh@suse.cz>
10451
10452         * i386.c (index_register_operand): New.
10453         * i386.h (predicate_codes): Add new predicate.
10454         * i386.md (lea_general_*): Use index_register_operand
10455         (ashift to lea splitter): Do not produce invalid leas
10456         (ashift to mov+ashift split): New.
10457
10458 2002-09-09  Nick Clifton  <nickc@redhat.com>
10459
10460         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
10461         Fix folding marks.
10462
10463 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10464             J"orn Rennecke <joern.rennecke@superh.com>
10465
10466         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
10467
10468 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
10469
10470         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
10471         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
10472         attributes.
10473
10474 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
10475
10476         * basic_block.h (gcov_type): Explain why it is signed.
10477         * final.c: Don't include profile.h.
10478         (struct function_list, functions_head, functions_tail,
10479         end_final): Moved to profile.c
10480         (final): Move arc chaining code to profile.c.
10481         * function.c (prepare_function_start): Remove duplicate line.
10482         * output.h (end_final): Remove prototype.
10483         * predict.c (estimate_loops_at_level): Use gcov_type.
10484         * profile.c (struct function_list, functions_head,
10485         functions_tail): Moved from final.c
10486         (need_func_profiler): Remove.
10487         (instrument_edges): Don't set need_func_profiler.
10488         (get_exec_counts): Avoid signed/unsigned warning.
10489         (compute_checksum): Use crc32.
10490         (branch_prob): Adjust. Chain onto functions_head.
10491         (init_branch_prob): Absorb init_edge_profiler.
10492         (init_edge_profiler): Remove.
10493         (create_profiler): Moved and renamed from final.c:end_final.
10494         Emit data and constructor.
10495         (output_func_start_profiler): Remove.
10496         * profile.h (struct profile_info): checksum is unsigned.
10497         * rtl.h (output_func_start_profiler): Remove prototype.
10498         (create_profiler): Declare.
10499         * toplev.c (compile_file): Call create_profiler, if instrumenting
10500         arcs. Don't call end_final.
10501
10502 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10503
10504         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
10505
10506 2002-09-08  Richard Henderson  <rth@redhat.com>
10507
10508         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
10509         (DW_OP_GNU_push_tls_address): New.
10510         (DW_OP_lo_user): Fix.
10511         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
10512         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
10513         (size_of_loc_descr): Likewise.
10514         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
10515         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
10516         (loc_descriptor_from_tree): Handle TLS variables.
10517         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
10518         (add_location_or_const_value_attribute): ... not here.  Defer
10519         to loc_descriptor_from_tree for TLS variables.
10520
10521         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
10522         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
10523         * config/i386/i386-protos.h: Update.
10524
10525 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10526
10527         PR optimization/6405
10528         * unroll.c (loop_iterations): last_loop_insn should be the previous
10529         non-note instruction before loop->end.
10530         * loop.c (strength_reduce): The conditional jump is the last
10531         non-note instruction before loop->end (as above).
10532
10533 2002-09-08  Roger Sayle  <roger@eyesopen.com>
10534
10535         * combine.c (try_combine): Handle the case that undobuf.other_insn
10536         has been turned into a return or unconditional jump, by inserting
10537         a BARRIER if necessary.
10538         (simplify_set):  Test if a condition code setter has a constant
10539         comparison at compile time, if so convert this insn to a no-op move
10540         and update/simplify the condition code user (undobuf.other_insn).
10541
10542 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
10543
10544         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
10545         (CLEAR_INSN_CACHE): Define.
10546
10547 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10548
10549         * basic-block.h: Fix comment formatting.
10550         * c-common.c: Likewise.
10551         * c-common.h: Likewise.
10552         * c-lex.c: Likewise.
10553         * c-pretty-print.c: Likewise.
10554         * cfglayout.c: Likewise.
10555         * cfgloop.c: Likewise.
10556         * defaults.h: Likewise.
10557         * et-forest.c: Likewise.
10558         * explow.c: Likewise.
10559         * function.h: Likewise.
10560         * gcov.c: Likewise.
10561         * genattrtab.c: Likewise.
10562         * gengtype.c: Likewise.
10563         * ifcvt.c: Likewise.
10564         * libgcc2.c: Likewise.
10565         * loop.c: Likewise.
10566         * profile.c: Likewise.
10567         * ra-build.c: Likewise.
10568         * real.c: Likewise.
10569         * rtl.h: Likewise.
10570         * tracer.c: Likewise.
10571         * tree-inline.c: Likewise.
10572         * varasm.c: Likewise.
10573
10574 2002-09-08  Jan Hubicka  <jh@suse.cz>
10575
10576         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
10577         handling.
10578
10579         * loop.c (loop_givs_reduce):  Emit addition after.
10580
10581 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10582
10583         * varasm.c (default_assemble_visibility): Rename from
10584         assemble_visibility.
10585         * output.h: Here too.
10586         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
10587         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
10588
10589 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
10590
10591         * reload.c (find_reloads <p constraint>): Pass operand_mode to
10592         find_reloads_address.
10593
10594 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
10595
10596         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
10597         (anonymous pattern): Likewise.
10598
10599 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10600
10601         * machmode.def: Add modes for half-float vectors.
10602
10603 2002-09-07  Scott Snyder  <snyder@fnal.gov>
10604
10605         PR target/7374
10606         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
10607
10608 2002-09-07  Roger Sayle  <roger@eyesopen.com>
10609
10610         * basic-block.h (struct loop): Remove unused cont_dominator field.
10611
10612 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10613
10614         * varasm.c (decode_rtx_const): Don't check undefined field for
10615         CONST_VECTOR.
10616
10617 2002-09-07  Glen Nakamura  <glen@imodulo.com>
10618
10619         PR opt/7814
10620         * sched-deps.c (sched_analyze_insn): Make sure to add insn
10621         to reg_last->sets after flushing the dependency lists to guarantee
10622         that subsequent clobbers will be dependent on it.
10623
10624 2002-09-07  Igor Shevlyakov <igor@microunity.com>
10625
10626         * combine.c (simplify_shift_const): Calculate rotate count
10627         correctly for vector operands.
10628
10629 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
10630
10631         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
10632         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
10633         tree_expr_nonnegative_p.
10634         (build_conditional_expr): Likewise.
10635         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
10636
10637 2002-09-07  Richard Henderson  <rth@redhat.com>
10638
10639         * builtins.def (inf, inff, infl): Mark const.
10640         (huge_val, huge_valf, huge_vall): Likewise.
10641         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
10642
10643         * real.c (ereal_inf): Clear E before use.
10644
10645 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10646
10647         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
10648         an expander and an anonymous pattern.  Zero out the upper half
10649         of the dividend in the expander.
10650         (udivmodqi4): Likewise.
10651
10652 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
10653
10654         * config/h8300/h8300.c: Fix formatting.
10655         * config/h8300/h8300.h: Likewise.
10656         * config/h8300/h8300.md: Likewise.
10657
10658 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10659
10660         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
10661         information.
10662
10663 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
10664
10665        * rtlanal.c (dead_or_set_regno_p): Fix typo.
10666
10667 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
10668
10669         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10670
10671         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
10672         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10673         (TARGET_ASM_OUT): Add the above here.
10674         * target.h (struct gcc_target): Add "visibility" field.
10675         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
10676         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
10677         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
10678         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
10679
10680 2002-09-06  Ziemowit Laski <zlaski@apple.com>
10681
10682         * c-lang.c (objc_is_id): New stub.
10683         * c-tree.h (objc_is_id): New forward declaration.
10684         * c-typeck.c (build_c_cast): Do not strip protocol
10685         qualifiers from 'id' type.
10686         * objc/objc-act.c (objc_comptypes): Correct handling
10687         of protocol qualifiers.
10688         (objc_is_id): New.
10689
10690 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
10691
10692         * pentium.md (pentium-firstvboth): Fix typo.
10693
10694 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
10695
10696         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
10697         (enum shift_type, enum h8_cpu): Likewise.
10698         (INL, ROT, LOP, SPC macros): Likewise.
10699         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
10700         const designator.
10701         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
10702         space efficient algorithms when optimize for codesize.
10703
10704 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10705
10706         Fix PR/1727 and long-standing failing testcase
10707         objc/formal-protocol-6.m.
10708         * objc-act.c (build_protocol_expr): If compiling for the GNU
10709         runtime, create a list of Protocol statically allocated instances
10710         if it doesn't exist, then add the Protocol object to this same
10711         list.
10712         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
10713         instead of TREE_CHAIN.
10714
10715 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
10716
10717         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
10718         10k.  Fixed category dumping - print out category names with the
10719         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
10720         interface.
10721         (finish_objc): Fixed the -gen-decls option.  It was printing out
10722         only the last class.  Dump an interface declaration of all classes
10723         being compiled instead.
10724
10725 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
10726
10727         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
10728         prototype.
10729         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
10730         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
10731         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
10732         rather than GEN_INT.
10733         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
10734         (return_addr_mask, *check_arch2): New.
10735
10736 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
10737
10738         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
10739         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
10740         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
10741         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
10742         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
10743         "adddf3", "*adddf3", "*adddf3_ibm",
10744         "addsf3", "*addsf3", "*addsf3_ibm",
10745         "muldi3", "mulsi3", "mulsidi3",
10746         "muldf3", "*muldf3", "*muldf3_ibm",
10747         "mulsf3", "*mulsf3", "*mulsf3_ibm",
10748         "*anddi3_cc", "*anddi3_cconly", "anddi3",
10749         "*andsi3_cc", "*andsi3_cconly", "andsi3",
10750         "*iordi3_cc", "*iordi3_cconly", "iordi3",
10751         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
10752         "*xordi3_cc", "*xordi3_cconly", "xordi3",
10753         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
10754         instead of "register_operand" as predicate for "%0" operand.
10755
10756 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
10757
10758         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
10759         unconditionally when gcc_cv_as_flags64 checks are gone.
10760         * configure: Rebuilt.
10761
10762 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
10763
10764         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
10765         2002-07-26 change.  Comment.
10766
10767 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10768
10769         * frv.c (frv_unique_section, frv_select_section,
10770         frv_select_rtx_section): Delete.
10771         (frv_in_small_data_p): New.
10772         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
10773         TARGET_ASM_SELECT_RTX_SECTION): Delete.
10774         (TARGET_IN_SMALL_DATA_P): Define.
10775
10776 2002-09-05  Dale Johannesen  <dalej@apple.com>
10777
10778         * reload1.c (reload):  Retain only those memory clobbers
10779         added for variable-array handling.
10780
10781 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10782
10783         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
10784         return-in-memory rules.
10785         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
10786
10787 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10788
10789         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
10790         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
10791
10792 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
10793
10794         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
10795         not a compile-time constant for the non-IBM case.
10796         * config/arm/arm-protos.h (arm_float_words_big_endian): New
10797         prototype.
10798         * config/arm/arm.c (arm_float_words_big_endian): New function.
10799         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
10800         if TARGET_VFP  and not TARGET_HARD_FLOAT.
10801         (ARM_FLAG_VFP, TARGET_VFP): Define.
10802         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
10803
10804 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
10805
10806         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
10807         URLs.  Fix AIX wording.
10808
10809 2002-09-05  Stan Shebs  <shebs@apple.com>
10810
10811         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
10812         -fPIC equivalent on Darwin.
10813
10814 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
10815
10816         * sh.c (sh_expand_builtin): Return early if encountering an
10817         error_mark for a type.
10818
10819 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
10820
10821         * config/s390/s390.c (s390_expand_plus_operand): Do not require
10822         double-word scratch register.
10823         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
10824
10825         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
10826         "*cli"): Replace s_operand by memory_operand.
10827         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
10828
10829 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
10830
10831         * config/h8300/h8300.c (asm_file_start): Add a missing
10832         semicolon.
10833
10834 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
10835
10836         * c-typeck.c (build_function_call): Remove unused variable(s).
10837         (build_c_cast): Likewise.
10838         * calls.c (rtx_for_function_call): Likewise.
10839         * cfglayout.c (duplicate_insn_chain): Likewise.
10840         * cfgloop.c (flow_loop_nodes_find): Likewise.
10841         * cfgrtl.c (split_edge): Likewise.
10842         * df.c (df_ref_create): Likewise.
10843         * except.c (expand_end_catch): Likewise.
10844         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
10845         * function.c (emit_return_into_block): Likewise.
10846         (reposition_prologue_and_epilogue_notes): Likewise.
10847         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
10848         * combine.c (subst_prev_insn, need_refresh): Remove.
10849         * dwarf2out.c (primary_filename): Remove.
10850         * final.c (new_block): Remove.
10851         * gcse.c (orig_bb_count): Remove.
10852
10853 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10854
10855         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
10856         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
10857         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
10858         directly instead of using a function pointer.
10859
10860 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
10861
10862         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
10863         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
10864         (ix86_output_addr_diff_elt) Likewise.
10865         (x86_output_mi_thunk) Likewise.
10866         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
10867
10868 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10869
10870         * frv.c (frv_encode_section_info): Fix error in last change.
10871
10872 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10873
10874         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
10875         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
10876         (TARGET_BINDS_LOCAL_P): Define.
10877         (rs6000_override_options): Save original flag_pic value.
10878         (rs6000_elf_select_section): Call default_elf_select_section_1.
10879         (rs6000_elf_unique_section): Call default_unique_section_1.
10880         (rs6000_elf_in_small_data_p): New function.
10881         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
10882         (rs6000_xcoff_select_section): Update based on defaults.
10883         (rs6000_xcoff_unique_section): Set to basic name if not common.
10884         (rs6000_binds_local_p): New function.
10885         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
10886         targetm.have_srodata_section if SDATA_EABI.
10887         (TARGET_IN_SMALL_DATA_P): Define.
10888
10889 2002-09-04  Dale Johannesen  <dalej@apple.com>
10890
10891         * varasm.c (struct rtx_const, decode_rtx_const):
10892         Make veclo and vechi fields not share storage.
10893
10894 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
10895
10896         * loop.c (scan_loop): Don't mark separate insns out of a libcall
10897         for moving.
10898         (move_movables): Abort if we see the first insn of a libcall.
10899
10900 2002-09-04  Richard Henderson  <rth@redhat.com>
10901
10902         * builtin-types.def (BT_FN_FLOAT): New.
10903         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
10904         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
10905         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
10906         * builtins.c (fold_builtin_inf): New.
10907         (fold_builtin): Call it.
10908         * real.c (ereal_inf): New.
10909         * real.h: Declare it.
10910         * doc/extend.texi: Document new builtins.
10911
10912 2002-09-04  Richard Henderson  <rth@redhat.com>
10913
10914         * cse.c (cse_insn): Avoid subreg games if the equivalence
10915         is already in the proper mode.
10916
10917 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
10918
10919         PR c/7102
10920         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
10921
10922 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10923
10924         * pa.md (setccfp0, setccfp1): New patterns.
10925
10926 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10927
10928         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
10929         frv_select_section, frv_select_rtx_section,
10930         frv_encode_section_info, frv_unique_section): Delete.
10931         * frv.c: Update for target hooks.
10932         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
10933         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
10934         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
10935
10936 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10937
10938         * ip2k-protos.h (function_prologue, function_epilogue,
10939         encode_section_info): Update to match target hook specification.
10940         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
10941         (function_prologue, function_epilogue, encode_section_info):
10942         Update to match target hook specification.
10943         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
10944         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
10945         (NOTICE_UPDATE_CC): Cast to void.
10946         * ip2k.md: Add defaults in switch statements.
10947
10948 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10949
10950         * doc/trouble.texi (Interoperation): Update information about C++ ABI
10951         issues.
10952
10953 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
10954
10955         * config/sparc/t-netbsd64: Disable multilib for now.
10956
10957 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
10958
10959         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
10960         * target.h (gcc_target): Add have_srodata_section member.
10961         * varasm.c (section_category): Add SECCAT_SRODATA.
10962         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
10963         READONLY_SDATA_SECTION defined.
10964         (decl_readonly_section_1): True for SECCAT_SRODATA also.
10965         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
10966         (default_unique_section_1): Likewise.
10967
10968 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10969
10970         * expr.c (emit_group_load): Revise to allow splitting TCmode source
10971         into DImode pieces.
10972
10973         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
10974         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
10975         for floating-point register class.
10976         * pa.c (function_arg): Fix handling of modes wider than one word for
10977         TARGET_64BIT.
10978
10979 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
10980
10981         * combine.c (make_compound_operation): Don't generate zero / sign
10982         extensions in floating point modes.
10983
10984 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
10985
10986         * doc/c-tree.texi: Fix overfull hboxes.
10987         * doc/cppopts.texi: Ditto.
10988         * doc/extend.texi: Ditto.
10989         * doc/gty.texi: Ditto.
10990         * doc/invoke.texi: Ditto.
10991         * doc/makefile.texi: Ditto.
10992         * doc/rtl.texi: Ditto.
10993         * doc/standards.texi: Ditto.
10994         * doc/tm.texi: Ditto.
10995
10996 2002-09-04  Richard Henderson  <rth@redhat.com>
10997
10998         * c-common.c (builtin_define_with_hex_fp_value): New.
10999         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
11000
11001 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
11002
11003         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
11004         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
11005         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
11006         Warn that these options can break ABI compatibility.
11007
11008 2002-09-04  Richard Henderson  <rth@redhat.com>
11009
11010         * real.c (ereal_to_decimal): Add digits parameter.
11011         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
11012         * c-pretty-print.c (pp_c_real_literal): Update call.
11013         * print-rtl.c (print_rtx): Likewise.
11014         * print-tree.c (print_node_brief, print_node): Likewise.
11015         * sched-vis.c (print_value): Likewise.
11016         * config/arc/arc.c (arc_print_operand): Likewise.
11017         * config/c4x/c4x.c (c4x_print_operand): Likewise.
11018         * config/i370/i370.h (PRINT_OPERAND): Likewise.
11019         * config/i386/i386.c (print_operand): Likewise.
11020         * config/i960/i960.c (i960_print_operand): Likewise.
11021         * config/ip2k/ip2k.c (asm_output_float): Likewise.
11022         * config/m32r/m32r.c (m32r_print_operand): Likewise.
11023         * config/m68hc11/m68hc11.c (print_operand): Likewise.
11024         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
11025         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11026         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
11027         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
11028         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
11029         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11030         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
11031         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
11032         * config/mips/mips.c (print_operand): Likewise.
11033         * config/ns32k/ns32k.c (print_operand): Likewise.
11034         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
11035         * config/vax/vax.h (PRINT_OPERAND): Likewise.
11036         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
11037
11038 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
11039
11040         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
11041         xtensa_multibss_section_type_flags.
11042         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
11043
11044 2002-09-04  Richard Henderson  <rth@redhat.com>
11045
11046         * doc/install-old.texi: Don't mention enquire.
11047         * doc/sourcebuild.texi: Update float.h description.
11048
11049 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
11050
11051         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
11052
11053 2002-09-03  Roger Sayle  <roger@eyesopen.com>
11054
11055         * builtins.c (build_function_call_expr): Remove prototype, export
11056         as non-static and add a comment above function definition.
11057         (builtin_mathfn_code): New function to check for math builtins.
11058         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
11059         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
11060         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
11061         log(sqrt(x)) as log(x)/2.0.
11062
11063         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
11064         in new "builtins.c" section.  Place the build_range_type prototype
11065         with the other prototypes from "tree.c".
11066
11067         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
11068         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
11069         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
11070         x/exp(y) as x*exp(-y).
11071
11072 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
11073
11074         * varasm.c (default_section_type_flags): Append _1 to name with
11075         shlib parameter.  Use original name to call new function with
11076         implicit flag_pic.
11077         (decl_readonly_section): Likewise.
11078         (default_elf_select_section): Likewise.
11079         (default_unique_section): Likewise.
11080         (default_bind_local_p): Likewise.
11081         (categorize_decl_for_section): Add shlib parameter to use in place
11082         of implicit flag_pic.
11083         * output.h: Declare new functions with _1 and shlib argument.
11084
11085 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
11086
11087         * doc/install.texi: Fix typos, formatting problems, and obvious
11088         overfull/underfull boxes.
11089
11090         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
11091         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
11092         include its file, compat.texi.
11093         * doc/compat.texi: New file with new chapter, Binary Compatibility.
11094
11095 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
11096
11097         Debian BTS Bug #157416
11098         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
11099         * cpplib.c (destringize_and_run): Kludge around getting
11100         tokens from in-progress macros.
11101         (_cpp_do__Pragma): Simplify.
11102
11103 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11104
11105         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
11106         (CPP_CPU_SPEC): Remove.
11107         (TARGET_CPU_CPP_BUILTINS): New.
11108         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
11109         (CPP_SPEC): Remove.
11110         (TARGET_OS_CPP_BUILTINS): New.
11111         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
11112         (TARGET_OS_CPP_BUILTINS): New.
11113         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
11114         TARGET_OS_CPP_BUILTINS.
11115         (CPP_PREDEFINES): Remove.
11116         (CPLUSPLUS_CPP_SPEC): Remove.
11117         (TARGET_OS_CPP_BUILTINS): New.
11118
11119 2002-09-03  Richard Henderson  <rth@redhat.com>
11120
11121         * Makefile.in (USER_H): Add ginclude/float.h.
11122         (FLOAT_H): Remove.
11123         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
11124         (mostlyclean): Don't remove float.h intermediate files.
11125         (distclean): Don't remove float.h.
11126         * config.gcc: Remove all float_format references.
11127         * configure.in (float_format, float_h_file): Remove.
11128
11129         * c-common.c: Include tree-inline.h.
11130         (builtin_define_with_int_value): New.
11131         (builtin_define_type_precision): Use it.
11132         (builtin_define_float_constants): New.
11133         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
11134         __FLT_EVAL_METHOD__.
11135         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
11136         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
11137         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
11138         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
11139         (TARGET_FLT_EVAL_METHOD): New.
11140
11141         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
11142         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
11143         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
11144         * ginclude/float.h: New.
11145
11146 2002-09-03  Stan Shebs  <shebs@apple.com>
11147
11148         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
11149         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
11150         (PREFERRED_DEBUGGING_TYPE): Ditto.
11151         (ASM_OUTPUT_IDENT): Remove empty definition.
11152
11153 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
11154
11155         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
11156         cxx_target.
11157         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
11158         handling routine for builtin pragma.
11159         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
11160         Registered pragma handling routine.
11161         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
11162         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
11163         If builtin pragma seen for math routine and C89 conformance is
11164         requested use different math function in order to set errno.
11165         * t-ia64 (ia64-c.o): Add new rule for new file.
11166
11167 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11168
11169         * config/s390/s390.md ("movti"): Add Q->Q alternative.
11170         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
11171         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
11172
11173         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
11174         "*movsf_ss"): Remove.
11175
11176 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11177
11178         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
11179         Delete macros.
11180
11181 2002-09-03   Arati Dikey  <aratid@kpit.com>
11182
11183         * h8300.c (asm_file_start): Corrected optimization comment.
11184
11185 2002-09-03  Stan Shebs  <shebs@apple.com>
11186
11187         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
11188         * c-tree.h (recognize_objc_keyword): Remove decl.
11189         * c-typeck.c (comp_target_types): Update a comment.
11190
11191 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
11192
11193         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
11194         and register validity checks.
11195         (general_s_operand): Adapt to s390_decompose_address interface change.
11196         (q_constraint): Likewise.
11197         (s390_expand_plus_operand): Likewise.
11198         (legitimiate_address_p): Likewise.
11199         (legitimate_la_operand_p): Likewise.
11200         (legitimize_la_operand): Likewise.
11201         (print_operand_address): Likewise.
11202         (print_operand): Likewise.
11203
11204 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11205
11206         PR objc/5956:
11207         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
11208         was causing the new selector never to match the existing ones
11209         (Patch by Alexander Malmberg <alexander@malmberg.org>).
11210
11211 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11212
11213         * config/i386/i386.md ("femms"): Add "memory" attr "none".
11214
11215 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
11216
11217         * expr.c (expand_expr): Remove extraneous comment and code.
11218
11219 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
11220
11221         * stor-layout (finish_builtin_struct): Renamed and moved from c++
11222         frontend. Take chain of fields. Allow NULL alignment type.
11223         * tree.h (finish_builtin_struct): Declare.
11224
11225 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11226
11227         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
11228         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
11229         config/arc/arc.c config/arc/arc.h config/arm/aout.h
11230         config/arm/arm.c config/arm/arm.h config/arm/arm.md
11231         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
11232         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
11233         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
11234         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
11235         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
11236         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
11237         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
11238         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
11239         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
11240         config/pa/pa.h config/pa/pa.md config/romp/romp.h
11241         config/rs6000/linux64.h config/rs6000/lynx.h
11242         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
11243         config/s390/s390.c config/s390/s390.md config/sh/sh.c
11244         config/sparc/sparc.c config/sparc/sysv4.h
11245         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
11246         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
11247         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
11248
11249         * doc/tm.texi: Update docs.
11250         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
11251         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
11252
11253 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11254
11255         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
11256         * arc.c (arc_internal_label): New function.
11257         (TARGET_ASM_INTERNAL_LABEL): Set.
11258         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11259         * arm.c (arm_internal_label): New function.
11260         (TARGET_ASM_INTERNAL_LABEL): Set.
11261         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11262         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11263         * i370.c (i370_internal_label): New function.
11264         (TARGET_ASM_INTERNAL_LABEL): Set.
11265         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11266         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11267         * m68k.c (m68k_hp320_internal_label): New function.
11268         (TARGET_ASM_INTERNAL_LABEL): Set.
11269         * m88k.c (m88k_internal_label): New function.
11270         (TARGET_ASM_INTERNAL_LABEL): Set.
11271         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11272         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
11273         * genoutput.c (output_prologue): Include target.h in output file.
11274         * output.h (default_internal_label): Declare.
11275         * sdbout.c: Include target.h.
11276         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
11277         TARGET_ASM_OUT.
11278         * target.h (internal_label): Add to struct gcc_target.
11279         * varasm.c (default_internal_label): New function.
11280
11281 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11282
11283         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
11284         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11285         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11286         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11287         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11288         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11289         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11290         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11291         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11292         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11293         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11294         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11295         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11296         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11297         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11298         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11299         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11300         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11301         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11302         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11303         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11304         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11305         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11306         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11307         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11308         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
11309         * mmix.c (mmix_asm_output_internal_label): Likewise.
11310         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11311         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11312         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11313         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11314         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11315         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11316         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11317         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11318         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11319         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11320         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11321         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11322         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11323         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11324         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11325         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11326         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11327         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11328         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
11329
11330         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
11331
11332 2002-08-31  Richard Henderson  <rth@redhat.com>
11333
11334         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
11335
11336 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11337
11338         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
11339
11340 2002-08-30  Richard Henderson  <rth@redhat.com>
11341
11342         PR opt/7515
11343         * c-objc-common.c: Include target.h.
11344         (c_cannot_inline_tree_fn): Don't auto-inline functions that
11345         don't bind locally.  Factor setting DECL_UNINLINABLE.
11346         * Makefile.in (c-objc-common.o): Update.
11347
11348 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
11349
11350         * doc/install.texi (Configuration, Building): Fix a typo and
11351         some formatting directives.
11352
11353 2002-08-30  Paul Koning <pkoning@equallogic.com>
11354
11355         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
11356         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
11357         implemented" note.
11358         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
11359         for alphabetic order.
11360         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
11361         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
11362         (VAX_HALFWORD_ORDER): Document.
11363         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
11364         IEEE float format.
11365         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
11366         (ASM_OUTPUT_LABEL_REF): Fix font.
11367         (CASE_VECTOR_SHORTEN_MODE): Ditto.
11368
11369 2002-08-30  Denis Chertykov  <denisc@overta.ru>
11370
11371         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
11372         stuff.
11373         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
11374         CONST_DOUBLE constants.
11375
11376 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
11377
11378         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
11379         related defines to...
11380         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
11381         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
11382         as a no-op.
11383
11384 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
11385
11386         * config/arm/arm.c (arm_asm_output_labelref): New function.
11387         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
11388         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
11389
11390 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
11391
11392         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
11393         memory exhausted" workarounds.
11394
11395 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11396
11397         * diagnostic.c (fancy_abort): Don't repeat "internal error".
11398         * toplev.c (crash_signal): Likewise.
11399
11400 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11401
11402         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
11403         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
11404         Extended, updated documentation.
11405         (-Wundeclared-selector): Documented.
11406
11407 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
11408
11409         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
11410         the value 1.  Do not undef before defining.
11411         * config/darwin.h: Likewise.
11412         * config/dbx.h: Likewise.
11413         * config/dbxcoff.h: Likewise.
11414         * config/dbxelf.h: Likewise.
11415         * config/elfos.h: Likewise.
11416         * config/interix.h: Likewise.
11417         * config/lynx-ng.h: Likewise.
11418         * config/lynx.h: Likewise.
11419         * config/netware.h: Likewise.
11420         * config/psos.h: Likewise.
11421         * config/svr3.h: Likewise.
11422         * config/alpha/alpha.h: Likewise.
11423         * config/alpha/elf.h: Likewise.
11424         * config/alpha/vms.h: Likewise.
11425         * config/arc/arc.h: Likewise.
11426         * config/arm/aout.h: Likewise.
11427         * config/arm/coff.h: Likewise.
11428         * config/c4x/c4x.h: Likewise.
11429         * config/h8300/h8300.h: Likewise.
11430         * config/i386/cygwin.h: Likewise.
11431         * config/i386/djgpp.h: Likewise.
11432         * config/i386/gas.h: Likewise.
11433         * config/i386/gstabs.h: Likewise.
11434         * config/i386/i386-coff.h: Likewise.
11435         * config/i386/i386-interix.h: Likewise.
11436         * config/i386/sco5.h: Likewise.
11437         * config/i386/svr3dbx.h: Likewise.
11438         * config/i386/sysv3.h: Likewise.
11439         * config/i386/win32.h: Likewise.
11440         * config/i386/x86-64.h: Likewise.
11441         * config/i960/i960.h: Likewise.
11442         * config/ia64/ia64.h: Likewise.
11443         * config/ip2k/ip2k.h: Likewise.
11444         * config/m32r/m32r.h: Likewise.
11445         * config/m68k/3b1.h: Likewise.
11446         * config/m68k/3b1g.h: Likewise.
11447         * config/m68k/ccur-GAS.h: Likewise.
11448         * config/m68k/coff.h: Likewise.
11449         * config/m68k/hp2bsd.h: Likewise.
11450         * config/m68k/hp310g.h: Likewise.
11451         * config/m68k/hp320g.h: Likewise.
11452         * config/m68k/hp3bsd.h: Likewise.
11453         * config/m68k/hp3bsd44.h: Likewise.
11454         * config/m68k/linux-aout.h: Likewise.
11455         * config/m68k/m68k-aout.h: Likewise.
11456         * config/m68k/mot3300.h: Likewise.
11457         * config/m68k/netbsd.h: Likewise.
11458         * config/m68k/openbsd.h: Likewise.
11459         * config/m68k/pbb.h: Likewise.
11460         * config/m68k/plexus.h: Likewise.
11461         * config/m68k/sun2.h: Likewise.
11462         * config/m68k/sun3.h: Likewise.
11463         * config/m68k/tower-as.h: Likewise.
11464         * config/m68k/vxm68k.h: Likewise.
11465         * config/m88k/aout-dbx.h: Likewise.
11466         * config/m88k/m88k-aout.h: Likewise.
11467         * config/mcore/mcore-elf.h: Likewise.
11468         * config/mcore/mcore-pe.h: Likewise.
11469         * config/mips/elf.h: Likewise.
11470         * config/mips/elf64.h: Likewise.
11471         * config/mips/iris5gas.h: Likewise.
11472         * config/mips/iris6.h: Likewise.
11473         * config/mips/mips.h: Likewise.
11474         * config/mips/sni-gas.h: Likewise.
11475         * config/mmix/mmix.h: Likewise.
11476         * config/ns32k/netbsd.h: Likewise.
11477         * config/pa/pa64-hpux.h: Likewise.
11478         * config/romp/romp.h: Likewise.
11479         * config/rs6000/sysv4.h: Likewise.
11480         * config/rs6000/xcoff.h: Likewise.
11481         * config/sh/coff.h: Likewise.
11482         * config/sh/elf.h: Likewise.
11483         * config/sparc/linux64.h: Likewise.
11484         * config/sparc/liteelf.h: Likewise.
11485         * config/sparc/netbsd.h: Likewise.
11486         * config/sparc/openbsd.h: Likewise.
11487         * config/sparc/pbd.h: Likewise.
11488         * config/sparc/sp64-elf.h: Likewise.
11489         * config/sparc/sp86x-elf.h: Likewise.
11490         * config/sparc/sparc.h: Likewise.
11491         * config/vax/vax.h: Likewise.
11492         * config/vax/vaxv.h: Likewise.
11493
11494 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
11495
11496         * h8300.c (shift_alg_hi): Various tweaks to improve performance
11497         of HImode shifts.
11498         (get_shift_alg): Corresponding changes.
11499
11500 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11501
11502         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
11503
11504 2002-08-29  Richard Henderson  <rth@redhat.com>
11505
11506         * expr.h (enum block_op_methods): New.
11507         (emit_block_move): Update prototype.
11508         * expr.c (block_move_libcall_safe_for_call_parm): New.
11509         (emit_block_move_via_loop): New.
11510         (emit_block_move): Use them.  New argument METHOD.
11511         (emit_push_insn): Always respect the given alignment.
11512         (expand_assignment): Update call to emit_block_move.
11513         (store_expr, store_field, expand_expr): Likewise.
11514         * builtins.c (expand_builtin_apply): Likewise.
11515         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
11516         * function.c (expand_function_end): Likewise.
11517         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
11518         * config/sparc/sparc.c (sparc_va_arg): Likewise.
11519         * calls.c (expand_call, emit_library_call_value_1): Likewise.
11520         (save_fixed_argument_area): Use emit_block_move with
11521         BLOCK_OP_CALL_PARM instead of move_by_pieces.
11522         (restore_fixed_argument_area): Likewise.
11523         (store_one_arg): Fix alignment parameter to emit_push_insn.
11524
11525 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11526
11527         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
11528
11529 2002-08-29  Catherine Moore  <clm@redhat.com>
11530
11531         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
11532         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
11533         (PREDICATE_CODES): Include new predicates.
11534         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
11535         (TARGET_SWITCHES):  Add strict-align.
11536         (TARGET_STRICT_ALIGN): New.
11537         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
11538         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11539         Define.
11540         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
11541         v850_muldi3.
11542         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
11543         L_callt_save_r2_r31, L_return_r2_r31,
11544         L_save_all_interrupt): Change addi to add.
11545         (L_save_interrupt, L_return_interrupt): Rework.
11546         (__return_r31):  Correct .size directive.
11547         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
11548         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
11549         New routines.
11550         * config/v850/v850.c (expand_prologue): Call
11551         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
11552         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
11553         (reg_or_int9_operand): New predicate.
11554         (reg_or_const_operand): New routine.
11555         * config/v850/v850.md (return_interrupt): Changed from
11556         restore_interrupt.
11557         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
11558         (callt_save_interrupt): Change save sequence.
11559         (callt_return_interrupt): New.
11560         (save_interrupt): Don't use runtime function for LONG_CALLS
11561         and TARGET_PROLOG_FUNCTION.
11562         (save_all_interrupt): Likewise.
11563         (mulsi3): Use new predicate.
11564         (moviscc): Disallow some combination of constants.
11565         Fix define_split for sasf insns, so that it will not generate bad
11566         code if operand0 and operand5 are the same.
11567         * config/v850/v850-protos.h: Prototype new predicates.
11568
11569 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
11570
11571         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
11572         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
11573
11574 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11575
11576         * c-common.c (builtin_define_type_precision): New function.
11577         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
11578         wchar_t is unsigned in C++.
11579         * doc/cpp.texi (Common Predefined Macros): Document
11580         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
11581         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11582         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11583
11584 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
11585
11586         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
11587         section.  Mention that it is enabled by -Wall.
11588         (-Wall): Mention that there can be language-specific warnings as well.
11589         (-Wctor-dtor-privacy): Mention that it is enabled by default.
11590         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
11591
11592 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11593
11594         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
11595         if it is ever live.
11596
11597         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
11598         attribute for SHCOMPACT.
11599
11600         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
11601         appropriately.
11602         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
11603         by the ABI.
11604
11605         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
11606
11607 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
11608
11609         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
11610         "MASK_GAS|MASK_ABICALLS".
11611         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
11612         (TARGET_DEFAULT): Remove.
11613         (MACHINE_TYPE): Undefine before defining.
11614         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
11615
11616 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
11617
11618         * c-common.c (warn_abi): New variable.
11619         * c-common.h (warn_abi): Likewise.
11620         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
11621         (c_common_decode_option): Handle it.
11622         * doc/invoke.texi: Document -Wabi.
11623
11624 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11625
11626         * c-common.c (warn_undeclared_selector): New variable.
11627         * c-common.h (warn_undeclared_selector): Idem.
11628         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
11629         to on when -Wundeclared-selector is found.
11630         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
11631         * objc/objc-act.c (build_selector_expr): If
11632         warn_undeclared_selector is set, check that the selector has
11633         already been defined, and emit a warning if not.
11634
11635 2002-08-27  Nick Clifton  <nickc@redhat.com>
11636             Catherine Moore  <clm@redhat.com>
11637             Jim Wilson  <wilson@cygnus.com>
11638
11639         * config.gcc: Add v850e-*-* target.
11640         Add --with-cpu= support for v850.
11641         * config/v850/lib1funcs.asm: Add v850e callt functions.
11642         * config/v850/v850.h: Add support for v850e target.
11643         * config/v850/v850.c: Add functions to support v850e target.
11644         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
11645         * config/v850/v850.md: Add patterns for v850e instructions.
11646         * doc/invoke.texi: Document new v850e command line switches.
11647
11648 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
11649                           Aldy Hernandez <aldyh at redhat dot com>
11650
11651         * doc/tm.texi: Applied numerous fixes to the automaton based
11652         scheduler descrition.
11653
11654 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11655
11656         * i386.c (classify_argument): Handle variable sized objects.
11657
11658 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
11659
11660         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
11661
11662 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11663
11664         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
11665
11666 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
11667
11668         * i386.c (classify_argument): Properly compute word size of the analyzed object.
11669
11670 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
11671
11672         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
11673         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
11674         accordingly.
11675         (attribute insn_class): Provide default definitions based on type.
11676         Remove all insn-specific settings.
11677         (various function units): Remove old SH4 scheduling.
11678         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
11679         New attributes.  Set them where appropriate.
11680         (cpu unit FS): Don't define / use.
11681         (F3, load_store): New cpu units.
11682         (F01): New reservation.
11683         (all insn_reservations): Make dependent on sh4 pipeline model.
11684         Fix latencies.
11685         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
11686         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
11687         (mt insn_reservation): Use type mt_group.
11688         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
11689         sh4_fload and sh4_store.
11690         (insn_reservation branch_zero and branch): Replace with sh4_branch.
11691         (insn_reservation branch_far): Replace with sh4_return.
11692         (insn_reservation return_from_exp): Rename to:
11693         (sh4_return_from_exp).  Change to be just d_lock*5.
11694         (insn_reservation lds_to_pr): Rename to:
11695         (sh4_lds_to_pr).  Change to be just d_lock*2.
11696         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
11697         d_lock*2.
11698         (insn_reservation prload_mem): Rename to:
11699         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
11700         (insn_reservation fpscr_store): Rename to:
11701         (fpscr_load).  Change to d_lock,nothing,F1*3.
11702         (insn_reservation fpscr_store_mem): Rename to:
11703         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
11704         (insn_reservation multi): Change to
11705         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
11706         (insn_reservation fp_arith): Change to issue,F01,F2.
11707         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
11708         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
11709         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
11710         (insn_reservation fp_double_cmp): Change to
11711         d_lock,(d_lock+F01),F1+F2,F2.
11712         (insn_reservation dp_div): Change to
11713         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
11714         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
11715         (sh_adjust_cost, SHcompact): Differentiate between different
11716         kinds of dependencies.  Drop factor of ten for superscalar.
11717         Use new instruction types.  Add new exception rules.
11718
11719         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
11720
11721         * sh.md (mperm_w): Add DONE.
11722
11723 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
11724
11725         * longlong.h: Import current PowerPC defintion from GMP-4.1.
11726
11727         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
11728
11729         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
11730
11731 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
11732
11733         * sh.h (MAX_FIXED_MODE_SIZE): Define.
11734
11735 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
11736
11737         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
11738         delimiter.
11739
11740 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11741
11742         * c-common.c (cpp_define_data_format): New function.
11743         (cb_register_builtins): Call it.
11744
11745         * doc/cpp.texi (Common Predefined Macros): Document
11746         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11747         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11748         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
11749         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
11750         __TARGET_USES_VAX_H_FLOAT__.
11751
11752 2002-08-26  Ziemowit Laski <zlaski@apple.com>
11753
11754         * objc/objc-act.c (get_super_receiver): If inside a class method
11755         of a category, cast the receiver to 'id' before accessing the 'isa'
11756         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
11757
11758 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
11759
11760         * config/s390/s390-protos.h (s390_function_prologue,
11761         s390_function_epilogue): Remove.
11762         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
11763         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
11764
11765         config/s390/s390.c (s390_machine_dependent_recorg): New function.
11766         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
11767         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
11768         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
11769         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
11770
11771         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
11772         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
11773         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
11774         function is not a leaf function.  Use save_gprs and restore_gprs.
11775         (s390_emit_epilogue): Likewise.
11776         (save_gprs, restore_gprs): New functions.
11777         (struct s390_frame): Remove return_reg_saved_p member.
11778         (save_fprs_p): Remove.
11779         (s390_optimize_prolog): New function.
11780         (s390_legitimate_reload_constant): Remove now unnecessary check.
11781
11782         (s390_function_count): Remove.
11783         (s390_output_symbolic_const): Replace s390_function_count by
11784         current_function_funcdef_no.
11785         (s390_output_constant_pool): Likewise.
11786
11787         (legitimize_pic_address): Use regs_ever_live to track PIC register
11788         instead of current_function_uses_pic_offset_table.
11789         (s390_emit_prologue): Likewise.
11790         config/s390/s390.md ("call", "call_value"): Likewise.
11791
11792 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
11793
11794         * c-opts.c (find_opt): Don't complain about wrong languages
11795         here.  Return exact matches even for wrong language.
11796         (c_common_decode_option): Complain about wrong languages
11797         here.
11798
11799 2002-08-24  Stuart Hastings  <stuart@apple.com>
11800
11801         * function.h (struct function): Add flag
11802         all_throwers_are_sibcalls.
11803         * except.c (set_nothrow_function_flags): Replaces
11804         nothrow_function_p. Set new flag.
11805         * except.h (set_nothrow_function_flags): Replaces
11806         nothrow_function_p.
11807         * dwarf2out.c (struct dw_fde_struct): Add flag
11808         all_throwers_are_sibcalls.
11809         (output_call_frame_info): Test it.
11810         (dwarf2out_begin_prologue) Propagate it from cfun to
11811         dw_fde_struct.
11812         * toplev.c (rest_of_compilation): Update calls to
11813         nothrow_function_p.
11814
11815 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
11816
11817         * ggc-page.c (compute_inverse): Short circuit calculation for
11818         object sizes larger than half a page.
11819
11820 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
11821
11822         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
11823         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
11824         default.
11825         (rs6000_elf_unique_section): Likewise.
11826
11827 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11828
11829         * ns32k.c (ns32k_globalize_label): Delete.
11830         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
11831
11832 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
11833
11834         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
11835         for loading delta with num_insns_constant_wide.  Calculate
11836         delta_low, delta_high without using a conditional.
11837
11838 2002-08-22  Jason Merrill  <jason@redhat.com>
11839
11840         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
11841         * c-common.def: Adjust.
11842         * c-dump.c (c_dump_tree): Adjust.
11843         * c-semantics.c (genrtl_return_stmt): Adjust.
11844         * c-pretty-print.c (pp_c_statement): Adjust.
11845         * tree-inline.c (copy_body_r): Adjust.
11846
11847 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
11848
11849         * ggc-page.c: Avoid division in ggc_set_mark.
11850         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
11851         compute_inverse): New.
11852         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
11853         (init_ggc): Initialize inverse_table.
11854
11855 2002-08-22  Tom Tromey  <tromey@redhat.com>
11856
11857         * doc/install.texi (Configuration): Document --datadir.
11858
11859 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
11860
11861         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
11862
11863 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
11864
11865         * gengtype-lex.l (ID): Allow underscore as first character.
11866
11867 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
11868
11869         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
11870         function.
11871         (rs6000_xcoff_asm_named_section): Rename.
11872         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
11873
11874 2002-08-21  Tom Tromey  <tromey@redhat.com>
11875
11876         For PR java/6005 and PR java/7611:
11877         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
11878         (fold): Likewise.
11879         * langhooks.c (lhd_can_use_bit_fields_p): New function.
11880         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
11881         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
11882         (LANG_HOOKS_INITIALIZER): Use it.
11883         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
11884         field.
11885
11886 2002-08-21  Stan Shebs  <shebs@apple.com>
11887
11888         * tree.c (finish_vector_type): Fix a typo in a comment.
11889         * Makefile.in: Fix "the the" stutters in comments.
11890         * genautomata.c: Ditto.
11891         * ifcvt.c: Ditto.
11892         * regrename.c: Ditto.
11893         * config/alpha/alpha.c: Ditto.
11894         * config/alpha/vms-crt0-64.c: Ditto.
11895         * config/alpha/vms-crt0.c: Ditto.
11896         * config/alpha/vms-psxcrt0-64.c: Ditto.
11897         * config/alpha/vms-psxcrt0.c: Ditto.
11898         * config/d30v/d30v.h: Ditto.
11899         * config/fr30/fr30.h: Ditto.
11900         * config/rs6000/rs6000.c: Ditto.
11901         * config/stormy16/stormy16.h: Ditto.
11902         * doc/md.texi: Ditto.
11903
11904 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11905
11906         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
11907
11908 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
11909
11910         * c-decl.c (grokdeclarator): Make invalid combinations with long,
11911         short, signed or unsigned into hard errors.  Fixes PR c/4319.
11912         Also make duplicate modifiers such as "short short" into hard
11913         errors.
11914
11915 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
11916             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11917
11918         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
11919         to the actual end.  Add '@end table' and '@table @code'.
11920
11921 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
11922
11923         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
11924
11925         * unroll.c (biv_total_increment): Don't try to compute the total
11926         increment for FP BIVs.
11927
11928 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11929
11930         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
11931         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
11932         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11933         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
11934         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
11935         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
11936         (GLOBAL_ASM_OP): Define.
11937         * arm.c (aof_globalize_label): New function.
11938         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
11939         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11940         * c4x.c (c4x_globalize_label): New function.
11941         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
11942         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
11943         (GLOBAL_ASM_OP): Define.
11944         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11945         * darwin-protos.h (darwin_globalize_label): Declare.
11946         * darwin.c (darwin_globalize_label): New function.
11947         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
11948         (ASM_GLOBALIZE_LABEL): Delete.
11949         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
11950         * dsp16xx.c (asm_output_common): Use target hook.
11951         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
11952         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
11953         (GLOBAL_ASM_OP): Define.
11954         * i370.c (i370_globalize_label): New function.
11955         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
11956         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
11957         * i386.c (ix86_asm_file_end): Use target hook.
11958         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
11959         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
11960         * ia64.c (ia64_asm_output_external): Likewise.
11961         * ia64/sysv4.h: Update comment.
11962         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11963         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11964         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
11965         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11966         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
11967         * mmix-protos.h (mmix_asm_globalize_label): Delete.
11968         * mmix.c (mmix_asm_globalize_label): Likewise.
11969         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
11970         (GLOBAL_ASM_OP): Define.
11971         * ns32k.c (ns32k_globalize_label): New function.
11972         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
11973         (ASM_GLOBALIZE_LABEL): Delete.
11974         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
11975         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
11976         * pa.c (pa_globalize_label): New function.
11977         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
11978         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
11979         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
11980         (GLOBAL_ASM_OP): Define.
11981         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
11982         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
11983         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
11984         (GLOBAL_ASM_OP): Define.
11985         * v850.c (v850_output_aligned_bss): Use target hook.
11986         * vax.c (vms_globalize_label): New function.
11987         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
11988         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
11989         (GLOBAL_ASM_OP): Define.
11990         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
11991         * doc/tm.texi: Update docs.
11992         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
11993         target hook.
11994         * final.c (output_alternate_entry_point): Likewise.
11995         * hooks.c (hook_FILEptr_constcharptr_void): New function.
11996         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
11997         * output.h (assemble_global): Delete.
11998         (default_globalize_label): Declare.
11999         * system.h (ASM_GLOBALIZE_LABEL): Poison.
12000         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
12001         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
12002         * target.h (gcc_target): Add globalize_label member.
12003         * varasm.c (asm_output_bss, asm_output_aligned_bss,
12004         globalize_decl): Use target hook.
12005         (assemble_global): Delete.
12006         (default_globalize_label): New function.
12007
12008 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12009
12010         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
12011
12012 2002-08-20  Devang Patel  <dpatel@apple.com>
12013         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
12014
12015 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12016
12017         * arc.c (output_shift): Use stdio instead of asm_fprintf.
12018         * arm.c (thumb_output_function_prologue): Likewise.
12019         * avr.c (print_operand): Likewise.
12020         * c4x.c (c4x_print_operand): Likewise.
12021         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
12022         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
12023         * cris.c (cris_target_asm_function_prologue,
12024         cris_asm_output_mi_thunk): Likewise.
12025         * h8300.c (print_operand): Likewise.
12026         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12027         * ip2k.c (print_operand): Likewise.  Fix format specifier.
12028         * m68hc11.c (asm_print_register, print_operand,
12029         print_operand_address): Use stdio instead of asm_fprintf.
12030         (print_operand_address): Fix format specifier.
12031         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
12032         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
12033         asm_fprintf.
12034         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12035         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
12036         * m68k.c (m68k_output_function_prologue,
12037         m68k_output_function_epilogue, print_operand): Likewise.
12038         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
12039         Likewise.  Fix format specifier.
12040         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12041         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12042         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
12043
12044 2002-08-15  Eric Christopher  <echristo@redhat.com>
12045             Jeff Knaggs  <jknaggs@redhat.com>
12046
12047         * config.gcc (mipsisa64sr71k-elf): New target.
12048         * config/mips/sr71k.md: New file.
12049         * config/mips/mips.md: Use it.
12050         (rot*): Add sr71k specifics.
12051         * config/mips/t-sr71k: New file.
12052         * config/mips/mips.h (sr71k): New cpu.
12053         (TARGET_SR71K): Use it.
12054         (TUNE_SR71K): Ditto.
12055         (GENERATE_BRANCHLIKELY): Ditto.
12056         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
12057         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
12058         * config/mips/mips.c (sr71k): New cpu.
12059         (mips_use_dfa_pipeline_interface): Use.
12060
12061 2002-08-15  Eric Christopher  <echristo@redhat.com>
12062             Richard Sandiford <rsandifo@redhat.com>
12063             Aldy Hernandez  <aldyh@redhat.com>
12064             Graham Stott    <grahams@redhat.com>
12065             Michael Meissner  <meissner@redhat.com>
12066             Gavin Romig-Koch  <gavin@redhat.com>
12067             Ken Raeburn  <raeburn@cygnus.com>
12068             Alexandre Oliva <aoliva@redhat.com>
12069
12070         * config.gcc (mips64vr-elf): New target.
12071         * config/mips/5400.md: New file.
12072         * config/mips/5500.md: Ditto.
12073         * config/mips/mips.md: Use them.
12074         (frsqrt): New.
12075         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
12076         cpus.
12077         (mips_issue_rate): Use them.
12078         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
12079         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
12080         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
12081         cpus.
12082         (TARGET_MIPSx): Use them.
12083         (TUNE_MIPSx): Ditto.
12084         (GETNATE_MULT3_SI): Ditto.
12085         (ISA_HAS_BRANCHLIKELY): Ditto.
12086         (ISA_HAS_CONDMOVE): Ditto.
12087         (ISA_HAS_NMADD_NMSUB): Ditto.
12088         (ISA_HAS_MULHI): New. Ditto.
12089         (ISA_HAS_MULS): Ditto.
12090         (ISA_HAS_MSAC): Ditto.
12091         (ISA_HAS_MACC): Ditto.
12092         (ISA_HAS_ROTR_SI): Ditto.
12093         (ISA_HAS_ROTR_DI): Ditto.
12094         (RTX_COSTS): Use.
12095
12096 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12097
12098         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
12099         at head.
12100         (remove_dup_nonsys_dirs): New function.
12101         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
12102         (merge_include_chains): Remove non-system include directories from
12103         quote and bracket include chains when they duplicate equivalent system
12104         directories.
12105         * doc/cpp.texi (-I): Update.
12106         * doc/cppopts.texi (-I): Update.
12107         * doc/install.texi (--with-local-prefix): Further document usage of
12108         this option.
12109         * doc/invoke.texi (-I): Update.
12110
12111 2002-08-20  Richard Henderson  <rth@redhat.com>
12112
12113         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
12114         (emit_block_move): Split out subroutines.
12115         (emit_block_move_via_movstr): New.
12116         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
12117         (emit_block_move_libcall_fn): New.  Construct function prototype for
12118         bcopy as well.
12119         (clear_storage): Split out subroutines.
12120         (clear_storage_via_clrstr): New.
12121         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
12122         (clear_storage_libcall_fn): New.  Construct function prototype for
12123         bzero as well.
12124         (emit_push_insn): Use emit_block_move.
12125         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
12126         (store_constructor): Likewise.
12127
12128 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12129
12130         * objc/objc-act.c (building_objc_message_expr): Rename to
12131         current_objc_message_selector.
12132
12133 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
12134
12135         * objc/objc-act.c (build_ivar_chain): Remove.
12136         (objc_copy_list): Likewise.
12137         (get_class_ivars): Inline call to removed build_ivar_chain
12138         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
12139         slot; use that slot (rather than CLASS_IVARS) when accessing
12140         ivars for base classes.  Call copy_list and chainon instead of
12141         objc_copy_list.
12142         (build_private_template): Call get_class_ivars instead of
12143         build_ivar_chain.
12144         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
12145         (continue_class): Call get_class_ivars instead of
12146         build_ivar_chain.
12147         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
12148         of DECL_BIT_FIELD (which may have been cleared).
12149         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
12150
12151 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12152
12153         * genautomata.c (output_translate_vect, output_state_ainsn_table,
12154         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
12155         in output file.
12156         (output_internal_min_issue_delay_func): Initialize variable in
12157         output file.
12158
12159 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
12160
12161         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
12162         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
12163
12164 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
12165             Steve Ellcey  <sje@cup.hp.com>
12166
12167         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
12168         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
12169         * explow.c (trunc_int_for_mode): Abort when the mode is not
12170         a scaler integer mode.
12171         * combine.c (expand_compound_operation): Don't expand Vector
12172         or Complex modes into shifts.
12173         (expand_field_assignment): Don't do bitwise arithmatic and
12174         shifts on Vector or Complex modes.
12175         (simplify_comparison): Don't call trunc_int_for_mode
12176         for VOIDmode.
12177         * recog.c (general_operand): Likewise.
12178         (immediate_operand): Likewise.
12179         (nonmemory_operand): Likewise.
12180
12181 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
12182
12183         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
12184         multi-instruction SImode constant.  Add REG_EQUAL note.
12185         * config/rs6000/rs6000.md (movsi splitter): Use
12186         rs6000_emit_set_const.
12187
12188 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12189
12190         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
12191         the macro test controlling its use.
12192
12193 2002-08-18  H.J. Lu  (hjl@gnu.org)
12194
12195         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
12196         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
12197         gnu_ld=yes.
12198         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
12199         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
12200         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
12201         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
12202         here.
12203         (cris-*-linux*): Remove setting thread_file here.
12204
12205 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
12206
12207         PR preprocessor/7602
12208         * cppinit.c (path_include): Treat the system environment
12209         variables as being cxx_aware.
12210
12211 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
12212
12213         * c-decl.c (flexible_array_type_p): New function.
12214         (grokdeclarator, finish_struct): Use it.
12215         * doc/extend.texi: Document constraints on use of structures with
12216         flexible array members.
12217
12218 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
12219
12220         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
12221         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
12222         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
12223
12224 2002-08-16  Stan Shebs  <shebs@apple.com>
12225
12226         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
12227         for ObjC with -fnext-runtime.
12228         * doc/cpp.texi: Document it.
12229
12230 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
12231
12232         * doc/install.texi (Final installation): Replace links to individual
12233         build status pages with a link to a common page that lists them all.
12234
12235 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
12236
12237         * doc/invoke.texi: Fix typo.
12238
12239 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
12240
12241         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
12242
12243 2002-08-16  Andrew Haley  <aph@redhat.com>
12244
12245         * tree-inline.c: Add includes for Java inliner.
12246         (remap_decl): Don't handle anonymous types for Java.
12247         (remap_block): Add handling for Java trees.
12248         (copy_scope_stmt): Conditionalize for non-Java use only.
12249         (copy_body_r): Handle Java trees.  Add handling for
12250         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
12251         (initialize_inlined_parameters):  Handle Java trees.
12252         (declare_return_variable): Likewise.
12253         (expand_call_inline): Handle Java trees.
12254         (walk_tree): Likewise.
12255         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
12256         (add_stmt_to_compound): New function.
12257
12258 2002-08-15  Richard Henderson  <rth@redhat.com>
12259
12260         * Makefile.in (LOOSE_WARN): Remove -fno-common.
12261         (NOCOMMON_FLAG): New substitution point.
12262         (GCC_WARN_CFLAGS): Include it.
12263         * configure.in (ac_checking): Set nocommon_flag.
12264         (nocommon_flag): New substitution point.
12265
12266 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
12267
12268         * c-tree.h (skip_evaluation): Move declaration...
12269         * c-common.h: ... here.
12270         * c-typeck.c (build_external_ref): Don't assemble_external nor
12271         mark a tree as used if skip_evaluation is set.
12272         * c-parse.in (typeof): New non-terminal to set skip_evaluation
12273         around TYPEOF.
12274         (typespec_nonreserved_nonattr): Use it.
12275
12276 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
12277
12278         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
12279         (xcoff_debug_hooks): Update end_prologue.
12280         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
12281         * debug.h (end_prologue): Add file arg.
12282         (end_epilogue): Add line and file args.
12283         (dwarf2out_end_epilogue): Add line and file args.
12284         (vmsdbgout_after_prologue): Remove.
12285         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
12286         (dwarf2_debug_hooks): Update end_prologue.
12287         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
12288         (dwarfout_end_prologue): Add file arg.
12289         * final.c (vmsdbgout_after_prologue): Remove
12290         (final_end_function): Update end_epilogue call.
12291         (final_scan_insn): Update end_prologue call.
12292         * sdbout.c (sdbout_end_epilogue): Add line and file args.
12293         (sdbout_end_prologue): Add file arg.
12294         (sdb_debug_hooks): Update end_prologue.
12295         (sdb_begin_prologue): Update sdbout_end_prologue call.
12296         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
12297         vmsdbgout_end_function.
12298         (vmsdbgout_end_prologue): New function renamed from
12299         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
12300         (vmsdbgout_end_function): New function.
12301         (vmsdbgout_end_epilogue): Add line and file args. Call
12302         vmsdbgout_source_line.
12303         (write_pclines): Write only valid line numbers.
12304         (write_srccorr): Don't write source correlation records if 0 lines.
12305         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
12306
12307 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
12308
12309         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
12310         (_Unwind_Internal_Ptr): 32 bit version for use in
12311         read_encoded_value_with_base.
12312         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
12313         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
12314         right size.
12315
12316 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12317
12318         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
12319         signed/unsigned warnings.
12320
12321         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
12322         record_reg_classes): Likewise.
12323
12324         * reload.c (reload_inner_reg_of_subreg, push_reload,
12325         find_reloads_address_1): Likewise.
12326
12327 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
12328
12329         * rs6000.c (output_mi_thunk): Return to function section on
12330         TARGET_ELF.
12331
12332         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
12333
12334 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
12335
12336         * config/s390/s390.c (legitimize_address): Optimize loading
12337         of large displacements.
12338
12339 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
12340
12341         * config/alpha/alpha-protos.h: Update.
12342
12343         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
12344         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
12345         (alpha_linkage_symbol_p): New static function.
12346         (print_operand_address): Print linkage operand.
12347
12348         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
12349         variables.
12350         (reloc_kind): New enum.
12351         (struct alpha_funcs): New struct.
12352         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
12353
12354         (alpha_need_linkage): Rewrite.
12355         (alpha_use_linkage): New global function.
12356         (alpha_write_linkage): Rewrite and make static.
12357         (alpha_write_one_linkage): Rewrite
12358
12359         (alpha_start_function): Remove procedure descriptor output.
12360         (alpha_end_function): Write linkages at end of each function.
12361
12362         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
12363         (call_vms_1, call_value_vms_1): Rewrite.
12364
12365         * config/alpha/vms.h (ASM_FILE_END): Remove.
12366
12367 2002-08-14  Richard Henderson  <rth@redhat.com>
12368
12369         * ggc-page.c (RTL_SIZE): New.
12370         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
12371         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
12372
12373 2002-08-14  Richard Henderson  <rth@redhat.com>
12374
12375         * calls.c: Include target.h.
12376         * Makefile.in (calls.o): Update.
12377
12378         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
12379         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
12380
12381 2002-08-14  Richard Henderson  <rth@redhat.com>
12382
12383         * Makefile.in (LOOSE_WARN): Add -fno-common.
12384         * c-common.h (constant_string_class_name): Add missing extern.
12385
12386 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
12387
12388         PR preprocessor/7358
12389         * c-opts.c (check_deps_environment_vars): Ignore main file
12390         for SUNPRO_DEPENDENCIES.
12391         * cppfiles.c (stack_include_file): Ignore main file if
12392         appropriate.
12393         * cpplib.h (struct cpp_options): New member in deps.
12394         * doc/cppenv.texi: Update.
12395
12396 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12397
12398         PR preprocessor/7526
12399         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
12400
12401 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
12402
12403         * doc/invoke.texi (-a): Remove documentation.
12404         (-fprofile-arcs): Remove reference to -a, -ax options.
12405         * doc/gcov.texi (Gcov Data Files): Data might be merged.
12406
12407 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12408
12409         Fix PR/7566
12410         * c-semantics.c (genrtl_case_label): Don't (mis)use
12411         warning_with_decl.
12412
12413 2002-08-14  Dale Johannesen  <dalej@apple.com>
12414
12415         * explow.c (emit_stack_restore):  Emit memory clobbers
12416         preceding the stack pop, to prevent the scheduler from
12417         moving refs to variable arrays below this pop.
12418         * reload1.c (reload):  Preserve these clobbers for sched2.
12419         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
12420
12421 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12422
12423         * c-opts.c (c_common_post_options): Correct test.
12424
12425 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12426
12427         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
12428         order in call to fprintf.
12429
12430 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12431
12432         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
12433
12434 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12435
12436         * reload.c (find_reloads): Handle constraint letters marked by
12437         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
12438         (alternative_allows_memconst): Likewise.
12439         * reload1.c (maybe_fix_stack_asms): Likewise.
12440         * recog.c (asm_operand_ok, preprocess_constraints,
12441         constrain_operands): Likewise.
12442         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
12443         * local-alloc.c (block_alloc, requires_inout): Likewise.
12444         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
12445
12446         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
12447         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
12448         * doc/tm.texi: Document these two new target macros.
12449
12450         * config/s390/s390.c (s390_expand_plus_operand): Accept already
12451         valid operands.
12452         (q_constraint): New function.
12453         config/s390/s390-protos.h (q_constraint): Declare it.
12454         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
12455         (EXTRA_MEMORY_CONSTRAINT): New macro.
12456
12457         * config/s390/s390.md: Throughout the machine description,
12458         replace all instances of the constraint combinations 'Qo'
12459         or 'oQ' with simply 'Q'.
12460
12461 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12462
12463         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
12464         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
12465         (LIBGCC2_CFLAGS): Compile with -mrelax.
12466
12467 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12468
12469         * doc/invoke.texi: Document -minmax for 68HC12.
12470
12471         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
12472         ("uminqi3"): Likewise.
12473         ("uminhi3", "umaxhi3"): Likewise.
12474
12475         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
12476         (TARGET_MIN_MAX): Define.
12477         (TARGET_SWITCHES): New option -minmax/-mnominmax.
12478
12479 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12480
12481         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
12482         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
12483
12484         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
12485         (ret, declare, farsym): New gas macros.
12486         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
12487         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
12488         and declare the symbol far when compiled with -mlong-calls.
12489         (__far_trampoline): New for 68HC12 trampoline code to invoke a
12490         far handler using jsr/bsr.
12491
12492         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
12493         (jsr): New macro to transform a 'jsr' into a 'call'.
12494
12495 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
12496
12497         * doc/invoke.texi: Document -mlong-calls for 68HC12.
12498
12499         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
12500         -mlong-calls is specified.
12501         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
12502         assembler directives.
12503         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
12504         (TARGET_SWITCHES): Add -mlong-calls options.
12505         (current_function_far): Declare.
12506
12507         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
12508         into account the page register saved on the stack.
12509         (m68hc11_override_options): Take into account -mlong-calls option.
12510         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
12511
12512         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
12513         if the function is going to be in 68HC12 banked memory (-mlong-calls).
12514         ("*return_16bit"): Likewise.
12515         ("*return_void"): Likewise.
12516         ("call", "call_value"): Use call for a far function call.
12517
12518 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
12519
12520         * toplev.c (parse_options_and_default_flags): Don't call
12521         post_options here.
12522         (general_init): Initialize GC, pools and tree hash here,
12523         instead of lang_independent_init.
12524         (lang_independent_init): Rename backend_init.
12525         (do_compile): Call post_options hook; exit early if there
12526         have been errors after switch processing.
12527         (toplev_main): Update.
12528
12529 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12530
12531         * c-pretty-print.h: Guard against multiple inclusion.
12532         Robustify macros.
12533         (pp_c_attributes): Declare.
12534         * c-pretty-print.c (pp_c_attributes): New function.
12535
12536 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12537
12538         * m68k.c (m68k_output_function_prologue,
12539         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
12540         and NEWS/MOTOROLA.
12541         * genattrtab.c: Remove dpx2 comment.
12542         * libgcc2.c (__enable_execute_stack): Delete versions for
12543         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
12544         sony_news/SYSTYPE_BSD.
12545         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
12546         __gmicro__, __i860__, __NeXT__ and __pyr__.
12547         * rtl.h: Remove convex comment.
12548         * varasm.c: Likewise.
12549
12550 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12551
12552         * c-opts.c (lang_flags): Const-ify.
12553         * ra-build.c (undef_table): Likewise.
12554         * ra.c (eliminables): Likewise.
12555
12556 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
12557
12558         * tree.h: Guard against multiple inclusion.
12559
12560 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
12561
12562         * reload1.c (reload_cse_simplify): Before checking
12563         REG_FUNCTION_VALUE_P, check REG_P.
12564
12565 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
12566
12567         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
12568
12569 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12570
12571         * c-opts.c (c_common_init_options): Extra braces needed.
12572
12573 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
12574
12575         * sh.c (sh_init_builtins): Add PARAMS to declaration.
12576         (sh_media_init_builtins, sh_expand_builtin): Likewise.
12577         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
12578         (sh_expand_binop_v2sf): Likewise.
12579         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
12580         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
12581         (sh_initialize_trampoline): Likewise.
12582
12583 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12584
12585         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
12586         new condition code modes.
12587         s390.c (s390_match_ccmode_set): Handle those new CC modes.
12588         (s390_select_ccmode): Likewise.
12589         (s390_branch_condition_mask): Likewise.
12590
12591         * s390-protos.h (s390_tm_ccmode): Declare.
12592         s390.c (s390_tm_ccmode): New function.
12593         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
12594
12595         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
12596         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
12597         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
12598
12599         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
12600         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
12601         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
12602         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
12603         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
12604
12605         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
12606         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
12607         "*cmpqi_ccs_0"): Remove, replace by ...
12608         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
12609         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
12610         "*tstqi", "*tstqi_cconly"): ... these new patterns.
12611
12612         ("*cmpsidi_ccs"): Remove, replace by ...
12613         ("*cmpsi_ccs_sign"): ... this new pattern.
12614         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
12615
12616         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
12617         ("*cli"): ... this new pattern.
12618
12619         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
12620         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
12621         New patterns.
12622         ("adddi3_64"): Rename to "*adddi3_64".
12623         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
12624         ("adddi3"): Adapt expander.
12625
12626         ("*addsi3_cc"): Allow "general_operand" for operand 2.
12627         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12628         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
12629
12630         ("addhi3", "addqi3"): Remove, replace by ...
12631         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
12632
12633         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
12634         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
12635         ("subdi3"): Replace by insn and splitter "*subdi3_31".
12636         ("subdi3"): New expander.
12637
12638         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
12639
12640         ("subhi3", "subqi3"): Remove, replace by ...
12641         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
12642
12643         ("*muldi3_sign"): New pattern.
12644         ("muldi3"): Do not clobber CC.
12645         ("mulsi3"): Likewise.
12646         ("mulsi_6432"): Likewise.
12647
12648 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12649
12650         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
12651         which can change CC0.
12652
12653 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
12654
12655         * gcse.c (adjust_libcall_notes): New function.
12656         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
12657
12658 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
12659
12660         * libgcc2.c (L_bb): Remove unneeded #includes.
12661         (__global_counters, __gthreads_active): Remove unused globals.
12662         (__bb_exit_func): Merge counts into files rather than appending.
12663         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
12664         (ALL_CFLAGS): ... to here.
12665
12666 2002-08-13  Denis Chertykov  <denisc@overta.ru>
12667
12668         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
12669         (function_epilogue): Don't calculate function size.
12670         (ip2k_set_compare): Don't use lookup_const_double.
12671         (asm_file_start): Initialization of commands_in_file removed.
12672         (asm_file_end): Output of commands_in_file removed.
12673
12674         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
12675         __INT_MAX__.
12676
12677 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12678
12679         * c-opts.c (c_common_init_options): Check option array is
12680         sorted if checking enabled.
12681
12682 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
12683
12684         * c-pretty-print.c: #include "c-tree.h".
12685         (pp_c_simple_type_specifier): Tweak.
12686         (pp_c_storage_class_specifier): New.
12687         (pp_c_function_specifier): Likewise.
12688         (pp_c_declaration_specifiers): Likewise.
12689         (pp_c_init_declarator): Likewise.
12690         (pp_c_declaration): Likewise.
12691         (pp_c_direct_declarator): Stub.
12692         (pp_c_declarator): Likewise.
12693         (pp_c_parameter_declaration): Likewise.
12694
12695 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
12696
12697         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
12698         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
12699         struct deferred_opt): New.
12700         (COMMAND_LINE_OPTIONS): Add -M*.
12701         (missing_arg): Update.
12702         (c_common_decode_option): Handle -M*.
12703         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
12704         don't call cpp_post_options.
12705         (c_common_finish, check_deps_environment_vars): Update.
12706         * cppfiles.c (stack_include_file, handle_missing_header): Update.
12707         * cpphash.h (CPP_PRINT_DEPS): Remove.
12708         * cppinit.c: Don't include version.h.
12709         (cpp_create_reader): Don't call deps_init.  Initialize
12710         warn_long_long.
12711         (cpp_read_main_file): Init deps if necessary.
12712         (cpp_destroy): Conditionally free deps.
12713         (cpp_finish): Update.
12714         (no_tgt): Remove.
12715         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
12716         (cpp_post_options): Rename post_options.
12717         * cpplib.h (struct cpp_options): Remove some dependency options;
12718         move others to a new structure.
12719         (cpp_post_options): Remove.
12720         (cpp_finish): Comment.
12721         * fix-header.c (read_scan_file): Don't call cpp_post_options.
12722
12723 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12724
12725         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
12726         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
12727         MMIX_rR_REGNUM as clobbered.
12728         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
12729
12730 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
12731
12732         * diagnostic.h (output_formatted_scalar): Rename from
12733         output_formatted_integer.
12734         * diagnostic.def: Add DK_DEBUG.
12735         * diagnostic.c (output_decimal): Adjust.
12736         (output_long_decimal): Likewise.
12737         (output_unsigned_decimal): Likewise.
12738         (output_octal): Likewise.
12739         (output_long_octal): Likewise.
12740         (output_hexadecimal): Likewise.
12741         (output_long_hexadecimal): Likewise.
12742         * c-pretty-print.c (pp_c_type_specifier): New function.
12743         (pp_c_specifier_qualifier_list): Likewise.
12744         (pp_c_abstract_declarator): Likewise.
12745         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
12746
12747 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
12748
12749         * doc/trouble.texi (Disappointments): Add static constructor and
12750         destructor dependency information for AIX.
12751
12752 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12753
12754         * cpphash.h (struct printer): New from cppmain.c.
12755         (cpp_reader): New member.
12756         * cppmain.c (struct printer): Move to cpphash.h.
12757         (options, print): Remove.
12758         (account_for_newlines, print_line, maybe_print_line,
12759         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
12760         scan_translation_unit_trad, cb_line_change, cb_ident,
12761         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
12762         cb_def_pragma): Make reentrant.
12763
12764 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12765
12766         * real.c (ieee_64): Always define.
12767         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12768         (dec_h): Not used yet, hide it.
12769         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
12770         macro controlling use.
12771         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
12772
12773 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12774
12775         * i386.md (tablejump): Sign extend the operand.
12776         * i386.c (classify_argument): Fix missed case from previous patch.
12777
12778 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
12779
12780         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
12781         to c-copts.c.
12782         (warn_multichar): Die.
12783         (cb_register_builtins): Export.
12784         * c-common.h (warn_multichar, preprocess_file): Remove.
12785         (cb_register_builtins): New.
12786         * c-lang.c (c_init): Remove.
12787         (LANG_HOOKS_INIT): Use c_objc_common_init.
12788         * c-lex.c (init_c_lex): Don't canonicalize filename.
12789         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
12790         (preprocess_file): Make static.  Update for cpplib.
12791         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
12792         (c_common_post_options): Set some cpp options here.
12793         (c_common_init): Move from c-common.c.
12794         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
12795         * cpplib.h (struct cpp_options): Remove in_fname.
12796         (cpp_preprocess_file): Update.
12797         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
12798
12799 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12800
12801         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
12802
12803 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12804
12805         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
12806         backslash in comment preceeding macro definition.
12807         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
12808         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
12809         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
12810
12811 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
12812
12813         * expr.c (store_expr): In condition for checking if value is
12814         generated in TARGET, move call to expr_size last.
12815
12816 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12817
12818         * c-common.c (c_common_init): Call preprocess_file instead.
12819         (c_common_finish): Move to c-opts.c.
12820         * c-common.h (preprocess_file): new.
12821         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
12822         check_deps_environment_vars, c_common_finish): New.
12823         (c_common_decode_option): Update for out_fname and dependencies.
12824         * cppinit.c (init_dependency_output, output_deps): Remove.
12825         (cpp_destroy): Update prototype.
12826         (cpp_add_dependency_target): New.
12827         (cpp_read_main_file): Don't overlay a buffer.
12828         (cpp_finish): Take a deps output stream and write deps to it.
12829         Return the error count.
12830         (cpp_post_options): Don't canonicalize out_fname, or do anything
12831         with dependencies.
12832         * cpplib.h (struct cpp_options): Remove out_fname and
12833         preprocess_only.
12834         (cpp_add_dependency_target): New.
12835         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
12836         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
12837         set preprocess_only.  Don't handle the output stream directly.
12838
12839 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12840
12841         * dsp16xx.c (print_operand): Fix format specifier.
12842         * dsp16xx.md: Avoid automatic aggregate initialization.
12843         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
12844         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
12845         integer constant modifier.
12846         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
12847         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
12848         guards.
12849         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
12850         * v850.c (v850_select_section): Mark parameter with
12851         ATTRIBUTE_UNUSED.
12852         * global.c (global_alloc): Const-ify.
12853         * ra-colorize.c (hardregset_to_string): Fix format specifier.
12854
12855 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12856
12857         * darwin-c.c (darwin_pragma_options): Const-ify.
12858         * darwin.c (machopic_non_lazy_ptr_name,
12859         machopic_validate_stub_or_non_lazy_ptr): Likewise.
12860         (machopic_indirect_data_reference): Wrap variables in macros
12861         controlling their use.
12862         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
12863         (machopic_select_section): Use parentheses around && within ||.
12864         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
12865
12866 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12867
12868         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
12869         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
12870         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
12871         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
12872         mdr_try_remove_redundant_insns, track_w_reload,
12873         mdr_try_wreg_elim): Make function static to match prototype.
12874         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
12875         parameter with ATTRIBUTE_UNUSED.
12876
12877 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12878
12879         * arc.c (arc_init): Don't use ISO C style function definitions.
12880         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
12881         arm_get_strip_length, arm_strip_name_encoding): Likewise.
12882         * avr.h (progmem_section): Likewise.
12883         * h8300.c h8300_asm_insn_count): Likewise.
12884         * m32r.c (init_idents): Likewise.
12885         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
12886         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
12887         * xtensa.c (xtensa_build_va_list): Likewise.
12888
12889 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
12890
12891         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
12892         * c-opts.c (parse_option): Rename find_opt.
12893         (set_std_c99): New function.
12894         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
12895         (missing_arg): Remove OPT_std_bad.  Handle -o.
12896         (c_common_decode_option): Handle input and output file names,
12897         -o and -remap.  Clean up -std= handling.
12898         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
12899         (cpp_handle_option): Similarly.  Don't handle filenames.
12900
12901 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
12902
12903         * i386.c (classify_argument): Fix computing of field's offsets.
12904
12905 2002-08-11  Andreas Jaeger  <aj@suse.de>
12906
12907         PR target/7531:
12908         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
12909
12910 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
12911
12912         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
12913         reference to clk_objective_c with flag_objc.
12914         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
12915         Likewise.
12916         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12917
12918 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
12919
12920         * c-opts.c (set_std_cxx98, set_std_c89): New.
12921         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
12922         (c_common_decode_option): Handle new switches from cppinit.c.
12923         Add -std=gnu++98.
12924         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
12925         (no_arg, no_num): Remove.
12926         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
12927         switches apart from -lang-objc and lang-asm.
12928         (cpp_handle_option): Similarly.
12929         * cpplib.h (cpp_set_lang): New.
12930         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
12931         -std=gnu++98.
12932         * objc/lang-specs.h: Remove -ansi.
12933
12934 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
12935                                Graham Stott
12936
12937         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
12938         errors.
12939
12940 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12941
12942         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
12943         emit_jump_insn): Fix uninitialized variable.
12944         * gcov.c (init_line_info): Likewise.
12945         * genautomata.c (transform_3): Add braces around ambiguous
12946         else.
12947         * ifcvt.c (cond_exec_process_insns): Mark parameter with
12948         ATTRIBUTE_UNUSED.
12949         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
12950         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
12951         variable.
12952
12953         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
12954         warnings in output files.
12955
12956 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
12957
12958         * c-common.c (flag_objc): New.
12959         * c-common.h (c_language_kind): Get rid of clk_objective_c
12960         enum value.
12961         (flag_objc): New extern declaration.
12962         * c-decl.c (implicitly_declare): Call objc_check_decl
12963         instead of maybe_objc_check_decl.
12964         (finish_decl): Likewise.
12965         (grokfield): Likewise.
12966         (finish_struct): Likewise.
12967         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
12968         (maybe_objc_comptypes): Rename to objc_comptypes.
12969         (maybe_building_objc_message_expr): Rename to
12970         objc_message_selector.
12971         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
12972         replace with flag_objc as needed.
12973         * c-opts.c (c_common_init_options): Likewise.
12974         (c_common_decode_option): Likewise.
12975         * c-parse.in (init_reswords): Likewise.
12976         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
12977         (maybe_objc_comptypes): Rename to objc_comptypes.
12978         (maybe_building_objc_message_expr): Rename to
12979         objc_message_selector.
12980         * c-typeck.c (comptypes): Call objc_comptypes instead of
12981         maybe_objc_comptypes, and/or objc_message_selector instead of
12982         maybe_building_objc_message_expr.
12983         (comp_target_types): Likewise.
12984         (convert_for_assignment): Likewise.
12985         (warn_for_assignment): Likewise.
12986         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
12987         independently of those for other languages.
12988         * objc/objc-act.c (maybe_objc_comptypes): Delete.
12989         (maybe_objc_check_decl): Delete.
12990         (maybe_building_objc_message_expr): Rename to
12991         objc_message_selector.
12992         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
12993         clk_objective_c; set flag_objc flag.
12994
12995 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12996
12997         * ifcvt.c (find_if_case_2): Test correct basic block for size.
12998
12999 2002-08-09  Dale Johannesen  <dalej@apple.com>
13000
13001         * config/rs6000/rs6000.md: Add sibcall patterns.
13002         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
13003         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
13004         Rewritten to handle sibcalls.
13005         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
13006         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
13007
13008 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13009
13010         * profile.c (da_file_name): New static var.
13011         (init_branch_prob): Initialize it.
13012         (end_branch_prob): Remove da file.
13013
13014         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
13015         * configure.in (coverage_flags): Default to nothing.
13016         * configure: Rebuilt.
13017
13018 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
13019
13020         * Makefile.in (c-opts.o): Update
13021         * c-opts.c: Include intl.h.
13022         (print_help): Move from cppinit.c.  Remove unused options.
13023         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
13024         (missing_arg): Complain for switches without an argument.
13025         (c_common_decode_option): Reject missing joined arguments.
13026         Handle new switches from cppinit.c.
13027         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13028         (cpp_handle_option): Similarly.
13029         (print_help): Moved to c-opts.c.
13030         * cpplib.h (struct cpp_options): Remove help_only.
13031         * gcc.c (cpp_unique_options): Remove -$.
13032         * doc/cppopts.texi: Undocument -h.
13033
13034 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13035
13036         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
13037         legitimate constant.
13038         (legitimate_pic_operand_p): Neither pic operand.
13039         (legitimate_address_p): But legitimate address.
13040         (get_thread_pointer): Generate MEM/u instead of CONST around
13041         UNSPEC_TP.
13042         (print_operand): Remove printing of UNSPEC_TP.
13043         (print_operand_address): And print it here.
13044
13045 2002-08-08  Devang Patel  <dpatel@apple.com>
13046
13047         * objc/objc-act.c (build_selector_translation_table): Issue warning,
13048         when  -Wselector is used,if method for which selector is being
13049         created does not exist.
13050
13051 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
13052
13053         * config/sh/sh.c (prepare_move_operands): Only call
13054         target_reg_operand if TARGET_SHMEDIA.
13055
13056 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13057
13058         * config/rs6000/rs6000.h, config/rs6000/aix.h,
13059         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
13060         two patches.
13061         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
13062
13063 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
13064             Richard Henderson  <rth@redhat.com>
13065
13066         * emit-rtl.c (gen_rtx_REG): After reload, only return
13067         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
13068
13069 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13070
13071         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
13072         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
13073         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
13074         macro.
13075
13076 2002-08-08  Adam Nemet  <anemet@lnxw.com>
13077
13078         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
13079         register.
13080         (thumb_expand_prologue): Likewise.
13081         (thumb_output_function_prologue): Likewise.
13082         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
13083         the additional push of the PIC register.
13084
13085 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13086
13087         * configure.in (enable_coverage): New enable switch.
13088         * configure: Rebuilt.
13089         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
13090         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
13091         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
13092         (mostlyclean): Remove coverage files.
13093         * doc/install.texi: Document enable_coverage.
13094
13095         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
13096         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13097         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
13098         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
13099         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
13100         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
13101         files.
13102
13103 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
13104
13105         * c-opts.c (cpp_opts): New.
13106         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
13107         (c_common_decode_options): Handle cpplib switches.
13108         (c_common_init_options): Set cpp_opts.
13109         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
13110         (cpp_handle_option): Similarly.
13111
13112 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
13113
13114         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
13115         (TARGET_ALTIVEC_ABI): Same.
13116         (TARGET_ALTIVEC_VRSAVE): Same.
13117
13118         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
13119         icode not CODE_FOR_nothing.  Change switch to if.
13120
13121 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
13122
13123         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
13124
13125 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
13126
13127         * stor-layout.c (place_union_field): For bitfields if
13128         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
13129         TYPE_USER_ALIGN.
13130
13131 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13132
13133         * pa.c (struct deferred_plabel): Constify name field.
13134
13135 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13136
13137         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
13138
13139 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13140
13141         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
13142         local_prefix are the same.
13143         * configure: Rebuilt.
13144
13145 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
13146             Richard Henderson  <rth@redhat.com>
13147
13148         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
13149         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
13150         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
13151         (place_field): Likewise.
13152         * config/i386/i386.c (x86_field_alignment): Don't check
13153         DECL_USER_ALIGN here.
13154         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
13155         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
13156         prototype.
13157         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
13158         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
13159         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
13160         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
13161         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
13162         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
13163
13164 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
13165
13166         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
13167         * c-common.c: Don't include tree-inline.h.
13168         (c_common_init_options, c_common_post_options): Move to c-opts.c.
13169         * c-common.h (c_common_decode_option): New.
13170         * c-decl.c (c_decode_option): Remove.
13171         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
13172         * c-opts.c: New file.
13173         * c-tree.h (c_decode_option): Remove.
13174         * doc/passes.texi: Update.
13175         * objc/objc-act.c (objc_decode_option): Remove.
13176         * objc/objc-act.h (objc_decode_option): Remove.
13177         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
13178         c_common_decode_option.
13179
13180 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
13181
13182         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
13183         dependency on TARGET_DOUBLE_FLOAT.
13184
13185 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
13186
13187         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
13188         overwrite callee-save registers.  Fix comment.
13189
13190 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
13191
13192         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
13193         in target_flags based on ISA, if it was not set on the command
13194         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
13195         support Branch Likely instructions.
13196         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
13197         (TARGET_BRANCHLIKELY): Likewise.
13198         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
13199         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
13200         ISA_HAS_BRANCHLIKELY.
13201         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
13202         * doc/invoke.texi: Document new MIPS -mbranch-likely and
13203         -mno-branch-likely options.
13204
13205 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13206
13207         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
13208
13209         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
13210         $(GCONFIG_H).
13211
13212 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
13213
13214         * c-decl.c (duplicate_decls): Error out for incompatible TLS
13215         declarations.
13216
13217         * testsuite/gcc.dg/tls/diag-3.c: New.
13218
13219 2002-08-06  Dale Johannesen  <dalej@apple.com>
13220
13221         * c-common.c (fname_decl): Use line number 0 for
13222         __func__, to avoid confusing debuggers.
13223
13224 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
13225
13226         * gcov.c: Tidy.
13227         (struct line_info, struct coverage): New structures.
13228         (gcov_file_name, gcov_file): Remove globals.
13229         (output_data): Take source file parameter. Fix memory leak. Break
13230         up into ...
13231         (init_line_info, output_line_info, make_gcov_file_name,
13232         accumulate_branch_counts): ... here.
13233         (calculate_branch_probs, function_summary): Adjust.
13234         (main): Adjust.
13235         (function_*): Remove global variables.
13236
13237 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13238
13239         * dwarf2out.c: Remove unused macros.
13240
13241 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13242
13243         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
13244
13245 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
13246
13247         * cppinit.c (struct lang_flags): Rename trigraphs std.
13248         (set_lang): Update.
13249         * cpplib.h (struct cpp_options): New member std.
13250         * cppmacro.c (_cpp_builtin_macro_text): Use std.
13251         (collect_args): Flag whether to swallow a possible future
13252         comma pasted with varargs.
13253         (replace_args): Use this flag.
13254         * doc/cpp.texi: Update varargs extension documentation.
13255
13256 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13257
13258         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
13259
13260 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13261
13262         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
13263         and MODE_CLASS_INT modes.
13264
13265 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
13266
13267         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
13268         --{enable,disable}-threads is given to configure.
13269         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
13270         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
13271         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
13272         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
13273         Remove thread_file setting here.
13274
13275 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
13276
13277         * doc/install.texi (Binaries): Update Bull Freeware URL.
13278
13279 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13280
13281         * doc/gcc.texi (Top): Rename Index to Keyword Index.
13282
13283 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
13284
13285         * gcov.c (output_data): Round to % to nearest, tweak formatting.
13286
13287 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
13288
13289         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
13290         of the operands into MINUS_EXPR if code is PLUS_EXPR.
13291
13292 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
13293
13294         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
13295         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
13296         drectve_section): Define.
13297         * config/i386/t-interix: Replace interix.o rule with winnt.o.
13298         * config/i386/interix.c: Remove.
13299
13300 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
13301
13302         * attribs.c: Don't include obstack.h.
13303         * builtins.c: Likewise.
13304         * cfganal.c: Likewise.
13305         * cfgbuild.c: Likewise.
13306         * cfgcleanup.c: Likewise.
13307         * emit-rtl.c: Likewise.
13308         * loop.c: Likewise.
13309         * stmt.c: Likewise.
13310
13311         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
13312
13313 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
13314
13315         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
13316
13317 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
13318
13319         * doc/invoke.texi: Remove duplicated paragraph describing
13320         TARGET_SWITCHES.
13321
13322 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
13323
13324         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
13325         * collect2.h (permanent_obstack): Delete declaration.
13326         * collect2.c (permanent_obstack): Delete definition.
13327         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
13328         * expr.c: Don't include obstack.h.
13329         (permanent_obstack): Delete declaration.
13330         * function.c: Don't include obstack.h.
13331         (permanent_obstack): Delete declaration.
13332         * integrate.c: Don't include obstack.h.
13333         (function_maybepermanent_obstack): Delete declaration.
13334         * print-tree.c (debug_tree): Use x*alloc not permalloc.
13335         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
13336         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
13337         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
13338         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
13339         of permalloc, expralloc, perm_calloc.
13340         * tree.c (permanent_obstack): Delete definition.
13341         (init_ttree): Rename from init_obstacks.
13342         (permalloc): Delete.
13343         (perm_calloc): Delete.
13344         (dump_tree_statistics): Don't print information about
13345         permanent_obstack.
13346         * varasm.c (assemble_start_function): Use xstrdup instead of
13347         permalloc/strcpy.
13348         (assemble_variable): Likewise.
13349         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
13350         permalloc.
13351         (unicosmk_add_extern): Likewise.
13352         * config/c4x/c4x.c (c4x_external_ref): Likewise.
13353         (c4x_global_label): Likewise.
13354         * config/frv/frv.c (frv_encode_section_info): Likewise.
13355         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
13356         (i386_pe_record_exported_symbol): Likewise.
13357         * config/mips/mips.c (mips_output_external): Likewise.
13358         (mips_output_external_libcall): Likewise.
13359         * config/pa/pa.c: (permanent_obstack): Delete declaration.
13360         (output_call): Use ggc_strdup instead of allocating on
13361         permanent_obstack.
13362         * config/romp/romp.c: Include ggc.h.
13363         (get_symref): Don't declare permanent_obstack, use ggc_strdup
13364         intead of permanent_obstack.
13365         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
13366         instead of permalloc.
13367         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
13368         instead of permalloc
13369         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
13370         instead of permalloc.
13371         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
13372         permalloc.
13373
13374 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
13375
13376         Contribute a port developed primarily by Michael Meissner,
13377         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
13378         * config.gcc: Add frv-elf target.
13379         * config/frv/cmovd.c: New file.
13380         * config/frv/cmovh.c: New file.
13381         * config/frv/cmovw.c: New file.
13382         * config/frv/frv-abi.h: New file.
13383         * config/frv/frv-asm.h: New file.
13384         * config/frv/frv-modes.def: New file.
13385         * config/frv/frv-protos.h: New file.
13386         * config/frv/frv.c: New file.
13387         * config/frv/frv.h: New file.
13388         * config/frv/frv.md: New file.
13389         * config/frv/frvbegin.c: New file.
13390         * config/frv/frvend.c: New file.
13391         * config/frv/lib1funcs.asm: New file.
13392         * config/frv/media.h: New file.
13393         * config/frv/modi.c: New file.
13394         * config/frv/t-frv: New file.
13395         * config/frv/uitod.c: New file.
13396         * config/frv/uitof.c: New file.
13397         * config/frv/ulltod.c: New file.
13398         * config/frv/ulltof.c: New file.
13399         * config/frv/umodi.c: New file.
13400         * config/frv/xm-frv.h: New file.
13401
13402         * config/frv/media.h: Removed again.
13403
13404 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13405
13406         * gcov.c (bb_file_time): New static variable.
13407         (object_directory): May also be object file.
13408         (preserve_paths): New static variable.
13409         (print_usage): Adjust.
13410         (options): Adjust.
13411         (process_args): Adjust.
13412         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
13413         file. Find modification date on bb file.
13414         (read_profile): Don't rewind a NULL file.
13415         (format_hwint): New static function.
13416         (function_summary): Use format_hwint.
13417         (output_data): SOURCE_FILE_NAME is never relative to
13418         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
13419         mangling. Adjust output format to make it more machine readable.
13420         * doc/gcov.texi: Document & clarify semantics.
13421
13422 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13423
13424         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
13425
13426 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13427
13428         * gcc.c (cc1_options): Pass output file as auxbase when
13429         appropriate.
13430         * profile.c (init_branch_prob): FILENAME has already had ending
13431         stripped.
13432         * final.c (end_final): Likewise.
13433         * toplev.c (aux_base_name): New global.
13434         (compile_file): Pass aux_base_name to init init_branch_prob and
13435         end_final.
13436         (independent_decode_option, case 'a'): New auxinfo options.
13437         (case 'd'): Protect against mising basename.
13438         (do_compile): Initialize aux_base_name.
13439         * toplev.h (aux_base_name): New global.
13440         * doc/invoke.texi: Adjust documentation.
13441
13442 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
13443
13444         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
13445         of TARGET_ALIGN_DOUBLE.
13446
13447 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
13448
13449         * diagnostic.c (inform): New function.
13450         * diagnostic.h (inform): Declare.
13451
13452 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
13453
13454         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
13455         (movhi_internal): Same.
13456         (movqi_internal): Same.
13457         (movdi_internal64): Same.
13458
13459         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
13460
13461         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
13462         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
13463         (COMMON_ASM_OP): Define.
13464         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
13465         Use ALIGN parameter.
13466         (LOCAL_COMMON_ASM_OP): Define.
13467         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
13468
13469 2002-08-03  Roger Sayle  <roger@eyesopen.com>
13470
13471         * builtins.def: Define new builtin functions exp, expf, expl,
13472         log, logf and logl (and their __builtin_* variants).
13473         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
13474         Define exp_optab and log_optab.
13475         * optabs.c (init_optans): Initialize exp_optab and log_optab.
13476         * genopinit.c (optabs): Implement exp_optab and log_optab
13477         using exp?f2 and log?f2 patterns.
13478         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
13479         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
13480         (expand_builtin): Ignore the new builtins (and all cos and
13481         sin variants) when not optimizing.  Expand new builtins via
13482         expand_builtin_mathfn when flag_unsafe_math_optimizations.
13483
13484         * doc/extend.texi: Document new exp and log builtins.
13485         * doc/md.texi: Document new exp?f2 and log?f2 patterns
13486         (and previously undocumented cos?f2 and sin?f2 patterns).
13487
13488 2002-08-03  Jason Merrill  <jason@redhat.com>
13489
13490         * explow.c (int_expr_size): New fn.
13491         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
13492         * expr.h: Declare it.
13493
13494 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
13495
13496         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
13497         gengtype-* dependencies.
13498
13499 2002-08-02  Eric Christopher  <echristo@redhat.com>
13500
13501         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
13502         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
13503         #ifndef to #undef.
13504         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
13505
13506 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
13507
13508         PR optimize/7067
13509         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
13510         small if optimizing for size.
13511
13512 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
13513
13514         * configure.in (FORBUILD): Use $build_alias.
13515         * configure: Regenerated.
13516
13517 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
13518
13519         * config.gcc: Don't include mips/abi64.h in $tm_file.
13520         * hard-reg-set.h (call_really_used_regs): Declare.
13521         * config/mips/abi64.h: Remove file.
13522         * config/mips/linux.h,
13523         * config/mips/iris6.h: Don't include it.
13524         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
13525         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
13526         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
13527         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
13528         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
13529         Bring across definitions from abi64.h.
13530         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
13531         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
13532         (struct mips_args): Use it.
13533         * config/mips/mips.c (mips_conditional_register_usage): Define.
13534
13535 2002-08-02  Jason Merrill  <jason@redhat.com>
13536
13537         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
13538         * langhooks.c (lhd_expr_size): Define default.
13539         * langhooks.h (struct lang_hooks): Add expr_size.
13540         * explow.c (expr_size): Call it.
13541         * expr.c (store_expr): Don't copy an expression of size zero.
13542         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
13543         to store.
13544         * Makefile.in (builtins.o): Depend on langhooks.h.
13545
13546 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13547
13548         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
13549         * ra-debug.c: Include "tm_p.h".
13550         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
13551
13552 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
13553
13554         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
13555         when not honoring signalling NaNs.
13556         (simplify_ternary_operation): a == b has a definite value
13557         when not honoring NaNs.
13558
13559 2002-08-02  Jason Merrill  <jason@redhat.com>
13560
13561         * gdbinit.in (pct): New macro.
13562
13563 2002-08-01  Stan Shebs  <shebs@apple.com>
13564             Andreas Tobler  <toa@pop.agri.ch>
13565
13566         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
13567         plays nice with Darwin headers.
13568         (_BSD_RUNE_T_DEFINED_): Likewise.
13569
13570 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13571
13572         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
13573         * cppinit.c (cpp_post_options): Likewise.
13574
13575         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
13576         warning about 'LL' suffix (but not 'ULL' etc) when
13577         -Wno-long-long is in effect.
13578
13579         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
13580         Check for failing time()/localtime(), issue a warning, and
13581         make __TIME__ and __DATE__ expand to fallback strings.
13582
13583         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
13584         and __TIME__ when the date and time cannot be determined.
13585
13586 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13587
13588         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
13589
13590 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
13591
13592         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
13593
13594 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13595
13596         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
13597         (mipsisa64sb1el-*-elf*): Likewise.
13598         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
13599         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
13600         (TARGET_SB1, TUNE_SB1): New macros.
13601         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
13602         -mtune flags.
13603
13604 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
13605
13606         * varasm.c (asm_emit_uninitialized): Return false if global BSS
13607         and ASM_EMIT_BSS not supported by target.
13608         (assemble_variable): Do not duplicate uninitialized logic.
13609         Fall through if asm_emit_uninitialized failed.
13610
13611 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
13612
13613         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
13614
13615 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
13616
13617         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
13618         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
13619
13620         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
13621         HOST_BITS_PER_WIDE_INT == 64.
13622
13623 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13624
13625         * df.c (df_insn_table_realloc): Change parameter to unsigned.
13626         * optabs.c (expand_binop): Make variable unsigned.
13627         * simplify-rtx.c (simplify_subreg): Likewise.
13628         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
13629
13630 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13631
13632         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
13633
13634 2002-08-01  Richard Henderson  <rth@redhat.com>
13635
13636         * toplev.c (parse_options_and_default_flags): Don't set
13637         flag_reorder_blocks for -Os.
13638
13639         * config/avr/avr.c (avr_optimization_options): Remove.
13640         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
13641         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
13642         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
13643
13644 2002-08-01  H.J. Lu <hjl@gnu.org>
13645             Richard Henderson  <rth@redhat.com>
13646
13647         * output.h (DECL_READONLY_SECTION): Remove.
13648         (decl_readonly_section): Declare.
13649         * varasm.c (decl_readonly_section): New.
13650         (default_section_type_flags, default_select_section): Use it.
13651         * config/arm/pe.c (arm_pe_unique_section): Likewise.
13652         * config/i386/interix.c (i386_pe_unique_section): Likewise.
13653         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
13654         * config/mcore/mcore.c (mcore_unique_section): Likewise.
13655         * config/mips/mips.c (mips_unique_section): Likewise.
13656
13657 2002-08-01  Richard Henderson  <rth@redhat.com>
13658
13659         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
13660         refers to a subroutine parameter.
13661
13662 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
13663
13664         * varasm.c (assemble_visibility): Strip name encoding.
13665
13666 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
13667
13668         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
13669         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
13670         when there is no frame pointer.
13671         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
13672         registers properly.
13673         * config/ns32k/__unorddf2.c: New file.
13674         * config/ns32k/__unordsf2.c: New file.
13675         * config/ns32k/t-ns32k: New file.
13676         * config.gcc (ns32k-*-netbsd*): Use it.
13677
13678 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
13679
13680         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
13681
13682 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13683
13684         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
13685
13686 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
13687
13688         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
13689
13690 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
13691
13692         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
13693
13694 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13695
13696         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
13697         n_sets): Removed.
13698         (expr_hash_table, set_hash_table): Type changed to ...
13699         (struct hash_table): New type.
13700         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
13701         insert_expr_in_table, insert_set_in_table, compute_hash_table,
13702         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
13703         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
13704         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
13705         (alloc_hash_table): New.
13706         (free_set_hash_table, free_expr_hash_table): Merged to ...
13707         (free_hash_table): New.
13708         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
13709         (compute_hash_table_work): New.
13710         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
13711         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
13712         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
13713         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
13714         hoist_code, one_code_hoisting_pass,
13715         trim_ld_motion_mems): Altered due to changed type of hash tables.
13716
13717 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
13718
13719         * final.c (output_alternate_entry_point):
13720         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
13721
13722 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13723
13724         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
13725         avoid ISO C style function definition.
13726
13727         * expr.c (expand_assignment): Delete unused variable.
13728
13729 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
13730
13731         * c-common.c (cb_register_builtins): Set
13732         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
13733         is given, and to 0 otherwise.
13734         * combine.c (simplify_if_then_else): HONOR_NANS
13735         implies FLOAT_MODE_P.
13736
13737 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13738
13739         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
13740         (cpp_handle_option): Don't handle it.
13741         (print_help): Update.
13742         * doc/cppopts.texi: Update.
13743
13744 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13745
13746         * c-common.c (cb_register_builtins): If C++, define
13747         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
13748         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
13749 cp:
13750         * lang-specs.h: Simplify in accordance with new code in
13751         c-common.c.
13752
13753 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
13754
13755         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
13756         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
13757         * c-decl.c: Move all warning and flag variables to c-common.c.
13758         * c-format.c: Move all warning variables to c-common.c.
13759         * c-tree.h: Move all warning and flag declarations to c-common.h.
13760         * objc/objc-act.c: Move all warning variables to c-common.c.
13761         (flag_warn_protocol): Rename warn_protocol.
13762
13763 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13764
13765         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
13766
13767 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
13768
13769         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
13770         .section prefix.
13771
13772 2002-07-31  Stan Shebs  <shebs@apple.com>
13773
13774         * config.gcc (i[34567]86-*-darwin*): New configuration.
13775         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
13776         defining.
13777         (TARGET_ENCODE_SECTION_INFO): Ditto.
13778         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
13779         * config/darwin.c (machopic_indirect_data_reference): Remove
13780         setting of RTX_UNCHANGING_P.
13781         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
13782         not to be applied to sums.
13783         * config/i386/t-darwin: New file.
13784         * config/i386/darwin.h: New file.
13785         * config/i386/i386.h (TARGET_MACHO): Add default definition.
13786         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
13787         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
13788         label and not the GOT add.
13789         (constant_address_p): For Mach-O, seeing a CONST is enough.
13790         (legitimate_pic_address_disp_p): Add a Mach-O case.
13791         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
13792         (legitimize_pic_address): Use generic Mach-O code to legitimize.
13793         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
13794         if outputting a difference.
13795         (ix86_output_addr_diff_elt): Add Mach-O case.
13796         (ix86_expand_move): Similarly.
13797         (ix86_expand_call): Similarly.
13798         (current_machopic_label_num): New global.
13799         (machopic_output_stub): New function.
13800         (ix86_value_regno): New function.
13801         (ix86_function_value): Use it instead of VALUE_REGNO.
13802         (ix86_libcall_value): Ditto.
13803         * config/i386/unix.h (VALUE_REGNO): Remove.
13804
13805 2002-07-31  Graham Stott  <grahas@btinternet.com>
13806
13807         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
13808         hash for LABEL_REF's.
13809
13810 2002-07-31  Graham Stott  <grahams@btinternet.com>
13811
13812         * config/rs6000/rs6000.c (spe_init_builtins,
13813         altivec_init_builtins, rs6000_common_init_builtins):
13814         Replace ANSI with K&R function def.
13815
13816 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
13817
13818         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
13819         for CCFPmode.
13820
13821 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13822
13823         * config/mips/crtn.asm: Don't use __mips16 to determine the
13824         return-address offset.  Define RA to a suitable temporary
13825         register for the return address.
13826
13827 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
13828
13829         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
13830         constraints to 'd'.
13831
13832 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
13833
13834         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
13835         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
13836         patch on 2002-07-29.)
13837         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
13838
13839 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13840
13841         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
13842         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
13843         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
13844         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
13845         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
13846         (ASM_GLOBALIZE_LABEL): Delete.
13847         (GLOBAL_ASM_OP): Define.
13848
13849         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
13850
13851         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
13852         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
13853
13854 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
13855
13856         * doc/extend.texi (Hints implementation): Document that GCC
13857         mostly ignores `register'.
13858
13859 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
13860
13861         * flags.h: Declare flag_finite_math_only.
13862         Use it in definition of HONOR_NANS and
13863         HONOR_INFINITIES.
13864         * c-common.c (cb_register_builtins): Emit
13865         __FINITE_MATH_ONLY__ when flag_finite_math_only
13866         is set.
13867         * combine.c (simplify_if_then_else): If
13868         flag_finite_math_only is set, a == b has a
13869         definite value.
13870         * toplev.c: Initialize flag_finite_math_only.
13871         (set_flags_fast_math): Set it on -ffast-math.
13872         (flag_fast_math_set_p): Test it.
13873         * doc/invoke.texi: Document -ffinite-math-only.
13874
13875 2002-07-30  Richard Henderson  <rth@redhat.com>
13876
13877         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
13878         (noce_process_if_block): Likewise.
13879
13880 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
13881
13882         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
13883         Bail out early if false_expr is NULL and we'd crash due to this.
13884         * genemit.c (gen_expand): Recognize return insns even if the return
13885         appears in a parallel.
13886         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
13887         * config/fp-bit.c: Likewise.
13888         * doc/tm.texi: Document it.
13889
13890 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
13891             Zack Weinberg  <zack@codesourcery.com>
13892
13893         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
13894         CODE_FOR_nothing.  Change switch to if.
13895         (rs6000_expand_binop_builtin): Same.
13896         (rs6000_expand_builtin): Expand builtin if target support enabled.
13897         (rs6000_init_builtins): Init builtin if target support enabled.
13898         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
13899
13900 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13901
13902         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
13903
13904 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
13905
13906         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
13907
13908 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
13909
13910         * sh.md (cond_delay_slot): New attribute.
13911         (cbranch delay): Use it for anulled-true case.
13912         (stuff_delay_slot): New pattern.
13913         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
13914         delay slot insn.
13915         (gen_far_branch): Emit stuff_delay_slot pattern.
13916
13917 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
13918
13919         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
13920
13921 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
13922
13923         * fold-const.c: Fix comment typos.
13924         * gcse.c: Likewise.
13925         * reload1.c: Likewise.
13926
13927 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
13928
13929         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
13930         for TARGET_SPE.
13931
13932 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13933
13934         * c-pretty-print.h (pp_c_statement): Declare.
13935         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
13936         (pp_c_statement): Define.
13937
13938 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13939
13940         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
13941         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
13942         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
13943         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
13944         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
13945         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
13946
13947         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
13948         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
13949
13950 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
13951
13952         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
13953         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
13954         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
13955         (pp_c_expression): Update.
13956
13957 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13958
13959         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
13960         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
13961         * alpha/vms-ld.c (main): Likewise.
13962         * dsp16xx.c (double_reg_to_memory): Likewise.
13963         * mcore.c (mcore_expand_prolog): Likewise.
13964         * cppfiles.c (read_name_map): Likewise.
13965         * gensupport.c (process_rtx, identify_predicable_attribute,
13966         alter_test_for_insn): Likewise.
13967         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
13968
13969 2002-07-29  Roger Sayle  <roger@eyesopen.com>
13970
13971         * builtins.c (expand_builtin):  Change the default behavior to
13972         only issue an error if the builtin function doesn't have a
13973         fallback library call.  Remove several cases handled by the
13974         new default.
13975
13976 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
13977
13978         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
13979         floating point format of the target is IEEE.
13980         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
13981         format of the target is DEC.
13982
13983 2002-07-29  Richard Henderson  <rth@redhat.com>
13984
13985         * unroll.c (verify_addresses): Remove.
13986         (find_splittable_givs): Never split DEST_ADDR givs.
13987
13988 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
13989
13990         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
13991         is exhaustive.
13992         (Files): Improve documentation on generated source files.
13993
13994         * doc/extend.texi (Translation implementation): Document what
13995         diagnostics look like.
13996         (Identifiers implementation): Document that there's normally no
13997         limit on identifier names.
13998         (Integers implementation): Document two's complement.
13999         (Hints implementation): Document that GCC honors 'inline', mostly.
14000         (Preprocessing directives implementation): Document that GCC
14001         requires the current time.
14002
14003 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
14004
14005         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
14006         (pp_initializer): New macro.
14007         (pp_c_initializer): Declare.
14008         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
14009         (pp_c_initializer): Define.
14010         (pp_c_initializer_list): New function.
14011         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
14012         VECTOR_CST, CONSTRUCTOR.
14013         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
14014         IMAGPART_EXPR.
14015         (pp_c_cast_expression): Handle FLOAT_EXPR.
14016         (pp_c_assignment_expression): Handle INIT_EXPR.
14017         (pp_c_expression): Update.
14018
14019 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
14020
14021         * objc/objc-act.c (objc_init): Return immediately if filename
14022         is NULL.
14023
14024 2002-07-29  Eric Christopher  <echristo@redhat.com>
14025
14026         * config/mips/elf.h: Remove ecoff.h and gofast includes.
14027         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
14028         (SDB_DEBUGGING_INFO): Undefine.
14029         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
14030         (PUT_SDB_SIZE): Remove.
14031         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
14032         (STARTFILE_SPEC): Add isa3264 define.
14033         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
14034         * config/mips/ecoff.h: Remove. and here...
14035         * config/mips/iris3.h: and here...
14036         * config/mips/sni-svr4.h: and here...
14037         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
14038         Add assembler -mmdebug options for non-dwarf debugging.
14039         * config/mips/r3900.h: Remove debug info defines.
14040         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
14041         * config/mips/isa3264.h: Ditto.
14042         * config/mips/t-isa3264: Fix up for file removal and gofast configure
14043         change.
14044         * config/mips/t-elf: Ditto.
14045         * config/mips/t-ecoff: Ditto.
14046         * config/mips/t-r3900: Ditto.
14047         * config/mips/t-iris5-6: Ditto.
14048         * config/mips/t-isa3264: Ditto.
14049         * config/mips/t-linux: Remove.
14050         * config/mips/t-netbsd: Remove.
14051         * config/mips/t-mips: New file.
14052         * config/mips/t-gofast: Ditto.
14053         * config/mips/netbsd.h: Remove unnecessary undefines.
14054         * config/mips/linux.h: Remove #include of mips.h.
14055         * config.gcc: Add mips.h include for elf targets. Remove tm_file
14056         for ecoff. Add gofast configure option for mips.
14057
14058 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
14059
14060         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
14061         linker scripts use STARTUP directives consistently.
14062         * configure: Regenerate.
14063         * config.in: Regenerate.
14064         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
14065         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
14066         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14067         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
14068         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
14069         will be the same.
14070
14071 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14072
14073         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
14074
14075 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14076
14077         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
14078
14079 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
14080
14081         * config/rs6000/rs6000.md: Move altivec patterns from here...
14082
14083         * config/rs6000/altivec.md: ...to here.
14084
14085 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14086
14087         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
14088
14089 2002-07-29  Richard Henderson  <rth@redhat.com>
14090
14091         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
14092         set_mem_attributes and add BITPOS argument.  Subtract it from
14093         OFFSET when same is adjusted.
14094         (set_mem_attributes): New wrapper function.
14095         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
14096         remove offset adjustment hack.
14097         * expr.h (set_mem_attributes_minus_bitpos): Declare.
14098
14099 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14100
14101         * Makefile.in (C_OBJS): Include c-pretty-print.o
14102         (c-pretty-print.o): Add depency rule.
14103         * pretty-print.h: Add more macros.
14104         * c-pretty-print.c: New file.
14105         * c-pretty-print.h: Likewise.
14106
14107 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
14108
14109         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
14110         constants to __ev64_s32__.
14111         (__internal_ev_mwhgsmian): Same.
14112         (__internal_ev_mwhgsmfan): Same.
14113         (__internal_ev_mwhgssfan): Same.
14114         (__internal_ev_mwhgumiaa): Same.
14115         (__internal_ev_mwhgsmiaa): Same.
14116         (__internal_ev_mwhgsmfaa): Same.
14117         (__internal_ev_mwhgssfaa): Same.
14118
14119 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
14120
14121         * varasm.c (assemble_variable): Narrow test for uninitialized
14122         without BSS target support.
14123
14124 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
14125
14126         * profile.c: Add file comment describing the overall algorithm and
14127         structures.
14128         (struct edge_info): Add comments.
14129         (struct bb_info): Add comments.
14130         * basic-block.h (EDGE_*): Add comments.
14131         * doc/gcov.texi (Gcov Data Files): Document bit flags.
14132
14133 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
14134
14135         * config/xtensa/elf.h, config/xtensa/linux.h
14136         (TARGET_OS_CPP_BUILTINS): Define.
14137         (CPP_PREDEFINES): Remove.
14138         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
14139         (CPP_SPEC): Remove.
14140
14141 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
14142
14143         * gensupport.c: Include hashtab.h.
14144         (insn_elision, condition_table, hash_c_test, cmp_c_test,
14145         maybe_eval_c_test): New routines and data structures to
14146         support insn elision.
14147         (init_md_reader): Read and initialize the condition_table.
14148         (read_md_rtx): Discard insn patterns whose C test is provably
14149         always false.
14150         * gensupport.h: Declare new functions and data structures.
14151
14152         * genconditions.c, dummy-conditions.c: New files.
14153         * Makefile.in: Build genconditions; run it to construct
14154         insn-conditions.c; build that and link it into most gen*
14155         programs.
14156         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
14157         (GEN): Delete, unused.
14158         (STAGESTUFF): Update.
14159
14160         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
14161         CODE_FOR_nothing for all elided patterns.
14162         (main): Tweaked to support this.
14163         * genflags.c (gen_proto): Emit a static inline generator
14164         function here for all elided patterns, which simply returns
14165         NULL_RTX.
14166         (gen_insn): Do not define HAVE_xxx for elided patterns.
14167         (main): Tweaked to support this.  No need to forward-declare
14168         struct rtx_def.
14169         * genrecog.c: Do not bother emitting the C test if it's known
14170         to be true at compile time.
14171
14172 2002-07-29  Mike Stump  <mrs@apple.com>
14173
14174         * config.gcc (target_gtfiles): Initialize, as otherwise cross
14175         compilers hosted on powerpc-apple-darwin6.0 won't even build.
14176
14177 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
14178
14179         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
14180         remove clobber of LR.
14181         (sibcall_insn, sibcall_value_insn): Update accordingly.
14182         (sibcall_epilogue): Remove debugging comment from assembler stream.
14183
14184 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
14185
14186         * pretty-print.h: Define more macros.
14187         * diagnostic.h (output_formatted_integer): Moved from...
14188         * diagnostic.c: ... here.
14189
14190 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14191
14192         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
14193
14194 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
14195
14196         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
14197         arguments.  Always use ".-symbol" as expression argument.
14198         * doc/tm.texi: Update to match.  Document requirement for
14199         ".size symbol, .-symbol" to be acceptable to assembler.
14200
14201         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14202         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
14203         config/i386/freebsd-aout.h, config/i386/sco5.h,
14204         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
14205         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
14206
14207 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14208
14209         * Makefile.in (gengtype-lex.c): Fix error in last change.
14210
14211         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
14212         backslash.
14213
14214         * Makefile.in (vmsdbgout.o): Depend on function.h.
14215
14216         * vmsdbgout.c: Include function.h.
14217
14218 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
14219
14220         * prefix.c (update_path): Don't strip single `.' path components
14221         unless stripping a later `..' component.  Exit loop as soon as
14222         a valid path is found.
14223
14224 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14225
14226         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
14227         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
14228         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
14229         floating point unordered comparisons (e.g. __builtin_isgreater)
14230         as const, and leave the remaining GCC_BUILTINs unchanged.
14231
14232         * c-decl.c (builtin_function): No need to explicitly mark
14233         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
14234
14235 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14236
14237         * Makefile.in: rtlanal.o now depends upon real.h.
14238
14239         * flags.h [flag_signaling_nans]: New flag.
14240         [HONOR_SNANS]: New macro.
14241
14242         * toplev.c [flag_signaling_nans]: Initialize to false.
14243         (f_options): Add processing for "-fsignaling-nans".
14244         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
14245         (process_options): flag_signaling_nans implies flag_trapping_math.
14246
14247         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
14248         when -fsignaling-nans.  First step to implementing WG14's N965.
14249
14250         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
14251         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
14252         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
14253
14254         * simplify-rtx.c (simplify_relational_operation): Conditionalize
14255         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
14256
14257         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
14258         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
14259         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
14260         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
14261         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
14262
14263         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
14264
14265 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14266
14267         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
14268         * gengtype-lex.l (YY_USE_PROTOS): Undef.
14269         (YY_DECL): Define.
14270
14271 2002-07-27  Roger Sayle  <roger@eyesopen.com>
14272
14273         * doc/invoke.texi: Document that both -fno-builtin-foo and
14274         -fno-builtin are supported by the g++ front-end.
14275
14276 2002-07-27  Stan Shebs  <shebs@apple.com>
14277
14278         * configure.in: Rename config_gtfiles to target_gtfiles.
14279         * configure: Regenerate.
14280         * doc/gty.texi: Update reference.
14281         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
14282         instead of appending to it.
14283
14284 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
14285
14286         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
14287         vectors are split into two registers.
14288         (function_arg): Same.
14289
14290 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
14291
14292         * pa.md (extv): Check predicates before emitting extv_32.
14293
14294 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
14295
14296         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
14297         (rs6000_traceback): New var.
14298         (rs6000_override_options): Set rs6000_traceback.
14299         (rs6000_output_function_epilogue): Implement traceback options.
14300         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
14301         (rs6000_traceback_name): Declare.
14302
14303         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
14304         label reference when NO_PROFILE_COUNTERS.
14305
14306 2002-07-26  Jason Merrill  <jason@redhat.com>
14307
14308         * function.c (assign_parms): Handle frontend-directed pass by
14309         invisible reference.
14310
14311 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14312
14313         * doc/cppopts.texi: Update.
14314
14315 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14316
14317         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
14318         warnings on assertions.
14319
14320 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
14321
14322         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
14323         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
14324         RID_COMPL): Remove.
14325         * c-parse.in (rid_to_yy): Similarly.
14326
14327 2002-07-26  Jason Merrill  <jason@redhat.com>
14328
14329         * c-dump.c: Resurrect.
14330         * tree-dump.c: Move C-specific stuff to c-dump.c.
14331         * c-common.h: Declare c_dump_tree.
14332         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
14333         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
14334         (c-dump.o): New rule.
14335
14336 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
14337
14338         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
14339         PowerPC64.  Replace "T" and "S" constraints with "n" when the
14340         predicate will do.  Formatting fixes.
14341         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
14342         as for extzvsi_internal1.
14343
14344 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14345
14346         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
14347         DERIV_END_LABEL_FMT): Remove.
14348         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
14349
14350 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14351
14352         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
14353         Remove.
14354
14355 2002-07-25  Stan Shebs  <shebs@apple.com>
14356
14357         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
14358         local var dwarfp.
14359         (output_compiler_stub): Remove unused locals.
14360         (output_call): Always initialize line number.
14361
14362 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14363
14364         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
14365         * sh.md (truncdiqi2, movqi_media): Likewise.
14366
14367 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14368
14369         * gcse.c (obstack_chunk_alloc): Remove.
14370         (gcse_alloc): Fix to count allocated bytes.
14371         * collect2.c (SYMBOL__MAIN): Remove.
14372
14373 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14374
14375         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
14376         HAVE_TARGET_EXECUTABLE_SUFFIX.
14377
14378 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
14379
14380         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
14381         SIZE, EXPR and OFFSET.
14382
14383 2002-07-25  Richard Henderson  <rth@redhat.com>
14384
14385         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
14386         in ARRAY_REF of DECL_P case.
14387
14388 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14389
14390         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
14391         description.  Document -mips32, -mips64, and the associated -march
14392         values.  Describe the "mipsN" arguments to -march.  Say that the
14393         -mipsN options are equivalent to -march.  Reword the description
14394         of default type sizes.
14395         * toplev.h (target_flags_explicit): Declare.
14396         * toplev.c (target_flags_explicit): New var.
14397         (set_target_switch): Update target_flags_explicit.
14398         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
14399         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
14400         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
14401         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
14402         * config/mips/mips.h (mips_cpu_info): New struct.
14403         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14404         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
14405         (MIPS_CPP_SET_PROCESSOR): New macro.
14406         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
14407         Define _MIPS_ARCH and _MIPS_TUNE.
14408         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
14409         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
14410         MIPS_ISA_DEFAULT were already defined.
14411         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
14412         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
14413         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
14414         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
14415         (ABI_GAS_ASM_SPEC): Remove.
14416         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
14417         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
14418         Invoke %(asm_abi_default_spec) if no ABI was specified.
14419         (CC1_SPEC): Remove ISA -> register-size rules.
14420         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
14421         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
14422         (mips_cpu_string, mips_explicit_type_size_string): Remove.
14423         (mips_cpu_info_table): New array.
14424         (mips_set_architecture, mips_set_tune): New fns.
14425         (override_options): Rework to make -mipsN equivalent to -march.
14426         Detect more erroneous cases, including those removed from CC1_SPEC.
14427         Don't change the ABI based on architecture, or vice versa.
14428         Unify logic with GAS.
14429         (mips_asm_file_start): Get architecture name from mips_arch_info.
14430         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
14431         (mips_parse_cpu): Take the name of the option as argument.  Handle
14432         'from-abi'.  Raise an error if the option is wrong.
14433         (mips_cpu_info_from_isa): New fn.
14434
14435 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
14436
14437         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
14438         (tablejump_mips162): Likewise.
14439
14440 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
14441
14442         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
14443         int_mode_for_mode.
14444
14445 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
14446
14447         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
14448         complaining.
14449         * c-common.h (c_sizeof): Adjust definition.
14450         (c_alignof): Likewise.
14451         * c-tree.h (c_sizeof_nowarn): Now macro.
14452         * c-typeck.c (c_sizeof_nowarn): Remove definition.
14453
14454 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
14455
14456         * c-decl.c (c_decode_option): No need to handle switches
14457         cpplib handles.
14458
14459 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
14460
14461         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
14462         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
14463         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
14464         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14465
14466         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
14467         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
14468         config/cris/aout.h, config/i386/freebsd-aout.h,
14469         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
14470         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
14471         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
14472         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
14473         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
14474         config/xtensa/elf.h, config/xtensa/linux.h:
14475         Use the new macros.
14476         Where possible, remove redundant definitions of SIZE_ASM_OP,
14477         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
14478
14479 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
14480
14481         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
14482         TARGET_ISEL, and TARGET_FPRS.
14483
14484         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
14485         -mabi=spe, -mabi=no-spe, and -misel=.
14486
14487         * config/rs6000/rs6000-protos.h: Add output_isel.
14488         Move vrsave_operation prototype here.
14489
14490         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
14491         (smaxsi3): Same.
14492         (uminsi3): Same.
14493         (umaxsi3): Same.
14494         (abssi2_nopower): Disallow when TARGET_ISEL.
14495         (*ne0): Same.
14496         (negsf2): Change to expand and rename old pattern to *negsf2.
14497         (abssf2): Change to expand and rename old pattern to *abssf2.
14498
14499         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
14500         fixunssfsi2.
14501
14502         Change patterns that check for TARGET_HARD_FLOAT or
14503         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
14504
14505         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
14506         rs6000_isel, rs6000_fprs, rs6000_isel_string.
14507         (rs6000_override_options): Add 8540 case to
14508         processor_target_table.
14509         Set rs6000_isel for the 8540.
14510         Call rs6000_parse_isel_option.
14511         (enable_mask_for_builtins): New.
14512         (rs6000_parse_isel_option): New.
14513         (rs6000_parse_abi_options): Add spe and no-spe.
14514         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
14515         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
14516         for TARGET_HARD_FLOAT.
14517         Add case for SPE_VECTOR_MODE.
14518         (rs6000_legitimize_reload_address): Handle SPE vector modes.
14519         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
14520         vector modes.
14521         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
14522         (rs6000_emit_move): Check for TARGET_FPRS.
14523         Add cases for SPE vector modes.
14524         (function_arg_boundary): Return 64 for SPE vector modes.
14525         (function_arg_advance): Check for TARGET_FPRS and
14526         Handle SPE vectors.
14527         (function_arg): Same.
14528         (setup_incoming_varargs): Check for TARGET_FPRS.
14529         (rs6000_va_arg): Same.
14530         (struct builtin_description): Un-constify mask field.  Move up in
14531         file.
14532         (bdesc_2arg): Un-constify and add SPE builtins.
14533         (bdesc_1arg): Same.
14534         (bdesc_spe_predicates): New.
14535         (bdesc_spe_evsel): New.
14536         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
14537         (rs6000_expand_binop_builtin): Same.
14538         (bdesc_2arg_spe): New.
14539         (spe_expand_builtin): New.
14540         (spe_expand_predicate_builtin): New.
14541         (spe_expand_evsel_builtin): New.
14542         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
14543         (rs6000_init_builtins): Initialize SPE builtins.  Call
14544         rs6000_common_init_builtins.
14545         (altivec_init_builtins): Move all non-altivec builtin code to...
14546         (rs6000_common_init_builtins): ...here.  New function.
14547         (branch_positive_comparison_operator): Allow NE code for SPE.
14548         (ccr_bit): Return correct ccr bit for SPE fp.
14549         (print_operand): Emit crnor in 'D' case for SPE.
14550         New case 't'.
14551         Add SPE code for 'y' case.
14552         (rs6000_generate_compare): Generate rtl for SPE fp.
14553         (output_cbranch): Handle SPE hard floats.
14554         (rs6000_emit_cmove): Handle isel.
14555         (rs6000_emit_int_cmove): New.
14556         (output_isel): New.
14557         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
14558         64-bits for SPE.
14559         (debug_stack_info): Add SPE info.
14560         (gen_frame_mem_offset): New.
14561         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
14562         Change mode of frame pointer, when saving it, to Pmode.
14563         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
14564         Misc cleanups and use gen_frame_mem_offset when appropriate.
14565
14566         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
14567         (TARGET_SPE_ABI): New.
14568         (TARGET_SPE): New.
14569         (TARGET_ISEL): New.
14570         (TARGET_FPRS): New.
14571         (FIXED_SCRATCH): New.
14572         (RTX_COSTS): Add PROCESSOR_PPC8540.
14573         (ASM_CPU_SPEC): Add case for 8540.
14574         (TARGET_OPTIONS): Add isel= case.
14575         (rs6000_spe_abi): New.
14576         (rs6000_isel): New.
14577         (rs6000_fprs): New.
14578         (rs6000_isel_string): New.
14579         (UNITS_PER_SPE_WORD): New.
14580         (LOCAL_ALIGNMENT): Adjust for SPE.
14581         (HARD_REGNO_MODE_OK): Same.
14582         (DATA_ALIGNMENT): Same.
14583         (MEMBER_TYPE_FORCES_BLK): New.
14584         (FIRST_PSEUDO_REGISTER): Set to 113.
14585         (FIXED_REGISTERS): Add SPE registers.
14586         (reg_class): Same.
14587         (REG_CLASS_NAMES): Same.
14588         (REG_CLASS_CONTENTS): Same.
14589         (REGNO_REG_CLASS): Same.
14590         (REGISTER_NAMES): Same.
14591         (DEBUG_REGISTER_NAMES): Same.
14592         (ADDITIONAL_REGISTER_NAMES): Same.
14593         (CALL_USED_REGISTERS): Same.
14594         (CALL_REALLY_USED_REGISTERS): Same.
14595         (SPE_ACC_REGNO): New.
14596         (SPEFSCR_REGNO): New.
14597         (SPE_SIMD_REGNO_P): New.
14598         (HARD_REGNO_NREGS): Adjust for SPE.
14599         (VECTOR_MODE_SUPPORTED_P): Same.
14600         (REGNO_REG_CLASS): Same.
14601         (FUNCTION_VALUE): Same.
14602         (LIBCALL_VALUE): Same.
14603         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
14604         (SPE_VECTOR_MODE): New.
14605         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
14606         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
14607         (rs6000_stack): Add spe_gp_size, spe_padding_size,
14608         spe_gp_save_offset.
14609         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
14610         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
14611         (SPE_CONST_OFFSET_OK): New.
14612         (rs6000_builtins): Add SPE builtins.
14613
14614         * testsuite/gcc.dg/ppc-spe.c: New.
14615
14616         * config/rs6000/eabispe.h: New.
14617
14618         * config/rs6000/spe.h: New.
14619
14620         * config/rs600/spe.md: New.
14621
14622         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
14623         __SIMD__ for TARGET_SPE.
14624
14625         * config.gcc: Add powerpc-*-eabispe* case.
14626         Add spe.h to user headers for powerpc.
14627
14628 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14629
14630         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
14631         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14632         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
14633
14634 2002-07-24  Richard Henderson  <rth@redhat.com>
14635
14636         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
14637         form when not optimizing.
14638
14639 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
14640
14641         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
14642         thread_pointer_rtx as unchanging.
14643
14644 2002-07-24  Michael Matz  <matz@suse.de>
14645
14646         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
14647         (free_reg): Use it.
14648
14649 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
14650
14651         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
14652         pattern.
14653         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
14654         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
14655
14656 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
14657
14658         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
14659         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
14660         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
14661
14662 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
14663
14664         * toplev.c (rest_of_compilation): Dump loops before clobbering
14665         the structure.
14666
14667 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14668
14669         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
14670
14671 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
14672
14673         PR optimization/7291
14674         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
14675         problem on x86_64.
14676
14677 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
14678
14679         * pretty-print.h: Add macros from cp/error.c
14680
14681 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14682
14683         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
14684         (mask64_2_operand): Declare.
14685         (build_mask64_2_operands): Declare.
14686         (and64_2_operand): Declare.
14687         (extract_MB): Declare.
14688         (extract_ME): Declare.
14689         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
14690         CONST_DOUBLE code.
14691         (mask_operand_wrap): New insn predicate.
14692         (mask64_2_operand): Likewise.
14693         (and64_2_operand): Likewise.
14694         (build_mask64_2_operands): New function.
14695         (extract_MB): New function.
14696         (extract_ME): New function.
14697         (print_operand <case m,M>): Use extract_MB and extract_ME.
14698         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
14699         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
14700         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
14701         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
14702         * config/rs6000/rs6000.md (andsi3_internal3): New
14703         (andsi3_internal3+1): Enable split for powerpc64.
14704         (andsi3_internal3+2): New split.
14705         (andsi3_internal4): Renamed old andsi3_internal3.
14706         (andsi3_internal5): New.
14707         (andsi3_internal5+1): Enable split for powerpc64.
14708         (andsi3_internal5+2): New split.
14709         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
14710         (anddi3): Handle 't' constraint.
14711         (anddi3+1): New split.
14712         (anddi3_internal2): Handle 't' constraint.
14713         (anddi3_internal2+1): New split.
14714         (anddi3_internal3): Handle 't' constraint.
14715         (anddi3_internal3+1): New split.
14716
14717 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
14718
14719         * config/rs6000/rs6000.md: Remove scratch reg on insns using
14720         addze and similar (plus (comparison r1 r2) r3) insns.  Add
14721         missing scratch reg in one case.  Formatting fixes.
14722
14723 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
14724
14725         * cppexp.c (parse_defined): Mark macro used.
14726         * cpphash.h (struct cpp_macro): New member "used".
14727         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
14728         (struct cpp_reader): New member.
14729         * cppinit.c (cpp_finish_options): Set first_unused_line.
14730         (cpp_finish): Warn of unused macros if requested.
14731         (OPT_TABLE): New switches.
14732         (cpp_handle_option): Handle them.
14733         * cpplib.c (do_undef): Warn if macro unused.
14734         (do_ifdef, do_ifndef): Mark macro used.
14735         * cpplib.h (struct cpp_options): New member.
14736         * cppmacro.c (_cpp_warn_if_unused_macro): New.
14737         (enter_macro_context): Mark macro used.
14738         (_cpp_create_definition): Mark macro unused; warn if unused
14739         when redefined.
14740         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
14741         Mark macros used.
14742         * doc/cppopts.texi: Update.
14743
14744 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14745
14746         * dwarf2out.c (SECTION_ASM_OP,
14747         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14748         * system.h (SECTION_ASM_OP): Poison.
14749         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
14750         * config/alpha/alpha-interix.h, config/mips/linux.h
14751         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14752         * config/mmix/mmix-protos.h, config/mmix/mmix.c
14753         (mmix_asm_output_define_label_difference_symbol): Remove.
14754         * config/mmix/mmix.h
14755         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
14756         * doc/tm.texi: Remove documentation.
14757
14758 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
14759
14760         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
14761         (constrain_operands): Likewise.
14762         * regclass.c (record_reg_classes): Likewise.
14763         * reload.c (find_reloads): Likewise.
14764         * doc/md.texi: Likewise.
14765
14766         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
14767         * simplify-rtx.c (simplify_subreg): When converting to a non-int
14768         mode, try to convert to an integer mode of matching size first.
14769
14770         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
14771         from individual subregs, check that each subreg has been generated
14772         sucessfully.
14773
14774 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14775
14776         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
14777         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
14778         FOR_EACH_BB_IN_SBITMAP): Remove.
14779         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
14780         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
14781         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
14782         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
14783         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
14784         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
14785
14786 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14787
14788         * pretty-print.h: New file.
14789
14790 2002-07-23      Paul Koning     <pkoning@equallogic.com>
14791
14792         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
14793         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
14794         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
14795         (TARGET_G_FLOAT): Default to 0 if not defined.
14796         (ieeetoe): New, common routine to convert target format floats
14797         to internal form.
14798         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
14799         vs. others.
14800         (e113toe): Change to use ieeetoe.
14801
14802 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
14803
14804         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
14805         IBM.
14806         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
14807         (e64toe): Remove special cases for DEC and IBM. Remove support for
14808         ARM_EXTENDED_IEEE_FORMAT.
14809         (e24toe): Remove special cases for DEC.
14810         (significand_size): Simplify. Indent.
14811         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
14812         (etoieee, toieee): New.
14813         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
14814         etoieee and toieee for IEEE arithmetic.
14815
14816 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14817
14818         * doc/extend.texi: Say ISO C90, not ISO C89.
14819         * doc/invoke.texi: Likewise.
14820         * doc/standards.texi: Likewise.
14821
14822 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
14823
14824         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
14825         Fix permutation of conversion and plus/mult.
14826         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
14827         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
14828         (expand_builtin_strncpy) Ditto.
14829         (expand_builtin_memset) Ditto.
14830
14831 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
14832
14833         Fix PR/7363:
14834         * c-common.c (c_sizeof_or_alignof_type): New function.
14835         (c_alignof): Remove definition.
14836         * c-common.h (c_sizeof, c_alignof): Define as macros.
14837         (c_sizeof_or_alignof_type): Declare.
14838         (my_friendly_assert): Moved from cp/cp-tree.h
14839         * c-typeck.c (c_sizeof): Remove definition.
14840
14841 2002-07-23  Jan Hubicka  <jh@suse.cz>
14842
14843         * gcse.c (try_replace_reg): Use num_changes_pending.
14844         * recog.c (num_changes_pending): New function.
14845         (validate_replace_src): Use validate_repalce_src_group.
14846         (validate_replace_src_group): New.
14847         * recog.h (validate_repalce_src_group): New.
14848         (num_changes_pending): Likewise.
14849
14850 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
14851
14852         * calls.c (emit_library_call_value_1): If
14853         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
14854         libcall, const call nor pure call.
14855
14856 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14857
14858         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
14859
14860 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14861
14862         * vmsdbgout.c (SECTION_ASM_OP): Remove.
14863
14864 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14865
14866         * config/i386/i386.c (AT_BP): Remove.
14867
14868 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
14869
14870         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
14871         Default definition.
14872         * gcse.c: Don't define obstack_chunk_free.
14873         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
14874         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
14875         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
14876         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
14877         Don't define obstack macros.
14878
14879 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14880
14881         PR target/6744
14882         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
14883         ASM_OPERANDS instructions.
14884
14885 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
14886
14887         PR target/7361
14888         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
14889         constant addresses only on 68HC12.
14890
14891 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14892
14893         * cppfiles.c (stack_include_file): Correct test of whether
14894         a dependency should be output.
14895
14896 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
14897
14898         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
14899
14900 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
14901
14902         * arm.md (movqi): If optimizing and we can create pseudos, use
14903         a ZERO_EXTEND to load from memory, then copy the result into the
14904         target.
14905         (movhi): Likewise, but only for ARMv4.
14906
14907 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
14908
14909         * ssa-ccp.c (PHI_PARMS): Remove.
14910
14911 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
14912
14913         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
14914         on big-endian targets.
14915
14916 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14917
14918         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
14919         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
14920         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
14921         New formatting macros.
14922
14923         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
14924
14925 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
14926
14927         * rtlanal.c (subreg_regno_offset): Return correct offset for
14928         big endian paradoxical subregs.
14929
14930         * optabs.c (expand_vector_unop): Don't expand using sub_optab
14931         if we got the wrong mode.
14932
14933         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
14934         * genrecog.c (write_switch, write_cond): Use it.
14935         * genemit.c (gen_exp): Likewise.
14936
14937 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14938
14939         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
14940
14941 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
14942
14943         * c-decl.c (build_compound_literal): Defer compound literal decls
14944         until until file end to emit them only if they are actually used.
14945
14946 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14947
14948         * ra-build.c (check_conflict_numbers): Hide unused function.
14949         (livethrough_conflicts_bb): Avoid automatic aggregate
14950         initialization.
14951         (parts_to_webs_1): Avoid `U' integer constant modifier.
14952         (conflicts_between_webs): Wrap a variable in the macro controlling
14953         its usage.
14954         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
14955         (dump_igraph, dump_graph_cost): Avoid string concatenation
14956         (dump_static_insn_cost): Avoid automatic aggregate
14957         initialization.
14958         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
14959         initialization.
14960         (dump_cost): Avoid string concatenation
14961
14962 2002-07-21  Richard Henderson  <rth@redhat.com>
14963
14964         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
14965         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
14966
14967 2002-07-21  Richard Henderson  <rth@redhat.com>
14968
14969         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
14970         that are not unrolled completely.
14971
14972 2002-07-21  Richard Henderson  <rth@redhat.com>
14973
14974         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
14975         * loop.c (strength_reduce): Update.
14976         * toplev.c (rest_of_compilation): Do unrolling in the first
14977         loop pass, not the second.
14978
14979 2002-07-21  Richard Henderson  <rth@redhat.com>
14980
14981         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
14982         when flag_argument_noalias == 2.
14983         * alias.c (nonoverlapping_memrefs_p): Handle that.
14984         * print-rtl.c (print_mem_expr): Likewise.
14985
14986 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
14987
14988         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
14989         instead of __negdi2 directly.
14990
14991 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
14992
14993         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
14994         * function.c (SYMBOL__MAIN): Remove definition.
14995         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
14996         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
14997         * profile.c (GCOV_INDEX_TO_BB): Remove.
14998         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
14999         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
15000
15001 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15002
15003         * c-lex.c (GET_ENVIRONMENT): Remove.
15004         * collect2.c (GET_ENV_PATH_LIST): Remove.
15005         (prefix_from_env): Use GET_ENVIRONMENT.
15006         * cppinit.c (GET_ENV_PATH_LIST): Remove.
15007         (init_standard_includes): Use GET_ENVIRONMENT.
15008         * defaults.h (GET_ENVIRONMENT): Define here if not already.
15009         * gcc.c (GET_ENV_PATH_LIST): Remove.
15010         (make_relative_prefix, process_command): Update.
15011         * protoize.c (GET_ENV_PATH_LIST): Remove.
15012         (do_processing): Update.
15013
15014 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
15015
15016         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
15017         (grokdeclarator): Likewise.
15018         * c-format.c (C_STD_NAME): Likewise.
15019         * c-lex.c (interpret_integer): Likewise.
15020         * c-typeck.c (build_array_ref): Likewise.
15021         * cpplex.c (_cpp_lex_direct): Likewise.
15022         * toplev.c (documented_lang_options): Likewise.
15023
15024 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15025
15026         * c-format.c (T99_I, T99_UI): Remove.
15027
15028 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
15029
15030         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
15031
15032 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
15033
15034         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
15035         do_local_cprop.
15036
15037 2002-07-21  Andreas Jaeger  <aj@suse.de>
15038
15039         * reload1.c (fixup_abnormal_edges): Remove unused variable.
15040
15041 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
15042
15043         Improvements for the ifcvt pass from Michael Meissner, with patches
15044         by Richard Sandiford <rsandifo@redhat.com>
15045         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
15046         * ifcvt.c (cond_exec_changed_p): New static variable.
15047         (last_active_insn): New function, renamed from last_active_insn_p
15048         and changed to return the last active insn in a basic block. All
15049         callers updated.
15050         (block_fallthru): New function.
15051         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
15052         IFCVT_MODIFY_INSN.  All callers updated.
15053         Return false if START or END are NULL.
15054         Handle case where we're processing an insn that is already
15055         conditional.
15056
15057         (noce_process_if_block): CE_INFO argument rather than
15058         multiple args containing the involved basic blocks.  All callers
15059         changed.
15060         (process_if_block, merge_if_block, find_if_block,
15061         cond_exec_process_if_block): Likewise.
15062
15063         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
15064         changed.
15065         Use new function last_active_insn to simplify some code.
15066         New code to handle multiple tests.
15067         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
15068         cond_exec_changed_p to TRUE.
15069
15070         (process_if_block): New code to handle multiple tests.
15071         (merge_if_block): Likewise.
15072         (find_if_header): New arg PASS.  Changed to return the currently
15073         processed basic block or NULL instead of true/false. All callers
15074         changed.
15075         Call IFCVT_INIT_EXTRA_FIELDS.
15076         (block_jumps_and_fallthru_p): New function.
15077         (find_if_block): Discover opportunities to convert multiple tests.
15078         Add additional debugging output.
15079         Update the ce_info structure before returning.
15080
15081         (if_convert): Run multiple passes of if-conversion.
15082         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
15083         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
15084         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
15085         these macros.
15086
15087 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
15088
15089         * gcse.c: Include cselib.h
15090         (constptop_register): Break out from ...
15091         (cprop_insn): ... here; kill basic_block argument.
15092         (do_local_cprop, local_cprop_pass): New functions.
15093         (one_cprop_pass): Call local_cprop_pass.
15094
15095 2002-07-20  Roger Sayle  <roger@eyesopen.com>
15096
15097         * simplify-rtx.c (simplify_relational_operation): Optimize
15098         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
15099
15100 2002-07-20  Michae Matz  <matz@suse.de>
15101
15102         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
15103
15104 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
15105
15106         * cppexp.c (struct op): Add token pointer.
15107         (check_promotion, CHECK_PROMOTION): New.
15108         (optab): Update.
15109         (_cpp_parse_expr): Update, use token pointer of struct op.
15110         (reduce): Warn about change of sign owing to promotion.
15111         * cppinit.c (cpp_handle_option): New warning if -Wall.
15112         * cpplib.h (struct cpp_options): New member.
15113
15114 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
15115
15116         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
15117         fpu list.  Separate Power4 compare and delayed_compare.  Correct
15118         Power4 fpcompare.
15119         (fix_truncdfsi2_internal): Restore FPR preference.
15120         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
15121         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
15122
15123 2002-07-19  Momchil Velikov <velco@fadata.bg>
15124
15125         * reload1.c (reload_as_needed): Duplicate oldpat.
15126
15127 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
15128
15129         PR optimization/7130
15130         * loop.h (struct loop_info): Add "preconditioned".
15131         * unroll.c (unroll_loop): Set it.
15132         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
15133
15134 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
15135
15136         * rtl.def (CODE_LABEL): Remove slot 8.
15137         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
15138         (LABEL_ALTERNATE_NAME): Delete.
15139         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
15140         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15141
15142         * final.c (output_alternate_entry_point): New.
15143         (final_scan_insn): Use it instead of
15144         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
15145         of a case label being an alternate entry point.
15146
15147         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
15148         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
15149         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
15150         (field deleted).
15151         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
15152
15153         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
15154         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
15155         * doc/tm.texi: Delete documentation of
15156         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
15157
15158 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15159
15160         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
15161         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
15162         (LINK_SPEC): Define.
15163         (STARTFILE_SPEC): Define.
15164         (ENDFILE_SPEC): Define.
15165
15166         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
15167         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
15168
15169         * config/mips/iris6-o32-gas.h: New file.
15170         * config.gcc (mips-sgi-irix6*o32): Use it.
15171
15172         * config/mips/t-iris5-gas: New file.
15173         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15174
15175 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
15176
15177         * cppexp.c (ALWAYS_EVAL): Remove.
15178         (optab, reduce): Always evaluate.
15179         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
15180         only if not skipping evaluation.
15181
15182 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15183
15184         * config/avr/avr.c (debug_hard_reg_set): Remove.
15185
15186 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
15187
15188         * gcc.c (cpp_options): Include "%1" (cc1_spec).
15189
15190 2002-07-19  Richard Henderson  <rth@redhat.com>
15191
15192         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
15193
15194 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
15195
15196         * prefix.c (update_path): Don't zap single `.' path components
15197         unless followed by another `.' and fix typo last patch.
15198
15199 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
15200
15201         * cppexp.c (cpp_num_mul): Remove unused parameter.
15202         (UNARY, BINARY, OTHER, binary_handler): Remove.
15203         (ALWAYS_EVAL): New.
15204         (optab): Update.
15205         (reduce): Refactor to a large switch, don't use a function
15206         pointer.
15207
15208 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
15209
15210         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
15211
15212 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
15213
15214         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
15215         (sh_expand_binop_v2sf): Likewise.
15216         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
15217         (int_gpr_dest, trunc_hi_operand): New functions.
15218         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
15219         trunc_hi_operand.
15220         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
15221         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
15222         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
15223         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
15224         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
15225         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
15226         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
15227         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
15228         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
15229         (movsf_ie+1): Likewise.
15230         (loaddi_trunc): Use int_gpr_dest predicate.
15231         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
15232         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
15233         (casesi_worker_0+[12], casesi_worker): Likewise.
15234         (shcompact_preserve_incoming_args): Likewise.
15235         (mov_nop): Use any_register_operand predicate.
15236         (mperm_w0): Use trunc_hi_operand predicate.
15237
15238 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15239
15240         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
15241         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
15242         numbering.
15243
15244 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15245
15246         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
15247
15248 2002-07-18  Richard Henderson  <rth@redhat.com>
15249
15250         PR optimization/7147
15251         * ifcvt.c (noce_get_condition): Make certain that the condition
15252         is valid at JUMP.
15253
15254 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
15255
15256         * sh.c (barrier_align, push): Shut up compiler warnings.
15257         (initial_elimination_offset,sh_media_init_builtins): Likewise.
15258         (reg_no_subreg_operand): Delete.
15259
15260 2002-07-17  Bo Thorsen  <bo@suse.de>
15261
15262         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
15263         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
15264         (STARTFILE_SPEC): Remove hardcoded library paths.
15265         (ENDFILE_SPEC): Likewise.
15266
15267 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
15268
15269         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
15270
15271         * gcse.c (try_replace_reg): Do not return false positives.
15272
15273 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15274
15275         * prefix.c: (update_path): Strip ".." components when prior dir
15276         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
15277
15278         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
15279         (ASM_OUTPUT_REG_POP): Likewise.
15280
15281 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
15282
15283         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
15284         adjustments to first_reg for profiling case.
15285         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
15286         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
15287         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
15288         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
15289         (ASM_OUTPUT_REG_POP): Define.
15290         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
15291         (ASM_OUTPUT_REG_POP): Undef.
15292
15293 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15294
15295         * cpplib.c (do_sccs): Handle #sccs on all systems.
15296         * system.h (SCCS_DIRECTIVE): Poison.
15297         * config/darwin.h, config/freebsd.h, config/netbsd.h,
15298         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
15299         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
15300         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
15301         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
15302         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
15303         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
15304         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
15305         Remove all references to SCCS_DIRECTIVE.
15306         * doc/cpp.texi, doc/tm.texi: Update.
15307
15308 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
15309
15310         * regrename.c (maybe_mode_change): New function.
15311         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
15312
15313 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
15314
15315         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
15316         suppress addition when either ct or cf are zero.
15317
15318 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
15319             Glen Nakamura <glen@imodulo.com>
15320
15321         PR optimization/6713
15322         * loop.c (loop_givs_rescan): Explicitly delete the insn that
15323         sets a non-replaceable giv after issuing the new one.
15324
15325 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
15326
15327         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
15328         eval_token): Clarify and correct use of "bool" variables.
15329         * cpplib.h (struct cpp_options): Similarly.
15330         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
15331         * cpptrad.c (recursive_macro): Similarly.
15332
15333 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
15334
15335         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
15336         SHmedia code.
15337
15338         * sh.md (cmpgtudi_media): Remove spurious @.
15339
15340         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
15341         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
15342
15343         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
15344         * sh-protos.h (sh_initialize_trampoline): Declare.
15345         * sh.c (sh_initialize_trampoline): New function.
15346         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
15347         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
15348         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
15349         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
15350         * sh.md (initialize_trampoline, double_shori): New patterns.
15351         (initialize_trampoline_compact): Likewise.
15352         (shmedia32_initialize_trampoline_big): Remove.
15353         (shmedia32_initialize_trampoline_little): Likewise.
15354
15355         * sh-protos.h (binary_float_operator): Remove declaration.
15356         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
15357         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
15358         (unary_float_operator, sh_expand_unop_v2sf): New functions.
15359         (sh_expand_binop_v2sf): Likewise.
15360         (zero_vec_operand): Delete.
15361         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
15362         all non-shared ones.
15363         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
15364         Enable nsb and byterev.
15365         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
15366         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
15367         in general regs.
15368         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
15369         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
15370         immediate operands.
15371         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
15372         Add DF_HI_REGS.
15373         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
15374         lowpart fp regs - only for big endian for now.
15375         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
15376         when FPU is in use.
15377         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
15378         (LOAD_EXTEND_OP): NIL for SImode.
15379         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
15380         general and fp registers is 4.
15381         PREDICATE_CODES: Amend binary_float_operator entry.
15382         Remove zero_vec_operand.  Add unary_float_operator.
15383         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
15384         subreg SET_DEST.
15385         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
15386         (truncdiqi2): Do sign extension.
15387         (movsi_media, movdi_media): Allow to use r63 to an fp register.
15388         (movdf_media, movsf_media): Likewise.
15389         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
15390         Collapse to one define_insn_and_split.  Allow immediate sources.
15391         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
15392         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
15393         (movv4sf): Allow immediate sources.
15394         (movsf_media_nofpu+1): Don't split moves to FP registers.
15395         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
15396         (movv8qi_i+3): Check against CONST0_RTX.
15397         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
15398         for input and output operands.  Fix argument 3 to gen_mextr_rl.
15399         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
15400         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
15401         (mshf0_w, fipr, ftrv): Likewise.
15402         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
15403
15404 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
15405
15406         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
15407         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
15408         * arm.c: Similarly.
15409
15410 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
15411
15412         * config/mips/mips-protos.h (mips_sign_extend): Declare.
15413         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
15414         (TARGET_SWITCHES): Remove debugh.
15415         (ISA_HAS_TRUNC_W): New macro.
15416         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
15417         (PREDICATE_CODES): Remove se_nonimmediate_operand.
15418         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
15419         any SImode move_operand.
15420         (se_nonimmediate_operand): Remove.
15421         (mips_sign_extend): New.
15422         (mips_move_2words): Use it for sign-extended source operands.
15423         (override_options): Allow integers to be put into single FPRs.
15424         (mips_secondary_reload_class): Handle integers in float registers.
15425         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
15426         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
15427         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
15428         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
15429         (fix_truncdfdi2): Provide only a single alternative, in which the
15430         integer is in a float register.  Depend on TARGET_FLOAT64 rather
15431         than TARGET_64BIT.
15432         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
15433         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
15434         (movdi_internal2): Don't allow the source operand to be sign-extended.
15435         Add alternatives for float registers.
15436         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
15437         allows sign-extension.
15438         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
15439         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
15440         float registers.  Remove TARGET_DEBUG_H_MODE test.
15441         (movhi_internal1): Rename to movhi_internal.  Don't check
15442         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
15443         (movqi_internal1): Rename to movqi_internal and remove
15444         TARGET_DEBUG_H_MODE dependency.
15445         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
15446
15447 2002-07-16  Jim Wilson  <wilson@redhat.com>
15448
15449         * toplev.c (lang_dependent_init): Create function context for
15450         init_expr_once.
15451
15452 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
15453
15454         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
15455         --gc-sections if -r.
15456         * config/cris/cris.h: Ditto.
15457
15458 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
15459
15460         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
15461         the comparison directly gives a mask suppress addition when cf is
15462         zero by complementing the mask.
15463
15464 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
15465
15466         * Makefile.in: Delete references to enquire.
15467         * enquire.c: Move to contrib.
15468
15469 2002-07-16  Stan Shebs  <shebs@apple.com>
15470
15471         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
15472         config/rs6000/darwin.h.
15473         (ASM_OUTPUT_SKIP): Ditto.
15474         (TEXT_SECTION_ASM_OP): Ditto.
15475         (DATA_SECTION_ASM_OP): Ditto.
15476         (ASM_APP_ON): Define.
15477         (ASM_APP_OFF): Define.
15478         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
15479         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
15480
15481         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
15482         (machopic_function_base_name): Declare result to be const.
15483         (machopic_non_lazy_ptr_name): Ditto.
15484         (machopic_stub_name): Ditto.
15485         * config/darwin-protos.h: Ditto for the prototypes.
15486
15487 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
15488
15489         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
15490
15491 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
15492
15493         * i386.md (prefetch): Fix for 64bit mode.
15494         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15495
15496 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15497
15498         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
15499         * i386.c (x86_machine_dependent_reorg): New function.
15500         * i386-protos.h (x86_machine_dependent_reorg): Declare.
15501
15502 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
15503
15504         * builtins.c (std_expand_builtin_va_start): Remove unused
15505         first argument.
15506         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
15507         std_expand_builtin_va_start with just two arguments.
15508         * expr.h: Update prototypes.
15509
15510         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
15511         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
15512         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
15513         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
15514         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
15515         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
15516         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
15517         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
15518         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
15519         argument from all implementations of EXPAND_BUILTIN_VA_START
15520         and all uses of std_expand_builtin_va_start.
15521
15522 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
15523
15524         * regrename.c (copy_value): Don't record high part copies.
15525
15526 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15527
15528         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
15529         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
15530         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
15531
15532 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15533
15534         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
15535
15536         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
15537         into addsi3 using register class "x" and "y".
15538
15539         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
15540         "earlyclobber" constraint modifier for some alternative.
15541
15542         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
15543         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
15544         unordered.
15545         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
15546
15547         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
15548         (TARGET_SWITCHES): Add -mieee-compare option.
15549         (OVERRIDE_OPTIONS): 32332 is a subset of
15550         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
15551         (TARGET_SWITCHES): Fix description of bitfield option.
15552         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
15553         -mieee-compare option. Remove 32332 flag.
15554
15555 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
15556
15557         * explow.c (convert_memory_address): Remove special handling
15558         when POINTERS_EXTEND_UNSIGNED < 0.
15559         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
15560         (movedi_symbolic): Fix typo.
15561         (load_fptr): Remove mode restriction so it works for SI and DI.
15562         (load_fptr_internal1): Ditto.
15563         (load_gprel): Ditto.
15564         (load_symptr_internal1): Ditto.
15565         (call_pic): Ditto.
15566         * config/ia64.c (call_operand): Modify mode check.
15567         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
15568         (ia64_expand_move): Ditto.
15569         (ia64_assemble_integer): Handle SImode function pointers.
15570         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
15571         (ia64_expand_op_and_fetch): Ditto.
15572         (ia64_expand_compare_and_swap): Ditto.
15573         (ia64_expand_lock_test_and_set): Ditto.
15574         (ia64_expand_lock_release): Ditto.
15575
15576 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15577
15578         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
15579
15580 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15581             Richard Earnshaw  <rearnsha@arm.com>
15582
15583         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
15584         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
15585
15586 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
15587
15588         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
15589         understands to be a memory clobber.
15590         * arm.c (arm_expand_prologue): Use it.
15591
15592 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
15593
15594         * ra-rewrite.c: #include reload.h, insn-config.h
15595         * ra-build.c: #include reload.h
15596         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
15597         depend on reload.h, insn-config.h.
15598
15599 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
15600
15601         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
15602         the same size as a word.
15603
15604         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
15605         BYTES_BIG_ENDIAN into account.
15606
15607 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
15608
15609         * i386.md (prefetch): Fix for 64bit mode.
15610         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
15611
15612         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
15613
15614 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15615
15616         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
15617
15618 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
15619
15620         * ginclude/varargs.h: Replace with stub which issues #error.
15621         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
15622         __builtin_va_start.
15623
15624         * builtins.def (BUILT_IN_VARARGS_START): Delete.
15625         (BUILT_IN_VA_START): New.
15626         * builtins.c (expand_builtin_va_start): Eliminate first
15627         argument and code to implement pre-ISO varargs.
15628         (std_expand_builtin_va_start): Ignore first argument; it is
15629         always 1.
15630         (expand_builtin): Handle BUILT_IN_VA_START and
15631         BUILT_IN_STDARG_START identically.  Delete
15632         BUILT_IN_VARARGS_START case.
15633
15634         * function.c (assign_parms): Delete hide_last_arg and all
15635         its uses.
15636         (mark_varargs): Delete function.
15637         * function.h (struct function): Delete 'varargs' bit.
15638         (current_function_varargs): Delete macro.
15639         * tree.h: Don't declare mark_varargs.
15640
15641         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
15642         (c_expand_body): Don't call mark_varargs.
15643         * c-objc-common.c: Handle BUILT_IN_VA_START and
15644         BUILT_IN_STDARG_START identically.  Delete
15645         BUILT_IN_VARARGS_START case.
15646         * c-tree.h: Don't declare c_mark_varargs.
15647         * c-parse.in: Remove grammar rules for '&...' (which has been
15648         commented out since before 2.7.2) and for '...' in K+R
15649         argument declarations.
15650
15651         * builtins.c, function.c, integrate.c, sibcall.c,
15652         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
15653         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
15654         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
15655         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
15656         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
15657         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
15658         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
15659         config/stormy16/stormy16.c: Delete all references to
15660         current_function_varargs, and code predicated on that flag.
15661
15662         * config/alpha/alpha.c (alpha_va_start),
15663         config/arc/arc.c (arc_va_start),
15664         config/i386/i386.c (ix86_va_start),
15665         config/mips/mips.c (mips_va_start),
15666         config/mn10300/mn10300.c (mn10300_va_start),
15667         config/rs6000/rs6000.c (rs6000_va_start),
15668         config/s390/s390.c (s390_va_start),
15669         config/sh/sh.c (sh_va_start),
15670         Ignore first argument; it is always 1.
15671
15672         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
15673         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
15674         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
15675         Delete m68hc11_va_start.
15676         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
15677         No need to define EXPAND_BUILTIN_VA_START.
15678
15679         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
15680         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
15681
15682 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
15683
15684         PR optimization/7153
15685         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
15686         dies in more than one insn.
15687
15688 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
15689
15690         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
15691
15692 2002-07-15  Michael Matz  <matz@suse.de>,
15693             Daniel Berlin  <dberlin@dberlin.org>,
15694             Denis Chertykov  <denisc@overta.ru>
15695
15696         Add a new register allocator.
15697
15698         * ra.c: New file.
15699         * ra.h: New file.
15700         * ra-build.c: New file.
15701         * ra-colorize.c: New file.
15702         * ra-debug.c: New file.
15703         * ra-rewrite.c: New file.
15704
15705         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
15706         (ra-rewrite.o): New .o files for libbackend.a.
15707         (GTFILES): Add basic-block.h.
15708
15709         * toplev.c (flag_new_regalloc): New.
15710         (f_options): New option "new-ra".
15711         (rest_of_compilation): Call initialize_uninitialized_subregs()
15712         only for the old allocator.  If flag_new_regalloc is set, call
15713         new allocator, instead of local_alloc(), global_alloc() and
15714         friends.
15715
15716         * doc/invoke.texi: Document -fnew-ra.
15717         * basic-block.h (FOR_ALL_BB): New.
15718         * config/rs6000/rs6000.c (print_operand): Write small constants
15719         as @l+80.
15720
15721         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
15722         (df_reg_table_realloc): Make size at least as large as max_reg_num().
15723         (df_insn_table_realloc): Size argument now is absolute, not relative.
15724         Changed all callers.
15725
15726         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
15727         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
15728
15729         2002-06-20  Michael Matz  <matz@suse.de>
15730
15731         * df.h (struct ref.id): Make unsigned.
15732         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
15733
15734         2002-06-13  Michael Matz  <matz@suse.de>
15735
15736         * df.h (DF_REF_MODE_CHANGE): New flag.
15737         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
15738         involving subregs with invalid mode changes, when
15739         CLASS_CANNOT_CHANGE_MODE is defined.
15740
15741         2002-05-07  Michael Matz  <matz@suse.de>
15742
15743         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
15744
15745         2002-05-03  Michael Matz  <matz@suse.de>
15746
15747         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
15748
15749         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
15750
15751         * regclass.c (regclass): Work with all regs which have sets or
15752         refs.
15753         (reg_scan_mark_refs): Count regs inside (clobber ...).
15754
15755         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
15756
15757         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
15758         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
15759         add new refs.
15760         (df_bb_refs_update): Don't clear insns_modified here, ...
15761         (df_analyse): ... but here.
15762
15763         * sbitmap.c (dump_sbitmap_file): New.
15764         (debug_sbitmap): Use it.
15765
15766         * sbitmap.h (dump_sbitmap_file): Add prototype.
15767
15768         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
15769
15770         * df.c (df_insn_modify): Grow the UID table if necessary, rather
15771         than assume all emits go through df_insns_modify.
15772
15773         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15774
15775         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
15776         increase REG_N_REFS (like flow does), so that regclass doesn't
15777         think a reg is useless, and thus, not calculate a class, when it
15778         really should have.
15779
15780         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
15781
15782         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
15783         dataflow analysis.
15784
15785 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
15786
15787         PR middle-end/7245
15788         * config/i386/i386.c (const_int_1_31_operand): New.
15789         * config/i386/i386.h (PREDICATE_CODES): Add it.
15790         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
15791         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
15792         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
15793
15794 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
15795
15796         PR target/7282
15797         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
15798         (floatunssidf2): Likewise.
15799         (floatsidf_ppc64): New insn_and_split.
15800         (floatunssidf_ppc64): Likewise.
15801
15802 2002-07-14  Andreas Jaeger  <aj@suse.de>
15803
15804         * config.gcc (sh64): Remove unused
15805         target_requires_64bit_host_wide_int.
15806
15807 2002-07-12  Roger Sayle  <roger@eyesopen.com>
15808
15809         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
15810         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
15811         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
15812         whether clear_by_pieces should be used to clear storage.
15813         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
15814
15815         * doc/tm.texi: Document these two new target macros.
15816
15817 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
15818
15819         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
15820         the scratch register.
15821         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
15822         of it, forbid reload to use it.
15823
15824 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15825
15826         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
15827         usage on 64-bit hosts, return value was truncated to 32 bits.
15828
15829 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
15830
15831         * simplify-rtx.c (simplify_subreg): Handle floating point
15832         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
15833         the element mode is requested, compute a subreg with an
15834         integer mode of the same size as the element mode first.
15835
15836 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15837
15838         * combine.c (try_combine): When converting a paradoxical subreg
15839         to an extension, take LOAD_EXTEND_OP into account.
15840
15841 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15842
15843         * config.gcc (mips-sgi-irix6*o32): New configuration.
15844
15845         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
15846         configurations.
15847         * configure: Regenerate.
15848
15849         * config/mips/iris6-o32-as.h: New file.
15850         * config/mips/iris6-o32.h: New file.
15851
15852         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
15853         (NM_FLAGS): Define.
15854         (HAVE_AS_SHF_MERGE): Undefine.
15855
15856         * config/mips/t-iris5-as: New file.
15857         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
15858
15859         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
15860         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
15861         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
15862         dp-bit.c, fp-bit.c): Move ...
15863         * config/mips/t-iris5-6: ... here.
15864         New file, shared by IRIX 5 and IRIX 6.
15865         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
15866         mips-sgi-irix5*): Use it.
15867
15868         * config/mips/iris6.h: Remove duplicate comment.
15869
15870         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
15871         !TARGET_IRIX6]: Define.
15872         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
15873
15874         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
15875
15876 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15877
15878         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
15879         and delete code to force constant to register.
15880         * pa-protos.h (adddi3_operand): Add prototype.
15881         * pa.c (adddi3_operand): New function.
15882
15883 2002-07-11  Roger Sayle  <roger@eyesopen.com>
15884
15885         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
15886         non-ANSI builtin functions.
15887
15888 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
15889
15890         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
15891         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
15892         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
15893         (gen_const_vector_0): Use it.
15894
15895 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15896
15897         * pa.md (adddi3): For 32-bit targets, force constants to a register
15898         if they don't fit in an 11-bit immediate.  Change insn predicate to
15899         arith11_operand.  Remove comment.
15900         * pa.c (cint_ok_for_move): Fix comment.
15901         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
15902         targets.
15903
15904 2002-07-11  Tim Josling  <tej@melbpc.org.au>
15905
15906         Remove front end hard coding from gengtype.c.
15907
15908         * Makefile.in
15909         (STAGESTUFF): add gtyp-gen.h
15910         (GTFILES): Remove front end specific files.
15911         (GTFILES_FILES_LANGS): New, from configure..
15912         (GTFILES_FILES_FILES): Likewise.
15913         (GTFILES_LANG_DIR_NAMES): Likewise.
15914         (GTFILES_SRCDIR): Likewise.
15915         (gtyp-gen.h): Build from configure information.
15916         (s-gtype): Remove command line parameters from gengtype.
15917         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
15918         (mostlyclean): Delete files generated by and for gengtype.
15919
15920         * c-config-lang.in: New file.
15921
15922         * configure.in (all_gtfiles_files_langs): New. Accumulate files
15923         for each language.
15924         (all_gtfiles_files_files): New. Accumulate language for each file
15925         accumulated.
15926         (gtfiles): Pick up value for C.
15927         (srcdir): AC-SUBST this variable.
15928         (all_gtfiles_files_langs): AC-SUBST this variable.
15929         (all_gtfiles_files_files): AC-SUBST this variable.
15930
15931         * configure: Regenerate.
15932
15933         * gengtype-lex.l (parse_file): Make parameter const.
15934
15935         * gengtype.c (toplevel): include gtyp-gen.h.
15936         (BASE_FILE_<language> unnamed enum): Delete.
15937         (lang_names): Delete (replaced by gtyp-gen.h)
15938         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
15939         all references.
15940         (NUM_GT_FILES): New.
15941         (NUM_LANG_FILES): New.
15942         (srcdir_len): New.
15943         (NUM_BASE_FILES): Change calculation.
15944         (open_base_files): Change prototype to avoid warning.
15945         (startswith): Delete.
15946         (get_file_basename): Iterate through generated language list not
15947         hard coded list.
15948         (get_base_file_bitmap): Use generated list of files and languages.
15949         (close_output_files): Add prototype to rmove warning.
15950         (main): Iterate through list of generated files from gtyp-gen.h
15951         rather than command line paramaters.  Ignore duplicated file
15952         names.
15953
15954         * gengtype.h (parse_file): Amend prototype for const parameter.
15955
15956         * doc/sourcebuild.texi: Document gtfiles variable.
15957
15958         * doc/gty.texi: Document changes to gtfiles variable for front
15959         ends.
15960
15961         * objc/config-lang.in (gtfiles): Add files needed for objc front
15962         end.
15963
15964 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15965
15966         PR c/2454
15967         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
15968         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
15969
15970 2002-07-10  Roger Sayle  <roger@eyesopen.com>
15971             Zack Weinberg <zack@codesourcery.com>
15972
15973         * builtins.def: Make the argument types of abort and exit
15974         independent of the front-end.
15975
15976 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
15977
15978         * config/rs6000/linux64.h (ASM_SPEC): Define.
15979
15980 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
15981
15982         * config/rs6000/rs6000.c (emit_frame_save): New.
15983         (rs6000_frame_related): Replace reg2 before reg.
15984         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
15985         and eh_return registers.
15986
15987 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
15988
15989         Revert all patches for optimization of Complex .op. Real.
15990         * complex_part_zero_p: Remove
15991         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
15992         with x.
15993         * expand_cmplxdiv_wide: Ditto.
15994         * expand_binop: Ditto.
15995
15996 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
15997
15998         * config/avr/avr.md: Fix two 0x80000000 constants to make them
15999         negative also on 64-bit hosts.
16000
16001         Default to -fno-reorder-blocks when optimizing for size.
16002         * config/avr/avr-protos.h (avr_optimization_options): Declare.
16003         * config/avr/avr.c (avr_optimization_options): New function.
16004         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
16005
16006         Optimize returning from simple functions.
16007         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
16008         * config/avr/avr.c (avr_simple_epilogue): New function.
16009         * config/avr/avr.md (return): New insn.
16010
16011 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
16012
16013         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
16014         HAS_INIT_SECTION to protection.
16015
16016 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
16017
16018         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
16019         deprecated.
16020
16021 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
16022
16023         * combine.c (gen_lowpart_for_combine): Handle vector modes.
16024         Supply non-VOID mode to simplify_gen_subreg.
16025
16026 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
16027
16028         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
16029
16030 2002-07-10  Jeffrey A Law  <law@redhat.com>
16031
16032         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
16033         as appropriate.
16034
16035         * mn10200.c (expand_epilogue): Fix test to determine which scratch
16036         register to use.
16037
16038 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
16039
16040         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
16041         Get mode from dest.
16042         If simplify_gen_subreg fails, try next equivalent.
16043
16044 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
16045
16046         * diagnostic.h: #include location.h
16047         (location_t): Move definition to..
16048         * location.h: ... here.  New file.
16049         * tree.h: #include location.h
16050         (DECL_SOURCE_LOCATION): New macro.
16051         (DECL_SOURCE_FILE): Use.
16052         (DECL_SOURCE_LINE): Likewise.
16053         (struct tree_decl): REplace filename and linenum with locus.
16054         * Makefile.in (TREE_H): add location.h
16055         (diagnostic.o): Depends on gt-location.h
16056         (gt-location.h): Depends on s-gtype
16057
16058 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
16059
16060         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
16061         TARGET_OS_CPP_BUILTINS.
16062         * config/rs6000/aix31.h: Likewise.
16063         * config/rs6000/aix41.h: Likewise.
16064         * config/rs6000/aix43.h: Likewise.
16065         * config/rs6000/aix51.h: Likewise.
16066         * config/rs6000/beos.h: Likewise.
16067         * config/rs6000/darwin.h: Likewise.
16068         * config/rs6000/eabi.h: Likewise.
16069         * config/rs6000/eabisim.h: Likewise.
16070         * config/rs6000/linux.h: Likewise.
16071         * config/rs6000/linux64.h: Likewise.
16072         * config/rs6000/lynx.h: Likewise.
16073         * config/rs6000/mach.h: Likewise.
16074         * config/rs6000/rtems.h: Likewise.
16075         * config/rs6000/sysv4.h: Likewise.
16076         * config/rs6000/vxppc.h: Likewise.
16077
16078 2002-07-09 Devang Patel <dpatel@apple.com>
16079         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
16080         Do not allow ObjC objects as a parameter type for Objective-C methods.
16081         My previous patch restricted  'struct' also.
16082
16083 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
16084
16085         * cpperror.c (cpp_error): Default to directive_line within
16086         directives here.
16087         * cppexp.c (cpp_interpret_integer): Only use traditional
16088         number semantics in directives.
16089         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
16090         (do_include_common): Similarly.
16091         * cpptrad.c (scan_out_logical_line): Implement accurate
16092         quoting of <> in #include.
16093         * doc/cpp.texi: Update.
16094
16095 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
16096                           J"orn Rennecke <joern.rennecke@superh.com>
16097
16098         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
16099         * sh.md (attribute issues): Replace with:
16100         (attribute pipe_model).  All users changed.
16101         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
16102         All users changed.
16103         (function units sh5issue, sh5fds): New.
16104         (attribute is_mac_media): New.
16105         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
16106         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
16107         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
16108         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
16109         (call_media, call_value_media, sibcall_media): Likewise.
16110         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
16111         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
16112         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
16113         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
16114         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
16115         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
16116         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
16117         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
16118         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
16119         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
16120         (truncdfsf2_media): Likewise.
16121         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
16122         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
16123
16124 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16125
16126         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
16127         * sh.c (general_extend_operand, inqhi_operand): New functions.
16128         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
16129         alternatives using 'N' modifier.  Add type.
16130         (adddi3z_media): Likewise.  Enable generator function generation.
16131         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
16132         exact predicates / constraints.  Add type.
16133         (subsi3): Allow 0 for SHMEDIA.
16134         (udivsi3_i4_media): Use match_operand for input values
16135         rather than hard registers.
16136         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
16137         unnecessarily through hard registers.  Keep copies of pseudo
16138         registers outside of the libcall sequence.
16139         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
16140         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
16141         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
16142         (extendhidi2, extendqidi2): Likewise.
16143         (andsi3_compact): Name.
16144         (andcdi3): Enable generator function generation.
16145         (zero_extendhisi2, zero_extendqisi2): Rename to
16146         (zero_extendhisi2_compact, zero_extendqisi2_compact).
16147         (extendhisi2, extendqisi2): Rename to
16148         (extendhisi2_compact, extendqisi2_compact).
16149         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
16150         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
16151         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
16152         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
16153         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
16154         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
16155         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
16156         (shmedia32_initialize_trampoline_big): Likewise.
16157         (shmedia32_initialize_trampoline_little): Likewise.
16158         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
16159         (negdi2): Remove spurious T clobber.
16160         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
16161         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
16162         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
16163         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
16164         (ic_invalidate_line_media): Write back data cache before invalidating
16165         instruction cache.  Add type.
16166         (movsf_media): Sign-extend when the destination is a general
16167         purpose register.  Add type.
16168         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
16169         (casesi_worker_0+1): Only increment ref count for proper label.
16170         (casesi_worker_0+2): Likewise.
16171
16172 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
16173
16174         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
16175
16176 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
16177
16178         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
16179         from Pmode to ptr_mode.
16180         (get_exception_pointer): Ditto.
16181         (connect_post_landing_pads): Ditto.
16182         (dw2_build_landing_pads): Ditto.
16183
16184 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
16185         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
16186         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
16187         (handle_pragma_redefine_extname): Change to use new function.
16188
16189 2002-07-08  Roger Sayle  <roger@eyesopen.com>
16190
16191         * combine.c (combine_simplify_rtx): Add an explicit cast
16192         to avoid signed/unsigned comparison warning.
16193         (simplify_if_then_else): Likewise.
16194         (extended_count): Likewise.
16195         (simplify_shift_const): Likewise.
16196         (simplify_comparison): Likewise.
16197
16198 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
16199
16200         * config/mips/mips.md: Add imadd type.  Update scheduler description
16201         to use imadd as well as imul.
16202         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
16203         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
16204         (*mul_sub_si): Likewise for first alternative.  Change second
16205         alternative from imul to multi.
16206
16207 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
16208
16209         * c-common.c (c_common_post_options): Update prototype;
16210         don't init backends if preprocessing only.
16211         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
16212         * langhooks.h (struct lang_hooks): Update post_options to
16213         return a boolean.
16214         * toplev.c (parse_options_and_default_flags, do_compile,
16215         lang_independent_init): Update prototypes.  Allow the
16216         front end to specify that there is no need to initialize
16217         the back end.
16218         (general_init): Move call to hex_init here...
16219         (toplev_main): ...from here.  Pass flag for back end init
16220         suppression.
16221
16222 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
16223
16224         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
16225         (PREDICATE_CODES): Add entries for equality_comparison_operator,
16226         greater_comparison_operator and less_comparison_operator.
16227         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
16228         more operators.
16229         (equality_comparison_operator): New function.
16230         (greater_comparison_operator, less_comparison_operator): Likewise.
16231         * sh.md (beq_media_i): Disable generator function generation.
16232         Use match_operator to handle a whole class of comparisons.  Add
16233         modifier in output template to provide branch prediction.  Add type.
16234         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
16235         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
16236         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
16237         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
16238
16239 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
16240
16241         Emit MMIX function prologue and epilogue as rtl.
16242         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
16243         not unprototyped get_hard_reg_initial_val.
16244         ("call_value", "nonlocal_goto_receiver"): Ditto.
16245         ("return"): Make define_expand.  Move real insn to...
16246         ("*expanded_return"): New pattern.
16247         ("prologue", "epilogue"): New define_expands.
16248         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
16249         (struct machine_function): New member in_prologue.
16250         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
16251         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
16252         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
16253         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
16254         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
16255         (LOCAL_REGNO): Define.  Adjust comment.
16256         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
16257         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
16258         leaf_function_p.
16259         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
16260         the prologue.
16261         (mmix_target_asm_function_prologue): Make static.  Just mark that
16262         the prologue is being emitted.  Move guts to...
16263         (mmix_expand_prologue): New function.  Adjust for emitting
16264         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
16265         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
16266         \n.  Move guts to...
16267         (mmix_expand_epilogue): New function.  Adjust for emitting
16268         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
16269         (mmix_target_asm_function_end_prologue): Mark that the prologue
16270         has ended.
16271         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
16272         (mmix_conditional_register_usage): Improve comments.
16273         (mmix_local_regno): New function.
16274         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
16275         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
16276         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
16277         (mmix_get_hard_reg_initial_val): Ditto.
16278
16279 2002-07-06  Andreas Jaeger  <aj@suse.de>
16280
16281         * toplev.c (set_fast_math_flags): Don't use ISO C style function
16282         definitions.
16283         * gengtype.c (open_base_files): Likewise.
16284         (close_output_files): Likewise.
16285         * tracer.c (find_best_predecessor): Likewise.
16286         (find_best_successor): Likewise.
16287         (ignore_bb_p): Likewise.
16288
16289 2002-07-05  Roger Sayle  <roger@eyesopen.com>
16290
16291         PR c++/7099
16292         * builtin-attrs.def: Define new attribute lists for use in
16293         builtins.def.
16294         * builtins.def [DEF_BUILTIN]: Modify to take an additional
16295         ATTRS argument, an enumerated value defined in builtin-attrs.def
16296         that represents the attribute list for the builtins.  Modify
16297         all builtin functions to pass an appropriate attribute list.
16298         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
16299         their required noreturn attributes.
16300         * tree.h (enum_builtin_function): Ignore the additional parameter
16301         to DEF_BUILTIN.
16302         * builtins.c (built_in_names): Likewise.
16303         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
16304         argument with a tree representing the functions attribute list.
16305         Pass this "attrs" argument to builtin_function.  No longer handle
16306         the noreturn_p processing manually.
16307         (built_in_attributes): Move the definitions from builtin-attrs.def
16308         before c_common_nodes_and_builtins.
16309         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
16310         DEF_BUILTIN, passing it to both builtin_function and the changed
16311         builtin_function_2.
16312
16313         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
16314         __builtin__exit and __builtin__Exit.
16315
16316 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16317
16318         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
16319         QI mode registers in soft registers.
16320         ("zero_extendqihi2"): Do not take into account soft registers
16321         for register allocation (use '*' constraint).
16322
16323 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16324
16325         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
16326         it is dead.
16327         ("*ashrsi3"): Likewise.
16328         ("*lshrsi3"): Likewise.
16329
16330 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
16331
16332         * genautomata.c (output_max_insn_queue_index_def): Take latencies
16333         into account.
16334
16335 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
16336
16337         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
16338         address computation and memory moves.
16339
16340 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
16341
16342         PR c++/6706
16343         * dwarfout.c (output_reg_number): Fix warning message.
16344         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
16345         before using it.
16346
16347 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16348
16349         * gcc/gcc.c (asm_debug): Move initialization ...
16350         (init_spec): ... here.
16351
16352 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
16353
16354         * c-parse.in (extdef): Append ';'.
16355         (old_style_parm_decls): Append ';'.
16356
16357 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
16358
16359         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
16360         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
16361         to gcc_cv_as_gstabs_flag.
16362         * configure: Rebuilt.
16363
16364 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
16365
16366         * ggc.h (ggc_add_root): Document as obsolete.
16367
16368 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
16369
16370         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
16371         (mshflo_w): Likewise.
16372
16373 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
16374
16375         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
16376         vector mode subregs of constants to finding integer mode
16377         subregs of constants.
16378         * cse.c (cse_insn): Use simplify_gen_subreg.
16379         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
16380         From a vector mode expression of different size than the
16381         target mode.
16382
16383 2002-07-03  Eric Christopher  <echristo@redhat.com>
16384
16385         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
16386         * config/mips/mips.h: Remove deprecated -m<processor> options
16387         and cc1_cpu_spec associated.
16388         (CONSTANT_ADDRESS_P): Fix last patch.
16389         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
16390         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
16391         sunge_sf): Remove.
16392
16393 2002-07-03  Stan Shebs  <shebs@apple.com>
16394
16395         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
16396         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
16397         (CPP_SPEC): Remove insertion of APPLE_CC definition.
16398
16399 2002-07-03  Roger Sayle  <roger@eyesopen.com>
16400
16401         * combine.c (struct_undo): Change types of recorded substitutions
16402         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
16403         (do_SUBST_INT): Change types of the substitution from unsigned int
16404         to int, to avoid compilation warning from SUBST_INT's only caller.
16405
16406         (make_extraction): Add cast to avoid compilation warning.
16407         (force_to_mode): Remove cast to avoid compilation warning.
16408
16409 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
16410             Jeff Law  <law@redhat.com>
16411
16412         * i386.md (length_immediate attribute): Fix typo.
16413         (length_address attribute): Likewise.
16414         (modrm attribute): Set it to 0 for immediate call instructions.
16415         (jcc_1 pattern): Set modrm attribute to 0.
16416         (jcc_2 pattern ): Likewise.
16417         (jump pattern): Likewise.
16418         (doloop_end_internal pattern): Explicitly set length.
16419         (leave pattern): Fix typo.
16420         (leave_rex64 pattern): Likewise.
16421
16422 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
16423
16424         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
16425         in FPR as preference.
16426         (fctiwz): Same.
16427         (floatdidf2, fix_truncdfdi2): Same.
16428         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
16429         (floatditf2): Same.
16430         (floatsitf2, fix_trunctfsi2): SImode in GPR.
16431         (ctrdi): Remove FPR alternative and splitter.
16432
16433 2002-07-03  Will Cohen  <wcohen@redhat.com>
16434
16435         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
16436
16437 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
16438
16439         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
16440         than UNITS_PER_WORD, unless this is little endian and the first unit
16441         in this word.  Let extract_bit_field decide how to load an element.
16442         Force arguments to matching mode.
16443         (expand_vector_unop): Likewise.
16444
16445         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
16446         consist of word_mode elements.
16447         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
16448         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
16449         (build_unary_op): Allow vector types for BIT_NOT_EPR.
16450         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
16451         CONST_VECTOR.
16452         * optabs.c (expand_vector_binop): Try to perform operation in
16453         smaller vector modes with same inner size.  Add handling of AND, IOR
16454         and XOR.  Reject expansion to inner-mode sized scalars when using
16455         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
16456         (expand_vector_unop): Try to perform operation in smaller vector
16457         modes with same inner size.  Add handling of one's complement.
16458         When there is no vector negate operation, try a vector subtract
16459         operation.  Use simplify_gen_subreg on constants.
16460         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
16461         constants into smaller vectors with same inner mode, and to
16462         integer CONST_DOUBLEs.
16463
16464 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16465
16466         * c-parse.in (parsing_iso_function_signature): New variable.
16467         (extdef_1): New, copied from...
16468         (extdef): ... here.  Reset parsing_iso_function_signature.
16469         (old_style_parm_decls):  Reset parsing_iso_function_signature.
16470         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
16471         Warn about ISO C style function definitions.
16472         (nested_function, notype_nested_function): Reset
16473         parsing_iso_function_signature.
16474         (parmlist_2): Set parsing_iso_function_signature.
16475
16476         * doc/invoke.texi (-Wtraditional): Document new behavior.
16477
16478 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
16479
16480         * config.gcc (mips*el-*-*): Use tm_defines to set
16481         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
16482         * config/mips/little.h: Remove.
16483
16484 2002-07-02 Devang Patel <dpatel@apple.com>
16485
16486         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
16487         object as parameter. Prevent something like 'NSObject' to be
16488         used as the type for a method argument.
16489
16490 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
16491
16492         * cpptrad.c: Update comment.
16493
16494 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16495
16496         * doc/cpp.texi: Update for traditional preprocessing changes.
16497         * goc/cppopts.texi: Similarly.
16498
16499 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
16500
16501         * c-parse.in (designator): Enable designated initializers if ObjC.
16502         (objcmessageexpr): Remove references to objc_receiver_context.
16503         * objc/objc-act.h (objc_receiver_context): Remove decl.
16504         * objc/objc-act.c (objc_receiver_context): Remove.
16505         (lookup_objc_ivar): Test objc_method_context instead of
16506         objc_receiver_context.
16507
16508 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
16509
16510         * sh.c (print_operand, case 'N'): Allow zero vector.
16511         (arith_reg_or_0_operand): Likewise.
16512         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
16513         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
16514         IOR, XOR, PLUS and SET and take their respective constant
16515         ranges into account.
16516         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
16517         * sh.md (subdi3, subdi3_media): Allow zero operand.
16518         (movv8qi_i+3): Only vector that is not split is the zero vector.
16519         Fix operand 3 to simplify_subreg.
16520         (movv2si_i): Split alternative 1.
16521         (mshfhi_l_di_rev+1): New splitter.
16522
16523 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
16524
16525         PR preprocessor/7029
16526         * cppinit.c (cpp_handle_option):  Suppress warnings with an
16527         implicit "-w" for "-M" and "-MM".
16528         * doc/cppopts.texi: Update.
16529
16530 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16531
16532         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
16533         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
16534         builtin_function.
16535
16536 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
16537
16538         * README.Portability: Fix typos.
16539
16540 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
16541
16542         PR target/7177
16543         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
16544         of indirections for register inside sign-extended mem part.
16545
16546 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16547
16548         * tree.h:  Modify builtin_function interface to take an extra
16549         argument ATTRS, which is a tree representing an attribute list.
16550
16551         * c-decl.c (builtin_function): Accept additional parameter.
16552         * objc/objc-act.c (builtin_function): Likewise.
16553         * f/com.c (builtin_function): Likewise.
16554         * java/decl.c (builtin_function): Likewise.
16555         * ada/utils.c (builtin_function): Likewise.
16556         * cp/decl.c (builtin_function): Likewise.
16557         (builtin_function_1): Likewise.
16558
16559         * c-common.c (c_common_nodes_and_builtins): Pass an additional
16560         NULL_TREE argument to builtin_function.  (builtin_function_2):
16561         Likewise.
16562         * cp/call.c (build_java_interface_fn_ref): Likewise.
16563         * objc/objc-act.c (synth_module_prologue): Likewise.
16564         * java/decl.c (java_init_decl_processing): Likewise.
16565         * f/com.c (ffe_com_init_0): Likewise.
16566
16567         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
16568         NULL_TREE argument to builtin_function.
16569         * config/arm/arm.c (def_builtin): Likewise.
16570         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
16571         * config/i386/i386.c (def_builtin): Likewise.
16572         * config/ia64/ia64.c (def_builtin): Likewise.
16573         * config/rs6000/rs6000.c (def_builtin): Likewise.
16574
16575 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
16576
16577         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
16578         * config/mips/t-isa3264: Likewise.
16579         * config/mmix/t-mmix: Likewise.
16580
16581 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16582
16583         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
16584
16585 2002-07-01  Roger Sayle  <roger@eyesopen.com>
16586
16587         PR opt/4046
16588         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
16589         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
16590         B are truth values.
16591
16592 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
16593
16594         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
16595
16596 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
16597
16598         * README.Portability (Function prototypes): Give an example of
16599         declaring and defining a function with no arguments.
16600
16601         * README.Portability (Function prototypes): Document new
16602         variable-argument function macros.
16603
16604 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16605
16606         * sh.c (langhooks.h): Include.
16607         (sh_init_builtins, sh_media_init_builtins): New functions.
16608         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
16609         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
16610         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
16611         (builtin_description): New struct tag.
16612         (signature_args, bdesc): New arrays.
16613         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
16614         (print_operand): Add 'N' modifier.
16615         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
16616         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
16617         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
16618         (CONST_COSTS): Add special case for SHmedia AND.
16619         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
16620         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
16621         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
16622         target_operand can also be const or unspec.
16623         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
16624         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
16625         (attribute type): Add new types.
16626         (anddi3): Add splitter.
16627         (movdi_const_16bit+1): Add code to handle vector constants and
16628         bitmasks efficiently.
16629         (shori_media): Have generator function made.
16630         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
16631         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
16632         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
16633         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
16634         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
16635         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
16636         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
16637         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
16638         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
16639         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
16640         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
16641         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
16642         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
16643         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
16644         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
16645         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
16646         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
16647         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
16648         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
16649         (ftrv): Likewise.
16650
16651         (fpu_switch+1, fpu_switch+2): Remove constraint.
16652
16653 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
16654
16655         * tree.c (build_function_type_list): Update function comment.
16656         Rename first argument to return_type.
16657
16658 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16659
16660         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
16661         tradcif.y and related files.
16662
16663 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
16664
16665         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
16666
16667 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16668
16669         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
16670
16671 See ChangeLog.7 for earlier changes.